Merge branch 'w37_MDL-41408_m26_loginredirect' of https://github.com/skodak/moodle

This commit is contained in:
Damyon Wiese 2013-09-10 13:33:27 +08:00
commit f1f4a860c6

View File

@ -247,6 +247,9 @@ if ($frm and isset($frm->username)) { // Login WITH
}
}
// Discard any errors before the last redirect.
unset($SESSION->loginerrormsg);
// test the session actually works by redirecting to self
$SESSION->wantsurl = $urltogo;
redirect(new moodle_url(get_login_url(), array('testsession'=>$USER->id)));
@ -334,6 +337,23 @@ foreach($authsequence as $authname) {
$potentialidps = array_merge($potentialidps, $authplugin->loginpage_idp_list($SESSION->wantsurl));
}
if (!empty($SESSION->loginerrormsg)) {
// We had some errors before redirect, show them now.
$errormsg = $SESSION->loginerrormsg;
unset($SESSION->loginerrormsg);
} else if ($testsession) {
// No need to redirect here.
unset($SESSION->loginerrormsg);
} else if ($errormsg or !empty($frm->password)) {
// We must redirect after every password submission.
if ($errormsg) {
$SESSION->loginerrormsg = $errormsg;
}
redirect(new moodle_url('/login/index.php'));
}
$PAGE->set_title("$site->fullname: $loginsite");
$PAGE->set_heading("$site->fullname");