|
@@ -86,7 +86,14 @@ class ChamiloSession extends System\Session
|
|
|
|
|
|
if (self::session_stored_in_db() && function_exists('session_set_save_handler')) {
|
|
|
$handler = new SessionHandler();
|
|
|
- @session_set_save_handler(array(& $handler, 'open'), array(& $handler, 'close'), array(& $handler, 'read'), array(& $handler, 'write'), array(& $handler, 'destroy'), array(& $handler, 'garbage'));
|
|
|
+ @session_set_save_handler(
|
|
|
+ array(& $handler, 'open'),
|
|
|
+ array(& $handler, 'close'),
|
|
|
+ array(& $handler, 'read'),
|
|
|
+ array(& $handler, 'write'),
|
|
|
+ array(& $handler, 'destroy'),
|
|
|
+ array(& $handler, 'garbage')
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -120,17 +127,18 @@ class ChamiloSession extends System\Session
|
|
|
if ($already_installed) {
|
|
|
if (!isset($session['checkChamiloURL'])) {
|
|
|
$session['checkChamiloURL'] = api_get_path(WEB_PATH);
|
|
|
- } else if ($session['checkChamiloURL'] != api_get_path(WEB_PATH)) {
|
|
|
+ } elseif ($session['checkChamiloURL'] != api_get_path(WEB_PATH)) {
|
|
|
self::clear();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /*if (!$session->has('starttime') || $session->is_valid()) {
|
|
|
+ /*if (!$session->has('starttime') && !$session->is_expired()) {
|
|
|
$session->write('starttime', time());
|
|
|
}*/
|
|
|
- // if the session time has expired, refresh the starttime value, so we're starting to count down from a later time
|
|
|
- if ( $session->has('starttime') && $session->is_valid()) {
|
|
|
- //error_log('Time expired, cancel session');
|
|
|
+ // If the session time has expired, refresh the starttime value,
|
|
|
+ // so we're starting to count down from a later time
|
|
|
+ if ( $session->has('starttime') && $session->is_expired()) {
|
|
|
+ error_log(microtime().' -- '.__LINE__);
|
|
|
$session->destroy();
|
|
|
} else {
|
|
|
//error_log('Time not expired, extend session for a bit more');
|
|
@@ -160,22 +168,12 @@ class ChamiloSession extends System\Session
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * Returns true if the session is stalled. I.e. if session end time is
|
|
|
- * greater than now. Returns false otherwise.
|
|
|
- * @return bool True if the session is expired. False otherwise
|
|
|
+ * Returns whether the session is expired
|
|
|
+ * @return bool True if the session is expired, false if it is still valid
|
|
|
*/
|
|
|
- function is_stalled()
|
|
|
+ public function is_expired()
|
|
|
{
|
|
|
- return $this->end_time() >= time();
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * Returns whether the session is not stalled
|
|
|
- * @return bool True if the session is still valid, false otherwise
|
|
|
- */
|
|
|
- public function is_valid()
|
|
|
- {
|
|
|
- return !$this->is_stalled();
|
|
|
+ return $this->end_time() < time();
|
|
|
}
|
|
|
|
|
|
/**
|