ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
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...
 
 getBlockType ()
 
- Public Member Functions inherited from ilBlockGUI
 getBlockType ()
 
 __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 getScreenMode ()
 
- Static Public Member Functions inherited from ilBlockGUI
static getScreenMode ()
 Get Screen Mode for current command. More...
 

Static Public Attributes

static $block_type = 'chatviewer'
 

Protected Member Functions

 isRepositoryObject ()
 
 dispatchAsyncCommand ($cmd)
 
 getChatroomSelectionList ()
 
- Protected Member Functions inherited from ilBlockGUI
 isRepositoryObject ()
 Returns whether block has a corresponding repository object. More...
 
 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 150 of file class.ilChatroomBlockGUI.php.

References getChatroomSelectionList().

Referenced by fillDataSection().

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

◆ executeCommand()

ilChatroomBlockGUI::executeCommand ( )
Returns
string

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

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

◆ fillDataSection()

ilChatroomBlockGUI::fillDataSection ( )

Fill data section.

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

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

90  {
91  if ($this->ctrl->isAsynch() && isset($_GET['chatBlockCmd'])) {
92  return $this->dispatchAsyncCommand($_GET['chatBlockCmd']);
93  }
94 
95  $this->main_tpl->addJavascript('./Modules/Chatroom/js/chatviewer.js');
96  $this->main_tpl->addCss('./Modules/Chatroom/templates/default/style.css');
97 
98  $body_tpl = new ilTemplate('tpl.chatroom_block_message_body.html', true, true, 'Modules/Chatroom');
99 
100  $body_tpl->setVariable('TXT_ENABLE_AUTOSCROLL', $this->lng->txt('chat_enable_autoscroll'));
101  $body_tpl->setVariable('LOADER_PATH', ilUtil::getImagePath('loader.svg'));
102 
103  $this->ctrl->setParameterByClass('ilcolumngui', 'block_id', 'block_' . $this->getBlockType() . '_' . (int) $this->getBlockId());
104  $this->ctrl->setParameterByClass('ilcolumngui', 'ref_id', '#__ref_id');
105  $body_tpl->setVariable('CHATBLOCK_BASE_URL', $this->ctrl->getLinkTargetByClass('ilcolumngui', 'updateBlock', '', true));
106  $this->ctrl->setParameterByClass('ilcolumngui', 'block_id', '');
107  $this->ctrl->setParameterByClass('ilcolumngui', 'ref_id', '');
108 
109  $smilieys = array();
111  if ($settings->getSmiliesEnabled()) {
112  $smilies_array = ilChatroomSmilies::_getSmilies();
113  foreach ($smilies_array as $smiley_array) {
114  foreach ($smiley_array as $key => $value) {
115  if ($key == 'smiley_keywords') {
116  $new_keys = explode("\n", $value);
117  }
118 
119  if ($key == 'smiley_fullpath') {
120  $new_val = $value;
121  }
122  }
123 
124  foreach ($new_keys as $new_key) {
125  $smilieys[$new_key] = $new_val;
126  }
127  }
128  } else {
129  $smilieys = new stdClass();
130  }
131  $body_tpl->setVariable('SMILIES', json_encode($smilieys));
132 
133  $js_translations = array(
134  'LBL_CONNECT' => 'chat_connection_established',
135  'LBL_DISCONNECT' => 'chat_connection_disconnected',
136  'LBL_TIMEFORMAT' => 'lang_timeformat_no_sec',
137  'LBL_DATEFORMAT' => 'lang_dateformat'
138  );
139  foreach ($js_translations as $placeholder => $lng_variable) {
140  $body_tpl->setVariable($placeholder, json_encode($this->lng->txt($lng_variable)));
141  }
142 
143  $content = $body_tpl->get();
144  $this->setDataSection($content);
145  }
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
getBlockId()
Get Block Id.
$key
Definition: croninfo.php:18
+ Here is the call graph for this function:

◆ getBlockType()

ilChatroomBlockGUI::getBlockType ( )

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

Referenced by fillDataSection().

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

◆ getChatroomSelectionList()

ilChatroomBlockGUI::getChatroomSelectionList ( )
protected

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

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

Referenced by dispatchAsyncCommand().

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

◆ getHTML()

ilChatroomBlockGUI::getHTML ( )
Returns
string

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

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

75  {
77 
78  $chatSetting = new ilSetting('chatroom');
79  if ($this->getCurrentDetailLevel() == 0 || !$chatSetting->get('chat_enabled', 0) || !(bool) ilChatroomServerConnector::checkServerConnection()) {
80  return '';
81  } else {
82  return parent::getHTML();
83  }
84  }
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 52 of file class.ilChatroomBlockGUI.php.

References $_GET, and IL_SCREEN_SIDE.

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

◆ isRepositoryObject()

ilChatroomBlockGUI::isRepositoryObject ( )
protected

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

43  : bool
44  {
45  return false;
46  }

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: