Merge branch 'MDL-51837-28' of git://github.com/junpataleta/moodle into MOODLE_28_STABLE
[moodle.git] / mod / quiz / questionbank.ajax.php
blob2f5018a650f19b9d2f830297420dbe8fddec9cd9
1 <?php
2 // This file is part of Moodle - http://moodle.org/
3 //
4 // Moodle is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU General Public License as published by
6 // the Free Software Foundation, either version 3 of the License, or
7 // (at your option) any later version.
8 //
9 // Moodle is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU General Public License for more details.
14 // You should have received a copy of the GNU General Public License
15 // along with Moodle. If not, see <http://www.gnu.org/licenses/>.
18 /**
19 * Ajax script to update the contents of the question bank dialogue.
21 * @package mod_quiz
22 * @copyright 2014 The Open University
23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
26 define('AJAX_SCRIPT', true);
28 require_once(__DIR__ . '/../../config.php');
29 require_once($CFG->dirroot . '/mod/quiz/locallib.php');
30 require_once($CFG->dirroot . '/question/editlib.php');
32 list($thispageurl, $contexts, $cmid, $cm, $quiz, $pagevars) =
33 question_edit_setup('editq', '/mod/quiz/edit.php', true);
35 // Get the course object and related bits.
36 $course = $DB->get_record('course', array('id' => $quiz->course), '*', MUST_EXIST);
37 require_capability('mod/quiz:manage', $contexts->lowest());
39 // Create quiz question bank view.
40 $questionbank = new mod_quiz\question\bank\custom_view($contexts, $thispageurl, $course, $cm, $quiz);
41 $questionbank->set_quiz_has_attempts(quiz_has_attempts($quiz->id));
43 // Output.
44 $output = $PAGE->get_renderer('mod_quiz', 'edit');
45 $contents = $output->question_bank_contents($questionbank, $pagevars);
46 echo json_encode(array(
47 'status' => 'OK',
48 'contents' => $contents,
49 ));