Neuigkeiten:

moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins

Hauptmenü

Fehlermeldungen bei Syntaxelementen PHP 8.1 / moz 2.0 Rev. 54

Begonnen von Thorstn, 26. März 2022, 00:40:20

« vorheriges - nächstes »

Thorstn

Bei meiner (derzeit offline via Localhost) genutzten Testumgebung moziloCMS 2.0 Rev. 54 bekomme ich unter PHP 8.1 Fehlermeldungen, wenn ich Eigene Syntaxelemente einsetze, und zwar:
Wenn diese nach dem Syntaxnamen keine Angabe {DESCRIPTION} oder {VALUE} beinhalten.

Beispiel:

In den Einstellungen (eigene Syntax-Elemente anlegen) gebe ich z.B. ein:
kontaktanfrage = Bei weiteren Fragen hierzu nehmen Sie bitte Kontakt mit uns auf.

Wenn ich dann in die Inhaltsseite die Syntax [kontaktanfrage] eintrage, würde ja normalerweise der Text erscheinen ( "Bei weiteren Fragen.... " ). Das tut er auch, allerdings mit Fehlermeldungen:

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in D:\xampp\htdocs\moz54\cms\Syntax.php on line 848

Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is deprecated in D:\xampp\htdocs\moz54\cms\Syntax.php on line 860

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in D:\xampp\htdocs\moz54\cms\Syntax.php on line 877

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in D:\xampp\htdocs\moz54\cms\Syntax.php on line 884



Dieses Problem erscheint nur unter PHP 8.1 (8.0 nicht getestet), unter PHP 7.4 erscheinen die Fehlermeldungen nicht.

Wenn ich die Benutzersyntax in den Einstellungen modifiziere mit einem "Dummy" (in diesem Falle DESCRIPTION), dann erscheint die Fehlermeldung unter PHP 8.1 nicht. Beispiel:
kontaktanfrage = <span class="{DESCRIPTION}">Bei weiteren Fragen hierzu nehmen Sie bitte Kontakt mit uns auf.</span>

In der Inhaltsseite wird die Syntax dann via [kontaktanfrage=|] eingefügt. Das funktioniert dann auch ohne Fehlermeldungen.

Das heißt also: In der Benutzersyntax (Einstellungen) muss zwingend (!) {DESCRIPTION} oder {VALUE} mit in die Angaben, sonst erscheint die Fehlermeldung.

Kann man da was gegen tun? Meines Erachtens liegt es an PHP 8.1
www.mad-it.de - Wir lösen keine Probleme. Wir machen sie.
Webdesign aus Bochum

laborix

Zitat von: Thorstn am 26. März 2022, 00:40:20... moziloCMS 2.0 Rev. 54 bekomme ich unter PHP 8.1 Fehlermeldungen, wenn ich Eigene Syntaxelemente einsetze
...
Wenn diese nach dem Syntaxnamen keine Angabe {DESCRIPTION} oder {VALUE} beinhalten.
...
kontaktanfrage = Bei weiteren Fragen hierzu nehmen Sie bitte Kontakt mit uns auf.
Hi Thorstn,

bitte teste mal die unten angehängte neue "Syntax.php"-Datei. Dazu bitte das ZIP-Archvi entpacken und die enthaltene "Syntax.php"-Datei in den Ordner /cms/ kopieren und die dort enthaltene Datei einfach überschreiben.
Wichtig:
Im Webbrowser bitte vor dem Ausprobieren den Webbrowser Cache löschen, sonst klappt das nicht.

Zitat von: Thorstn am 26. März 2022, 00:40:20... Kann man da was gegen tun? Meines Erachtens liegt es an PHP 8.1 ...
Als moziloCMS 1.x entwickelt wurde war unter PHP so ziemlich alles erlaubt  ;D
Erst mit PHP 7.x wurde das erste Mal richtig auf saubere Programmierung geschaut, was nun mit jeder neuen PHP 8.x Version immer öfters zum Tragen kommt.

Thorstn

Super, das funktioniert mit der "neuen" Syntax.php!

Vielen Dank :-)
www.mad-it.de - Wir lösen keine Probleme. Wir machen sie.
Webdesign aus Bochum

laborix

Danke für die Rückmeldung  :)
Wir werden das in die aktuelle moziloCMS Version übernehmen.