Esempio n. 1
0
} else {
    // Separate groups mode
    //If doesnt have group
    $bbbsession['group'] = !$group ? groups_get_activity_group($cm) : $group;
    $bbbsession['meetingid'] = $streamline->meetingid . '-' . $bbbsession['courseid'] . '-' . $bbbsession['bigbluebuttonbnid'] . '[' . $bbbsession['group'] . ']';
    if ($bbbsession['group'] > 0) {
        $group_name = groups_get_group_name($bbbsession['group']);
    } else {
        $group_name = get_string('allparticipants');
    }
    $bbbsession['meetingname'] = $streamline->name . ' (' . $group_name . ')';
}
if ($bbbsession['flag']['administrator'] || $bbbsession['flag']['moderator'] || $bbbsession['flag']['allmoderators']) {
    $bbbsession['joinURL'] = bigbluebuttonbn_getJoinURL($bbbsession['meetingid'], $bbbsession['username'], $bbbsession['modPW'], $bbbsession['salt'], $bbbsession['url'], $bbbsession['userID']);
} else {
    $bbbsession['joinURL'] = bigbluebuttonbn_getJoinURL($bbbsession['meetingid'], $bbbsession['username'], $bbbsession['viewerPW'], $bbbsession['salt'], $bbbsession['url'], $bbbsession['userID']);
}
$joining = false;
$bigbluebuttonbn_view = '';
if (!$streamline->timeavailable) {
    if (!$streamline->timedue || time() <= $streamline->timedue) {
        //GO JOINING
        if (bigbluebuttonbn_is_user_limit_reached($bbbsession)) {
            if (!$streamline->newwindow) {
                print_error('view_error_userlimit_reached', 'streamline', $CFG->wwwroot . '/course/view.php?id=' . $course->id);
            } else {
                print_error('view_error_userlimit_reached', 'streamline', $CFG->wwwroot . '/mod/streamline/view_end.php?id=' . $cm->id);
            }
        } else {
            groups_print_activity_menu($cm, $CFG->wwwroot . '/mod/streamline/view.php?id=' . $cm->id);
            $bigbluebuttonbn_view = 'join';
function bigbluebutton_bbb_view_execute_join($bbbsession, $cm, $context, $bigbluebuttonbn)
{
    //// Update the cache
    $meeting_info = bigbluebuttonbn_bbb_broker_get_meeting_info($bbbsession['meetingid'], $bbbsession['modPW'], true);
    if ($bbbsession['userlimit'] == 0 || intval($meeting_info['participantCount']) < $bbbsession['userlimit']) {
        //// Build the URL
        if ($bbbsession['administrator'] || $bbbsession['moderator']) {
            $password = $bbbsession['modPW'];
        } else {
            $password = $bbbsession['viewerPW'];
        }
        $join_url = bigbluebuttonbn_getJoinURL($bbbsession['meetingid'], $bbbsession['username'], $password, $bbbsession['shared_secret'], $bbbsession['endpoint'], $bbbsession['logoutURL']);
        //// Moodle event logger: Create an event for meeting joined
        bigbluebuttonbn_event_log(BIGBLUEBUTTON_EVENT_MEETING_JOINED, $bigbluebuttonbn, $context, $cm);
        /// Internal logger: Instert a record with the meeting created
        bigbluebuttonbn_logs($bbbsession, BIGBLUEBUTTONBN_LOG_EVENT_JOIN);
        //// Before executing the redirect, increment the number of participants
        bigbluebuttonbn_bbb_broker_participant_joined($bbbsession['meetingid'], $bbbsession['administrator'] || $bbbsession['moderator']);
        //// Execute the redirect
        header('Location: ' . $join_url);
    } else {
        header('Location: ' . $bbbsession['logoutURL']);
    }
}