Search moodle.org's
Developer Documentation

  • 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 34] [Versions 310 and 35] [Versions 310 and 36] [Versions 310 and 37] [Versions 34 and 310] [Versions 35 and 310] [Versions 36 and 310] [Versions 37 and 310]

       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