. /** * External services for MeetLet Ajax tabs. * * @package mod_meetletacbfree * @copyright 2026 MeetLet * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ defined('MOODLE_INTERNAL') || die(); $functions = [ 'mod_meetletacbfree_get_tab' => [ 'classname' => 'mod_meetletacbfree\external\get_tab', 'methodname' => 'execute', 'description' => 'Load MeetLet activity tab content (info, recordings, content)', 'type' => 'read', 'ajax' => true, 'capabilities' => 'mod/meetletacbfree:view', ], 'mod_meetletacbfree_get_meeting_status' => [ 'classname' => 'mod_meetletacbfree\external\get_meeting_status', 'methodname' => 'execute', 'description' => 'Poll MeetLet meeting join status for the activity hero', 'type' => 'read', 'ajax' => true, 'capabilities' => 'mod/meetletacbfree:view', ], 'mod_meetletacbfree_get_join_url' => [ 'classname' => 'mod_meetletacbfree\external\get_join_url', 'methodname' => 'execute', 'description' => 'Prepare Adobe Connect SSO join URL for the current user', 'type' => 'write', 'ajax' => true, 'capabilities' => 'mod/meetletacbfree:join', ], 'mod_meetletacbfree_get_recording_launch_url' => [ 'classname' => 'mod_meetletacbfree\external\get_recording_launch_url', 'methodname' => 'execute', 'description' => 'Prepare Adobe Connect SSO URL to play or edit a recording', 'type' => 'write', 'ajax' => true, 'capabilities' => 'mod/meetletacbfree:view', ], 'mod_meetletacbfree_get_content_launch_url' => [ 'classname' => 'mod_meetletacbfree\external\get_content_launch_url', 'methodname' => 'execute', 'description' => 'Prepare Adobe Connect SSO URL to view uploaded meeting content', 'type' => 'write', 'ajax' => true, 'capabilities' => 'mod/meetletacbfree:view', ], 'mod_meetletacbfree_search_server_meetings' => [ 'classname' => 'mod_meetletacbfree\external\search_server_meetings', 'methodname' => 'execute', 'description' => 'Search or list recent Adobe Connect meetings for the activity form', 'type' => 'read', 'ajax' => true, 'capabilities' => 'moodle/course:manageactivities,mod/meetletacbfree:addinstance', ], 'mod_meetletacbfree_rename_recording' => [ 'classname' => 'mod_meetletacbfree\external\rename_recording', 'methodname' => 'execute', 'description' => 'Rename an Adobe Connect recording', 'type' => 'write', 'ajax' => true, 'capabilities' => 'mod/meetletacbfree:host', ], ];