You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							99 lines
						
					
					
						
							3.4 KiB
						
					
					
				
			
		
		
	
	
							99 lines
						
					
					
						
							3.4 KiB
						
					
					
				<?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
 | 
						|
                )";
 | 
						|
        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);
 | 
						|
    }
 | 
						|
}
 | 
						|
 |