9include_once 
'Services/Mail/classes/class.ilMailGlobalServices.php';
 
  101        if ($a_main_tpl != 
null) {
 
  102            $this->main_tpl = $a_main_tpl;
 
  104            $this->main_tpl = 
$DIC[
"tpl"];
 
  107        $this->rbacsystem = 
$DIC->rbac()->system();
 
  108        $this->
user = $DIC->user();
 
  109        $this->lng = 
$DIC->language();
 
  110        $this->plugin_admin = 
$DIC[
"ilPluginAdmin"];
 
  111        $this->tree = 
$DIC->repositoryTree();
 
  112        $this->access = 
$DIC->access();
 
  113        $this->nav_history = 
$DIC[
"ilNavigationHistory"];
 
  115        $this->ctrl = 
$DIC->ctrl();
 
  116        $this->help = 
$DIC[
"ilHelp"];
 
  117        $this->ui = 
$DIC->ui();
 
  122            "tpl.main_menu.html",
 
  127        $this->target = $a_target;
 
  128        $this->start_template = $a_use_start_template;
 
  131        if (
$ilUser->getId() != ANONYMOUS_USER_ID) {
 
  137        $this->
setMode(self::MODE_FULL);
 
  140        include_once 
'./Services/Container/classes/class.ilMemberViewSettings.php';
 
  142        if ($set->isActive()) {
 
  149        $this->mode = (int) $a_value;
 
  159        $this->topbar_back_url = $a_url;
 
  160        $this->topbar_back_caption = trim($a_caption);
 
  169                return "ilFixedTopSpacerBarOnly";
 
  172                return "ilFixedTopSpacer";
 
  181        $this->active = $a_active;
 
  190        $this->login_target_par = $a_val;
 
  198        return $this->login_target_par;
 
  207        include_once(
"./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
 
  209        $gr_list->setAsDropDown(
true);
 
  211        $languages = 
$lng->getInstalledLanguages();
 
  212        if (
sizeof($languages) > 1) { 
 
  213            foreach ($languages as $lang_key) {
 
  215                $base = preg_replace(
"/&*lang=[a-z]{2}&*/", 
"", 
$base);
 
  220                $link = str_replace(
"?&", 
"?", $link);
 
  222                $gr_list->addEntry(
$lng->_lookupEntry($lang_key, 
"meta", 
"meta_l_" . $lang_key), $link);
 
  224            return $gr_list->getHTML();
 
  239        if ($this->logo_only) {
 
  240            $this->tpl->setVariable(
"HEADER_URL", $this->
getHeaderURL());
 
  242            $this->tpl->setVariable(
"HEADER_ICON_RESPONSIVE", 
ilUtil::getImagePath(
"HeaderIconResponsive.svg"));
 
  245            include_once(
"./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
 
  246            $header_top_title = ilObjSystemFolder::_getHeaderTitle();
 
  247            if (trim($header_top_title) != 
"" && $this->tpl->blockExists(
"header_top_title")) {
 
  248                $this->tpl->setCurrentBlock(
"header_top_title");
 
  249                $this->tpl->setVariable(
"TXT_HEADER_TITLE", $header_top_title);
 
  250                $this->tpl->parseCurrentBlock();
 
  257        $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE, 
"UIComponent", 
"uihk");
 
  259        if ($this->
getMode() != self::MODE_TOPBAR_REDUCED &&
 
  260            $this->
getMode() != self::MODE_TOPBAR_MEMBERVIEW) {
 
  262            include_once 
'Services/Search/classes/class.ilSearchSettings.php';
 
  264                include_once 
'./Services/Search/classes/class.ilMainMenuSearchGUI.php';
 
  269                include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
 
  273                    array(
"main_menu_gui" => $this, 
"main_menu_search_gui" => $main_search)
 
  275                if (!$uip->replaced()) {
 
  276                    $html = $main_search->getHTML();
 
  281                    $this->tpl->setVariable(
'SEARCHBOX', 
$html);
 
  297        if ($this->
getMode() == self::MODE_FULL) {
 
  301            include_once(
"./Services/UIComponent/classes/class.ilUIHookProcessor.php");
 
  304                "main_menu_list_entries",
 
  305                array(
"main_menu_gui" => $this)
 
  307            if (!$uip->replaced()) {
 
  308                $mmle_tpl = 
new ilTemplate(
"tpl.main_menu_list_entries.html", 
true, 
true, 
"Services/MainMenu");
 
  311            $mmle_html = $uip->getHTML($mmle_html);
 
  313            $this->tpl->setVariable(
"MAIN_MENU_LIST_ENTRIES", $mmle_html);
 
  316        if ($this->
getMode() != self::MODE_TOPBAR_MEMBERVIEW) {
 
  317            $link_dir = (
defined(
"ILIAS_MODULE"))
 
  322            if (
$GLOBALS[
'DIC'][
'ilUser']->getId() == ANONYMOUS_USER_ID) {
 
  323                include_once 
'Services/Registration/classes/class.ilRegistrationSettingsGUI.php';
 
  325                    $this->tpl->setCurrentBlock(
"registration_link");
 
  326                    $this->tpl->setVariable(
"TXT_REGISTER", 
$lng->txt(
"register"));
 
  327                    $this->tpl->setVariable(
"LINK_REGISTER", $link_dir . 
"register.php?client_id=" . rawurlencode(CLIENT_ID) . 
"&lang=" . 
$ilUser->getCurrentLanguage());
 
  328                    $this->tpl->parseCurrentBlock();
 
  334                    $this->tpl->setVariable(
"TXT_LANGSELECT", 
$lng->txt(
"language"));
 
  335                    $this->tpl->setVariable(
"LANG_SELECT", $selection);
 
  338                $this->tpl->setCurrentBlock(
"userisanonymous");
 
  339                $this->tpl->setVariable(
"TXT_NOT_LOGGED_IN", 
$lng->txt(
"not_logged_in"));
 
  340                $this->tpl->setVariable(
"TXT_LOGIN", 
$lng->txt(
"log_in"));
 
  346                $this->tpl->setVariable(
 
  348                    $link_dir . 
"login.php?target=" . $target_str . 
"&client_id=" . rawurlencode(CLIENT_ID) . 
"&cmd=force_login&lang=" . 
$ilUser->getCurrentLanguage()
 
  350                $this->tpl->parseCurrentBlock();
 
  354                $this->tpl->setCurrentBlock(
"userisloggedin");
 
  355                $this->tpl->setVariable(
"TXT_LOGIN_AS", 
$lng->txt(
"login_as"));
 
  356                $user_img_src = 
$ilUser->getPersonalPicturePath(
"small", 
true);
 
  357                $user_img_alt = 
$ilUser->getFullname();
 
  358                $this->tpl->setVariable(
"USER_IMG", 
ilUtil::img($user_img_src, $user_img_alt));
 
  359                $this->tpl->setVariable(
"USR_LINK_PROFILE", 
"ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToProfile");
 
  360                $this->tpl->setVariable(
"USR_TXT_PROFILE", 
$lng->txt(
"personal_profile"));
 
  361                $this->tpl->setVariable(
"USR_LINK_SETTINGS", 
"ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSettings");
 
  362                $this->tpl->setVariable(
"USR_TXT_SETTINGS", 
$lng->txt(
"personal_settings"));
 
  363                $this->tpl->setVariable(
"TXT_LOGOUT2", 
$lng->txt(
"logout"));
 
  364                $this->tpl->setVariable(
"LINK_LOGOUT2", $link_dir . 
"logout.php?lang=" . 
$ilUser->getCurrentLanguage());
 
  365                $this->tpl->setVariable(
"USERNAME", 
$ilUser->getFullname());
 
  366                $this->tpl->setVariable(
"LOGIN", 
$ilUser->getLogin());
 
  367                $this->tpl->setVariable(
"MATRICULATION", 
$ilUser->getMatriculation());
 
  368                $this->tpl->setVariable(
"EMAIL", 
$ilUser->getEmail());
 
  369                $this->tpl->parseCurrentBlock();
 
  373            $this->tpl->setVariable(
"TOPBAR_CLASS", 
" ilMemberViewMainHeader");
 
  374            $this->tpl->setVariable(
"MEMBER_VIEW_INFO", 
$lng->txt(
"mem_view_long"));
 
  377        if (!$this->topbar_back_url) {
 
  378            include_once(
"./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
 
  379            $header_top_title = ilObjSystemFolder::_getHeaderTitle();
 
  380            if (trim($header_top_title) != 
"" && $this->tpl->blockExists(
"header_top_title")) {
 
  381                $this->tpl->setCurrentBlock(
"header_top_title");
 
  383                $this->tpl->setVariable(
"TXT_HEADER_TITLE", $header_top_title);
 
  384                $this->tpl->parseCurrentBlock();
 
  387            $this->tpl->setCurrentBlock(
"header_back_bl");
 
  388            $this->tpl->setVariable(
"URL_HEADER_BACK", $this->topbar_back_url);
 
  389            $this->tpl->setVariable(
"TXT_HEADER_BACK", $this->topbar_back_caption
 
  390                ? $this->topbar_back_caption
 
  391                : 
$lng->txt(
"back"));
 
  392            $this->tpl->parseCurrentBlock();
 
  397        if ($this->
getMode() == self::MODE_FULL) {
 
  399            $this->tpl->setVariable(
"HEADER_URL", $this->
getHeaderURL());
 
  401            $this->tpl->setVariable(
"HEADER_ICON_RESPONSIVE", 
ilUtil::getImagePath(
"HeaderIconResponsive.svg"));
 
  404        include_once(
"./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
 
  406        $this->tpl->setVariable(
"TXT_MAIN_MENU", 
$lng->txt(
"main_menu"));
 
  408        $this->tpl->parseCurrentBlock();
 
  417        $ui_factory = $this->ui->factory();
 
  418        $ui_renderer = $this->ui->renderer();
 
  423            $a_tpl->setCurrentBlock(
'status_box');
 
  425            $glyph = $ui_factory->glyph()->mail(
"ilias.php?baseClass=ilMailGUI");
 
  427            if ($new_mails > 0) {
 
  428                $glyph = $glyph->withCounter($ui_factory->counter()->novelty($new_mails));
 
  431            $a_tpl->setVariable(
'GLYPH', $ui_renderer->render($glyph));
 
  432            $a_tpl->parseCurrentBlock();
 
  450        if (
$GLOBALS[
'DIC'][
'ilUser']->getId() != ANONYMOUS_USER_ID) {
 
  454                $lng->txt(
"personal_desktop"),
 
  460        if ($ilAccess->checkAccess(
'visible', 
'', ROOT_FOLDER_ID)) {
 
  461            include_once(
'./Services/Link/classes/class.ilLink.php');
 
  462            $nd = 
$tree->getNodeData(ROOT_FOLDER_ID);
 
  467            if (
$GLOBALS[
'DIC'][
'ilUser']->getId() != ANONYMOUS_USER_ID) {
 
  484            return $a_tpl->get();
 
  496    public function renderEntry($a_tpl, $a_id, $a_txt, $a_script, $a_target = 
"_top")
 
  503        $id = strtolower($a_id);
 
  504        $id_up = strtoupper($a_id);
 
  505        $a_tpl->setCurrentBlock(
"entry_" . 
$id);
 
  507        include_once(
"./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
 
  510        if ($a_id == 
"repository") {
 
  512            $gl->setAsDropDown(
true);
 
  514            include_once(
"./Services/Link/classes/class.ilLink.php");
 
  518                $icon . 
" " . $a_txt . 
" - " . 
$lng->txt(
"rep_main_page"),
 
  523            $items = $ilNavigationHistory->getItems();
 
  528            foreach ($items as $k => $item) {
 
  533                if (!isset($item[
"ref_id"]) || !isset(
$_GET[
"ref_id"]) ||
 
  534                    ($item[
"ref_id"] != 
$_GET[
"ref_id"] || !$first)) {                  
 
  536                        $gl->addGroupHeader(
$lng->txt(
"last_visited"), 
"ilLVNavEnt");
 
  542                    $gl->addEntry($icon . 
" " . $ititle, $item[
"link"], 
"_top", 
"", 
"ilLVNavEnt");
 
  549                    "» " . 
$lng->txt(
"remove_entries"),
 
  552                    "return il.MainMenu.removeLastVisitedItems('" .
 
  553                    $ilCtrl->getLinkTargetByClass(
"ilnavigationhistorygui", 
"removeEntries", 
"", 
true) . 
"');",
 
  558            $a_tpl->setVariable(
"REP_EN_OV", $gl->getHTML());
 
  562        if ($a_id == 
"desktop") {
 
  564            $gl->setAsDropDown(
true);
 
  568                $lng->txt(
"overview"),
 
  569                "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSelectedItems",
 
  580            require_once 
'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewSettings.php';
 
  584            if ($pdItemsViewSettings->allViewsEnabled()) {
 
  586                    $lng->txt(
"my_courses_groups"),
 
  587                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToMemberships",
 
  602                    $lng->txt(
"bookmarks"),
 
  603                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToBookmarks",
 
  617                $lng->loadLanguageModule(
"notes");
 
  621                    $t = 
$lng->txt(
"notes_and_comments");
 
  624                    $t = 
$lng->txt(
"notes_comments");
 
  625                    $c = 
"jumpToComments";
 
  629                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=" . $c,
 
  642            if (
$ilSetting->get(
"block_activated_news")) {
 
  645                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNews",
 
  665                    $lng->txt(
"my_staff"),
 
  679            if (!
$ilSetting->get(
"disable_personal_workspace")) {
 
  682                    $lng->txt(
"personal_workspace"),
 
  683                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace",
 
  701                    $lng->txt(
"portfolio"),
 
  702                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToPortfolio",
 
  718            if ($skmg_set->get(
"enable_skmg")) {
 
  721                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSkills",
 
  735            require_once 
'Services/Badge/classes/class.ilBadgeHandler.php';
 
  738                    $lng->txt(
'obj_bdga'),
 
  739                    'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToBadges',
 
  756            include_once(
"Services/Tracking/classes/class.ilObjUserTracking.php");
 
  762                    $lng->txt(
"learning_progress"),
 
  763                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToLP",
 
  784            include_once(
'./Services/Calendar/classes/class.ilCalendarSettings.php');
 
  788                    $lng->txt(
"calendar"),
 
  789                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToCalendar",
 
  807                    'ilias.php?baseClass=ilMailGUI',
 
  822            require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
 
  825                    $lng->txt(
'mail_addressbook'),
 
  826                    'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToContacts',
 
  842            $a_tpl->setVariable(
"DESK_CONT_OV", $gl->getHTML());
 
  845        $a_tpl->setVariable(
"TXT_" . $id_up, $a_txt);
 
  846        $a_tpl->setVariable(
"SCRIPT_" . $id_up, $a_script);
 
  847        $a_tpl->setVariable(
"TARGET_" . $id_up, $a_target);
 
  848        if ($this->active == $a_id || ($this->active == 
"" && $a_id == 
"repository")) {
 
  849            $a_tpl->setVariable(
"SEL", 
'<span class="ilAccHidden">(' . 
$lng->txt(
"stat_selected") . 
')</span>');
 
  852        if ($a_id == 
"repository") {
 
  853            include_once(
"./Services/Accessibility/classes/class.ilAccessKey.php");
 
  855                $a_tpl->setVariable(
"ACC_KEY_REPOSITORY", 
'accesskey="' .
 
  859        if ($a_id == 
"desktop") {
 
  860            include_once(
"./Services/Accessibility/classes/class.ilAccessKey.php");
 
  862                $a_tpl->setVariable(
"ACC_KEY_DESKTOP", 
'accesskey="' .
 
  868        $a_tpl->parseCurrentBlock();
 
  877        $script = 
"./" . $a_script;
 
  879            $script = 
"." . $script;
 
  891        if (
$rbacsystem->checkAccess(
"visible", SYSTEM_FOLDER_ID)) {
 
  903        include_once 
"Services/YUI/classes/class.ilYuiUtil.php";
 
  904        ilYUIUtil::initConnection();
 
  908        return $this->tpl->get();
 
  919        include_once 
'./Services/Container/classes/class.ilMemberViewSettings.php';
 
  926        include_once 
'./Services/Link/classes/class.ilLink.php';
 
  933        $this->
setMode(self::MODE_TOPBAR_MEMBERVIEW);
 
  947        $id = strtolower($a_id);
 
  948        $a_tpl->setCurrentBlock(
"entry_" . 
$id);
 
  949        include_once(
"./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
 
  951        if ($this->active == $a_id || ($this->active == 
"" && $a_id == 
"repository")) {
 
  952            $selection->setSelectionHeaderClass(
"MMActive");
 
  953            $a_tpl->setVariable(
"SEL", 
'<span class="ilAccHidden">(' . 
$lng->txt(
"stat_selected") . 
')</span>');
 
  955            $selection->setSelectionHeaderClass(
"MMInactive");
 
  958        $selection->setSelectionHeaderSpanClass(
"MMSpan");
 
  961        $selection->setItemLinkClass(
"small");
 
  962        $selection->setUseImages(
false);
 
  967                $selection->setListTitle(
$lng->txt(
"personal_desktop"));
 
  968                $selection->setId(
"dd_pd");
 
  972                    $lng->txt(
"overview"),
 
  974                    "ilias.php?baseClass=ilPersonalDesktopGUI",
 
  980                if (!
$ilSetting->get(
"disable_personal_workspace")) {
 
  983                        $lng->txt(
"personal_workspace"),
 
  985                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace",
 
  994                    $lng->txt(
"personal_profile"),
 
  996                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToProfile",
 
 1004                if ($skmg_set->get(
"enable_skmg")) {
 
 1005                    $selection->addItem(
 
 1006                        $lng->txt(
"skills"),
 
 1008                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSkills",
 
 1017                    $selection->addItem(
 
 1018                        $lng->txt(
"portfolio"),
 
 1020                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToPortfolio",
 
 1028                if (
$ilSetting->get(
"block_activated_news")) {
 
 1029                    $selection->addItem(
 
 1032                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNews",
 
 1040                include_once(
"Services/Tracking/classes/class.ilObjUserTracking.php");
 
 1043                    $selection->addItem(
 
 1044                        $lng->txt(
"learning_progress"),
 
 1046                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToLP",
 
 1054                include_once(
'./Services/Calendar/classes/class.ilCalendarSettings.php');
 
 1057                    $selection->addItem(
 
 1058                        $lng->txt(
"calendar"),
 
 1060                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToCalendar",
 
 1069                    $selection->addItem(
$lng->txt(
'mail'), 
'', 
'ilias.php?baseClass=ilMailGUI', 
'', 
'', 
'_top');
 
 1073                require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
 
 1075                    $selection->addItem(
$lng->txt(
'mail_addressbook'), 
'', 
'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToContacts', 
'', 
'', 
'_top');
 
 1080                    $selection->addItem(
 
 1081                        $lng->txt(
"notes_and_comments"),
 
 1083                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNotes",
 
 1092                    $selection->addItem(
 
 1093                        $lng->txt(
"bookmarks"),
 
 1095                        "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToBookmarks",
 
 1103                $selection->addItem(
 
 1104                    $lng->txt(
"personal_settings"),
 
 1106                    "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSettings",
 
 1115            case "administration":
 
 1116                $selection->setListTitle(
$lng->txt(
"administration"));
 
 1117                $selection->setId(
"dd_adm");
 
 1118                $selection->setAsynch(
true);
 
 1119                $selection->setAsynchUrl(
"ilias.php?baseClass=ilAdministrationGUI&cmd=getDropDown&cmdMode=asynch");
 
 1124        $a_tpl->setVariable(
"TXT_ADMINISTRATION", 
$lng->txt(
"administration"));
 
 1125        $a_tpl->parseCurrentBlock();
 
 1146        if ((
defined(
"OH_REF_ID") && OH_REF_ID > 0) || DEVMODE == 1) {
 
 1147            if ($ilHelp->getScreenId() != 
"") {
 
 1148                if ($this->
getMode() == self::MODE_FULL) {
 
 1149                    $this->tpl->setCurrentBlock(
"screen_id");
 
 1150                    $this->tpl->setVariable(
"SCREEN_ID", $ilHelp->getScreenId());
 
 1151                    $this->tpl->parseCurrentBlock();
 
 1156        $help_active = 
false;
 
 1158        include_once(
"./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
 
 1160        $helpl->setAsDropDown(
true, 
true);
 
 1162        if ($ilHelp->hasSections()) {
 
 1163            $help_active = 
true;
 
 1165            $lng->loadLanguageModule(
"help");
 
 1169            $main_tpl->addJavascript(
"./Services/Help/js/ilHelp.js");
 
 1170            include_once(
"./Services/Accordion/classes/class.ilAccordionGUI.php");
 
 1175            include_once(
"./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php");
 
 1178                $lng->txt(
"help_open_online_help"),
 
 1184            $helpl->addEntry(
"<span> </span> " . 
$lng->txt(
"help_topcis"), 
"#", 
"", 
"il.Help.listHelp(event, false);");
 
 1187        $module_id = (int) 
$ilSetting->get(
"help_module");
 
 1188        if ((OH_REF_ID > 0 || $module_id > 0) && 
$ilUser->getLanguage() == 
"de" &&
 
 1190            $help_active = 
true;
 
 1192            $lng->loadLanguageModule(
"help");
 
 1193            $main_tpl->addJavascript(
"./Services/Help/js/ilHelp.js");
 
 1195            include_once(
"./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php");
 
 1198                $lng->txt(
"help_toggle_tooltips"),
 
 1204            $helpl->addEntry(
'<span id="help_tt_switch_on" class="glyphicon glyphicon-ok"></span> ' . 
$lng->txt(
"help_tooltips"), 
"#", 
"", 
"return il.Help.switchTooltips(event);");
 
 1208            $this->tpl->setCurrentBlock(
"help");
 
 1209            $this->tpl->setVariable(
"TXT_HELP", 
$lng->txt(
"help"));
 
 1210            $this->tpl->setVariable(
"HELP_SELECT", $helpl->getHTML());
 
 1211            $this->tpl->parseCurrentBlock();
 
 1214            $ts = 
$ilCtrl->getTargetScript();
 
 1215            $ilCtrl->setTargetScript(
"ilias.php");
 
 1217            $ilHelp->setCtrlPar();
 
 1218            $this->main_tpl->addOnLoadCode(
"il.Help.setAjaxUrl('" .
 
 1219                $ilCtrl->getLinkTargetByClass(
"ilhelpgui", 
"", 
"", 
true)
 
 1221            $ilCtrl->setTargetScript($ts);
 
 1230        require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
 
 1232            require_once 
'Services/Contact/BuddySystem/classes/class.ilBuddySystemGUI.php';
 
 1239        require_once 
'Services/OnScreenChat/classes/class.ilOnScreenChatGUI.php';
 
 1246        require_once 
'Services/OnScreenChat/classes/class.ilOnScreenChatMenuGUI.php';
 
 1249        $this->tpl->setVariable(
'ONSCREENCHAT', $menu->getMainMenuHTML());
 
 1257        include_once(
"./Services/Awareness/classes/class.ilAwarenessGUI.php");
 
 1260        $this->tpl->setVariable(
"AWARENESS", $aw->getMainMenuHTML());
 
 1270        if ($this->
getMode() != self::MODE_TOPBAR_REDUCED && !
$user->isAnonymous()) {
 
 1271            $this->tpl->touchBlock(
'osd_container');
 
 1273            require_once 
'Services/Notifications/classes/class.ilNotificationOSDGUI.php';
 
 1289        $this->logo_only = (bool) $a_value;
 
 1294        include_once 
'./Services/User/classes/class.ilUserUtil.php';
 
 1298            $url = 
"./goto.php?target=root_1";
 
 1310        if (
$DIC->user()->isAnonymous() || (
int) 
$DIC->user()->getId() === 0) {
 
 1314        $DIC->language()->loadLanguageModule(
"background_tasks");
 
 1316        $persistence = 
$DIC->backgroundTasks()->persistence();
 
 1317        $metas = $persistence->getBucketMetaOfUser(
$DIC->user()->getId());
 
 1318        if (!count($metas)) {
 
 1322        $numberOfUserInteractions = count(array_filter($metas, 
function (
BucketMeta $meta) {
 
 1323            return $meta->
getState() == State::USER_INTERACTION;
 
 1325        $numberOfNotUserInteractions = count($metas) - $numberOfUserInteractions;
 
 1329                           ->withFixedPosition()
 
 1330                           ->withTitle(
$DIC->language()->txt(
"background_tasks_running")); 
 
 1331        $DIC->ctrl()->clearParametersByClass(ilBTControllerGUI::class);
 
 1332        $DIC->ctrl()->setParameterByClass(
 
 1333            ilBTControllerGUI::class,
 
 1337        $DIC->ctrl()->setParameterByClass(
 
 1338            ilBTControllerGUI::class,
 
 1340            $popover->getReplaceContentSignal()->getId()
 
 1344        $popover = $popover->withAsyncContentUrl(
$url);
 
 1348                         ->withOnClick($popover->getShowSignal())
 
 1349                         ->withCounter(
$factory->counter()->novelty($numberOfUserInteractions))
 
 1350                         ->withCounter(
$factory->counter()->status($numberOfNotUserInteractions));
 
 1352        $main_tpl->addJavascript(
'./Services/BackgroundTasks/js/background_task_refresh.js');
 
 1354        $this->tpl->setVariable(
 
 1356            $DIC->ui()->renderer()->render([$glyph, $popover])
 
 1359        $this->tpl->setVariable(
'BACKGROUNDTASKS_REFRESH_URI', 
$url);
 
An exception for terminatinating execution or to throw for unit testing.
static getKey($a_func_id, $lang_key="0", $a_ignore_default=false)
Get single access key.
Accordion user interface class.
User interface class for advanced drop-down selection lists.
static getInstance()
Get instance.
const CMD_GET_POPOVER_CONTENT
static getInstance()
Constructor.
static initializeFrontend()
static _getInstance()
get singleton instance
static getMainMenuTooltip($a_item_id)
Get main menu tooltip.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
static getMailObjectRefId()
Determines the reference id of the mail object and stores this information in a local cache variable.
static getNumberOfNewMailsByUserId($usr_id)
Determines the number of new mails for the passed user id and stores this information in a local cach...
Handles display of the main menu.
populateWithBuddySystem()
Includes all buddy system/user connections related javascript code.
setTopBarBack($a_url, $a_caption=null)
renderOnScreenNotifications(\ilObjUser $user, \ilTemplate $mainTpl, \ilLanguage $lng)
setTemplateVars()
set all template variables (images, scripts, target frames, ...)
renderDropDown($a_tpl, $a_id)
GetDropDownHTML.
getLoginTargetPar()
Get target parameter for login.
__construct($a_target="_top", $a_use_start_template=false, ilTemplate $a_main_tpl=null)
renderMainMenuListEntries($a_tpl, $a_call_get=true)
desc
showLogoOnly($a_value)
Toggle rendering of main menu, search, user info.
renderAwareness()
Render awareness tool.
static getLanguageSelection($a_in_topbar=false)
renderStatusBox($a_tpl)
Render status box.
renderEntry($a_tpl, $a_id, $a_txt, $a_script, $a_target="_top")
Render main menu entry.
static _checkAdministrationPermission()
renderHelpButtons()
Render help button.
getScriptTarget($a_script)
generates complete script target (private)
initMemberView()
Init member view @global type $lng.
setLoginTargetPar($a_val)
Set target parameter for login (public sector).
const MODE_TOPBAR_MEMBERVIEW
const MODE_TOPBAR_REDUCED
populateWithOnScreenChat()
Add a search box to main menu.
static getInstance()
Get instance.
Class ilNotificationOSDGUI.
static _hasLearningProgressOtherUsers()
static _hasLearningProgressLearner()
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _lookupObjId($a_id)
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
static _lookupType($a_id, $a_reference=false)
lookup object type
static initializeFrontend()
Initialize frontend and delivers required javascript files and configuration to the global template.
Class ilPDSelectedItemsBlockViewSettings.
const CMD_JUMP_TO_MY_STAFF
static _lookupRegistrationType()
static _getSearchSettingRefId()
Read the ref_id of Search Settings object.
special template class to simplify handling of ITX/PEAR
static buildLoginTarget()
Add current object (repository/workspace) as target for login url.
UI interface hook processor.
static getStartingPointAsUrl()
Get current starting point setting as URL.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static img($a_src, $a_alt="", $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
static shortenText( $a_str, $a_len, $a_dots=false, $a_next_blank=false, $a_keep_extension=false)
shorten a string to given length.
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
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
mail($to, $subject, $message, $additional_headers=null, $additional_parameters=null)
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']