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.
   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   * URL external functions and service definitions.
  19   *
  20   * @package   mod_bigbluebuttonbn
  21   * @category  external
  22   * @copyright 2018 onwards, Blindside Networks Inc
  23   * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
  24   * @author    Jesus Federico  (jesus [at] blindsidenetworks [dt] com)
  25   */
  26  
  27  defined('MOODLE_INTERNAL') || die;
  28  
  29  $functions = [
  30      'mod_bigbluebuttonbn_can_join' => [
  31          'classname'     => 'mod_bigbluebuttonbn\external\can_join',
  32          'methodname'    => 'execute',
  33          'description'   => 'Returns information if the current user can join or not.',
  34          'type'          => 'read',
  35          'capabilities'  => 'mod/bigbluebuttonbn:view',
  36          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
  37      ],
  38      'mod_bigbluebuttonbn_get_recordings' => [
  39          'classname'     => 'mod_bigbluebuttonbn\external\get_recordings',
  40          'methodname'    => 'execute',
  41          'description'   => 'Returns a list of recordings ready to be processed by a datatable.',
  42          'type'          => 'read',
  43          'ajax'          => true,
  44          'capabilities'  => 'mod/bigbluebuttonbn:view',
  45          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
  46      ],
  47      'mod_bigbluebuttonbn_get_recordings_to_import' => [
  48          'classname'     => 'mod_bigbluebuttonbn\external\get_recordings_to_import',
  49          'methodname'    => 'execute',
  50          'description'   => 'Returns a list of recordings ready to import to be processed by a datatable.',
  51          'type'          => 'read',
  52          'ajax'          => true,
  53          'capabilities'  => 'mod/bigbluebuttonbn:importrecordings',
  54          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
  55      ],
  56      'mod_bigbluebuttonbn_update_recording' => [
  57          'classname'     => 'mod_bigbluebuttonbn\external\update_recording',
  58          'methodname'    => 'execute',
  59          'description'   => 'Update a single recording',
  60          'type'          => 'write',
  61          'ajax'          => true,
  62          'capabilities'  => 'mod/bigbluebuttonbn:managerecordings',
  63          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
  64      ],
  65      'mod_bigbluebuttonbn_end_meeting' => [
  66          'classname'     => 'mod_bigbluebuttonbn\external\end_meeting',
  67          'methodname'    => 'execute',
  68          'description'   => 'End a meeting',
  69          'type'          => 'write',
  70          'ajax'          => true,
  71          'capabilities'  => 'mod/bigbluebuttonbn:join',
  72          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
  73      ],
  74      'mod_bigbluebuttonbn_completion_validate' => [
  75          'classname'     => 'mod_bigbluebuttonbn\external\completion_validate',
  76          'methodname'    => 'execute',
  77          'description'   => 'Validate completion',
  78          'type'          => 'write',
  79          'ajax'          => true,
  80          'capabilities'  => 'mod/bigbluebuttonbn:view',
  81          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
  82      ],
  83      'mod_bigbluebuttonbn_meeting_info' => [
  84          'classname'     => 'mod_bigbluebuttonbn\external\meeting_info',
  85          'methodname'    => 'execute',
  86          'description'   => 'Get displayable information on the meeting',
  87          'type'          => 'read',
  88          'ajax'          => true,
  89          'capabilities'  => 'mod/bigbluebuttonbn:view',
  90          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
  91      ],
  92      'mod_bigbluebuttonbn_get_bigbluebuttonbns_by_courses' => [
  93          'classname'     => 'mod_bigbluebuttonbn\external\get_bigbluebuttonbns_by_courses',
  94          'methodname'    => 'execute',
  95          'description'   => 'Returns a list of bigbluebuttonbns in a provided list of courses, if no list is provided
  96                              all bigbluebuttonbns that the user can view will be returned.',
  97          'type'          => 'read',
  98          'capabilities'  => 'mod/bigbluebuttonbn:view',
  99          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
 100      ],
 101      'mod_bigbluebuttonbn_view_bigbluebuttonbn' => [
 102          'classname'     => 'mod_bigbluebuttonbn\external\view_bigbluebuttonbn',
 103          'methodname'    => 'execute',
 104          'description'   => 'Trigger the course module viewed event and update the module completion status.',
 105          'type'          => 'write',
 106          'capabilities'  => 'mod/bigbluebuttonbn:view',
 107          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE]
 108      ],
 109      'mod_bigbluebuttonbn_get_join_url' => [
 110          'classname'     => 'mod_bigbluebuttonbn\external\get_join_url',
 111          'methodname'    => 'execute',
 112          'description'   => 'Get the join URL for the meeting and create if it does not exist.',
 113          'type'          => 'write',
 114          'capabilities'  => 'mod/bigbluebuttonbn:join',
 115          'services'      => [MOODLE_OFFICIAL_MOBILE_SERVICE],
 116      ],
 117  ];