für mod_map muß ich Werte in die Session schreiben. Diese sollen sofort für die Kartendarstellung zur Verfügung stehen. Leider klappt das meist nicht, da die Session am Scriptende geschrieben wird, in diesem Augenblick aber schon die Karte (dann eben mit den veralteten Werten) von einem anderen Script erstellt wird.*
Ich habe mir nun damit geholfen, daß ich mittels
session_write_close ();
die Daten schreiben lasse, so daß sie sofort zur Verfügung stehen.
Daraus resultiert nun leider, daß man sich nicht mehr in geschlossene Rubriken einloggen kann und beim Ausloggen das session_destroy() fehlschlägt.
Ich habe mir nun damit beholfen, daß ich prüfe, ob ich im Backend bin oder die member.php benutze.
Code: Alles auswählen
if(array_key_exists($moduleDirectory, $activeModules) && !defined('CPOBACKEND') && strpos($_SERVER["PHP_SELF"],'member.php')===false) {
include (CPO_BASEDIR.$moduleDirectory.'/map_session.inc.php'); // diese schreibt die Session
}
*beim Captcha ist das anders, weil die Session geschrieben wird und erst beim nächsten Seitenaufruf wieder benötigt wird.
Kurze Zeit später:
Das scheint gelöst zu sein.
Ich habe
session_write_close ();
noch durch ein folgendes
CPOsession_start();
ergänzt.
Nun klappen Login, Logout und die sofortige Bereitstellung der Sessiondaten...
auch ohne Prüfung der member.php, nur die Prüfung auf CPOBACKEND bleibt, da es im Backend keine Kartendarstellung geben muß.