Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.
<?php

// Don't let lib/setup.php set any cookies
// as we will be executing under the OS security
// context of the user we are trying to login, rather than
// of the webserver.
define('NO_MOODLE_COOKIES', true);

require(__DIR__.'/../../config.php');

$PAGE->set_context(context_system::instance());

$authsequence = get_enabled_auth_plugins(); // Auths, in sequence.
if (!in_array('ldap', $authsequence, true)) {
< print_error('ldap_isdisabled', 'auth');
> throw new \moodle_exception('ldap_isdisabled', 'auth');
} $authplugin = get_auth_plugin('ldap'); if (empty($authplugin->config->ntlmsso_enabled)) {
< print_error('ntlmsso_isdisabled', 'auth_ldap');
> throw new \moodle_exception('ntlmsso_isdisabled', 'auth_ldap');
} $sesskey = required_param('sesskey', PARAM_RAW); $file = $CFG->dirroot.'/pix/spacer.gif'; if ($authplugin->ntlmsso_magic($sesskey) && file_exists($file)) { if (!empty($authplugin->config->ntlmsso_ie_fastpath)) { if (core_useragent::is_ie()) { redirect($CFG->wwwroot.'/auth/ldap/ntlmsso_finish.php'); } } // Serve GIF // Type header('Content-Type: image/gif'); header('Content-Length: '.filesize($file)); // Output file $handle = fopen($file, 'r'); fpassthru($handle); fclose($handle); exit; } else {
< print_error('ntlmsso_iwamagicnotenabled', 'auth_ldap');
> throw new \moodle_exception('ntlmsso_iwamagicnotenabled', 'auth_ldap');
}