mirror of
https://github.com/moodle/moodle.git
synced 2025-08-04 16:36:37 +02:00
Merge branch 'MDL-35029_master' of git://github.com/dmonllao/moodle
This commit is contained in:
commit
78cdd4cd41
1 changed files with 9 additions and 2 deletions
|
@ -605,7 +605,11 @@ class database_session extends session_stub {
|
||||||
$ignoretimeout = false;
|
$ignoretimeout = false;
|
||||||
if (!empty($record->userid)) { // skips not logged in
|
if (!empty($record->userid)) { // skips not logged in
|
||||||
if ($user = $this->database->get_record('user', array('id'=>$record->userid))) {
|
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
|
$authsequence = get_enabled_auth_plugins(); // auths, in sequence
|
||||||
foreach($authsequence as $authname) {
|
foreach($authsequence as $authname) {
|
||||||
$authplugin = get_auth_plugin($authname);
|
$authplugin = get_auth_plugin($authname);
|
||||||
|
@ -925,9 +929,12 @@ function session_gc() {
|
||||||
}
|
}
|
||||||
$rs->close();
|
$rs->close();
|
||||||
|
|
||||||
|
// Extending the timeout period for guest sessions as they are renewed.
|
||||||
$purgebefore = time() - $maxlifetime;
|
$purgebefore = time() - $maxlifetime;
|
||||||
|
$purgebeforeguests = time() - ($maxlifetime * 5);
|
||||||
|
|
||||||
// delete expired sessions for guest user account
|
// 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)
|
// delete expired sessions for userid = 0 (not logged in)
|
||||||
$DB->delete_records_select('sessions', 'userid = 0 AND timemodified < ?', array($purgebefore));
|
$DB->delete_records_select('sessions', 'userid = 0 AND timemodified < ?', array($purgebefore));
|
||||||
} catch (dml_exception $ex) {
|
} catch (dml_exception $ex) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue