Fehlermeldungen bei Syntaxelementen PHP 8.1 / moz 2.0 Rev. 54

  • 3 Antworten
  • 807 Aufrufe
*

Offline Thorstn

  • Administrator
  • Mitglied
  • 799
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.
moziloCMS-Layouts auf mozilo-layouts.thorstn.com
webdesign-ruhr.de - Webdesign aus Bochum

*

Offline laborix

  • Betatester
  • Mitglied
  • 409
Antw:Fehlermeldungen bei Syntaxelementen PHP 8.1 / moz 2.0 Rev. 54
« Antwort #1 am: 27. März 2022, 18:47:19 »
... 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.

... 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.

*

Offline Thorstn

  • Administrator
  • Mitglied
  • 799
Antw:Fehlermeldungen bei Syntaxelementen PHP 8.1 / moz 2.0 Rev. 54
« Antwort #2 am: 28. März 2022, 17:23:33 »
Super, das funktioniert mit der "neuen" Syntax.php!

Vielen Dank :-)
www.mad-it.de - Wir lösen keine Probleme. Wir machen sie.
moziloCMS-Layouts auf mozilo-layouts.thorstn.com
webdesign-ruhr.de - Webdesign aus Bochum

*

Offline laborix

  • Betatester
  • Mitglied
  • 409
Antw:Fehlermeldungen bei Syntaxelementen PHP 8.1 / moz 2.0 Rev. 54
« Antwort #3 am: 29. März 2022, 18:09:04 »
Danke für die Rückmeldung  :)
Wir werden das in die aktuelle moziloCMS Version übernehmen.