]> git.datanom.net - qtadmin.git/commitdiff
Add check for valid session
authorMichael Rasmussen <mir@datanom.net>
Fri, 5 Jun 2015 18:52:59 +0000 (20:52 +0200)
committerMichael Rasmussen <mir@datanom.net>
Fri, 5 Jun 2015 18:52:59 +0000 (20:52 +0200)
lib/utils.inc.php

index be2ccf9bdebc1acf31c3d45eee10155dfdeba848..ba2fbc9dd48e9a3bb8bfba05a418f795b91dcc94 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;
This page took 0.032613 seconds and 5 git commands to generate.