= behoben in CPO+4.0a (wird im November publiziert)
= Problem erkannt, Lösung suchen
= keine Lösung verfügbar, da Problem nicht erkennbar
Es hat sich gezeigt, dass Tests in realen, produktiven Systemen andere Fehler zutage fördern, als in der Entwicklung.
Die strikten Prüfungen von PHP 8.1 decken nun einges auf, was im nächsten Update beseitigt werden sollte.
Undefined array key 2 in _include/printnavigation.inc.php on line 105 -> Lösung
Undefined variable $cpoSystem in _include/parser_r_url.inc.php on line 69 -> Lösung
Undefined variable $content in _editor/editor.php on line 482 -> Lösung
Undefined variable $pagereplacer in mod_functions/post_parse_functions.inc.php on line 85 -> Lösung
Undefined array key "SID_user" in mod_copy_rights/common-module.inc.php on line 67 -> Lösung
viewtopic.php?p=29495#p29495
Undefined array key "caption" in _admin/modules.php on line 51 -> Lösung
Fatal error: 'break' not in the 'loop' or 'switch' context in _data/index.php on line 136' -> Zeile auskommentieren!
_admin/manage_placeholders.php -> Auswahl, Platzierung ohne Funktion + Icons-margin -> siehe Testsite
Undefined array key "l" in _admin/frame_navigation.php on line 59 (nur beim Setup!)
------
bei Navigation mit gelöschter(!) Rubrik:
Undefined array key (nr) in _include/function.php on line 616
Trying to access array offset on value of type null in _views/navigation_list.inc.php on line 235
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 136
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 171
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 178
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 275
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 282
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 291
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 298
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 189
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 213
Trying to access array offset on value of type null in _views/rubrics_list.inc.php on line 304
==>
Fehlerliste CPO+4.0 unter PHP 8.1
-
- Handbuchversteher
- Beiträge: 7379
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 938 Mal
Fehlerliste CPO+4.0 unter PHP 8.1
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- Handbuchversteher
- Beiträge: 7379
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 938 Mal
Fehlerliste CPO+4.0a unter PHP 8.1 "All Saints"
= behoben in CPO+4.0b (wird am ??? publiziert)
= Problem erkannt, Lösung suchen
= keine Lösung verfügbar, da Problem nicht erkennbar
Trotz 1:1 Kopie zeigte sich ein unerwartetes Verhalten, da die Navigation eines größeren Webauftrittes durcheinandergewürfelt wurde. Viele Experimente, kein Erfolg.
Nach langem Suche fiel mir die eine Abfrage auf, die die Navigation mittels der Funktion
Darin fiel mir das GROUP BY Statement auf und ich erinnerte mich daran, dass ich schon mal beobachtet habe, dass GROUP nicht automatisch auch eine Sortierung bewirkt, auch wenn ich das eigentlich mal so gelernt habe,
Also wird
zu
----------------------------------------------------------------
Undefined array key "linktype" in _include/parser_r_url.inc.php on line 30
Folgendes betrifft den Mailversand mittels mail() und betrifft primär Module:
Ewige Fehlersuche offenbarte, dass in PHP 8.1 "additional_headers" bei der Übergabe als Textfolge massive Probleme bereitet.
Erst durch die Nutzung eines Arrays verschwinden diese, was erst seit PHP 7.2 akzeptiert wird.
Auch die Funktion mb_encode_mimeheader() codiert leider nicht so, wie mail() es in PHP 8.1 erwartet!
Statt
in mod_search muss
geändert werden zu
für Webauftritte, wo CPO nicht im root liegt.
----
DIR/member.php benötigt ggf. mehr Prüfungen!
Vermutlich resultieren die auftretenden Fehler aber aus Hacker-Angriffen mit manipulierter URL!
wird zu
-------------------------
_include/user_permission.php
-------------------------
Undefined variable $pager in _admin/articles.php on line 1046 (bei Nutzung des Artikelfilters)
-------------------------
bigdump akualisieren!
= Problem erkannt, Lösung suchen
= keine Lösung verfügbar, da Problem nicht erkennbar
Trotz 1:1 Kopie zeigte sich ein unerwartetes Verhalten, da die Navigation eines größeren Webauftrittes durcheinandergewürfelt wurde. Viele Experimente, kein Erfolg.
Nach langem Suche fiel mir die eine Abfrage auf, die die Navigation mittels der Funktion
getNavigation()
ausliest, und zwar in korrekter Sortierung.... eigentlich.Darin fiel mir das GROUP BY Statement auf und ich erinnerte mich daran, dass ich schon mal beobachtet habe, dass GROUP nicht automatisch auch eine Sortierung bewirkt, auch wenn ich das eigentlich mal so gelernt habe,
Also wird
Code: Alles auswählen
$query = 'SELECT n.id, n.l, n.r, n.caption, n.rubric_id, n.settings, COUNT(*)-1 AS level, FLOOR((n.r-n.l)/2) AS childs '
.'FROM '.CPO_NAVTREE.' AS n, '.CPO_NAVTREE.' AS o '
.'WHERE n.l BETWEEN o.l AND o.r '
.'GROUP BY n.l';
Code: Alles auswählen
$query = 'SELECT n.id, n.l, n.r, n.caption, n.rubric_id, n.settings, COUNT(*)-1 AS level, FLOOR((n.r-n.l)/2) AS childs '
.'FROM '.CPO_NAVTREE.' AS n, '.CPO_NAVTREE.' AS o '
.'WHERE n.l BETWEEN o.l AND o.r '
.'GROUP BY n.l '
.'ORDER BY n.l';
----------------------------------------------------------------
Undefined array key "linktype" in _include/parser_r_url.inc.php on line 30
Folgendes betrifft den Mailversand mittels mail() und betrifft primär Module:
Ewige Fehlersuche offenbarte, dass in PHP 8.1 "additional_headers" bei der Übergabe als Textfolge massive Probleme bereitet.
Erst durch die Nutzung eines Arrays verschwinden diese, was erst seit PHP 7.2 akzeptiert wird.
Auch die Funktion mb_encode_mimeheader() codiert leider nicht so, wie mail() es in PHP 8.1 erwartet!
Statt
=?iso-8859-1?Q?Markus_R=F6sel?=
wird Markus =?iso-8859-1?Q?R=F6sel?=
erzeugt, was aber nicht mehr akzeptiert wird. Also entweder ganz oder gar nicht codiert!in mod_search muss
BASE_ABS.SKIN_URL.'pic_settings.gif',
geändert werden zu
SKIN_URL.'pic_settings.gif',
für Webauftritte, wo CPO nicht im root liegt.
----
DIR/member.php benötigt ggf. mehr Prüfungen!
Vermutlich resultieren die auftretenden Fehler aber aus Hacker-Angriffen mit manipulierter URL!
Code: Alles auswählen
// header and footer mechanism
if ($cpoRubricSettings['pagetemplate_' . $pagetype]==0) {
ob_start(); // member.inc.php might redirect
include(CPO_BASEDIR.$directory.'/loadheaders.php');
require CPO_BASEDIR . '_include/member.inc.php';
include(CPO_BASEDIR.$directory.'/loadfooters.php');
ob_end_flush();
exit;
}
Code: Alles auswählen
// header and footer mechanism
if ($cpoRubricSettings['pagetemplate_' . $pagetype]==0) {
$loadheaders = CPO_BASEDIR.$directory.'/loadheaders.php';
$loadfooters = CPO_BASEDIR.$directory.'/loadfooters.php';
$memberInc = CPO_BASEDIR . '_include/member.inc.php';
ob_start(); // member.inc.php might redirect
if (file_exists($loadheaders) && is_readable($loadheaders)) include($loadheaders);
if (file_exists($memberInc) && is_readable($memberInc)) require $memberInc;
if (file_exists($loadfooters) && is_readable($loadfooters)) include($loadfooters);
ob_end_flush();
exit;
}
_include/user_permission.php
if ($statusall[$i]=='1') {
=> if (isset($statusall[$i]) && $statusall[$i]=='1') {
-------------------------
Undefined variable $pager in _admin/articles.php on line 1046 (bei Nutzung des Artikelfilters)
-------------------------
bigdump akualisieren!
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- Handbuchversteher
- Beiträge: 7379
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 938 Mal
Fehlerliste CPO+4.0b "Bad Boys" unter PHP 8.2
Kein spezielles CPO+ Problem sondern ein neues Verhalten von str_split() unter PHP 8.2, das gegenüber PHP 8.1 bei
In
geändert werden zu
Man könnte auch einen leeren Kommentar mit einem Leerzeichen füllen, das würde aber bei Datenbanksuchen zu falschen Ergebnissen führen, daher der "lange" Weg.
==================================
Auch kein neues und kein CPO+ Problem, aber eben jetzt erst aufgefallen
In
geändert werden zu
str_split('')
ein leeres Array liefert, davor ein Array mit einem leeren Eintrag. Das führt bei Logeinträgen ohne Kommentar dazu, dass kein Logeintrag angelegt wird.In
_include/function.php
muss
Code: Alles auswählen
foreach ($comments as $comment) {
$db->query('INSERT INTO '.CPO_LOG.' (user, datum, aktion, bemerkung) '
.'VALUES ('
."'" . addslashes($login) . "', "
."'" . $date . "', "
."'" . addslashes($action) . (count($comments)>1 ? ' (' . $i++ . '/' . count($comments) . ')': '') . "', "
."'" . addslashes($comment) . "') ");
}
Code: Alles auswählen
if (count($comments)==0) { // Workaround for PHP 8.2 for str_split on empty comment
$db->query('INSERT INTO '.CPO_LOG.' (user, datum, aktion, bemerkung) '
.'VALUES ('
."'" . addslashes($login) . "', "
."'" . $date . "', "
."'" . addslashes($action) . "', "
."'" . addslashes($comment) . "') ");
} else {
foreach ($comments as $comment) {
$db->query('INSERT INTO '.CPO_LOG.' (user, datum, aktion, bemerkung) '
.'VALUES ('
."'" . addslashes($login) . "', "
."'" . $date . "', "
."'" . addslashes($action) . (count($comments)>1 ? ' (' . $i++ . '/' . count($comments) . ')': '') . "', "
."'" . addslashes($comment) . "') ");
}
}
==================================
Auch kein neues und kein CPO+ Problem, aber eben jetzt erst aufgefallen
In
mod_search/_includes/actions.inc.php
muss
Code: Alles auswählen
// search images {{{
$query = 'SELECT beschreibung, alttext, type, datei, format, artikel_archiv, freigabe, nr, titel, autor, pub_datum, '.CPO_NEWS.'.rubric_id, templates_id, verfallsdatum, seclevel, '.CPO_NEWS.'.changer, last_modify'.$perm_stufe4.' FROM '.CPO_CONTENT_IMAGES.', '.CPO_DATA.', '.CPO_NEWS.', '.CPO_RUBRIC.$perm_table.' '
Code: Alles auswählen
// search images {{{
$query = 'SELECT fieldname, beschreibung, alttext, type, datei, format, artikel_archiv, freigabe, nr, titel, autor, pub_datum, '.CPO_NEWS.'.rubric_id, templates_id, verfallsdatum, seclevel, '.CPO_NEWS.'.changer, last_modify'.$perm_stufe4.' FROM '.CPO_CONTENT_IMAGES.', '.CPO_DATA.', '.CPO_NEWS.', '.CPO_RUBRIC.$perm_table.' '
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
-
- Handbuchversteher
- Beiträge: 7379
- Registriert: 01.01.1970 02:00
- Hat sich bedankt: 114 Mal
- Danksagung erhalten: 938 Mal
Re: Fehlerliste CPO+4.0 unter PHP 8.1
PHP Warning: Undefined array key "nr" in _include/member.inc.php on line 376
Wozu ist da eigentlich die nr?
=> Ist eine custom-Anpassung!
Ciao Markus
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
ConPresso-Module
Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!
Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle