diff --git a/mod/quiz/classes/question/bank/custom_view.php b/mod/quiz/classes/question/bank/custom_view.php index fbb0c74326e..f52c19eddb3 100644 --- a/mod/quiz/classes/question/bank/custom_view.php +++ b/mod/quiz/classes/question/bank/custom_view.php @@ -238,4 +238,42 @@ class custom_view extends \core_question\bank\view { protected function create_new_question_form($category, $canadd) { // Don't display this. } + + /** + * Override the base implementation in \core_question\bank\view + * because we don't want to print the headers in the fragment + * for the modal. + */ + protected function display_question_bank_header() { + } + + /** + * Override the base implementation in \core_question\bank\view + * because we don't want it to read from the $_POST global variables + * for the sort parameters since they are not present in a fragment. + * + * Unfortunately the best we can do is to look at the URL for + * those parameters (only marginally better really). + */ + protected function init_sort_from_params() { + $this->sort = []; + for ($i = 1; $i <= self::MAX_SORTS; $i++) { + if (!$sort = $this->baseurl->param('qbs' . $i)) { + break; + } + // Work out the appropriate order. + $order = 1; + if ($sort[0] == '-') { + $order = -1; + $sort = substr($sort, 1); + if (!$sort) { + break; + } + } + // Deal with subsorts. + list($colname, $subsort) = $this->parse_subsort($sort); + $this->requiredcolumns[$colname] = $this->get_column_type($colname); + $this->sort[$sort] = $order; + } + } } diff --git a/mod/quiz/classes/question/bank/fragment_view.php b/mod/quiz/classes/question/bank/fragment_view.php deleted file mode 100644 index 45e3b54a50b..00000000000 --- a/mod/quiz/classes/question/bank/fragment_view.php +++ /dev/null @@ -1,77 +0,0 @@ -. - -/** - * Defines the custom question bank view used in the question bank modal. - * - * @package mod_quiz - * @category question - * @copyright 2018 Ryan Wyllie - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ - -namespace mod_quiz\question\bank; -defined('MOODLE_INTERNAL') || die(); - - -/** - * Subclass to customise the view of the question bank for a fragment. - * - * This view is to be used when returning the question bank as part of - * a fragment. - * - * @copyright 2018 Ryan Wyllie - * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later - */ -class fragment_view extends custom_view { - /** - * Override the base implementation in \core_question\bank\view - * because we don't want to print the headers in the fragment - * for the modal. - */ - protected function display_question_bank_header() { - } - - /** - * Override the base implementation in \core_question\bank\view - * because we don't want it to read from the $_POST global variables - * for the sort parameters since they are not present in a fragment. - * - * Unfortunately the best we can do is to look at the URL for - * those parameters (only marginally better really). - */ - protected function init_sort_from_params() { - $this->sort = []; - for ($i = 1; $i <= self::MAX_SORTS; $i++) { - if (!$sort = $this->baseurl->param('qbs' . $i)) { - break; - } - // Work out the appropriate order. - $order = 1; - if ($sort[0] == '-') { - $order = -1; - $sort = substr($sort, 1); - if (!$sort) { - break; - } - } - // Deal with subsorts. - list($colname, $subsort) = $this->parse_subsort($sort); - $this->requiredcolumns[$colname] = $this->get_column_type($colname); - $this->sort[$sort] = $order; - } - } -} diff --git a/mod/quiz/lib.php b/mod/quiz/lib.php index 6bab4c4ab4e..629edc02f1d 100644 --- a/mod/quiz/lib.php +++ b/mod/quiz/lib.php @@ -2436,7 +2436,7 @@ function mod_quiz_output_fragment_quiz_question_bank($args) { require_capability('mod/quiz:manage', $contexts->lowest()); // Create quiz question bank view. - $questionbank = new mod_quiz\question\bank\fragment_view($contexts, $thispageurl, $course, $cm, $quiz); + $questionbank = new mod_quiz\question\bank\custom_view($contexts, $thispageurl, $course, $cm, $quiz); $questionbank->set_quiz_has_attempts(quiz_has_attempts($quiz->id)); // Output.