} 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']); } }