コード例 #1
0
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;
}
コード例 #2
0
$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 {