. /** * Set Mode. * * @package core * @copyright 2021 Andrew Lyons * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once('config.php'); $setmode = optional_param('setmode', false, PARAM_BOOL); $contextid = required_param('context', PARAM_INT); $pageurl = required_param('pageurl', PARAM_LOCALURL); require_sesskey(); require_login(); $context = \context_helper::instance_by_id($contextid); $PAGE->set_context($context); if ($context->id === \context_user::instance($USER->id)->id) { $PAGE->set_blocks_editing_capability('moodle/my:manageblocks'); } if ($PAGE->user_allowed_editing()) { $USER->editing = $setmode; } else { \core\notification::add(get_string('cannotswitcheditmodeon', 'error'), \core\notification::ERROR); } redirect($pageurl);