Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 3.9.x will end* 10 May 2021 (12 months).
  • Bug fixes for security issues in 3.9.x will end* 8 May 2023 (36 months).
  • PHP version: minimum PHP 7.2.0 Note: minimum PHP version has increased since Moodle 3.8. PHP 7.3.x and 7.4.x are supported too.

Differences Between: [Versions 39 and 401] [Versions 39 and 402] [Versions 39 and 403]

   1  <?php
   2  
   3  require(__DIR__.'/../../config.php');
   4  
   5  $PAGE->set_url('/auth/ldap/ntlmsso_finish.php');
   6  $PAGE->set_context(context_system::instance());
   7  
   8  // Define variables used in page
   9  $site = get_site();
  10  
  11  $authsequence = get_enabled_auth_plugins(); // Auths, in sequence.
  12  if (!in_array('ldap', $authsequence, true)) {
  13      print_error('ldap_isdisabled', 'auth');
  14  }
  15  
  16  $authplugin = get_auth_plugin('ldap');
  17  if (empty($authplugin->config->ntlmsso_enabled)) {
  18      print_error('ntlmsso_isdisabled', 'auth_ldap');
  19  }
  20  
  21  // If ntlmsso_finish() succeeds, then the code never returns,
  22  // so we only worry about failure.
  23  if (!$authplugin->ntlmsso_finish()) {
  24      // Redirect to login, saying "don't try again!"
  25      // Display the page header. This makes redirect respect the timeout we specify
  26      // here (and not add 3 more secs).
  27      $loginsite = get_string("loginsite");
  28      $PAGE->navbar->add($loginsite);
  29      $PAGE->set_title("$site->fullname: $loginsite");
  30      $PAGE->set_heading($site->fullname);
  31      echo $OUTPUT->header();
  32      redirect($CFG->wwwroot . '/login/index.php?authldap_skipntlmsso=1',
  33               get_string('ntlmsso_failed','auth_ldap'), 3);
  34  }