$bbbsession['salt'] = trim($CFG->BigBlueButtonSaltKey); $bbbsession['url'] = trim(trim($CFG->ServerURLforBigBlueButton), '/') . '/'; $serverVersion = bigbluebuttonbn_getServerVersion($bbbsession['url']); if (!isset($serverVersion)) { //Server is not working if ($administrator) { print_error($bbbsession['url'] . 'view_error_unable_join', 'streamline', $CFG->wwwroot . '/admin/settings.php?section=modsettingbigbluebuttonbn'); } else { if ($moderator) { print_error('view_error_unable_join_teacher', 'streamline', $CFG->wwwroot . '/course/view.php?id=' . $streamline->course); } else { print_error('view_error_unable_join_student', 'streamline', $CFG->wwwroot . '/course/view.php?id=' . $streamline->course); } } } else { $xml = bigbluebuttonbn_wrap_simplexml_load_file(bigbluebuttonbn_getMeetingsURL($bbbsession['url'], $bbbsession['salt'])); if (!isset($xml) || !isset($xml->returncode) || $xml->returncode == 'FAILED') { // The salt is wrong if ($administrator) { print_error('view_error_unable_join', 'streamline', $CFG->wwwroot . '/admin/settings.php?section=modsettingbigbluebuttonbn'); } else { if ($moderator) { print_error('view_error_unable_join_teacher', 'streamline', $CFG->wwwroot . '/course/view.php?id=' . $streamline->course); } else { print_error('view_error_unable_join_student', 'streamline', $CFG->wwwroot . '/course/view.php?id=' . $streamline->course); } } } } //// BigBlueButton Setup Starts //Server data
function bigbluebuttonbn_getMeetingsArray($URL, $SALT) { $xml = bigbluebuttonbn_wrap_simplexml_load_file(bigbluebuttonbn_getMeetingsURL($URL, $SALT)); if ($xml && $xml->returncode == 'SUCCESS' && $xml->messageKey) { //The meetings were returned return array('returncode' => $xml->returncode, 'message' => $xml->message, 'messageKey' => $xml->messageKey); } else { if ($xml && $xml->returncode == 'SUCCESS') { //If there were meetings already created foreach ($xml->meetings->meeting as $meeting) { $meetings[] = array('meetingID' => $meeting->meetingID, 'moderatorPW' => $meeting->moderatorPW, 'attendeePW' => $meeting->attendeePW, 'hasBeenForciblyEnded' => $meeting->hasBeenForciblyEnded, 'running' => $meeting->running); } return $meetings; } else { if ($xml) { //If the xml packet returned failure it displays the message to the user return array('returncode' => $xml->returncode, 'message' => $xml->message, 'messageKey' => $xml->messageKey); } else { //If the server is unreachable, then prompts the user of the necessary action return null; } } } }
//////////////////////////////////////////////// // Validates if the BigBlueButton server is running $serverVersion = bigbluebuttonbn_getServerVersion($bbbsession['endpoint']); if (!isset($serverVersion)) { //Server is not working if ($bbbsession['administrator']) { print_error('view_error_unable_join', 'bigbluebuttonbn', $CFG->wwwroot . '/admin/settings.php?section=modsettingbigbluebuttonbn'); } else { if ($bbbsession['moderator']) { print_error('view_error_unable_join_teacher', 'bigbluebuttonbn', $CFG->wwwroot . '/course/view.php?id=' . $bigbluebuttonbn->course); } else { print_error('view_error_unable_join_student', 'bigbluebuttonbn', $CFG->wwwroot . '/course/view.php?id=' . $bigbluebuttonbn->course); } } } else { $xml = bigbluebuttonbn_wrap_xml_load_file(bigbluebuttonbn_getMeetingsURL($bbbsession['endpoint'], $bbbsession['shared_secret'])); if (!isset($xml) || !isset($xml->returncode) || $xml->returncode == 'FAILED') { // The shared secret is wrong if ($bbbsession['administrator']) { print_error('view_error_unable_join', 'bigbluebuttonbn', $CFG->wwwroot . '/admin/settings.php?section=modsettingbigbluebuttonbn'); } else { if ($bbbsession['moderator']) { print_error('view_error_unable_join_teacher', 'bigbluebuttonbn', $CFG->wwwroot . '/course/view.php?id=' . $bigbluebuttonbn->course); } else { print_error('view_error_unable_join_student', 'bigbluebuttonbn', $CFG->wwwroot . '/course/view.php?id=' . $bigbluebuttonbn->course); } } } } // Mark viewed by user (if required) $completion = new completion_info($course);