/**
  * Instantiates ilChatroomServerSettings object, sets data using
  * $this->settings->server_settings and returns object.
  *
  * @return ilChatroomServerSettings
  */
 public function getServerSettings()
 {
     require_once 'Modules/Chatroom/classes/class.ilChatroomServerSettings.php';
     return ilChatroomServerSettings::loadDefault();
     /*$data = json_decode( $this->settings->server_settings );
     
     		$settings = new ilChatroomServerSettings();
     
     		$settings->setDomain( $data->address );
     		$settings->setPort( $data->port );
     		$settings->setProtocol( $data->protocol );
     		$settings->setInstance( $data->instance );
     
     		return $settings;*/
 }
 /**
  * @return ilChatroomServerConnector
  */
 public function getConnector()
 {
     require_once 'Modules/Chatroom/classes/class.ilChatroomServerConnector.php';
     require_once 'Modules/Chatroom/classes/class.ilChatroomServerSettings.php';
     $settings = ilChatroomServerSettings::loadDefault();
     $connector = new ilChatroomServerConnector($settings);
     return $connector;
 }
 /**
  * @return bool
  */
 public function isServerAlive()
 {
     $response = @$this->file_get_contents($this->settings->getURL('Status', 0), array('http' => array('timeout' => 2), 'https' => array('timeout' => 2)));
     $responseObject = json_decode($response);
     return $responseObject->success == true;
 }
 /**
  * Fill data section
  */
 public function fillDataSection()
 {
     /**
      * @var $tpl	ilTemplate
      * @var $lng	ilLanguage
      * @var $ilCtrl ilCtrl
      */
     global $tpl, $lng, $ilCtrl;
     //@todo: Dirty hack
     if ($ilCtrl->isAsynch()) {
         return $this->getMessages();
     }
     $tpl->addJavascript('./Modules/Chatroom/js/chatviewer.js');
     $tpl->addCss('./Modules/Chatroom/templates/default/style.css');
     $chatblock = new ilChatroomBlock();
     $body_tpl = new ilTemplate('tpl.chatroom_block_message_body.html', true, true, 'Modules/Chatroom');
     $height = 120;
     if ($this->getCurrentDetailLevel() > 0 && $this->getCurrentDetailLevel() <= 3) {
         $height *= $this->getCurrentDetailLevel();
     }
     $body_tpl->setVariable('BLOCK_HEIGHT', $height);
     $body_tpl->setVariable('TXT_ENABLE_AUTOSCROLL', $lng->txt('chat_enable_autoscroll'));
     $ilCtrl->setParameterByClass('ilcolumngui', 'block_id', 'block_' . $this->getBlockType() . '_' . (int) $this->getBlockId());
     $ilCtrl->setParameterByClass('ilcolumngui', 'ref_id', '#__ref_id');
     $body_tpl->setVariable('CHATBLOCK_BASE_URL', $ilCtrl->getLinkTargetByClass('ilcolumngui', 'updateBlock', '', true));
     $ilCtrl->setParameterByClass('ilcolumngui', 'block_id', '');
     $ilCtrl->setParameterByClass('ilcolumngui', 'ref_id', '');
     $smilieys = array();
     $settings = ilChatroomServerSettings::loadDefault();
     if ($settings->getSmiliesEnabled()) {
         $smilies_array = ilChatroomSmilies::_getSmilies();
         foreach ($smilies_array as $smiley_array) {
             foreach ($smiley_array as $key => $value) {
                 if ($key == 'smiley_keywords') {
                     $new_keys = explode("\n", $value);
                 }
                 if ($key == 'smiley_fullpath') {
                     $new_val = $value;
                 }
             }
             foreach ($new_keys as $new_key) {
                 $smilieys[$new_key] = $new_val;
             }
         }
     } else {
         $smilieys = new stdClass();
     }
     $body_tpl->setVariable('SMILIES', json_encode($smilieys));
     $js_translations = array('LBL_CONNECT' => 'chat_connection_established', 'LBL_DISCONNECT' => 'chat_connection_disconnected', 'LBL_TIMEFORMAT' => 'lang_timeformat_no_sec', 'LBL_DATEFORMAT' => 'lang_dateformat');
     foreach ($js_translations as $placeholder => $lng_variable) {
         $body_tpl->setVariable($placeholder, json_encode($lng->txt($lng_variable)));
     }
     $content = $body_tpl->get() . $chatblock->getRoomSelect();
     $this->setDataSection($content);
 }
 public static function loadDefault()
 {
     global $ilDB;
     $query = 'SELECT * FROM chatroom_admconfig';
     $rset = $ilDB->query($query);
     $row = $ilDB->fetchAssoc($rset);
     $client_settings = json_decode($row['client_settings']);
     $server_settings = json_decode($row['server_settings']);
     $settings = new ilChatroomServerSettings();
     $settings->setPort($server_settings->port);
     $settings->setProtocol($server_settings->protocol);
     $settings->setInstance($client_settings->name);
     $settings->setDomain($server_settings->address);
     $settings->setSmiliesEnabled($client_settings->enable_smilies);
     return $settings;
 }
Ejemplo n.º 6
0
 /**
  * Instantiates ilChatroomServerSettings object, sets data using
  * $this->settings->server_settings and returns object.
  * @return ilChatroomServerSettings
  */
 public function getServerSettings()
 {
     require_once 'Modules/Chatroom/classes/class.ilChatroomServerSettings.php';
     return ilChatroomServerSettings::loadDefault();
 }