Differences Between: [Versions 310 and 402] [Versions 311 and 402] [Versions 39 and 402] [Versions 400 and 402] [Versions 401 and 402] [Versions 402 and 403]
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. 13 // 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/>. 16 17 /** 18 * Quiz external functions and service definitions. 19 * 20 * @package mod_quiz 21 * @category external 22 * @copyright 2016 Juan Leyva <juan@moodle.com> 23 * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later 24 * @since Moodle 3.1 25 */ 26 27 defined('MOODLE_INTERNAL') || die; 28 29 $functions = [ 30 31 'mod_quiz_get_quizzes_by_courses' => [ 32 'classname' => 'mod_quiz_external', 33 'methodname' => 'get_quizzes_by_courses', 34 'description' => 'Returns a list of quizzes in a provided list of courses, 35 if no list is provided all quizzes that the user can view will be returned.', 36 'type' => 'read', 37 'capabilities' => 'mod/quiz:view', 38 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 39 ], 40 41 'mod_quiz_view_quiz' => [ 42 'classname' => 'mod_quiz_external', 43 'methodname' => 'view_quiz', 44 'description' => 'Trigger the course module viewed event and update the module completion status.', 45 'type' => 'write', 46 'capabilities' => 'mod/quiz:view', 47 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 48 ], 49 50 'mod_quiz_get_user_attempts' => [ 51 'classname' => 'mod_quiz_external', 52 'methodname' => 'get_user_attempts', 53 'description' => 'Return a list of attempts for the given quiz and user.', 54 'type' => 'read', 55 'capabilities' => 'mod/quiz:view', 56 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 57 ], 58 59 'mod_quiz_get_user_best_grade' => [ 60 'classname' => 'mod_quiz_external', 61 'methodname' => 'get_user_best_grade', 62 'description' => 'Get the best current grade for the given user on a quiz.', 63 'type' => 'read', 64 'capabilities' => 'mod/quiz:view', 65 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 66 ], 67 68 'mod_quiz_get_combined_review_options' => [ 69 'classname' => 'mod_quiz_external', 70 'methodname' => 'get_combined_review_options', 71 'description' => 'Combines the review options from a number of different quiz attempts.', 72 'type' => 'read', 73 'capabilities' => 'mod/quiz:view', 74 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 75 ], 76 77 'mod_quiz_start_attempt' => [ 78 'classname' => 'mod_quiz_external', 79 'methodname' => 'start_attempt', 80 'description' => 'Starts a new attempt at a quiz.', 81 'type' => 'write', 82 'capabilities' => 'mod/quiz:attempt', 83 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 84 ], 85 86 'mod_quiz_get_attempt_data' => [ 87 'classname' => 'mod_quiz_external', 88 'methodname' => 'get_attempt_data', 89 'description' => 'Returns information for the given attempt page for a quiz attempt in progress.', 90 'type' => 'read', 91 'capabilities' => 'mod/quiz:attempt', 92 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 93 ], 94 95 'mod_quiz_get_attempt_summary' => [ 96 'classname' => 'mod_quiz_external', 97 'methodname' => 'get_attempt_summary', 98 'description' => 'Returns a summary of a quiz attempt before it is submitted.', 99 'type' => 'read', 100 'capabilities' => 'mod/quiz:attempt', 101 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 102 ], 103 104 'mod_quiz_save_attempt' => [ 105 'classname' => 'mod_quiz_external', 106 'methodname' => 'save_attempt', 107 'description' => 'Processes save requests during the quiz. 108 This function is intended for the quiz auto-save feature.', 109 'type' => 'write', 110 'capabilities' => 'mod/quiz:attempt', 111 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 112 ], 113 114 'mod_quiz_process_attempt' => [ 115 'classname' => 'mod_quiz_external', 116 'methodname' => 'process_attempt', 117 'description' => 'Process responses during an attempt at a quiz and also deals with attempts finishing.', 118 'type' => 'write', 119 'capabilities' => 'mod/quiz:attempt', 120 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 121 ], 122 123 'mod_quiz_get_attempt_review' => [ 124 'classname' => 'mod_quiz_external', 125 'methodname' => 'get_attempt_review', 126 'description' => 'Returns review information for the given finished attempt, can be used by users or teachers.', 127 'type' => 'read', 128 'capabilities' => 'mod/quiz:reviewmyattempts', 129 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 130 ], 131 132 'mod_quiz_view_attempt' => [ 133 'classname' => 'mod_quiz_external', 134 'methodname' => 'view_attempt', 135 'description' => 'Trigger the attempt viewed event.', 136 'type' => 'write', 137 'capabilities' => 'mod/quiz:attempt', 138 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 139 ], 140 141 'mod_quiz_view_attempt_summary' => [ 142 'classname' => 'mod_quiz_external', 143 'methodname' => 'view_attempt_summary', 144 'description' => 'Trigger the attempt summary viewed event.', 145 'type' => 'write', 146 'capabilities' => 'mod/quiz:attempt', 147 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 148 ], 149 150 'mod_quiz_view_attempt_review' => [ 151 'classname' => 'mod_quiz_external', 152 'methodname' => 'view_attempt_review', 153 'description' => 'Trigger the attempt reviewed event.', 154 'type' => 'write', 155 'capabilities' => 'mod/quiz:reviewmyattempts', 156 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 157 ], 158 159 'mod_quiz_get_quiz_feedback_for_grade' => [ 160 'classname' => 'mod_quiz_external', 161 'methodname' => 'get_quiz_feedback_for_grade', 162 'description' => 'Get the feedback text that should be show to a student who got the given grade in the given quiz.', 163 'type' => 'read', 164 'capabilities' => 'mod/quiz:view', 165 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 166 ], 167 168 'mod_quiz_get_quiz_access_information' => [ 169 'classname' => 'mod_quiz_external', 170 'methodname' => 'get_quiz_access_information', 171 'description' => 'Return access information for a given quiz.', 172 'type' => 'read', 173 'capabilities' => 'mod/quiz:view', 174 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 175 ], 176 177 'mod_quiz_get_attempt_access_information' => [ 178 'classname' => 'mod_quiz_external', 179 'methodname' => 'get_attempt_access_information', 180 'description' => 'Return access information for a given attempt in a quiz.', 181 'type' => 'read', 182 'capabilities' => 'mod/quiz:view', 183 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 184 ], 185 186 'mod_quiz_get_quiz_required_qtypes' => [ 187 'classname' => 'mod_quiz_external', 188 'methodname' => 'get_quiz_required_qtypes', 189 'description' => 'Return the potential question types that would be required for a given quiz.', 190 'type' => 'read', 191 'capabilities' => 'mod/quiz:view', 192 'services' => [MOODLE_OFFICIAL_MOBILE_SERVICE] 193 ], 194 195 'mod_quiz_set_question_version' => [ 196 'classname' => 'mod_quiz\external\submit_question_version', 197 'description' => 'Set the version of question that would be required for a given quiz.', 198 'type' => 'write', 199 'capabilities' => 'mod/quiz:view', 200 'ajax' => true, 201 ], 202 203 'mod_quiz_reopen_attempt' => [ 204 'classname' => 'mod_quiz\external\reopen_attempt', 205 'description' => 'Re-open an attempt that is currently in the never submitted state.', 206 'type' => 'write', 207 'capabilities' => 'mod/quiz:reopenattempts', 208 'ajax' => true, 209 ], 210 211 'mod_quiz_get_reopen_attempt_confirmation' => [ 212 'classname' => 'mod_quiz\external\get_reopen_attempt_confirmation', 213 'description' => 'Verify it is OK to re-open a given quiz attempt, and if so, return a suitable confirmation message.', 214 'type' => 'read', 215 'capabilities' => 'mod/quiz:reopenattempts', 216 'ajax' => true, 217 ], 218 ];
title
Description
Body
title
Description
Body
title
Description
Body
title
Body