X-Git-Url: http://git.datanom.net/qtadmin.git/blobdiff_plain/6072c9051f0f9b38ac96ac9ea591710134c513d3..d3c4a10fe714842c534e69c69fb42b38974b14b7:/lib/utils.inc.php diff --git a/lib/utils.inc.php b/lib/utils.inc.php index 9e2f6bf..4645e24 100644 --- a/lib/utils.inc.php +++ b/lib/utils.inc.php @@ -75,6 +75,8 @@ class Utils implements Serializable { private function startSession() { global $CFG; + session_unset(); + session_destroy(); if (isset($CFG->session_timeout)) { $this->timeout = $CFG->session_timeout * 60; } else { @@ -94,10 +96,11 @@ class Utils implements Serializable { public static function getInstance() { global $CFG; + session_start(); if (!is_object(self::$_instance)) { if (isset($_SESSION['Utils'])) { self::$_instance = unserialize($_SESSION['Utils']); - file_put_contents('/tmp/dump', 'Unserialize called: '.var_export($this, true), FILE_APPEND); + file_put_contents('/tmp/dump', 'Unserialize called: '.var_export(self::$_instance, true), FILE_APPEND); } else { self::$_instance = new Utils(); } @@ -107,11 +110,12 @@ class Utils implements Serializable { if (isset($_SESSION['LAST_ACTIVITY']) && ($time - $_SESSION['LAST_ACTIVITY']) >= self::$_instance->timeout) { echo 'R_TIME: '.date('c', $time).' L_ACT: '.date('c', $_SESSION['LAST_ACTIVITY']); - exit; + //exit; session_unset(); session_destroy(); self::$_instance->user = null; self::$_instance->is_admin = false; + $_SESSION['Utils'] = serialize(self::$_instance); } else { $_SESSION['LAST_ACTIVITY'] = $time; } @@ -185,6 +189,8 @@ class Utils implements Serializable { $this->loginStatus = 'Connect to LDAP server failed'; } + $_SESSION['Utils'] = serialize($this); + return $result; } @@ -213,8 +219,11 @@ class Utils implements Serializable { if ($loggedIn == false) { echo '$this->user: '.$this->user.' $_SESSION[\'user\']: '.$_SESSION['user']; echo 'R_TIME: '.date('c', $_SERVER['REQUEST_TIME']).' L_ACT: '.date('c', $_SESSION['LAST_ACTIVITY']); - exit; + //exit; } + + $_SESSION['Utils'] = serialize($this); + return $loggedIn; } @@ -243,6 +252,8 @@ class Utils implements Serializable { $this->header = str_replace('__TITLE__', $heading, $this->header); $this->header = str_replace('__ROOT__', $CFG->wwwroot, $this->header); $this->header = str_replace('__TIMEOUT__', $timeout, $this->header); + + $_SESSION['Utils'] = serialize($this); } public function convertContent($code) {