X-Git-Url: http://git.datanom.net/qtadmin.git/blobdiff_plain/b95d1cdbc4fe25e3f0df3b94e990f6af7b330c63..a675b3833d014e9ebeb998aa7a8ad6e5d1acca78:/lib/utils.inc.php diff --git a/lib/utils.inc.php b/lib/utils.inc.php index 2f1671d..8aa38e0 100644 --- a/lib/utils.inc.php +++ b/lib/utils.inc.php @@ -18,11 +18,12 @@ class Utils { var timeout = __TIMEOUT__; + __TITLE__ '; - private $footer = ''; + private $footer = ''; private $heading = '

Session timeout:

__TITLE__

'; @@ -30,12 +31,13 @@ class Utils { global $CFG; $this->server = $_SERVER; - session_start(); $this->user = null; $this->is_admin = false; $this->loginStatus = 'Not logged in'; + $this->startSession(); + if (isset($_SESSION['user'])) { $this->user = $_SESSION['user']; $this->loginStatus = 'OK'; @@ -56,15 +58,9 @@ class Utils { private function __clone() {} - public static function getInstance() { + private function startSession() { global $CFG; - if (!is_object(self::$_instance)) { - self::$_instance = new Utils(); - } - // Session timeout handler - if ('' == session_id()) - session_start(); if (isset($CFG->session_timeout)) { $timeout = $CFG->session_timeout * 60; } else { @@ -75,15 +71,24 @@ class Utils { ini_set('session.gc_maxlifetime', $timeout); if (ini_get('session.cookie_lifetime') != $timeout) ini_set('session.cookie_lifetime', $timeout); + + session_start(); + $time = $_SERVER['REQUEST_TIME']; if (isset($_SESSION['LAST_ACTIVITY']) && ($time - $_SESSION['LAST_ACTIVITY']) >= $timeout) { session_unset(); session_destroy(); - session_start(); self::$_instance->user = null; self::$_instance->is_admin = false; + } else { + $_SESSION['LAST_ACTIVITY'] = $time; + } + } + + public static function getInstance() { + if (!is_object(self::$_instance)) { + self::$_instance = new Utils(); } - $_SESSION['LAST_ACTIVITY'] = $time; return self::$_instance; }