Plugin Compatibility with PHP 8

Third Party Plugins to CMSimple - how to install, use and create plugins

Moderator: Tata

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin Compatibility with PHP 8

Post by Hartmut » Sat Feb 04, 2023 2:39 pm

Stimmt bei den beiden folgenden Plugins (Uploader 1.0beta2 + Jm_iframe) habe ich im im ursprünglichen Post die falschen Ergebnisse reinkopiert. :(

Uploader 1.0beta2 (edit: 04.02.2023)
Handling (Besuchersicht): PHP 7.4 + PHP 8.0 => OK
Adminmenü Plugin Funktion / Bedienung: PHP 7.4 =>
Beim Pluginaufruf Tab "Konfiguration" + der dortigen Speicherung Debugmeldungen:
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:5
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:6
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:7
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:8
Adminmenü Plugin Funktion / Bedienung: PHP 8.0 =>OK

Jm_iframe (edit: 04.02.2023)
Handling (Besuchersicht): PHP 7.4 + PHP 8.0 => OK
Adminmenü Plugin Funktion / Bedienung: PHP 7.4 + PHP 8.0 =>
Dauerhafte Debug Meldung und keine erkennbare Funktionseinschränkung:
XH-DEPRECATED: Function initvar() is deprecated
/mnt/.../plugins/jm_iframe/admin.php:15

Danke für die Hinweise zu Crazystat 1.05 + Expandcontract 0.7 + Swiper 1.0rc1.
Da werde ich noch einmal nachschaun und nacharbeiten.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Plugin Compatibility with PHP 8

Post by cmb » Sat Feb 04, 2023 3:11 pm

cmb wrote:
Sat Feb 04, 2023 1:38 pm
Schau ich mir an.
Da gab es bereits https://github.com/cmsimple-xh/teaser/issues/2, das ich nun gefixt habe. Und die Debug-Meldungen bei der Pluginaktivierung sind nun ebenfalls behoben. Vielleicht magst du ja den aktuellen Entwicklungsstand mal testen?
Hartmut wrote:
Sat Feb 04, 2023 2:39 pm
Uploader 1.0beta2 (edit: 04.02.2023)
Handling (Besuchersicht): PHP 7.4 + PHP 8.0 => OK
Adminmenü Plugin Funktion / Bedienung: PHP 7.4 =>
Beim Pluginaufruf Tab "Konfiguration" + der dortigen Speicherung Debugmeldungen:
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:5
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:6
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:7
NOTICE: Indirect modification of overloaded element of XH\PluginConfig has no effect
/mnt/.../plugins/uploader/config/metaconfig.php:8
Adminmenü Plugin Funktion / Bedienung: PHP 8.0 =>OK
Oh, das ist https://github.com/cmb69/uploader_xh/issues/10; längst behoben, aber noch keine neue Version veröffentlicht.
Hartmut wrote:
Sat Feb 04, 2023 2:39 pm
Jm_iframe (edit: 04.02.2023)
Handling (Besuchersicht): PHP 7.4 + PHP 8.0 => OK
Adminmenü Plugin Funktion / Bedienung: PHP 7.4 + PHP 8.0 =>
Dauerhafte Debug Meldung und keine erkennbare Funktionseinschränkung:
XH-DEPRECATED: Function initvar() is deprecated
/mnt/.../plugins/jm_iframe/admin.php:15
Noch harmlos, aber sollte behoben werden. Wird das Plugin denn noch gewartet?
Christoph M. Becker – Plugins for CMSimple_XH

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin Compatibility with PHP 8

Post by Hartmut » Sat Feb 04, 2023 3:43 pm

cmb wrote:
Sat Feb 04, 2023 3:11 pm
Da gab es bereits https://github.com/cmsimple-xh/teaser/issues/2, das ich nun gefixt habe. Und die Debug-Meldungen bei der Pluginaktivierung sind nun ebenfalls behoben. Vielleicht magst du ja den aktuellen Entwicklungsstand mal testen?
Da bei meinem letzten Strato Paket PHP 7.4 ab dem 07.02.23 kostenpflichtig ist, wird der Test zeitnah erfolgen.
Viele Grüße
Hartmut

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin Compatibility with PHP 8

Post by frase » Sat Feb 04, 2023 3:44 pm

Teaser_XH v. 1.2.1 - Master

Dieses Plugin kannte ich noch nicht :oops:
Und mir ist auch (noch) nicht ganz klar, welche Vorteile es eigentlich bringt.
Ein Schnelltest des Masters zeigte aber folgende Probleme:

Teaser bearbeiten.
Unterhalb des Editors wird eine Teaser-Vorschau angezeigt.
Ein Klick darauf bringt folgende Debug-Meldung (weiße Seite):
Uncaught TypeError: Unsupported operand types: string - int in … \plugins\teaser\admin.php:259
Stack trace:
#0 … \cmsimple\cms.php(1123): include()
#1 … \index.php(6): include(' … \\ht...')
#2 {main}
thrown in … \plugins\teaser\admin.php on line 259
Die gleiche Meldung erhält man, wenn es mehrere Teaser gibt und man dann eine Teaser-Nummer (im oberen Teil) anklickt.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Plugin Compatibility with PHP 8

Post by cmb » Sat Feb 04, 2023 4:13 pm

frase wrote:
Sat Feb 04, 2023 3:44 pm
Teaser_XH v. 1.2.1 - Master

Dieses Plugin kannte ich noch nicht :oops:
Und mir ist auch (noch) nicht ganz klar, welche Vorteile es eigentlich bringt.
Ich glaube, da ging es eigentlich vor allem um das CSS, das vom Plugin passend erzeugt wird.
frase wrote:
Sat Feb 04, 2023 3:44 pm
Ein Schnelltest des Masters zeigte aber folgende Probleme:

Teaser bearbeiten.
Unterhalb des Editors wird eine Teaser-Vorschau angezeigt.
Ein Klick darauf bringt folgende Debug-Meldung (weiße Seite):
Uncaught TypeError: Unsupported operand types: string - int in … \plugins\teaser\admin.php:259
Stack trace:
#0 … \cmsimple\cms.php(1123): include()
#1 … \index.php(6): include(' … \\ht...')
#2 {main}
thrown in … \plugins\teaser\admin.php on line 259
Die gleiche Meldung erhält man, wenn es mehrere Teaser gibt und man dann eine Teaser-Nummer (im oberen Teil) anklickt.
Ja, das hatte ich bei Hartmuts Post ganz vergessen, und dann konnte ich es nicht reproduzieren. Aber so kann ich; es ist das leidige Problem mit der Änderung der Vergleiche von Strings und Zahlen (https://3v4l.org/H6THZ); die Lösung ist einfach, aber ich gehe nach wie vor davon aus, dass viele Plugins von dieser Änderung betroffen sind (man wird das ohne statische Analyse wohl nur schwer finden können).
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin Compatibility with PHP 8

Post by frase » Sat Feb 04, 2023 4:25 pm

cmb wrote:
Sat Feb 04, 2023 4:13 pm
Ja, das hatte ich bei Hartmuts Post ganz vergessen, und dann konnte ich es nicht reproduzieren. Aber so kann ich; es ist das leidige Problem mit der Änderung der Vergleiche von Strings und Zahlen (https://3v4l.org/H6THZ); die Lösung ist einfach, aber ich gehe nach wie vor davon aus, dass viele Plugins von dieser Änderung betroffen sind (man wird das ohne statische Analyse wohl nur schwer finden können).
Die Lösung lässt zwar die Fehlermeldung verschwinden – aber: Eigentlich sollte ja der entsprechende Teaser (bei mehreren) in den Editor geladen werden. Das passiert aber nicht.
Um andere als den Ersten zu bearbeiten, müsste man die Reihenfolge ändern – aber das ist nicht so gewollt.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Plugin Compatibility with PHP 8

Post by cmb » Sat Feb 04, 2023 5:22 pm

frase wrote:
Sat Feb 04, 2023 4:25 pm
Die Lösung lässt zwar die Fehlermeldung verschwinden – aber: Eigentlich sollte ja der entsprechende Teaser (bei mehreren) in den Editor geladen werden. Das passiert aber nicht.
Um andere als den Ersten zu bearbeiten, müsste man die Reihenfolge ändern – aber das ist nicht so gewollt.
Ja, da stimmt was nicht. Hat allerdings nichts mit diesem Fix zu tun (der forciert nur unter PHP 8 das gleiche Verhalten wie unter vorherigen PHP-Version), sondern lag an einem vorherigen Fix. Sollte nun aber wieder passen.

Ach so, anstatt die temporären Infos in der Session zu speichern (wo sie natürlich Futsch sind, wenn man die Seite irgendwann später bearbeitet, könnte man sie natürlich auch in irgendeiner Datei speichern; aber eben bitte nicht in den Sprachdateien). Ich denke, so wie es jetzt ist, ist es aber eigentlich ganz gut; was interessiert es den Nutzer nach Tagen/Wochen/Monaten, an welchem Teaser bzw. welcher Nummer er zuletzt gearbeitet hat.
Christoph M. Becker – Plugins for CMSimple_XH

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin Compatibility with PHP 8

Post by frase » Sat Feb 04, 2023 5:29 pm

cmb wrote:
Sat Feb 04, 2023 5:22 pm
Sollte nun aber wieder passen.
Yep, tut es!
Also:
Teaser_XH v. 1.2.1 MASTER => OK

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin Compatibility with PHP 8

Post by Hartmut » Sun Feb 05, 2023 12:22 pm

Hier moch ein Kurztest von gestern Nachmittag und heute Vormittag:

"Extedit 1.1"
Änderung classes/Controller.php
Alt: = !get_magic_quotes_runtime() ? 'ok' : 'fail';
Neu: = !function_exists('get_magic_quotes_runtime') || !get_magic_quotes_runtime() ? 'ok' : 'fail';

Beim Aufruf des Plugins im Adminmenü (PHP 7.4):
DEPRECATED: Function get_magic_quotes_runtime() is deprecated
/mnt/.../plugins/extedit/classes/Controller.php:117
Beim Wechsel im Plugin in den Tab "Konfiguration" verschwindet die Debugmeldung.
Beim Aufruf des Plugins (PHP 8.0) + beim Wechsel im Plugin in den Tab "Konfiguration" ohne Debugmeldungen

Unter PHP 7.4 + 8.0 kann mit Exedit ohne Fehler und ohne Debugmeldungen bearbeitet werden.

xxxxxxxxxxxxxxxxx

Expandcontract_XH 1.0 (Nach Update von 0.7 auf 1.0):
Danke für den Hinweis. Nach dem Update auf "1.0" und Anpassungs des Contents an die "neue Syntax":
Handling (Besuchersicht): PHP 7.4 + PHP 8.0 => OK
Adminmenü Plugin Funktion / Bedienung: PHP 7.4 + PHP 8.0 => OK

xxxxxxxxxxxxxx

Teaser 1.2.1
Ich nutze das Plugin Teaser um auf einigen Content-Seiten mittels einer Vorschau auf untergeordnete Seiten mit Text und Bild hinzuweisen.
Bei Teaser gibt es (auch in früheren Versionen) die "Besonderheit" (=Bug), das bei der Auswahl einer anderen Teaserseite ZWEIMAL die neue Seite ausgewählt werden muss bis sie zur Bearbeitung angezeigt wird (vielleicht ein Timing-Thema?)

Nach Einarbeitung des Masters (4.02.‎2023, ‏‎16:46:55) und Aktivierung des Plugins im Adminmenü:
Handling (Besuchersicht): PHP 7.4 + PHP 8.0 => OK, nachdem die "alte" stylesheet.css reinkopiert worden ist (dort sind individuelle Teaserboxen hinzugefügt)

Beim Pluginaufruf unter PHP 7.4 (Tabs werden angezeigt): => OK
Wechsel (Auswahlmenü) von anderen Teaser-TXT-Dateien => OK
Auswahl einer anderen Teaserseite in Teaser-TXT-Dateien im Plugin: Nicht möglich (auch nach mehrmaliger Auswahl nicht.)

Beim Pluginaufruf unter PHP 8.0 (Tabs werden angezeigt): => OK
Beim Pluginaufruf der Plugin "Konfigseite" unter PHP 8.0: => OK
Bei der Auswahl einer anderen Teaserseite im Plugin unter PHP 8.0: => Whitescreen mit Fehlermeldung:
Uncaught TypeError: Unsupported operand types: string - int in /mnt/.../plugins/teaser/admin.php:259
Stack trace:
#0 /mnt/.../cmsimple/cms.php(1123): include()
#1 /mnt/.../index.php(6): include('...')
#2 {main}
thrown in /mnt/.../plugins/teaser/admin.php on line 259
Ursache derzeit unbekannt.

Gruß Hartmut

frase
Posts: 5085
Joined: Thu Apr 21, 2016 6:32 am
Location: Saxony
Contact:

Re: Plugin Compatibility with PHP 8

Post by frase » Sun Feb 05, 2023 1:11 pm

Hartmut wrote:
Sun Feb 05, 2023 12:22 pm
Teaser 1.2.1

Beim Pluginaufruf unter PHP 7.4 (Tabs werden angezeigt): => OK
Wechsel (Auswahlmenü) von anderen Teaser-TXT-Dateien => OK
Auswahl einer anderen Teaserseite in Teaser-TXT-Dateien im Plugin: Nicht möglich (auch nach mehrmaliger Auswahl nicht.)

Beim Pluginaufruf unter PHP 8.0 (Tabs werden angezeigt): => OK
Beim Pluginaufruf der Plugin „Konfigseite“ unter PHP 8.0: => OK
Bei der Auswahl einer anderen Teaserseite im Plugin unter PHP 8.0: => Whitescreen mit Fehlermeldung:
Uncaught TypeError: Unsupported operand types: string - int in /mnt/.../plugins/teaser/admin.php:259
Stack trace:
#0 /mnt/.../cmsimple/cms.php(1123): include()
#1 /mnt/.../index.php(6): include('...')
#2 {main}
thrown in /mnt/.../plugins/teaser/admin.php on line 259
Ursache derzeit unbekannt.
Hallo Hartmut,
ich habe gerade nochmal einen neuen Test mit dem aktuellen Master gestartet – und da sind alle beschriebenen Probleme behoben.
Das gilt sowohl für PHP 7.4.2 als auch für PHP 8.2.0

Du könntest ja mal dein momentan aktives Teaser-Plugin deaktivieren (einfach vor den Ordnernamen einen Punkt setzen = „.teaser“).
Dann könntest du den heruntergeladenen Ordner „teaser-master“ in deinen Plugin-Ordner kopieren und umbenennen zu „teaser“.
Normalerweise (Standard-Einstellungen) liegen die Teaser-Daten (*.txt) im Ordner „\userfiles\plugins\teaser\“.
Falls das bei dir anders konfiguriert war, dann musst du die Konfiguration noch ändern und den Ordner an die entsprechende Stelle kopieren.
Theoretisch sollte bei dieser Aktion nichts zerstört werden. Das hoffe ich zumindest.
Damit könnten wir vielleicht herausfinden, ob es nun in Ordnung ist, oder ob bei mir etwas nicht stimmt.

Post Reply