diff --git a/include/lassospkit_session_file.inc.php b/include/lassospkit_session_file.inc.php index d0919e9..8f3fe0d 100644 --- a/include/lassospkit_session_file.inc.php +++ b/include/lassospkit_session_file.inc.php @@ -5,9 +5,15 @@ require_once('lassospkit_debug.inc.php'); class LassoSPKitSessionFile { + function setcookie($session, $timeout) { + static $done = 0; + if ($done == 0) { + $done = 1; + $LassoSPKitSessionFile_cookiename = 'lassospkit_file_' . LassoSPKitConfig::get('cookiename'); + setcookie($LassoSPKitSessionFile_cookiename, $session->id, time()+$timeout, '/'); + } + } function retrieve($session, $timeout) { - $LassoSPKitSessionFile_cookiename = 'lassospkit_file_' . LassoSPKitConfig::get('cookiename'); - $content = null; if (isset($_COOKIE[$LassoSPKitSessionFile_cookiename])) { $session->id = $_COOKIE[$LassoSPKitSessionFile_cookiename]; @@ -26,8 +32,8 @@ class LassoSPKitSessionFile { } if (! $content) { $session->id = md5("lasso" . rand()); - setcookie($LassoSPKitSessionFile_cookiename, $session->id, time()+3600, '/'); } + LassoSPKitSessionFile::setcookie($session, $timeout); return $content; } function store($session, $content) { @@ -37,7 +43,6 @@ class LassoSPKitSessionFile { lassospkit_errlog("cannot write into " . lassospkit_datadir() . "/cookie_session_" . $session->id); } } - } function delete($session) { $filepath = lassospkit_datadir() . "/cookie_session_" . $session->id;