1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <?php
- /**
- * This script initiates a video conference session, calling the BigBlueButton API
- * @package chamilo.plugin.bigbluebutton
- */
- require __DIR__ . '/../../vendor/autoload.php';
- $course_plugin = 'bbb'; //needed in order to load the plugin lang variables
- require_once dirname(__FILE__).'/config.php';
- $tool_name = get_lang('Videoconference');
- $tpl = new Template($tool_name);
- $vmIsEnabled = false;
- $host = null;
- $salt = null;
- $bbb = new bbb();
- if ($bbb->plugin_enabled) {
- if ($bbb->isServerRunning()) {
- if (isset($_GET['launch']) && $_GET['launch'] == 1) {
- if (file_exists(__DIR__ . '/config.vm.php')) {
- $config = require __DIR__ . '/config.vm.php';
- $vmIsEnabled = true;
- $host = null;
- $salt = null;
- require __DIR__ . '/lib/vm/AbstractVM.php';
- require __DIR__ . '/lib/vm/VMInterface.php';
- require __DIR__ . '/lib/vm/DigitalOceanVM.php';
- require __DIR__ . '/lib/VM.php';
- $vm = new VM($config);
- if ($vm->IsEnabled()) {
- try {
- $vm->resizeToMaxLimit();
- } catch (\Exception $e) {
- echo $e->getMessage();
- exit;
- }
- }
- }
- $meeting_params = array();
- $meeting_params['meeting_name'] = api_get_course_id().'-'.api_get_session_id();
- if ($bbb->meetingExists($meeting_params['meeting_name'])) {
- $url = $bbb->joinMeeting($meeting_params['meeting_name']);
- if ($url) {
- $bbb->redirectToBBB($url);
- } else {
- $url = $bbb->createMeeting($meeting_params);
- $bbb->redirectToBBB($url);
- }
- } else {
- if ($bbb->isTeacher()) {
- $url = $bbb->createMeeting($meeting_params);
- $bbb->redirectToBBB($url);
- } else {
- $url = 'listing.php?'.api_get_cidreq();
- $bbb->redirectToBBB($url);
- }
- }
- } else {
- $url = 'listing.php?'.api_get_cidreq();
- header('Location: ' . $url);
- exit;
- }
- } else {
- $message = Display::return_message(get_lang('ServerIsNotRunning'), 'warning');
- }
- } else {
- $message = Display::return_message(get_lang('ServerIsNotConfigured'), 'warning');
- }
- $tpl->assign('message', $message);
- $tpl->display_one_col_template();
|