/** * 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; }
/** * 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(); }