. /** * Synchronously save the question text display preference, and redirect back to the previous page. * * This is progressively enhanced by question_text_format.js, but this remains as a fallback. * * @package qbank_viewquestiontext * @copyright 2023 onwards Catalyst IT EU {@link https://catalyst-eu.net} * @author Mark Johnson * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once(__DIR__ . '/../../../config.php'); require_once($CFG->dirroot . '/question/editlib.php'); $format = required_param('format', PARAM_INT); $returnurl = required_param('returnurl', PARAM_LOCALURL); require_login(); require_sesskey(); $validformats = [ \qbank_viewquestiontext\output\question_text_format::OFF, \qbank_viewquestiontext\output\question_text_format::PLAIN, \qbank_viewquestiontext\output\question_text_format::FULL, ]; if (!in_array($format, $validformats)) { throw new \invalid_parameter_exception('$format must be one of question_text_format::OFF, ::PLAIN or ::FULL.'); } question_set_or_get_user_preference('qbshowtext', $format, 0, new \moodle_url('/')); redirect(new moodle_url($returnurl));