ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
ilChatroomBlockGUI Class Reference

Class ilChatroomBlockGUI. More...

+ Inheritance diagram for ilChatroomBlockGUI:
+ Collaboration diagram for ilChatroomBlockGUI:

Public Member Functions

 __construct ()
 Constructor. More...
 
 executeCommand ()
 
 getHTML ()
 
 fillDataSection ()
 Fill data section. More...
 
- Public Member Functions inherited from ilBlockGUI
 __construct ()
 Constructor. More...
 
 addHeaderLink ($a_href, $a_text, $status=true)
 
 getHeaderLinks ()
 
 setData ($a_data)
 Set Data. More...
 
 getData ()
 Get Data. More...
 
 setBigMode ($a_bigmode)
 Set Big Mode. More...
 
 getBigMode ()
 Get Big Mode. More...
 
 setBlockId ($a_block_id=0)
 Set Block Id. More...
 
 getBlockId ()
 Get Block Id. More...
 
 setAvailableDetailLevels ($a_max, $a_min=0)
 Set Available Detail Levels. More...
 
 setCurrentDetailLevel ($a_currentdetaillevel)
 Set Current Detail Level. More...
 
 setGuiObject (&$a_gui_object)
 Set GuiObject. More...
 
 getGuiObject ()
 Get GuiObject. More...
 
 getCurrentDetailLevel ()
 Get Current Detail Level. More...
 
 setTitle ($a_title)
 Set Title. More...
 
 getTitle ()
 Get Title. More...
 
 setImage ($a_image)
 Set Image. More...
 
 getImage ()
 Get Image. More...
 
 setOffset ($a_offset)
 Set Offset. More...
 
 getOffset ()
 Get Offset. More...
 
 correctOffset ()
 
 setLimit ($a_limit)
 Set Limit. More...
 
 getLimit ()
 Get Limit. More...
 
 setEnableEdit ($a_enableedit)
 Set EnableEdit. More...
 
 getEnableEdit ()
 Get EnableEdit. More...
 
 setRepositoryMode ($a_repositorymode)
 Set RepositoryMode. More...
 
 getRepositoryMode ()
 Get RepositoryMode. More...
 
 setFooterInfo ($a_footerinfo, $a_hide_and_icon=false)
 Set Footer Info. More...
 
 getFooterInfo ($a_hide_and_icon=false)
 Get Footer Info. More...
 
 setSubtitle ($a_subtitle)
 Set Subtitle. More...
 
 getSubtitle ()
 Get Subtitle. More...
 
 setRefId ($a_refid)
 Set Ref Id (only used if isRepositoryObject() is true). More...
 
 getRefId ()
 Get Ref Id (only used if isRepositoryObject() is true). More...
 
 setAdminCommands ($a_admincommands)
 Set Administration Commmands. More...
 
 getAdminCommands ()
 Get Administration Commmands. More...
 
 setColSpan ($a_colspan)
 Set Columns Span. More...
 
 getColSpan ()
 Get Columns Span. More...
 
 setEnableDetailRow ($a_enabledetailrow)
 Set EnableDetailRow. More...
 
 getEnableDetailRow ()
 Get EnableDetailRow. More...
 
 setEnableNumInfo ($a_enablenuminfo)
 Set Enable Item Number Info. More...
 
 getEnableNumInfo ()
 Get Enable Item Number Info. More...
 
 setProperties ($a_properties)
 This function is supposed to be used for block type specific properties, that should be inherited through ilColumnGUI->setBlockProperties. More...
 
 getProperty ($a_property)
 
 setProperty ($a_property, $a_value)
 
 setRowTemplate ($a_rowtemplatename, $a_rowtemplatedir="")
 Set Row Template Name. More...
 
 getNavParameter ()
 
 getDetailParameter ()
 
 getConfigParameter ()
 
 getMoveParameter ()
 
 getRowTemplateName ()
 Get Row Template Name. More...
 
 getRowTemplateDir ()
 Get Row Template Directory. More...
 
 addBlockCommand ( $a_href, $a_text, $a_target="", $a_img="", $a_right_aligned=false, $a_checked=false, $a_html="")
 Add Block Command. More...
 
 getBlockCommands ()
 Get Block commands. More...
 
 addHeaderCommand ($a_href, $a_text, $a_as_close=false)
 Add Header Block Command. More...
 
 getHeaderCommands ()
 Get Header Block commands. More...
 
 addFooterLink ( $a_text, $a_href="", $a_onclick="", $a_block_id="", $a_top=false, $a_omit_separator=false, $a_checked=false)
 Add a footer text/link. More...
 
 getFooterLinks ()
 Get footer links. More...
 
 clearFooterLinks ()
 Clear footer links. More...
 
 handleDetailLevel ()
 Handle read/write current detail level. More...
 
 getHTML ()
 Handle config status. More...
 
 fillHeaderCommands ()
 Fill header commands block. More...
 
 fillHeaderTitleBlock ()
 Fill header title block (title and. More...
 
 setDataSection ($a_content)
 Call this from overwritten fillDataSection(), if standard row based data is not used. More...
 
 fillDataSection ()
 Standard implementation for row based data. More...
 
 fillRow ($a_set)
 
 fillFooter ()
 
 fillPreviousNext ()
 Fill previous/next row. More...
 
 setPreviousNextLinks ()
 Get previous/next linkbar. More...
 
 fillFooterLinks ($a_top=false, $a_numinfo="")
 Fill footer links. More...
 
 fillDetailRow ()
 Fill Detail Setting Row. More...
 

Static Public Member Functions

static isRepositoryObject ()
 
static getScreenMode ()
 
static getBlockType ()
 
- Static Public Member Functions inherited from ilBlockGUI
static getBlockType ()
 
static isRepositoryObject ()
 
static getScreenMode ()
 Get Screen Mode for current command. More...
 

Static Public Attributes

static $block_type = 'chatviewer'
 

Protected Member Functions

 dispatchAsyncCommand ($cmd)
 
 getChatroomSelectionList ()
 
- Protected Member Functions inherited from ilBlockGUI
 fillRowColor ($a_placeholder="CSS_ROW")
 
 preloadData (array $data)
 Can be overwritten in subclasses. More...
 

Additional Inherited Members

- Protected Attributes inherited from ilBlockGUI
 $data = array()
 
 $colspan = 1
 
 $enablenuminfo = true
 
 $detail_min = 0
 
 $detail_max = 0
 
 $bigmode = false
 
 $footer_links = array()
 
 $block_id = 0
 
 $header_commands = array()
 
 $allow_moving = true
 
 $move = array("left" => false, "right" => false, "up" => false, "down" => false)
 
 $enabledetailrow = true
 
 $header_links = array()
 
 $footerinfo = false
 
 $footerinfo_icon = false
 
 $block_commands = array()
 
 $max_count = false
 
 $close_command = false
 
 $image = false
 
 $property = false
 
 $nav_value = ""
 
 $css_row = ""
 
 $dropdown
 
 $tpl
 
 $main_tpl
 
 $user
 
 $ctrl
 
 $access
 
 $lng
 
 $obj_def
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilChatroomBlockGUI::__construct ( )

Constructor.

Definition at line 28 of file class.ilChatroomBlockGUI.php.

References ilUtil\getImagePath(), ilBlockGUI\setAvailableDetailLevels(), ilBlockGUI\setImage(), and ilBlockGUI\setTitle().

29  {
30  parent::__construct();
31 
32  $this->lng->loadLanguageModule('chatroom');
33 
34  $this->setImage(ilUtil::getImagePath('icon_chat.svg'));
35  $this->setTitle($this->lng->txt('chat_chatviewer'));
36  $this->setAvailableDetailLevels(1, 0);
37  $this->allow_moving = true;
38  }
setImage($a_image)
Set Image.
setTitle($a_title)
Set Title.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
setAvailableDetailLevels($a_max, $a_min=0)
Set Available Detail Levels.
+ Here is the call graph for this function:

Member Function Documentation

◆ dispatchAsyncCommand()

ilChatroomBlockGUI::dispatchAsyncCommand (   $cmd)
protected
Parameters
$cmd

Definition at line 151 of file class.ilChatroomBlockGUI.php.

References getChatroomSelectionList().

Referenced by fillDataSection().

152  {
153  switch ($cmd) {
154  case 'getChatroomSelectionList':
155  return $this->getChatroomSelectionList();
156  break;
157 
158  case 'getMessages':
159  default:
160  return $this->getMessages();
161  break;
162  }
163  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilChatroomBlockGUI::executeCommand ( )
Returns
string

Definition at line 65 of file class.ilChatroomBlockGUI.php.

66  {
67  $cmd = $this->ctrl->getCmd('getHTML');
68 
69  return $this->$cmd();
70  }

◆ fillDataSection()

ilChatroomBlockGUI::fillDataSection ( )

Fill data section.

Definition at line 90 of file class.ilChatroomBlockGUI.php.

References $_GET, $key, array, dispatchAsyncCommand(), ilBlockGUI\getBlockId(), getBlockType(), ilUtil\getImagePath(), ilChatroomServerSettings\loadDefault(), and ilBlockGUI\setDataSection().

91  {
92  if ($this->ctrl->isAsynch() && isset($_GET['chatBlockCmd'])) {
93  return $this->dispatchAsyncCommand($_GET['chatBlockCmd']);
94  }
95 
96  $this->main_tpl->addJavascript('./Modules/Chatroom/js/chatviewer.js');
97  $this->main_tpl->addCss('./Modules/Chatroom/templates/default/style.css');
98 
99  $body_tpl = new ilTemplate('tpl.chatroom_block_message_body.html', true, true, 'Modules/Chatroom');
100 
101  $body_tpl->setVariable('TXT_ENABLE_AUTOSCROLL', $this->lng->txt('chat_enable_autoscroll'));
102  $body_tpl->setVariable('LOADER_PATH', ilUtil::getImagePath('loader.svg'));
103 
104  $this->ctrl->setParameterByClass('ilcolumngui', 'block_id', 'block_' . $this->getBlockType() . '_' . (int) $this->getBlockId());
105  $this->ctrl->setParameterByClass('ilcolumngui', 'ref_id', '#__ref_id');
106  $body_tpl->setVariable('CHATBLOCK_BASE_URL', $this->ctrl->getLinkTargetByClass('ilcolumngui', 'updateBlock', '', true));
107  $this->ctrl->setParameterByClass('ilcolumngui', 'block_id', '');
108  $this->ctrl->setParameterByClass('ilcolumngui', 'ref_id', '');
109 
110  $smilieys = array();
112  if ($settings->getSmiliesEnabled()) {
113  $smilies_array = ilChatroomSmilies::_getSmilies();
114  foreach ($smilies_array as $smiley_array) {
115  foreach ($smiley_array as $key => $value) {
116  if ($key == 'smiley_keywords') {
117  $new_keys = explode("\n", $value);
118  }
119 
120  if ($key == 'smiley_fullpath') {
121  $new_val = $value;
122  }
123  }
124 
125  foreach ($new_keys as $new_key) {
126  $smilieys[$new_key] = $new_val;
127  }
128  }
129  } else {
130  $smilieys = new stdClass();
131  }
132  $body_tpl->setVariable('SMILIES', json_encode($smilieys));
133 
134  $js_translations = array(
135  'LBL_CONNECT' => 'chat_connection_established',
136  'LBL_DISCONNECT' => 'chat_connection_disconnected',
137  'LBL_TIMEFORMAT' => 'lang_timeformat_no_sec',
138  'LBL_DATEFORMAT' => 'lang_dateformat'
139  );
140  foreach ($js_translations as $placeholder => $lng_variable) {
141  $body_tpl->setVariable($placeholder, json_encode($this->lng->txt($lng_variable)));
142  }
143 
144  $content = $body_tpl->get();
145  $this->setDataSection($content);
146  }
setDataSection($a_content)
Call this from overwritten fillDataSection(), if standard row based data is not used.
$_GET["client_id"]
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
special template class to simplify handling of ITX/PEAR
Create styles array
The data for the language used.
getBlockId()
Get Block Id.
$key
Definition: croninfo.php:18
+ Here is the call graph for this function:

◆ getBlockType()

static ilChatroomBlockGUI::getBlockType ( )
static
Returns
string

Definition at line 236 of file class.ilChatroomBlockGUI.php.

Referenced by fillDataSection().

237  {
238  return self::$block_type;
239  }
+ Here is the caller graph for this function:

◆ getChatroomSelectionList()

ilChatroomBlockGUI::getChatroomSelectionList ( )
protected

Definition at line 165 of file class.ilChatroomBlockGUI.php.

References $DIC, $result, ilObjUser\_writePref(), ilChatroom\byObjectId(), ilChatroom\checkUserPermissions(), ilJsonUtil\encode(), exit, and ilObjectFactory\getInstanceByRefId().

Referenced by dispatchAsyncCommand().

166  {
167  $result = new stdClass();
168  $result->ok = true;
169 
170  $chatblock = new ilChatroomBlock();
171  $result->html = $chatblock->getRoomSelect();
172 
173  include_once 'Services/JSON/classes/class.ilJsonUtil.php';
175  exit();
176  }
$result
static encode($mixed, $suppress_native=false)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getHTML()

ilChatroomBlockGUI::getHTML ( )
Returns
string

Definition at line 75 of file class.ilChatroomBlockGUI.php.

References ilChatroomServerConnector\checkServerConnection(), ilBlockGUI\getCurrentDetailLevel(), and ilYuiUtil\initJson().

76  {
78 
79  $chatSetting = new ilSetting('chatroom');
80  if ($this->getCurrentDetailLevel() == 0 || !$chatSetting->get('chat_enabled', 0) || !(bool) ilChatroomServerConnector::checkServerConnection()) {
81  return '';
82  } else {
83  return parent::getHTML();
84  }
85  }
static initJson()
Init YUI JSON component.
static checkServerConnection($use_cache=true)
getCurrentDetailLevel()
Get Current Detail Level.
+ Here is the call graph for this function:

◆ getScreenMode()

static ilChatroomBlockGUI::getScreenMode ( )
static
Returns
string

Definition at line 53 of file class.ilChatroomBlockGUI.php.

References $_GET, and IL_SCREEN_SIDE.

54  {
55  switch ($_GET['cmd']) {
56  default:
57  return IL_SCREEN_SIDE;
58  break;
59  }
60  }
$_GET["client_id"]
const IL_SCREEN_SIDE

◆ isRepositoryObject()

static ilChatroomBlockGUI::isRepositoryObject ( )
static
Returns
bool

Definition at line 44 of file class.ilChatroomBlockGUI.php.

45  {
46  return false;
47  }

Field Documentation

◆ $block_type

ilChatroomBlockGUI::$block_type = 'chatviewer'
static

Definition at line 23 of file class.ilChatroomBlockGUI.php.


The documentation for this class was generated from the following file: