4 * Allows admin to edit all auth plugin settings.
6 * JH: copied and Hax0rd from admin/enrol.php and admin/filters.php
10 require_once('../config.php');
11 require_once($CFG->libdir
.'/adminlib.php');
12 require_once($CFG->libdir
.'/tablelib.php');
16 $returnurl = new moodle_url('/admin/settings.php', array('section'=>'manageauths'));
18 $PAGE->set_url($returnurl);
20 $action = optional_param('action', '', PARAM_ALPHANUMEXT
);
21 $auth = optional_param('auth', '', PARAM_PLUGIN
);
23 get_enabled_auth_plugins(true); // fix the list of enabled auths
24 if (empty($CFG->auth
)) {
25 $authsenabled = array();
27 $authsenabled = explode(',', $CFG->auth
);
30 if (!empty($auth) and !exists_auth_plugin($auth)) {
31 print_error('pluginnotinstalled', 'auth', $returnurl, $auth);
34 ////////////////////////////////////////////////////////////////////////////////
37 if (!confirm_sesskey()) {
43 // remove from enabled list
44 $key = array_search($auth, $authsenabled);
46 unset($authsenabled[$key]);
47 set_config('auth', implode(',', $authsenabled));
50 if ($auth == $CFG->registerauth
) {
51 set_config('registerauth', '');
53 \core\session\manager
::gc(); // Remove stale sessions.
54 core_plugin_manager
::reset_caches();
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));
64 \core\session\manager
::gc(); // Remove stale sessions.
65 core_plugin_manager
::reset_caches();
69 $key = array_search($auth, $authsenabled);
70 // check auth plugin is valid
72 print_error('pluginnotenabled', 'auth', $returnurl, $auth);
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));
84 $key = array_search($auth, $authsenabled);
85 // check auth is valid
87 print_error('pluginnotenabled', 'auth', $returnurl, $auth);
91 $fsave = $authsenabled[$key];
92 $authsenabled[$key] = $authsenabled[$key - 1];
93 $authsenabled[$key - 1] = $fsave;
94 set_config('auth', implode(',', $authsenabled));
102 redirect($returnurl);