From 39023189e8f429becf658c8a1f8250c55cf0721c Mon Sep 17 00:00:00 2001 From: Michael Rasmussen Date: Fri, 5 Jun 2015 20:52:59 +0200 Subject: [PATCH] Add check for valid session --- lib/utils.inc.php | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/lib/utils.inc.php b/lib/utils.inc.php index be2ccf9..ba2fbc9 100644 --- a/lib/utils.inc.php +++ b/lib/utils.inc.php @@ -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; -- 2.39.2