4require_once
'Services/Block/classes/class.ilBlockGUI.php';
5require_once
'Modules/Chatroom/classes/class.ilChatroomServerConnector.php';
6require_once
'Modules/Chatroom/classes/class.ilChatroomServerSettings.php';
7require_once
'Services/JSON/classes/class.ilJsonUtil.php';
8require_once
'Modules/Chatroom/classes/class.ilChatroomBlock.php';
9require_once
'Modules/Chatroom/classes/class.ilChatroomSmilies.php';
32 parent::__construct();
34 $lng->loadLanguageModule(
'chatroom');
37 $this->
setTitle($lng->txt(
'chat_chatviewer'));
39 $this->allow_moving =
true;
77 public function executeCommand()
103 return parent::getHTML();
125 $tpl->addJavascript(
'./Modules/Chatroom/js/chatviewer.js');
126 $tpl->addCss(
'./Modules/Chatroom/templates/default/style.css');
128 $body_tpl =
new ilTemplate(
'tpl.chatroom_block_message_body.html',
true,
true,
'Modules/Chatroom');
130 $body_tpl->setVariable(
'TXT_ENABLE_AUTOSCROLL',
$lng->txt(
'chat_enable_autoscroll'));
134 $ilCtrl->setParameterByClass(
'ilcolumngui',
'ref_id',
'#__ref_id');
135 $body_tpl->setVariable(
'CHATBLOCK_BASE_URL',
$ilCtrl->getLinkTargetByClass(
'ilcolumngui',
'updateBlock',
'',
true));
136 $ilCtrl->setParameterByClass(
'ilcolumngui',
'block_id',
'');
137 $ilCtrl->setParameterByClass(
'ilcolumngui',
'ref_id',
'');
141 if($settings->getSmiliesEnabled())
144 foreach($smilies_array as $smiley_array)
146 foreach($smiley_array as $key => $value)
148 if($key ==
'smiley_keywords')
150 $new_keys = explode(
"\n", $value);
153 if($key ==
'smiley_fullpath')
159 foreach($new_keys as $new_key)
161 $smilieys[$new_key] = $new_val;
167 $smilieys =
new stdClass();
169 $body_tpl->setVariable(
'SMILIES', json_encode($smilieys));
171 $js_translations = array(
172 'LBL_CONNECT' =>
'chat_connection_established',
173 'LBL_DISCONNECT' =>
'chat_connection_disconnected',
174 'LBL_TIMEFORMAT' =>
'lang_timeformat_no_sec',
175 'LBL_DATEFORMAT' =>
'lang_dateformat'
177 foreach($js_translations as $placeholder => $lng_variable)
179 $body_tpl->setVariable($placeholder, json_encode(
$lng->txt($lng_variable)));
182 $content = $body_tpl->get();
193 case 'getChatroomSelectionList':
199 return $this->getMessages();
210 $result->html = $chatblock->getRoomSelect();
212 include_once
'Services/JSON/classes/class.ilJsonUtil.php';
220 protected function getMessages()
242 if(!$object || !$rbacsystem->checkAccess(
'read', (
int)
$_REQUEST[
'ref_id']))
246 $ilUser->getId(),
'chatviewer_last_selected_room',
255 require_once
'Modules/Chatroom/classes/class.ilChatroom.php';
259 $msg = $block->getMessages($room);
263 'chatviewer_last_selected_room',
268 $ilUser->getId(),
'chatviewer_last_selected_room',
272 $result->messages = array_reverse($msg);
275 include_once
'Services/JSON/classes/class.ilJsonUtil.php';
This class represents a block method of a block.
setImage($a_image)
Set Image.
getCurrentDetailLevel()
Get Current Detail Level.
getBlockId()
Get Block Id.
setAvailableDetailLevels($a_max, $a_min=0)
Set Available Detail Levels.
setDataSection($a_content)
Call this from overwritten fillDataSection(), if standard row based data is not used.
fillDataSection()
Standard implementation for row based data.
setTitle($a_title)
Set Title.
Class ilChatroomBlockGUI.
dispatchAsyncCommand($cmd)
__construct()
Constructor.
getChatroomSelectionList()
static isRepositoryObject()
static checkServerConnection($use_cache=true)
static _getSmilies()
Fetches smilies from database.
static byObjectId($object_id)
Returns ilChatroom object by given $object_id.
static encode($mixed, $suppress_native=false)
static _writePref($a_usr_id, $a_keyword, $a_value)
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
special template class to simplify handling of ITX/PEAR
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static initJson()
Init YUI JSON component.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']