Permalink
Browse files

MDL-8973 : Update to the require_logout function to ensure that the u…

…ser's auth plugin is the first (& only) one to have its prelogout_hook invoked.
  • Loading branch information...
1 parent 791fbc5 commit 597cd7728e7450a30254956ac934bb7227683d6d donal72 committed Apr 29, 2007
Showing with 13 additions and 5 deletions.
  1. +13 −5 lib/moodlelib.php
View
@@ -1828,11 +1828,11 @@ function require_logout() {
if (isloggedin()) {
add_to_log(SITEID, "user", "logout", "view.php?id=$USER->id&course=".SITEID, $USER->id, 0, $USER->id);
- $authsequence = get_enabled_auth_plugins(); // auths, in sequence
- foreach($authsequence as $authname) {
- $authplugin = get_auth_plugin($authname);
- $authplugin->prelogout_hook();
+ if (!isset($USER->auth) || empty($USER->auth)) {
+ $USER->auth = get_field('user', 'auth', 'id', $USER->id);
}
+ $authplugin = get_auth_plugin($USER->auth);
+ $authplugin->prelogout_hook();
}
if (ini_get_bool("register_globals") and check_php_version("4.3.0")) {
@@ -1841,7 +1841,15 @@ function require_logout() {
session_unregister("SESSION");
}
- setcookie('MoodleSessionTest'.$CFG->sessioncookie, '', time() - 3600, $CFG->sessioncookiepath);
+ // Initialize variable to pass-by-reference to headers_sent(&$file, &$line)
+ $file = $line = null;
+ if (headers_sent($file, $line)) {
+ error_log('MoodleSessionTest cookie could not be set in moodlelib.php:'.__LINE__);
+ error_log('Headers were already sent in file: '.$file.' on line '.$line);
+ } else {
+ setcookie('MoodleSessionTest'.$CFG->sessioncookie, '', time() - 3600, $CFG->sessioncookiepath);
+ }
+
unset($_SESSION['USER']);
unset($_SESSION['SESSION']);

0 comments on commit 597cd77

Please sign in to comment.