]> git.datanom.net - qtadmin.git/commitdiff
Fix bug in session handler
authorMichael Rasmussen <mir@datanom.net>
Thu, 4 Jun 2015 16:38:25 +0000 (18:38 +0200)
committerMichael Rasmussen <mir@datanom.net>
Thu, 4 Jun 2015 16:38:25 +0000 (18:38 +0200)
lib/utils.inc.php

index 8aa38e083054ae3d3a2e6d6e733d483d5f2b8d90..7009966c3952add79c2ef365b39d250dda96e14e 100644 (file)
@@ -9,6 +9,7 @@ class Utils {
     private $user;
     private $is_admin;
     private $loginStatus;
+    private $timeout;
     private $header = '<!DOCTYPE html>
 <html>
 <head>
@@ -62,20 +63,31 @@ class Utils {
         global $CFG;
 
         if (isset($CFG->session_timeout)) {
-            $timeout = $CFG->session_timeout * 60;
+            $this->timeout = $CFG->session_timeout * 60;
         } else {
-            $timeout = 20 * 60;
+            $this->timeout = 20 * 60;
         }
 
-        if (ini_get('session.gc_maxlifetime') != $timeout)
-            ini_set('session.gc_maxlifetime', $timeout);
-        if (ini_get('session.cookie_lifetime') != $timeout)
-            ini_set('session.cookie_lifetime', $timeout);
+        if (ini_get('session.gc_maxlifetime') != $this->timeout)
+            ini_set('session.gc_maxlifetime', $this->timeout);
+        if (ini_get('session.cookie_lifetime') != $this->timeout)
+            ini_set('session.cookie_lifetime', $this->timeout);
 
         session_start();
 
+        //echo ini_get('session.gc_maxlifetime').':'.ini_get('session.cookie_lifetime');
+    }
+
+    public static function getInstance() {
+        global $CFG;
+
+        if (!is_object(self::$_instance)) {
+            self::$_instance = new Utils();
+        }
+
         $time = $_SERVER['REQUEST_TIME'];
-        if (isset($_SESSION['LAST_ACTIVITY']) && ($time - $_SESSION['LAST_ACTIVITY']) >= $timeout) {
+        if (isset($_SESSION['LAST_ACTIVITY']) &&
+                ($time - $_SESSION['LAST_ACTIVITY']) >= self::$_instance->timeout) {
             session_unset();
             session_destroy();
             self::$_instance->user = null;
@@ -83,12 +95,6 @@ class Utils {
         } else {
             $_SESSION['LAST_ACTIVITY'] = $time;
         }
-    }
-
-    public static function getInstance() {
-        if (!is_object(self::$_instance)) {
-            self::$_instance = new Utils();
-        }
 
         return self::$_instance;
     }
This page took 0.036711 seconds and 5 git commands to generate.