function bigbluebuttonbn_bbb_broker_validate_parameters($params) { $error = ''; if (!isset($params['callback'])) { $error = bigbluebuttonbn_bbb_broker_add_error($error, 'This call must include a javascript callback.'); } if (!isset($params['action'])) { $error = bigbluebuttonbn_bbb_broker_add_error($error, 'Action parameter must be included.'); } else { switch (strtolower($params['action'])) { case 'server_ping': case 'meeting_info': case 'meeting_end': if (!isset($params['id'])) { $error = bigbluebuttonbn_bbb_broker_add_error($error, 'The meetingID must be specified.'); } break; case 'recording_list': case 'recording_info': case 'recording_publish': case 'recording_unpublish': case 'recording_delete': case 'recording_import': if (!isset($params['id'])) { $error = bigbluebuttonbn_bbb_broker_add_error($error, 'The recordingID must be specified.'); } break; case 'recording_ready': if (empty($params['signed_parameters'])) { $error = bigbluebuttonbn_bbb_broker_add_error($error, 'A JWT encoded string must be included as [signed_parameters].'); } break; default: $error = bigbluebuttonbn_bbb_broker_add_error($error, 'Action ' . $params['action'] . ' can not be performed.'); } } return $error; }
$error = ''; if (empty($params['action'])) { $error = bigbluebuttonbn_bbb_broker_add_error($error, "Parameter [action] was not included"); } else { $error = bigbluebuttonbn_bbb_broker_validate_parameters($params); if (empty($error) && $params['action'] != "recording_ready") { if ($params['bigbluebuttonbn'] != 0) { $bigbluebuttonbn = $DB->get_record('bigbluebuttonbn', array('id' => $params['bigbluebuttonbn']), '*', MUST_EXIST); $course = $DB->get_record('course', array('id' => $bigbluebuttonbn->course), '*', MUST_EXIST); $cm = get_coursemodule_from_instance('bigbluebuttonbn', $bigbluebuttonbn->id, $course->id, false, MUST_EXIST); $context = bigbluebuttonbn_get_context_module($cm->id); } if (isset($SESSION->bigbluebuttonbn_bbbsession) && !is_null($SESSION->bigbluebuttonbn_bbbsession)) { $bbbsession = $SESSION->bigbluebuttonbn_bbbsession; } else { $error = bigbluebuttonbn_bbb_broker_add_error($error, "No session variable set"); } } } header('Content-Type: application/javascript; charset=utf-8'); if (empty($error)) { if (!isloggedin() && $PAGE->course->id == SITEID) { $userid = guest_user()->id; } else { $userid = $USER->id; } $hascourseaccess = $PAGE->course->id == SITEID || can_access_course($PAGE->course, $userid); if (!$hascourseaccess) { header("HTTP/1.0 401 Unauthorized"); return; } else {