Merge branch 'MDL-35029_master' of git://github.com/dmonllao/moodle

This commit is contained in:
Sam Hemelryk 2012-09-03 12:16:03 +12:00
commit 78cdd4cd41

View file

@ -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) {