WBCE CMS – Way Better Content Editing.
Du bist nicht angemeldet.
WBCE CMS 1.6.9 verfügbar / available - wichtiges Sicherheitsudate / important security update
Hallo zusammen,
nach o.g. Umstellung bleibt meine Startseite weiß, im Errorlogviewer fand ich die folgende Exception
2023-01-10T20:27:41+00:00 [Exception] There was an unknown exception: Call to undefined function each() in line (131) of /modules/droplets/droplets.php(26) : eval()'d code In der droplets.php find ich in der Zeile 131 keine function each() (???)
Für zweckdienliche Hinweise wäre ich dankbar.
GKS
Beitrag geändert von florian (19.01.2023 08:22:01)
WBCE Version: 1.6.3
PHP Version: 8.3.19
MySQL Version: 5.7.38
Hoster: Strato 
Offline
Da musst Du prüfen, welches Droplet bzw. welche Droplets auf der Startseite aufgerufen werden und da irgendwo drin ist dann das each zu ersetzen.
Beitrag geändert von florian (10.01.2023 23:58:01)
Offline
Hallo Florian,
danke für den Tipp. Das sehe ich mir baldmöglichst mal an. (Ein bischen Zeit habe ich zum Glück noch bis zur „Zwangsumstellung“ auf PHP8.)
GKS
WBCE Version: 1.6.3
PHP Version: 8.3.19
MySQL Version: 5.7.38
Hoster: Strato 
Offline
Hallo,
die genauere Suche hat ergeben, dass das Droplet minical_1_3 (aus procal_1_3_droplets_220406) das Problem verursacht. Es enthält die Zeile:
[== PHP ==]
@list($p, $pl) = each($pn); @list($n, $nl) = each($pn); #previous and next links, if applicablein welcher 2x each vorkommt. Nun müsste ich diese ersetzen, weiß aber - auf Grund meiner mangelnden PHP-Kenntnisse - nicht, wie.
Daher wäre ich dankbar für eine kleine Hilfestellung
Beste Grüße,
GKS
WBCE Version: 1.6.3
PHP Version: 8.3.19
MySQL Version: 5.7.38
Hoster: Strato 
Offline
Oh mann, da scheint irgendwer sich vor 20 Jahren ein ganz tolles Array-Konstrukt ausgedacht zu haben, um eine Zeile Code zu sparen... von hinten durch die Brust ins Auge, meiner unmaßgeblichen Meinung nach.
Ersetze
@list($p, $pl) = each($pn); @list($n, $nl) = each($pn); #previous and next links, if applicable
if($p) $p = '<span class="calendar-prev">'.($pl ? '<a href="'.htmlspecialchars($pl).'">'.$p.'</a>' : $p).'</span> ';
if($n) $n = ' <span class="calendar-next">'.($nl ? '<a href="'.htmlspecialchars($nl).'">'.$n.'</a>' : $n).'</span>';durch
$p = '<span class="calendar-prev"><a href="'.$_SERVER['SCRIPT_NAME'].'?procal_next='.$prevMonth.'_'.$prevYear.'">< </a>';
$n = '<span class="calendar-next"><a href="'.$_SERVER['SCRIPT_NAME'].'?procal_next='.$nextMonth.'_'.$nextYear.'"> ></a>';Dann sollte es auch/wieder funktionieren.
Offline
gks, dwingo
Hallo Florian,
vielen lieben Dank, das hat auf Anhieb funktioniert
Vielleicht hilft das auch anderen Nutzern des Droplets minical_1_3 weiter ...
Nun kann ich dauerhaft auf PHP v8 wechseln
.
Beste Grüße und ein schönes Wochenende,
GKS
WBCE Version: 1.6.3
PHP Version: 8.3.19
MySQL Version: 5.7.38
Hoster: Strato 
Offline
florian