AutorÃa | Ultima modificación | Ver Log |
<?php/*** Allows admin to edit all auth plugin settings.** JH: copied and Hax0rd from admin/enrol.php and admin/filters.php**/require_once('../config.php');require_once($CFG->libdir.'/adminlib.php');require_once($CFG->libdir.'/tablelib.php');require_admin();$returnurl = new moodle_url('/admin/settings.php', array('section'=>'manageauths'));$PAGE->set_url($returnurl);$action = optional_param('action', '', PARAM_ALPHANUMEXT);$auth = optional_param('auth', '', PARAM_PLUGIN);get_enabled_auth_plugins(true); // fix the list of enabled authsif (empty($CFG->auth)) {$authsenabled = array();} else {$authsenabled = explode(',', $CFG->auth);}if (!empty($auth) and !exists_auth_plugin($auth)) {throw new \moodle_exception('pluginnotinstalled', 'auth', $returnurl, $auth);}////////////////////////////////////////////////////////////////////////////////// process actionsif (!confirm_sesskey()) {redirect($returnurl);}switch ($action) {case 'disable':// Remove from enabled list.$class = \core_plugin_manager::resolve_plugininfo_class('auth');$class::enable_plugin($auth, false);break;case 'enable':// Add to enabled list.$class = \core_plugin_manager::resolve_plugininfo_class('auth');$class::enable_plugin($auth, true);break;case 'down':$key = array_search($auth, $authsenabled);// check auth plugin is validif ($key === false) {throw new \moodle_exception('pluginnotenabled', 'auth', $returnurl, $auth);}// move down the listif ($key < (count($authsenabled) - 1)) {$fsave = $authsenabled[$key];$authsenabled[$key] = $authsenabled[$key + 1];$authsenabled[$key + 1] = $fsave;$value = implode(',', $authsenabled);add_to_config_log('auth', $CFG->auth, $value, 'core');set_config('auth', $value);}break;case 'up':$key = array_search($auth, $authsenabled);// check auth is validif ($key === false) {throw new \moodle_exception('pluginnotenabled', 'auth', $returnurl, $auth);}// move up the listif ($key >= 1) {$fsave = $authsenabled[$key];$authsenabled[$key] = $authsenabled[$key - 1];$authsenabled[$key - 1] = $fsave;$value = implode(',', $authsenabled);add_to_config_log('auth', $CFG->auth, $value, 'core');set_config('auth', $value);}break;default:break;}redirect($returnurl);