44        $this->ui = 
$DIC->ui();
 
   54        require_once 
'Modules/Chatroom/classes/class.ilObjChatroom.php';
 
   57        if (!
$DIC->user() || 
$DIC->user()->isAnonymous()) {
 
   58            $this->accessible = 
false;
 
   62        $chatSettings = 
new ilSetting(
'chatroom');
 
   64        $this->publicChatRoomAccess = 
$DIC->rbac()->system()->checkAccessOfUser(
$DIC->user()->getId(), 
'read', $this->pub_ref_id);
 
   65        $this->oscAccess            = $chatSettings->get(
'enable_osc');
 
   77        if (!$this->accessible) {
 
   81        require_once 
'Services/Link/classes/class.ilLinkifyUtil.php';
 
   84        require_once 
'Services/JSON/classes/class.ilJsonUtil.php';
 
   85        $DIC->language()->loadLanguageModule(
'chatroom');
 
   88            'conversationTemplate' => (
new ilTemplate(
'tpl.chat-menu-item.html', 
false, 
false, 
'Services/OnScreenChat'))->
get(),
 
   89            'roomTemplate'         => (
new ilTemplate(
'tpl.chat-menu-item-room.html', 
false, 
false, 
'Services/OnScreenChat'))->
get(),
 
   90            'infoTemplate'         => (
new ilTemplate(
'tpl.chat-menu-item-info.html', 
false, 
false, 
'Services/OnScreenChat'))->
get(),
 
   91            'userId'               => 
$DIC->user()->getId()
 
   96        if ($this->publicChatRoomAccess) {
 
   98                'name' => 
$DIC[
'ilObjDataCache']->lookupTitle(
$DIC[
'ilObjDataCache']->lookupObjId($this->pub_ref_id)),
 
   99                'url'  => 
'./ilias.php?baseClass=ilRepositoryGUI&cmd=view&ref_id=' . $this->pub_ref_id,
 
  104        $config[
'showAcceptMessageChange'] = (
 
  106            !(bool) 
$DIC[
'ilSetting']->
get(
'usr_settings_hide_chat_osc_accept_msg', 
false) &&
 
  107            !(bool) 
$DIC[
'ilSetting']->
get(
'usr_settings_disable_chat_osc_accept_msg', 
false)
 
  111        $DIC->language()->loadLanguageModule(
'chatroom');
 
  112        $DIC->language()->toJS(array(
 
  113            'chat_osc_conversations', 
'chat_osc_section_head_other_rooms',
 
  114            'chat_osc_sure_to_leave_grp_conv', 
'chat_osc_user_left_grp_conv',
 
  115            'confirm', 
'cancel', 
'chat_osc_leave_grp_conv', 
'chat_osc_no_conv' 
  117        $DIC->language()->toJSMap(array(
 
  118            'chat_osc_dont_accept_msg' => 
sprintf(
 
  119                $DIC->language()->txt(
'chat_osc_dont_accept_msg'),
 
  120                $DIC->ctrl()->getLinkTargetByClass(array(
'ilPersonalDesktopGUI', 
'ilPersonalSettingsGUI', 
'ilPersonalChatSettingsFormGUI'), 
'showChatOptions')
 
  124        $DIC[
'tpl']->addJavascript(
'./Services/OnScreenChat/js/onscreenchat-menu.js');
 
  125        $DIC[
'tpl']->addJavascript(
'./Services/UIComponent/Modal/js/Modal.js');
 
  127        $tpl = 
new ilTemplate(
'tpl.chat-menu.html', 
true, 
true, 
'Services/OnScreenChat');
 
  129        $f        = $this->ui->factory();
 
  130        $renderer = $this->ui->renderer();
 
  132        $glyph = $f->glyph()->comment();
 
  133        $glyph = $glyph->withCounter($f->counter()->status(0))->withCounter($f->counter()->novelty(0))->withOnLoadCode(
function (
$id) use (&$glyph_id) {
 
  137        $glyph_html = $renderer->render($glyph);
 
  139        $config[
'triggerId'] = $glyph_id;
 
  140        $config[
'conversationNoveltyCounter'] = $renderer->render($f->counter()->novelty(0));
 
  143        $DIC[
'tpl']->addOnLoadCode(
"il.OnScreenChatMenu.init();");
 
  145        $tpl->setVariable(
'GLYPH', $glyph_html);
 
sprintf('%.4f', $callTime)
An exception for terminatinating execution or to throw for unit testing.
static encode($mixed, $suppress_native=false)
static initLinkify($a_tpl=null)
Init Linkify.
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
special template class to simplify handling of ITX/PEAR
static yn2tf($a_yn)
convert "y"/"n" to true/false
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
if(!array_key_exists('StateId', $_REQUEST)) $id