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
title
Description
Body
title
Description
Body
title
Description
Body
title
Body