Search moodle.org's
Developer Documentation

See Release Notes

  • Bug fixes for general core bugs in 3.10.x will end 8 November 2021 (12 months).
  • Bug fixes for security issues in 3.10.x will end 9 May 2022 (18 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.
/admin/ -> auth.php (source)

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

   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              set_config('auth', implode(',', $authsenabled));
  48          }
  49  
  50          if ($auth == $CFG->registerauth) {
  51              set_config('registerauth', '');
  52          }
  53          \core\session\manager::gc(); // Remove stale sessions.
  54          core_plugin_manager::reset_caches();
  55          break;
  56  
  57      case 'enable':
  58          // add to enabled list
  59          if (!in_array($auth, $authsenabled)) {
  60              $authsenabled[] = $auth;
  61              $authsenabled = array_unique($authsenabled);
  62              set_config('auth', implode(',', $authsenabled));
  63          }
  64          \core\session\manager::gc(); // Remove stale sessions.
  65          core_plugin_manager::reset_caches();
  66          break;
  67  
  68      case 'down':
  69          $key = array_search($auth, $authsenabled);
  70          // check auth plugin is valid
  71          if ($key === false) {
  72              print_error('pluginnotenabled', 'auth', $returnurl, $auth);
  73          }
  74          // move down the list
  75          if ($key < (count($authsenabled) - 1)) {
  76              $fsave = $authsenabled[$key];
  77              $authsenabled[$key] = $authsenabled[$key + 1];
  78              $authsenabled[$key + 1] = $fsave;
  79              set_config('auth', implode(',', $authsenabled));
  80          }
  81          break;
  82  
  83      case 'up':
  84          $key = array_search($auth, $authsenabled);
  85          // check auth is valid
  86          if ($key === false) {
  87              print_error('pluginnotenabled', 'auth', $returnurl, $auth);
  88          }
  89          // move up the list
  90          if ($key >= 1) {
  91              $fsave = $authsenabled[$key];
  92              $authsenabled[$key] = $authsenabled[$key - 1];
  93              $authsenabled[$key - 1] = $fsave;
  94              set_config('auth', implode(',', $authsenabled));
  95          }
  96          break;
  97  
  98      default:
  99          break;
 100  }
 101  
 102  redirect($returnurl);
 103  
 104