start.php 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. /**
  3. * This script initiates a videoconference session, calling the BigBlueButton API
  4. * @package chamilo.plugin.bigbluebutton
  5. */
  6. /**
  7. * Initialization
  8. */
  9. $course_plugin = 'bbb'; //needed in order to load the plugin lang variables
  10. require_once dirname(__FILE__).'/config.php';
  11. $tool_name = get_lang('Videoconference');
  12. $tpl = new Template($tool_name);
  13. $bbb = new bbb();
  14. if ($bbb->plugin_enabled) {
  15. if ($bbb->is_server_running()) {
  16. if (isset($_GET['launch']) && $_GET['launch'] == 1) {
  17. $meeting_params = array();
  18. $meeting_params['meeting_name'] = api_get_course_id();
  19. if ($bbb->meeting_exists($meeting_params['meeting_name'])) {
  20. $url = $bbb->join_meeting($meeting_params['meeting_name']);
  21. if ($url) {
  22. header('location: '.$url);
  23. exit;
  24. } else {
  25. $url = $bbb->create_meeting($meeting_params);
  26. header('location: '.$url);
  27. exit;
  28. }
  29. } else {
  30. if ($bbb->is_teacher()) {
  31. $url = $bbb->create_meeting($meeting_params);
  32. header('location: '.$url);
  33. exit;
  34. } else {
  35. $url = 'listing.php';
  36. header('location: '.$url);
  37. exit;
  38. }
  39. }
  40. } else {
  41. $url = 'listing.php';
  42. header('location: '.$url);
  43. exit;
  44. }
  45. } else {
  46. $message = Display::return_message(get_lang('ServerIsNotRunning'), 'warning');
  47. }
  48. } else {
  49. $message = Display::return_message(get_lang('ServerIsNotConfigured'), 'warning');
  50. }
  51. $tpl->assign('message', $message);
  52. $tpl->display_one_col_template();