Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.11.x will end 14 Nov 2022 (12 months plus 6 months extension).
  • Bug fixes for security issues in 3.11.x will end 13 Nov 2023 (18 months plus 12 months extension).
  • PHP version: minimum PHP 7.3.0 Note: minimum PHP version has increased since Moodle 3.10. PHP 7.4.x is supported too.
/admin/ -> auth.php (source)

Differences Between: [Versions 310 and 311] [Versions 311 and 400] [Versions 311 and 401] [Versions 311 and 402] [Versions 311 and 403] [Versions 39 and 311]

   1  <?php
   2  
   3  /**
   4   * Allows admin to edit all auth plugin settings.
   5   *
   6   * JH: copied and Hax0rd from admin/enrol.php and admin/filters.php
   7   *
   8   */
   9  
  10  require_once('../config.php');
  11  require_once($CFG->libdir.'/adminlib.php');
  12  require_once($CFG->libdir.'/tablelib.php');
  13  
  14  require_admin();
  15  
  16  $returnurl = new moodle_url('/admin/settings.php', array('section'=>'manageauths'));
  17  
  18  $PAGE->set_url($returnurl);
  19  
  20  $action = optional_param('action', '', PARAM_ALPHANUMEXT);
  21  $auth   = optional_param('auth', '', PARAM_PLUGIN);
  22  
  23  get_enabled_auth_plugins(true); // fix the list of enabled auths
  24  if (empty($CFG->auth)) {
  25      $authsenabled = array();
  26  } else {
  27      $authsenabled = explode(',', $CFG->auth);
  28  }
  29  
  30  if (!empty($auth) and !exists_auth_plugin($auth)) {
  31      print_error('pluginnotinstalled', 'auth', $returnurl, $auth);
  32  }
  33  
  34  ////////////////////////////////////////////////////////////////////////////////
  35  // process actions
  36  
  37  if (!confirm_sesskey()) {
  38      redirect($returnurl);
  39  }
  40  
  41  switch ($action) {
  42      case 'disable':
  43          // remove from enabled list
  44          $key = array_search($auth, $authsenabled);
  45          if ($key !== false) {
  46              unset($authsenabled[$key]);
  47              $value = implode(',', $authsenabled);
  48              add_to_config_log('auth', $CFG->auth, $value, 'core');
  49              set_config('auth', $value);
  50          }
  51  
  52          if ($auth == $CFG->registerauth) {
  53              set_config('registerauth', '');
  54          }
  55          \core\session\manager::gc(); // Remove stale sessions.
  56          core_plugin_manager::reset_caches();
  57          break;
  58  
  59      case 'enable':
  60          // add to enabled list
  61          if (!in_array($auth, $authsenabled)) {
  62              $authsenabled[] = $auth;
  63              $authsenabled = array_unique($authsenabled);
  64              $value = implode(',', $authsenabled);
  65              add_to_config_log('auth', $CFG->auth, $value, 'core');
  66              set_config('auth', $value);
  67          }
  68  
  69          \core\session\manager::gc(); // Remove stale sessions.
  70          core_plugin_manager::reset_caches();
  71          break;
  72  
  73      case 'down':
  74          $key = array_search($auth, $authsenabled);
  75          // check auth plugin is valid
  76          if ($key === false) {
  77              print_error('pluginnotenabled', 'auth', $returnurl, $auth);
  78          }
  79          // move down the list
  80          if ($key < (count($authsenabled) - 1)) {
  81              $fsave = $authsenabled[$key];
  82              $authsenabled[$key] = $authsenabled[$key + 1];
  83              $authsenabled[$key + 1] = $fsave;
  84              $value = implode(',', $authsenabled);
  85              add_to_config_log('auth', $CFG->auth, $value, 'core');
  86              set_config('auth', $value);
  87          }
  88          break;
  89  
  90      case 'up':
  91          $key = array_search($auth, $authsenabled);
  92          // check auth is valid
  93          if ($key === false) {
  94              print_error('pluginnotenabled', 'auth', $returnurl, $auth);
  95          }
  96          // move up the list
  97          if ($key >= 1) {
  98              $fsave = $authsenabled[$key];
  99              $authsenabled[$key] = $authsenabled[$key - 1];
 100              $authsenabled[$key - 1] = $fsave;
 101              $value = implode(',', $authsenabled);
 102              add_to_config_log('auth', $CFG->auth, $value, 'core');
 103              set_config('auth', $value);
 104          }
 105          break;
 106  
 107      default:
 108          break;
 109  }
 110  
 111  redirect($returnurl);
 112  
 113