PHP 8.1 und include.front_content.php

Fragen zur Installation von CONTENIDO 4.10? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
achiboy
Beiträge: 138
Registriert: Do 26. Aug 2004, 05:05
Kontaktdaten:

PHP 8.1 und include.front_content.php

Beitrag von achiboy » Fr 13. Okt 2023, 09:58

Hallo miteinander

Bei nur einer von mehreren Installationen werden folgende Warnings ausgegeben:

Code: Alles auswählen

PHP Warning:  Undefined variable $contenido in ___/contenido/includes/frontend/include.front_content.php on line 355
PHP Warning:  Undefined variable $contenido in ___/contenido/includes/frontend/include.front_content.php on line 514
PHP Warning:  Undefined variable $contenido in ___/contenido/includes/frontend/include.front_content.php on line 549
Ich versuche bei den funktionierenden Installationen verzweifelt herauszufinden, wo denn diese $contenido Variable für den Frontend-Betrieb definiert wird oder warum diese Warning nicht überall auftritt.
Ich bin schon drauf und dran diese einfach mit $contenido = false; zu definieren.

Ich verwende den Stand von GIT per 12.10.2023

Danke für eure Hilfe

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

Re: PHP 8.1 und include.front_content.php

Beitrag von xmurrix » Fr 13. Okt 2023, 15:31

Hallo achiboy,

die Variable `$contenido` wird dann gesetzt, wenn ein Benutzer eine gültige Backend-Session hat.

Im Frontend ist die Variable nur dann gesetzt, wenn man vom Backend aus bei einem Artikel die Editor- oder Vorschau-Ansicht öffnet.

Früher war das kein Problem, aber seit PHP strikter wird, werden auch solche Fälle, also Zugriff auf nicht vorhandene/gesetzte Variablen, moniert.

Du kannst irgendwo am Anfang der include.front_content.php folgenden Code einfügen:

Code: Alles auswählen

if (!isset($contenido)) {
    $contenido = null;
}
Danach sollten die Meldungen nicht mehr vorkommen.

Es ist besser, wenn man überall `cRegistry::getBackendSessionId()` anstatt `$contenido` verwendet.

Das mit `$contenido` ist ein Übrigbleibsel aus alten Zeiten und man hat das nicht angepasst. Ich erstelle gleich ein Ticket dafür, danke dir für die Meldung.

Viele Grüße
xmurrix

Nachtrag:
Das Ticket ist erstellt.
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.

achiboy
Beiträge: 138
Registriert: Do 26. Aug 2004, 05:05
Kontaktdaten:

Re: PHP 8.1 und include.front_content.php

Beitrag von achiboy » Sa 14. Okt 2023, 05:33

Besten Dank

Faar
Beiträge: 1915
Registriert: Sa 8. Sep 2007, 16:23
Wohnort: Brandenburg
Kontaktdaten:

Re: PHP 8.1 und include.front_content.php

Beitrag von Faar » Sa 14. Okt 2023, 11:24

xmurrix hat geschrieben:
Fr 13. Okt 2023, 15:31
Das mit `$contenido` ist ein Übrigbleibsel aus alten Zeiten und man hat das nicht angepasst. Ich erstelle gleich ein Ticket dafür, danke dir für die Meldung.
Danke! :)
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.

Antworten