]> git.datanom.net - qtadmin.git/blobdiff - lib/utils.inc.php
Add check for valid session
[qtadmin.git] / lib / utils.inc.php
index be2ccf9bdebc1acf31c3d45eee10155dfdeba848..d61b9e7dd137f286b24f06244df3b9ea09a3c681 100644 (file)
@@ -79,6 +79,10 @@ class Utils {
     private function checkSession() {
         global $CFG;
 
+        if ('' == session_id()) {
+            $this->startSession();
+        }
+
         $time = $_SERVER['REQUEST_TIME'];
         if (isset($_SESSION['LAST_ACTIVITY']) &&
                 ($time - $_SESSION['LAST_ACTIVITY']) >= $this->settings['timeout']) {
@@ -90,15 +94,18 @@ class Utils {
     }
 
     public function logout() {
-        $_SESSION = array();
         if (ini_get('session.use_cookies')) {
             $params = session_get_cookie_params();
             setcookie(session_name(), '', time() - 42000,
                 $params['path'], $params['domain'],
                 $params['secure'], $params['httponly']);
         }
-        session_unset();
-        session_destroy();
+
+        if ('' != session_id()) {
+            $_SESSION = array();
+            session_unset();
+            session_destroy();
+        }
         $this->settings = array();
     }
 
@@ -182,6 +189,8 @@ class Utils {
             $this->startSession();
         }
 
+        $this->checkSession();
+
         if (isset($this->settings['user'])) {
             if ($this->settings['user'] != null) {
                 $loggedIn = true;
@@ -196,7 +205,7 @@ class Utils {
         }
 
         if ($loggedIn == false) {
-            echo '$this->user: '.$this->user.' $_SESSION[\'user\']: '.$_SESSION['user'];
+            echo '$this->settings: '.var_export($this->settings, true);
             echo 'R_TIME: '.date('c', $_SERVER['REQUEST_TIME']).' L_ACT: '.date('c', $_SESSION['LAST_ACTIVITY']);
             //exit;
         }
This page took 0.029283 seconds and 5 git commands to generate.