Search moodle.org's
Developer Documentation

See Release Notes
Long Term Support Release

  • Bug fixes for general core bugs in 4.1.x will end 13 November 2023 (12 months).
  • Bug fixes for security issues in 4.1.x will end 10 November 2025 (36 months).
  • PHP version: minimum PHP 7.4.0 Note: minimum PHP version has increased since Moodle 4.0. PHP 8.0.x is supported too.

Differences Between: [Versions 310 and 401] [Versions 311 and 401] [Versions 39 and 401]

   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   * Web service for mod assign
  19   * @package    mod_assign
  20   * @subpackage db
  21   * @since      Moodle 2.4
  22   * @copyright  2012 Paul Charsley
  23   * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  24   */
  25  
  26  $functions = array(
  27  
  28          'mod_assign_copy_previous_attempt' => array(
  29              'classname'     => 'mod_assign_external',
  30              'methodname'    => 'copy_previous_attempt',
  31              'classpath'     => 'mod/assign/externallib.php',
  32              'description'   => 'Copy a students previous attempt to a new attempt.',
  33              'type'          => 'write',
  34              'capabilities'  => 'mod/assign:view, mod/assign:submit'
  35          ),
  36  
  37          'mod_assign_get_grades' => array(
  38                  'classname'   => 'mod_assign_external',
  39                  'methodname'  => 'get_grades',
  40                  'classpath'   => 'mod/assign/externallib.php',
  41                  'description' => 'Returns grades from the assignment',
  42                  'type'        => 'read',
  43                  'services'    => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
  44          ),
  45  
  46          'mod_assign_get_assignments' => array(
  47                  'classname'   => 'mod_assign_external',
  48                  'methodname'  => 'get_assignments',
  49                  'classpath'   => 'mod/assign/externallib.php',
  50                  'description' => 'Returns the courses and assignments for the users capability',
  51                  'type'        => 'read',
  52                  'services'    => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
  53          ),
  54  
  55          'mod_assign_get_submissions' => array(
  56                  'classname' => 'mod_assign_external',
  57                  'methodname' => 'get_submissions',
  58                  'classpath' => 'mod/assign/externallib.php',
  59                  'description' => 'Returns the submissions for assignments',
  60                  'type' => 'read',
  61                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
  62          ),
  63  
  64          'mod_assign_get_user_flags' => array(
  65                  'classname' => 'mod_assign_external',
  66                  'methodname' => 'get_user_flags',
  67                  'classpath' => 'mod/assign/externallib.php',
  68                  'description' => 'Returns the user flags for assignments',
  69                  'type' => 'read',
  70                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
  71          ),
  72  
  73          'mod_assign_set_user_flags' => array(
  74                  'classname'   => 'mod_assign_external',
  75                  'methodname'  => 'set_user_flags',
  76                  'classpath'   => 'mod/assign/externallib.php',
  77                  'description' => 'Creates or updates user flags',
  78                  'type'        => 'write',
  79                  'capabilities'=> 'mod/assign:grade',
  80                  'services'    => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
  81          ),
  82  
  83          'mod_assign_get_user_mappings' => array(
  84                  'classname' => 'mod_assign_external',
  85                  'methodname' => 'get_user_mappings',
  86                  'classpath' => 'mod/assign/externallib.php',
  87                  'description' => 'Returns the blind marking mappings for assignments',
  88                  'type' => 'read',
  89                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
  90          ),
  91  
  92          'mod_assign_revert_submissions_to_draft' => array(
  93                  'classname' => 'mod_assign_external',
  94                  'methodname' => 'revert_submissions_to_draft',
  95                  'classpath' => 'mod/assign/externallib.php',
  96                  'description' => 'Reverts the list of submissions to draft status',
  97                  'type' => 'write',
  98                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
  99          ),
 100  
 101          'mod_assign_lock_submissions' => array(
 102                  'classname' => 'mod_assign_external',
 103                  'methodname' => 'lock_submissions',
 104                  'classpath' => 'mod/assign/externallib.php',
 105                  'description' => 'Prevent students from making changes to a list of submissions',
 106                  'type' => 'write',
 107                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 108          ),
 109  
 110          'mod_assign_unlock_submissions' => array(
 111                  'classname' => 'mod_assign_external',
 112                  'methodname' => 'unlock_submissions',
 113                  'classpath' => 'mod/assign/externallib.php',
 114                  'description' => 'Allow students to make changes to a list of submissions',
 115                  'type' => 'write',
 116                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 117          ),
 118  
 119          'mod_assign_save_submission' => array(
 120                  'classname' => 'mod_assign_external',
 121                  'methodname' => 'save_submission',
 122                  'classpath' => 'mod/assign/externallib.php',
 123                  'description' => 'Update the current students submission',
 124                  'type' => 'write',
 125                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 126          ),
 127  
 128          'mod_assign_submit_for_grading' => array(
 129                  'classname' => 'mod_assign_external',
 130                  'methodname' => 'submit_for_grading',
 131                  'classpath' => 'mod/assign/externallib.php',
 132                  'description' => 'Submit the current students assignment for grading',
 133                  'type' => 'write',
 134                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 135          ),
 136  
 137          'mod_assign_save_grade' => array(
 138                  'classname' => 'mod_assign_external',
 139                  'methodname' => 'save_grade',
 140                  'classpath' => 'mod/assign/externallib.php',
 141                  'description' => 'Save a grade update for a single student.',
 142                  'type' => 'write',
 143                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 144          ),
 145  
 146          'mod_assign_save_grades' => array(
 147                  'classname' => 'mod_assign_external',
 148                  'methodname' => 'save_grades',
 149                  'classpath' => 'mod/assign/externallib.php',
 150                  'description' => 'Save multiple grade updates for an assignment.',
 151                  'type' => 'write',
 152                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 153          ),
 154  
 155          'mod_assign_save_user_extensions' => array(
 156                  'classname' => 'mod_assign_external',
 157                  'methodname' => 'save_user_extensions',
 158                  'classpath' => 'mod/assign/externallib.php',
 159                  'description' => 'Save a list of assignment extensions',
 160                  'type' => 'write',
 161                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 162          ),
 163  
 164          'mod_assign_reveal_identities' => array(
 165                  'classname' => 'mod_assign_external',
 166                  'methodname' => 'reveal_identities',
 167                  'classpath' => 'mod/assign/externallib.php',
 168                  'description' => 'Reveal the identities for a blind marking assignment',
 169                  'type' => 'write',
 170                  'services' => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 171          ),
 172  
 173          'mod_assign_view_grading_table' => array(
 174                  'classname'     => 'mod_assign_external',
 175                  'methodname'    => 'view_grading_table',
 176                  'classpath'     => 'mod/assign/externallib.php',
 177                  'description'   => 'Trigger the grading_table_viewed event.',
 178                  'type'          => 'write',
 179                  'capabilities'  => 'mod/assign:view, mod/assign:viewgrades',
 180                  'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 181          ),
 182  
 183          'mod_assign_view_submission_status' => array(
 184              'classname'     => 'mod_assign_external',
 185              'methodname'    => 'view_submission_status',
 186              'classpath'     => 'mod/assign/externallib.php',
 187              'description'   => 'Trigger the submission status viewed event.',
 188              'type'          => 'write',
 189              'capabilities'  => 'mod/assign:view',
 190              'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 191          ),
 192  
 193          'mod_assign_get_submission_status' => array(
 194              'classname'     => 'mod_assign_external',
 195              'methodname'    => 'get_submission_status',
 196              'classpath'     => 'mod/assign/externallib.php',
 197              'description'   => 'Returns information about an assignment submission status for a given user.',
 198              'type'          => 'read',
 199              'capabilities'  => 'mod/assign:view',
 200              'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 201          ),
 202  
 203          'mod_assign_list_participants' => array(
 204                  'classname'     => 'mod_assign_external',
 205                  'methodname'    => 'list_participants',
 206                  'classpath'     => 'mod/assign/externallib.php',
 207                  'description'   => 'List the participants for a single assignment, with some summary info about their submissions.',
 208                  'type'          => 'read',
 209                  'ajax'          => true,
 210                  'capabilities'  => 'mod/assign:view, mod/assign:viewgrades',
 211                  'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 212          ),
 213  
 214          'mod_assign_submit_grading_form' => array(
 215                  'classname'     => 'mod_assign_external',
 216                  'methodname'    => 'submit_grading_form',
 217                  'classpath'     => 'mod/assign/externallib.php',
 218                  'description'   => 'Submit the grading form data via ajax',
 219                  'type'          => 'write',
 220                  'ajax'          => true,
 221                  'capabilities'  => 'mod/assign:grade',
 222                  'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 223          ),
 224          'mod_assign_get_participant' => array(
 225                  'classname'     => 'mod_assign_external',
 226                  'methodname'    => 'get_participant',
 227                  'classpath'     => 'mod/assign/externallib.php',
 228                  'description'   => 'Get a participant for an assignment, with some summary info about their submissions.',
 229                  'type'          => 'read',
 230                  'ajax'          => true,
 231                  'capabilities'  => 'mod/assign:view, mod/assign:viewgrades',
 232                  'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 233          ),
 234          'mod_assign_view_assign' => array(
 235              'classname'     => 'mod_assign_external',
 236              'methodname'    => 'view_assign',
 237              'classpath'     => 'mod/assign/externallib.php',
 238              'description'   => 'Update the module completion status.',
 239              'type'          => 'write',
 240              'capabilities'  => 'mod/assign:view',
 241              'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 242          ),
 243          'mod_assign_start_submission' => [
 244              'classname'     => 'mod_assign\external\start_submission',
 245              'methodname'    => 'execute',
 246              'description'   => 'Start a submission for user if assignment has a time limit.',
 247              'type'          => 'write',
 248              'capabilities'  => 'mod/assign:view',
 249              'services'      => array(MOODLE_OFFICIAL_MOBILE_SERVICE)
 250          ],
 251  );