Merge branch 'MDL-35029_master' of git://github.com/dmonllao/moodle
This commit is contained in:
+9
-2
@@ -605,7 +605,11 @@ class database_session extends session_stub {
|
||||
$ignoretimeout = false;
|
||||
if (!empty($record->userid)) { // skips not logged in
|
||||
if ($user = $this->database->get_record('user', array('id'=>$record->userid))) {
|
||||
if (!isguestuser($user)) {
|
||||
|
||||
// Refresh session if logged as a guest
|
||||
if (isguestuser($user)) {
|
||||
$ignoretimeout = true;
|
||||
} else {
|
||||
$authsequence = get_enabled_auth_plugins(); // auths, in sequence
|
||||
foreach($authsequence as $authname) {
|
||||
$authplugin = get_auth_plugin($authname);
|
||||
@@ -925,9 +929,12 @@ function session_gc() {
|
||||
}
|
||||
$rs->close();
|
||||
|
||||
// Extending the timeout period for guest sessions as they are renewed.
|
||||
$purgebefore = time() - $maxlifetime;
|
||||
$purgebeforeguests = time() - ($maxlifetime * 5);
|
||||
|
||||
// delete expired sessions for guest user account
|
||||
$DB->delete_records_select('sessions', 'userid = ? AND timemodified < ?', array($CFG->siteguest, $purgebefore));
|
||||
$DB->delete_records_select('sessions', 'userid = ? AND timemodified < ?', array($CFG->siteguest, $purgebeforeguests));
|
||||
// delete expired sessions for userid = 0 (not logged in)
|
||||
$DB->delete_records_select('sessions', 'userid = 0 AND timemodified < ?', array($purgebefore));
|
||||
} catch (dml_exception $ex) {
|
||||
|
||||
Reference in New Issue
Block a user