mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 08:56:36 +02:00

These include: MDL-14078: redirect() doubles the specified timeout when we haven't printed the page header and uses javascript to execute the redirect. This is interacting badly with some versions of IE and FF (at least 3.0.x Windows version) that fireup javascript timers even if we already left the page where we set those up. Just print the page header (we are printing other content anyway) to make redirect respect our timeouts. MDL-14071: All the relevant details are in the description of the bug :) MDL-14297: This is probably the same as MDL-14078
36 lines
1.2 KiB
PHP
36 lines
1.2 KiB
PHP
<?php
|
|
|
|
require_once(dirname(dirname(dirname(__FILE__)))."/config.php");
|
|
|
|
//HTTPS is potentially required in this page
|
|
httpsrequired();
|
|
|
|
/// Define variables used in page
|
|
if (!$site = get_site()) {
|
|
print_error("siteisnotdefined", 'debug');
|
|
}
|
|
|
|
$authsequence = get_enabled_auth_plugins(true); // auths, in sequence
|
|
if (!in_array('ldap',$authsequence,true)) {
|
|
print_error('ldap_isdisabled','auth');
|
|
}
|
|
|
|
$authplugin = get_auth_plugin('ldap');
|
|
if (empty($authplugin->config->ntlmsso_enabled)) {
|
|
print_error('ntlmsso_isdisabled','auth');
|
|
}
|
|
|
|
// If ntlmsso_finish() succeeds, then the code never returns,
|
|
// so we only worry about failure.
|
|
if (!$authplugin->ntlmsso_finish()) {
|
|
// Redirect to login, saying "don't try again!"
|
|
// Display the page header. This makes redirect respect the timeout we specify
|
|
// here (and not add 3 more secs).
|
|
$loginsite = get_string("loginsite");
|
|
$navlinks = array(array('name' => $loginsite, 'link' => null, 'type' => 'misc'));
|
|
$navigation = build_navigation($navlinks);
|
|
print_header("$site->fullname: $loginsite", $site->fullname, $navigation, '', '', true);
|
|
redirect($CFG->httpswwwroot . '/login/index.php?authldap_skipntlmsso=1',
|
|
get_string('ntlmsso_failed','auth'), 3);
|
|
}
|
|
?>
|