. namespace core_admin\table; use moodle_url; /** * Tiny admin settings. * * @package core_admin * @copyright 2023 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ class editor_management_table extends \core_admin\table\plugin_management_table { protected function get_plugintype(): string { return 'editor'; } public function guess_base_url(): void { $this->define_baseurl( new moodle_url('/admin/settings.php', ['section' => 'manageeditors']) ); } protected function get_action_url(array $params = []): moodle_url { return new moodle_url('/admin/editors.php', $params); } protected function order_plugins(array $plugins): array { global $CFG; // The Editor list is stored in an ordered string. $activeeditors = explode(',', $CFG->texteditors); $sortedplugins = []; foreach ($activeeditors as $editor) { if (isset($plugins[$editor])) { $sortedplugins[$editor] = $plugins[$editor]; unset($plugins[$editor]); } } $otherplugins = parent::order_plugins($plugins); return array_merge( $sortedplugins, $otherplugins ); } }