See Release Notes
Long Term Support Release
<?php /** * Allows admin to configure editors. */ require_once('../config.php'); require_once($CFG->libdir.'/adminlib.php'); require_once($CFG->libdir.'/tablelib.php'); $action = required_param('action', PARAM_ALPHANUMEXT); $editor = required_param('editor', PARAM_PLUGIN); $confirm = optional_param('confirm', 0, PARAM_BOOL); $PAGE->set_url('/admin/editors.php', array('action'=>$action, 'editor'=>$editor)); $PAGE->set_context(context_system::instance()); require_admin(); $returnurl = "$CFG->wwwroot/$CFG->admin/settings.php?section=manageeditors"; // get currently installed and enabled auth plugins $available_editors = editors_get_available(); if (!empty($editor) and empty($available_editors[$editor])) { redirect ($returnurl); } $active_editors = explode(',', $CFG->texteditors); foreach ($active_editors as $key=>$active) { if (empty($available_editors[$active])) { unset($active_editors[$key]); } } //////////////////////////////////////////////////////////////////////////////// // process actions if (!confirm_sesskey()) { redirect($returnurl); }<$return = true; switch ($action) { case 'disable':< // remove from enabled list < $key = array_search($editor, $active_editors); < unset($active_editors[$key]); < add_to_config_log('editor_visibility', '1', '0', $editor);> // Remove from enabled list. > $class = \core_plugin_manager::resolve_plugininfo_class('editor'); > $class::enable_plugin($editor, false);break; case 'enable':< // add to enabled list> // Add to enabled list.if (!in_array($editor, $active_editors)) {< $active_editors[] = $editor; < $active_editors = array_unique($active_editors); < add_to_config_log('editor_visibility', '0', '1', $editor);> $class = \core_plugin_manager::resolve_plugininfo_class('editor'); > $class::enable_plugin($editor, true);} break; case 'down': $key = array_search($editor, $active_editors); // check auth plugin is valid if ($key !== false) { // move down the list if ($key < (count($active_editors) - 1)) { $fsave = $active_editors[$key]; $active_editors[$key] = $active_editors[$key + 1]; $active_editors[$key + 1] = $fsave; add_to_config_log('editor_position', $key, $key + 1, $editor);> set_config('texteditors', implode(',', $active_editors)); } > core_plugin_manager::reset_caches();} break; case 'up': $key = array_search($editor, $active_editors); // check auth is valid if ($key !== false) { // move up the list if ($key >= 1) { $fsave = $active_editors[$key]; $active_editors[$key] = $active_editors[$key - 1]; $active_editors[$key - 1] = $fsave; add_to_config_log('editor_position', $key, $key - 1, $editor);> set_config('texteditors', implode(',', $active_editors)); } > core_plugin_manager::reset_caches();} break; default: break; }< < // at least one editor must be active < if (empty($active_editors)) { < $active_editors = array('textarea'); < } < < set_config('texteditors', implode(',', $active_editors)); < core_plugin_manager::reset_caches();if ($return) { redirect ($returnurl); }