Problem mit Kalender nach PHP Umstellung

 
SWFN_Webmaster
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 53
Homepage: swfn.de
Beiträge: 72
Dabei seit: 09 / 2014
Betreff:

Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 13.03.2025 - 14:25 Uhr  ·  #1
Hallo
ich nutze den Zwirni-Kalender. Ich weis der ist nicht von dir aber vielleicht hast du doch eine Idee.

Habe auf PHP 8,2 umgestellt und seitdem tritt der Fehler auf.
Der Kalender läuft und ich kann auch Einträge erstellen die auch übernommen werden aber beim
bestätigen der Eingabe kommt folgende Fehlermeldung:

Fehler
2 — Undefined array key "zwirni_calendar_calender_notify_subscribe_text"

Das Feld gibt es natürlich in der Language Datei, hat ja vorher auch funktioniert.

Die Codezeile die er bemängelt ist:

$calendar->sendInfoToUsers( $calendar->getSubscriber(), '<i class="uk-icon uk-icon-calendar"></i> '.sprintf($lang["zwirni_calendar_calender_notify_subscribe_text"],$calendarentry->getUrl(), $calendar->getTitle()), $lang["zwirni_calendar_email_calender_subject"], $lang["zwirni_calendar_email_calender_body"]);
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 38
Homepage: cback.net
Beiträge: 17684
Dabei seit: 12 / 2003
Betreff:

Re: Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 13.03.2025 - 17:12 Uhr  ·  #2
Hallo,

bitte beachte, dass Drittanbieter-Plugins nicht in den Premium Support fallen und leider auch nicht unterstützt werden können, da ich diese und deren Aufbau nicht kenne.

In diesem Fall sagt die Fehlermeldung jedoch, dass Dir dieser Wert:
$lang["zwirni_calendar_calender_notify_subscribe_text"]
in der Sprachdatei / in den Sprachvariablen fehlt.

Hier ist wohl die Lang-File des Zwirni Plugins nicht vollständig oder wurde an der genutzten Stelle, welche diese Funktion auslöst, nicht mit eingebunden. Lösen kannst Du das entweder, indem Du den fehlenden Schlüssel (zwirni_calendar_calender_notify_subscribe_text) in der Language-File des Plugins ergänzt (nur, falls sie nicht da sind) oder das Plugin erweiterst, sodass die Sprachdatei des Plugins in der Funktion nachgeladen wird. - Das aber jetzt beides nur Mutmaßungen. Wie gesagt, ich kenne das Plugin leider nicht. Aber ich vermute, dass er die anderen beiden $lang beim Korrigieren des ersten u.U. dann auch noch anmeckern könnte, falls die auch fehlen bzw. die Plugin-Sprache an der Stelle gar nicht eingebunden wurde. - Meine größte Vermutung wäre ersteres, weil wenn die Sprachdatei ganz fehlen würde, würde der ganze Kalender wohl nicht funktionieren.

Du müsstest am besten im Plugin Thread des Autors fragen, ob dieser noch da ist und Dir helfen kann, oder kannst gerne auch kostenpflichtig eine Analyse/Fix über PM oder Kontaktformular in Auftrag geben.

Mehr oder genauere Tipps kann ich Dir an dieser Stelle also leider in diesem Fall nicht geben.

Viele Grüße,
Chris
SWFN_Webmaster
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 53
Homepage: swfn.de
Beiträge: 72
Dabei seit: 09 / 2014
Betreff:

Re: Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 15.03.2025 - 17:50 Uhr  ·  #3
Schon mal Danke für die Antwort, hatte nur gehofft das irgendwelche Probleme beim Umstellen auf PHP 8.2 eventuell bekannt sind und dazu führen.
Komisch ist ja das die Spachdatei vorher richtig funktioniert hat aber ich such da mal weiter.
Gruss
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 38
Homepage: cback.net
Beiträge: 17684
Dabei seit: 12 / 2003
Betreff:

Re: Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 15.03.2025 - 19:15 Uhr  ·  #4
Hallo,

ich denke mal, dass ich Dir die Lösung (key fehlt in der Lang-Datei des Plugins) schon genannt habe, weil die Symptomatik würde ziemlich deutlich auf PHP8-Umstellungs-Phänomene passen.
Die Stelle im Code war bisher dann als "leer" behandelt worden. PHP7 ist mit fehlenden Array Keys nicht so streng gewesen und hat dann einfach "leer" draus gemacht, PHP8 ist da strenger und meldet alles, was fehlt.

Schau einfach mal, ob der Key in der Lang-Datei des Plugins fehlt, wenn ja, hast Du vermutlich schon die Ursache gefunden.

LG,
Chris
SWFN_Webmaster
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 53
Homepage: swfn.de
Beiträge: 72
Dabei seit: 09 / 2014
Betreff:

Re: Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 16.03.2025 - 16:03 Uhr  ·  #5
oxpus
Benutzer
Avatar
Geschlecht:
Herkunft: Irgendwo im Internet auf Server 127.0.0.1
Alter: 54
Homepage: oxpus.net
Beiträge: 2156
Dabei seit: 05 / 2004
Betreff:

Re: Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 16.03.2025 - 19:12 Uhr  ·  #6
Mich juckt das schon seit Tagen, dass der Kalender nicht mehr unter PHP 8 funktionieren soll, auch wenn ich ihn selber nicht nutze.

Das Problem ist weniger ein PHP 8.x Fehler sondern eher ein Designfehler im Plugin.

Die fehlenden Spracheinträge kommen daher zustande, dass das Objekt $lang in den diversen Funktionen nicht geladen wird, was PHP 7 noch durch die Globalisierung der Variablen ermöglichte.
Das Verhalten ist aber ab PHP 8 anders und daher funktioniert die Standard-Methode so nicht mehr.

Um Abhilfe zu schaffen, wäre die Zeile
Code
$lang = &Controller::$lang;

in jede Datei unter /modules/zwirni_calendar/functions/ einzubinden (jeweils am Anfang der Dateien, in der Nähe von $UI = oder $Core = aber auf jeden Fall vor dem ersten "include"), wo $lang verwendet wird, damit die Sprache auch in den Funktionen geladen wird.
Und da wurde einiges vergessen...

Das sollte im Plugin vom Autor dringend nachgeholt werden, sonst ist diese Version des Kalenders nicht PHP 8 tauglich.
Wäre schade drum.
SWFN_Webmaster
Benutzer
Avatar
Geschlecht: keine Angabe
Alter: 53
Homepage: swfn.de
Beiträge: 72
Dabei seit: 09 / 2014
Betreff:

Re: Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 20.03.2025 - 12:55 Uhr  ·  #7
Das die Language nicht geladen wird habe ich mir schon so gedacht und auch schon mit
$lang = &Controller::$lang;
probiert. Aber das behebt leider immer noch nicht das Problem.
Habe jetzt für mich erstmal einen Workaround gemacht und einfach die Texte an Stelle der Variablen gesetzt.
Ich brauch das ja nur in Deutsch. Ist nicht schön ich weiss aber funzt wenigstens .
cback
Admin
Avatar
Geschlecht:
Herkunft: Saarland
Alter: 38
Homepage: cback.net
Beiträge: 17684
Dabei seit: 12 / 2003
Betreff:

Re: Problem mit Kalender nach PHP Umstellung

 · 
Gepostet: 20.03.2025 - 15:08 Uhr  ·  #8
Oxpus Tipp ist aber gar nicht schlecht, das fehlt da tatsächlich. (Danke an dieser Stelle fürs nachschauen!) Hattest Du den Code denn mal vor der von Dir oben geposteten Codezeile gesetzt? Bzw. in der Funktion, wo das $calendar->sendInfoToUsers(.... aufgerufen wird?

Ansonsten ist der Workaround von Dir eine gute Lösung, damit geht es dann auf jeden Fall und es spricht auch nichts dagegen, das so umzusetzen.

Bei dem anderen muss dann vermutlich der Plugin-Autor ran. Wenn auch die von Oxpus vorgeschlagene Änderung an dieser Stelle nicht greift, scheint da noch eine weitere Problematik in dem entsprechenden Plugin zu existieren. Eventuell wird z.B. die Sprache nicht über den empfohlenen Weg bzw. über die CF4 API nachgeladen und ist daher im Controller-Sprachobjekt dann gar nicht vorhanden. So was macht dann natürlich bei strengeren PHP8 Umgebungen schnell mal solch ein Phänomen.

LG,
Chris
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.