123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /* For licensing terms, see /license.txt */
- /* To show the plugin course icons you need to add these icons:
- * main/img/icons/22/plugin_name.png
- * main/img/icons/64/plugin_name.png
- * main/img/icons/64/plugin_name_na.png
- */
- /**
- * Videoconference plugin with BBB
- */
- //namespace Chamilo\Plugin\BBB;
- /**
- * Class BBBPlugin
- */
- class BBBPlugin extends Plugin
- {
- public $isCoursePlugin = true;
- //When creating a new course this settings are added to the course
- public $course_settings = array(
- array(
- 'name' => 'big_blue_button_record_and_store',
- 'type' => 'checkbox'
- )
- );
- public static function create()
- {
- static $result = null;
- return $result ? $result : $result = new self();
- }
- protected function __construct()
- {
- parent::__construct('2.2', 'Julio Montoya, Yannick Warnier', array('tool_enable' => 'boolean', 'host' =>'text', 'salt' => 'text'));
- }
- public function install()
- {
- $table = Database::get_main_table('plugin_bbb_meeting');
- $sql = "CREATE TABLE IF NOT EXISTS $table (
- id INT unsigned NOT NULL auto_increment PRIMARY KEY,
- c_id INT unsigned NOT NULL DEFAULT 0,
- meeting_name VARCHAR(255) NOT NULL DEFAULT '',
- attendee_pw VARCHAR(255) NOT NULL DEFAULT '',
- moderator_pw VARCHAR(255) NOT NULL DEFAULT '',
- record INT NOT NULL DEFAULT 0,
- status INT NOT NULL DEFAULT 0,
- created_at VARCHAR(255) NOT NULL,
- closed_at VARCHAR(255) NOT NULL,
- calendar_id INT DEFAULT 0,
- welcome_msg VARCHAR(255) NOT NULL DEFAULT '',
- session_id INT unsigned DEFAULT 0,
- remote_id CHAR(30),
- visibility TINYINT NOT NULL DEFAULT 1,
- voice_bridge INT NOT NULL DEFAULT 1
- )";
- Database::query($sql);
- //Installing course settings
- $this->install_course_fields_in_all_courses();
- }
- public function uninstall()
- {
- $t_settings = Database::get_main_table(TABLE_MAIN_SETTINGS_CURRENT);
- $t_options = Database::get_main_table(TABLE_MAIN_SETTINGS_OPTIONS);
- $t_tool = Database::get_course_table(TABLE_TOOL_LIST);
- //New settings
- $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_tool_enable'";
- Database::query($sql);
- $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_salt'";
- Database::query($sql);
- $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_host'";
- Database::query($sql);
- //Old settings deleting just in case
- $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_plugin'";
- Database::query($sql);
- $sql = "DELETE FROM $t_options WHERE variable = 'bbb_plugin'";
- Database::query($sql);
- $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_plugin_host'";
- Database::query($sql);
- $sql = "DELETE FROM $t_settings WHERE variable = 'bbb_plugin_salt'";
- Database::query($sql);
- //hack to get rid of Database::query warning (please add c_id...)
- $sql = "DELETE FROM $t_tool WHERE name = 'bbb' AND c_id != 0";
- Database::query($sql);
- $t = Database::get_main_table('plugin_bbb_meeting');
- $sql = "DROP TABLE IF EXISTS $t";
- Database::query($sql);
- //Deleting course settings
- $this->uninstall_course_fields_in_all_courses($this->course_settings);
- }
- }
|