Gibt es schon eine Contenido Version für PHP 8

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
mikedreissig
Beiträge: 84
Registriert: Di 10. Jan 2006, 19:28
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von mikedreissig » So 5. Mär 2023, 16:07

Hallo Murat,

da hast Du natürlich vollkommen recht, den Fall hatte ich nicht auf dem Schirm. Schade, ich hätte gern mal was Kluges beigetragen :wink:

Grüße
Michael

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von xmurrix » So 5. Mär 2023, 18:17

Du hast sehr viel beigetragen und dank dir haben wir auch einige der unklugen Änderungen, die ich fabriziert habe, korrigieren/verbessern können.
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Bernhard_4711
Beiträge: 103
Registriert: Do 25. Jul 2019, 16:08
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von Bernhard_4711 » Mi 8. Mär 2023, 16:06

Moin,
ich bekomme diese Fehlermeldungen:

Code: Alles auswählen

Deprecated call: formatToDate() [class.date.php(192)]: "The function `strftime()` is deprecated as of PHP 8.1.0, and the passed format string was detected as a `strftime()` format. The `date()` function will be used as a fallback, but without localization support."
	formatToDate() called in file class.content.type.date.php(260)
	_formatDate() called in file class.content.type.date.php(88)
	__construct() called in file class.tinymce4.editor.php(116)
	__construct() called in file include.con_editcontent.php(107)
	include() called in file include.front_content.php(508)
	include() called in file front_content.php(42)
Nach dieser Webseite soll man stattdessen date() oder IntlDateFormatter::format verwenden.
date() ist klar, aber das andere? :?
---
Munterbleiben... Bernhard

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von xmurrix » Mi 8. Mär 2023, 18:08

Hallo Bernhard,

in welcher CONTENIDO Version hast du das Problem?

In der aktuellen Entwicklungsversion wurde das Thema am 18.02.2023 angegangen, es gibt nun die `cDate::formatToDate()` die das zentral übernimmt.

Siehe in GitHub:
https://github.com/CONTENIDO/CONTENIDO/ ... e.php#L165

Vorerst wird da nicht `IntlDateFormatter::format()` verwendet, das das größere Umbauten mit sich bringen würde.
Die jetzige Funktionalität in der `cDate::formatToDate()` ist in der Lage, `strftime` Formate in `date` Formte zu konvertieren und das wird nur dann gemacht, wenn die PHP Version >= 8.1 ist.
Überall im CONTENIDO Core wurden Aufrufe von `strftime()` gegen `cDate::formatToDate()` ersetzt.

Was aber noch sein kann, dass Module oder Plugins weiterhin `strftime()` verwenden und hier sollte man die Aufrufe entsprechend anpassen.

Später kann man die Logik in `cDate::formatToDate()`so ändern, dass es mit IntlDateFormatter::format()` arbeitet. Mittelfristig sollten wir ganz weg von den `strftime` Formaten, eine automatische Umstellung sehe ich aber als schwierig an, da wir nicht wissen, welche Module/Plugins welche Werte in der Datenbank speichern. Das Thema müssten dann die Modul- und Plugin-Entwickler selber angehen.

Der einzige Nachteil, den wir jetzt haben, ist die Verwendung von `date()` anstatt `strftime()` unter PHP >= 8.1 und dass `date()` die textuelle Darstellung der Tage und Monate in Englisch liefert, also nicht die lokalisierte Variante. Das ist auch nur dann der Fall, wenn man im übergebenen Format die Zeichen für die textuelle Darstellung der Tage und Monate hat z. B. "N" für Montag-Sonntag oder "F" für Januar-Dezember, usw... Dieser Nachteil ist das kleinere Über als das der Fehlermeldung.

Gruß

xmurrix
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von bodil » Fr 10. Mär 2023, 11:30

Hallo zusammen!
Ich habe arbeite gerade mit einer Version, die ich am 2.3. runtergeladen habe. Ich teste derzeit mit PHP 7.2.26 und mit PHP 8.1.6.
Meine Seite ist mehrsprachig.
In der Artikelübersicht kann ich einzelne Artikel synchronisieren, indem ich auf das Icon in der entsprechenden Zeile klicke.
Setze ich links einen oder mehrere Haken und klicke unten auf das Synchronisieren-Icon wird die Seite neu geladen, die Artikel sind aber weiter unsynchronisiert.
Soweit ich sehen kann, passiert der Fehler hierzu in der include.con_art_overview.php in Zeile 887, hier wird der Wert {SOURCELANGUAGE} fürs Template gesetzt (Variable $lang, in der immer die Ziel-Sprache steht). Er landet im Formular ganz oben im Body der Artikelübersicht. Hier sollte die Quellsprache drinstehen, es ist aber die Zielsprache.
In den Links, die die Synchronisierung artikelweise besorgen (Zeile 505), steht der korrekte Wert (in der Variable $idlang, die für jeden Artikel einzeln hergeleitet wird.)
Hier bräuchten wir in Zeile 887 die korrekte Sprach-ID. Ich vermute, die steckt in der Session?
Grüße!
Bodil

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von xmurrix » Fr 10. Mär 2023, 16:09

Hallo Bodil,

danke sehr für den Bug-Report, das Problem sollte man sich anschauen und ggf. beheben.

Ich erstelle mal gleich ein Ticket dafür.

Nachtrag:
Ticket ist erstellt.

Grüße

Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.


bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von bodil » Fr 10. Mär 2023, 17:51

Doch noch eine Ergänzung zur Artikelübersicht: Einen Artikel per Mausklick auf das blaue Icon in der Artikelliste in einen Startartikel zu verwandeln, gelingt (mir) auch nicht. Umgekehrt (grünes Icon in ein blaues verwandeln) geht aber. Hier kann ich im Quellcode leider nicht entdecken, was da passieren soll. Können andere den Fehler reproduzieren? (Oder hat das vielleicht mit der Mehrsprachigkeit zu tun?)
Dank und Gruß!
Bodil

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von xmurrix » Sa 11. Mär 2023, 02:33

Hallo Bodil,

das Problem mit der Synchronisation über die Masse-Operationen (Bulk) ist gelöst, auch das Problem mit dem Setzen des Startartikels.

Grüße
Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Bernhard_4711
Beiträge: 103
Registriert: Do 25. Jul 2019, 16:08
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von Bernhard_4711 » Sa 11. Mär 2023, 11:55

xmurrix hat geschrieben:
Mi 8. Mär 2023, 18:08
Hallo Bernhard,

in welcher CONTENIDO Version hast du das Problem?

In der aktuellen Entwicklungsversion wurde das Thema am 18.02.2023 angegangen, es gibt nun die `cDate::formatToDate()` die das zentral übernimmt.
Ich habe am 08.03. die develop heruntergeladen und installiert. Der Stand dürfte somit 07.03. sein und die o.g. Änderung eigentlich bereits enthalten sein.
PHP ist 8.1.2

Edit: Eigentlich ist das ja auch eher eine Hinweismeldung in der Datei "deprecatedlog.txt" in /data/logs.
---
Munterbleiben... Bernhard

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von bodil » So 12. Mär 2023, 10:09

xmurrix hat geschrieben:
Sa 11. Mär 2023, 02:33
das Problem mit der Synchronisation über die Masse-Operationen (Bulk) ist gelöst, auch das Problem mit dem Setzen des Startartikels.
Großartig, jetzt klappt alles! Vielen Dank Murat!

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von bodil » So 12. Mär 2023, 22:39

Jetzt habe ich mir den aktuellsten Stand in Gänze heruntergeladen und mein bisheriges Projekt damit geupdated. Die Artikelübersicht: einwandfrei. Aber im Editor-Tab funktionieren die blauen Icons nicht so, wie sie sollen. Der Editor wird nicht geöffnet, der Frame wird nur neu geladen.
Versuche ich dasselbe im Tab Rohdaten, lande ich ebenfalls im Editor-Tab. Einen Grund dafür habe ich nicht gefunden.
Im Einsatz habe ich den Tinimcy 3.

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von xmurrix » Mo 13. Mär 2023, 01:51

Hallo Bodil,

die TinyMCE 3 in in CONTENIDO seit Ende 2017 als veraltet (@deprecated) gekennzeichnet, daher wurde auch nichts an der TinyMCE 3 Integration gemacht, auch keine Korrekturen, Verbesserungen oder Anpassungen an neuere PHP Versionen.

Es kann sein, dass der TinyMCE 3 in der aktuellen Konstellation CONTENIDO Entwicklungszweig und neuere PHP Version nicht korrekt funktioniert.

Was spricht dagegen, die TinyMCE 4 zu verwenden?

Gruß

Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

bodil
Beiträge: 340
Registriert: Fr 7. Okt 2011, 04:10
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von bodil » Mo 13. Mär 2023, 08:20

Hi Murat,
vielen Dank für deine schnelle Reaktion!
Ehrlich gesagt spricht nur die eigene Trägheit gegen den 4er. Wenn Konzept A bewährt ist und ich mich damit auskenne, habe ich eine gewisse Hemmschwelle, zu sagen: dann nehmen wir jetzt Konzept B! Irgendwann ist der Sprung dann unausweichlich.
Aber zur Zeit ist (bei mir) auch der 4er nicht benutzbar. Am deutlichsten wird das im Tab Rohdaten. Ich habe zwei Textbereiche auf der Seite, der erste wird sofort mit einem Minimal-Editor angezeigt, den zweiten kann ich über das blaue Icon nicht aktivieren. Klick ich drauf, lande ich im Editor-Tab, wo wieder der Minimal-Editor für den ersten Text angezeigt wird.
(Contenido-Download vom 13.3, PHP 7.2.26, keine Einträge im Errorlog).
Ich schau mal, ob ich die Ursache finde, wenn ich den aktuellen Code mit dem der offiziellen 4.10.1 vergleiche.
Liebe Grüße!
Bodil

xmurrix
Beiträge: 3147
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Gibt es schon eine Contenido Version für PHP 8

Beitrag von xmurrix » Mo 13. Mär 2023, 09:50

Das Problem gibt es auch unter TinyMCE 4, ein Klick auf den blauen Icon öffnet nicht den Editor, sondern lädt die Seite neu. Auch konnte ich keine Änderungen finden, die sich negativ auf das Vehalten von TinyMCE 3 auswirken sollten. Um TinyMCE 3 weiterhin unter PHP 8 - PHP 8.2 einsesetzen zu können, müsste man eventuell die Sourcen anpassen, das ist aber überschaubar.

Ich schau mir das mal an, vor allem das Problem mit der kaputten Funktionalität des blauen Icons.

Gruß

Murat
CONTENIDO Downloads: CONTENIDO 4.10.1
CONTENIDO Links: Dokumentationsportal, FAQ, API-Dokumentation
CONTENIDO @ Github: CONTENIDO 4.10 - Mit einem Entwicklungszweig (develop-branch), das viele Verbesserungen/Optimierungen erhalten hat und auf Stabilität und Kompatibilität mit PHP 8.0 bis 8.2 getrimmt wurde.

Antworten