Hallo zusammen
Wir haben auf einer 2.11.5er Installation plötzlich das Problem, dass es die Seite total verhaut, wenn sich Mitglieder ausloggen und der Navigationsbaum neu aufgebaut werden soll:
Folgender Fehler erscheint:
Warning: array_intersect() [function.array-intersect]: Argument #2 is not an array in .../httpdocs/system/modules/frontend/Module.php on line 223
#0 .../httpdocs/system/modules/frontend/Module.php(223): __error(2, 'array_intersect...', '/home/httpd/vho...', 223, Array)
#1 .../httpdocs/system/modules/frontend/ModuleNavigation.php(94): Module->renderNavigation(Array, NULL)
#2 .../httpdocs/system/modules/frontend/Module.php(140): ModuleNavigation->compile('22')
#3 .../httpdocs/system/modules/frontend/ModuleNavigation.php(69): Module->generate()
#4 .../httpdocs/system/libraries/Controller.php(359): ModuleNavigation->generate()
#5 .../httpdocs/system/modules/frontend/PageRegular.php(100): Controller->getFrontendModule()
#6 .../httpdocs/index.php(266): PageRegular->generate('9', 'left')
#7 .../httpdocs/index.php(401): Index->run(Object(DB_Mysql_Result))
Ein Blick in den Code zeigt, dass offenbar auf Zeile 223 ein Array erwartet wird:
PHP-Code:
if (!$objSubpages->protected || BE_USER_LOGGED_IN || (is_array($_groups) && count(array_intersect($_groups, $groups))) || $this->showProtected || ($this instanceof ModuleSitemap && $objSubpages->sitemap == 'map_always'))
Es muss sich also um $groups handeln, welche den Fehler verursacht. Der Wert für $groups wird weiter oben so erstellt:
PHP-Code:
$groups = array();
// Get all groups of the current front end user
if (FE_USER_LOGGED_IN)
{
$this->import('FrontendUser', 'User');
$groups = $this->User->groups;
}
Scheinbar wird also der User nicht korrekt ausgeloggt, d.h. das Object FrontendUser->User noch existiert, aber keinen Wert mehr für die Gruppe trägt. In der DB scheint aber alles i.O.
Woran könnte das liegen?
Viele Grüsse
Lesezeichen