. /** * A page to manage activity modules. * * @package core_admin * @copyright 2023 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('../config.php'); require_once('../course/lib.php'); require_once("{$CFG->libdir}/adminlib.php"); require_once("{$CFG->libdir}/tablelib.php"); define('MODULE_TABLE', 'module_administration_table'); admin_externalpage_setup('managemodules'); $plugin = optional_param('plugin', '', PARAM_PLUGIN); $action = optional_param('action', '', PARAM_ALPHA); // If data submitted, then process and store. if (!empty($action) && !empty($plugin) && confirm_sesskey()) { $manager = \core_plugin_manager::resolve_plugininfo_class('mod'); $pluginname = get_string('pluginname', $plugin); if ($action === 'disable' && $manager::enable_plugin($plugin, 0)) { \core\notification::add( get_string('plugin_disabled', 'core_admin', $pluginname), \core\notification::SUCCESS ); // Settings not required - only pages. admin_get_root(true, false); } else if ($action === 'enable' && $manager::enable_plugin($plugin, 1)) { \core\notification::add( get_string('plugin_enabled', 'core_admin', $pluginname), \core\notification::SUCCESS ); // Settings not required - only pages. admin_get_root(true, false); } // Redirect back to the modules page with out any params. redirect(new moodle_url('/admin/modules.php')); } echo $OUTPUT->header(); echo $OUTPUT->heading(get_string("activities")); $table = new \core_admin\table\activity_management_table(); $table->out(); echo $OUTPUT->footer();