. /** * Core external functions and service definitions. * * @package moodlecore * @subpackage webservice * @copyright 2009 Petr Skoda (http://skodak.org) * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ $functions = array( // === group related functions === 'moodle_group_create_groups' => array( 'classname' => 'moodle_group_external', 'methodname' => 'create_groups', 'classpath' => 'group/externallib.php', 'description' => 'Creates new groups.', 'type' => 'write', 'capabilities'=> 'moodle/course:managegroups', ), 'moodle_group_get_groups' => array( 'classname' => 'moodle_group_external', 'methodname' => 'get_groups', 'classpath' => 'group/externallib.php', 'description' => 'Returns group details.', 'type' => 'read', 'capabilities'=> 'moodle/course:managegroups', ), 'moodle_group_get_course_groups' => array( 'classname' => 'moodle_group_external', 'methodname' => 'get_course_groups', 'classpath' => 'group/externallib.php', 'description' => 'Returns all groups in specified course.', 'type' => 'read', 'capabilities'=> 'moodle/course:managegroups', ), 'moodle_group_delete_groups' => array( 'classname' => 'moodle_group_external', 'methodname' => 'delete_groups', 'classpath' => 'group/externallib.php', 'description' => 'Deletes all specified groups.', 'type' => 'delete', 'capabilities'=> 'moodle/course:managegroups', ), 'moodle_group_get_groupmembers' => array( 'classname' => 'moodle_group_external', 'methodname' => 'get_groupmembers', 'classpath' => 'group/externallib.php', 'description' => 'Returns group members.', 'type' => 'read', 'capabilities'=> 'moodle/course:managegroups', ), 'moodle_group_add_groupmembers' => array( 'classname' => 'moodle_group_external', 'methodname' => 'add_groupmembers', 'classpath' => 'group/externallib.php', 'description' => 'Adds group members.', 'type' => 'write', 'capabilities'=> 'moodle/course:managegroups', ), 'moodle_group_delete_groupmembers' => array( 'classname' => 'moodle_group_external', 'methodname' => 'delete_groupmembers', 'classpath' => 'group/externallib.php', 'description' => 'Deletes group members.', 'type' => 'delete', 'capabilities'=> 'moodle/course:managegroups', ), // === file related functions === 'moodle_file_get_files' => array( 'classname' => 'moodle_file_external', 'methodname' => 'get_files', 'description' => 'browse moodle files', 'type' => 'read', 'classpath' => 'files/externallib.php', ), 'moodle_file_upload' => array( 'classname' => 'moodle_file_external', 'methodname' => 'upload', 'description' => 'upload a file to moodle', 'type' => 'write', 'classpath' => 'files/externallib.php', ), // === user related functions === 'moodle_user_create_users' => array( 'classname' => 'moodle_user_external', 'methodname' => 'create_users', 'classpath' => 'user/externallib.php', 'description' => 'Create users.', 'type' => 'write', 'capabilities'=> 'moodle/user:create', ), 'moodle_user_get_users_by_id' => array( 'classname' => 'moodle_user_external', 'methodname' => 'get_users_by_id', 'classpath' => 'user/externallib.php', 'description' => 'Get users by id.', 'type' => 'read', 'capabilities'=> 'moodle/user:viewdetails', ), 'moodle_user_delete_users' => array( 'classname' => 'moodle_user_external', 'methodname' => 'delete_users', 'classpath' => 'user/externallib.php', 'description' => 'Delete users.', 'type' => 'write', 'capabilities'=> 'moodle/user:delete', ), 'moodle_user_update_users' => array( 'classname' => 'moodle_user_external', 'methodname' => 'update_users', 'classpath' => 'user/externallib.php', 'description' => 'Update users.', 'type' => 'write', 'capabilities'=> 'moodle/user:update', ), // === enrol related functions === 'moodle_enrol_get_enrolled_users' => array( 'classname' => 'moodle_enrol_external', 'methodname' => 'get_enrolled_users', 'classpath' => 'enrol/externallib.php', 'description' => 'Get list of course participants', 'type' => 'read', 'capabilities'=> 'moodle/site:viewparticipants, moodle/course:viewparticipants, moodle/role:review, moodle/site:accessallgroups, moodle/course:enrolreview', ), 'moodle_role_assign' => array( 'classname' => 'moodle_enrol_external', 'methodname' => 'role_assign', 'classpath' => 'enrol/externallib.php', 'description' => 'Manual role assignments.', 'type' => 'write', 'capabilities'=> 'moodle/role:assign', ), 'moodle_role_unassign' => array( 'classname' => 'moodle_enrol_external', 'methodname' => 'role_unassign', 'classpath' => 'enrol/externallib.php', 'description' => 'Manual role unassignments.', 'type' => 'write', 'capabilities'=> 'moodle/role:assign', ), );