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

Handles display of the main menu. More...

+ Inheritance diagram for ilMainMenuGUI:
+ Collaboration diagram for ilMainMenuGUI:

Public Member Functions

 __construct ($a_target="_top", $a_use_start_template=false, ilTemplate $a_main_tpl=null)
 
 setMode ($a_value)
 
 getMode ()
 
 setTopBarBack ($a_url, $a_caption=null)
 
 getSpacerClass ()
 
 setActive ($a_active)
 
 setLoginTargetPar ($a_val)
 Set target parameter for login (public sector). More...
 
 getLoginTargetPar ()
 Get target parameter for login. More...
 
 setTemplateVars ()
 set all template variables (images, scripts, target frames, ...) More...
 
 renderStatusBox ($a_tpl)
 Render status box. More...
 
 renderMainMenuListEntries ($a_tpl, $a_call_get=true)
 desc More...
 
 renderEntry ($a_tpl, $a_id, $a_txt, $a_script, $a_target="_top")
 Render main menu entry. More...
 
 getScriptTarget ($a_script)
 generates complete script target (private) More...
 
 getHTML ()
 
 renderDropDown ($a_tpl, $a_id)
 GetDropDownHTML. More...
 
 renderHelpButtons ()
 Render help button. More...
 
 renderAwareness ()
 Render awareness tool. More...
 
 showLogoOnly ($a_value)
 Toggle rendering of main menu, search, user info. More...
 

Static Public Member Functions

static getLanguageSelection ($a_in_topbar=false)
 
static _checkAdministrationPermission ()
 

Data Fields

 $tpl
 
 $target
 
 $start_template
 
 $mail
 
const MODE_FULL = 1
 
const MODE_TOPBAR_ONLY = 2
 
const MODE_TOPBAR_REDUCED = 3
 
const MODE_TOPBAR_MEMBERVIEW = 4
 

Protected Member Functions

 initMemberView ()
 Init member view @global type $lng. More...
 
 populateWithBuddySystem ()
 Includes all buddy system/user connections related javascript code. More...
 
 populateWithOnScreenChat ()
 
 renderOnScreenChatMenu ()
 
 renderOnScreenNotifications (\ilObjUser $user, \ilTemplate $mainTpl, \ilLanguage $lng)
 
 getHeaderURL ()
 
 renderBackgroundTasks ()
 

Protected Attributes

 $rbacsystem
 
 $user
 
 $lng
 
 $plugin_admin
 
 $tree
 
 $access
 
 $nav_history
 
 $settings
 
 $ctrl
 
 $help
 
 $main_tpl
 
 $mode
 
 $topbar_back_url
 
 $topbar_back_caption
 

Detailed Description

Handles display of the main menu.

Author
Alex Killing
Version
$Id$

Definition at line 17 of file class.ilMainMenuGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilMainMenuGUI::__construct (   $a_target = "_top",
  $a_use_start_template = false,
ilTemplate  $a_main_tpl = null 
)
Parameters
string$a_targettarget frame
boolean$a_use_start_templatetrue means: target scripts should be called through start template

Definition at line 97 of file class.ilMainMenuGUI.php.

98 {
99 global $DIC;
100
101 if ($a_main_tpl != null) {
102 $this->main_tpl = $a_main_tpl;
103 } else {
104 $this->main_tpl = $DIC["tpl"];
105 }
106
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"];
114 $this->settings = $DIC->settings();
115 $this->ctrl = $DIC->ctrl();
116 $this->help = $DIC["ilHelp"];
117 $this->ui = $DIC->ui();
118 $rbacsystem = $DIC->rbac()->system();
119 $ilUser = $DIC->user();
120
121 $this->tpl = new ilTemplate(
122 "tpl.main_menu.html",
123 true,
124 true,
125 "Services/MainMenu"
126 );
127 $this->target = $a_target;
128 $this->start_template = $a_use_start_template;
129
130 $this->mail = false;
131 if ($ilUser->getId() != ANONYMOUS_USER_ID) {
132 if ($rbacsystem->checkAccess('internal_mail', ilMailGlobalServices::getMailObjectRefId())) {
133 $this->mail = true;
134 }
135 }
136
137 $this->setMode(self::MODE_FULL);
138
139 // member view
140 include_once './Services/Container/classes/class.ilMemberViewSettings.php';
142 if ($set->isActive()) {
143 $this->initMemberView();
144 }
145 }
user()
Definition: user.php:4
static getMailObjectRefId()
Determines the reference id of the mail object and stores this information in a local cache variable.
initMemberView()
Init member view @global type $lng.
static getInstance()
Get instance.
special template class to simplify handling of ITX/PEAR
mail($to, $subject, $message, $additional_headers=null, $additional_parameters=null)
global $DIC
Definition: saml.php:7
settings()
Definition: settings.php:2
$ilUser
Definition: imgupload.php:18

References $DIC, $ilUser, $rbacsystem, ilMemberViewSettings\getInstance(), ilMailGlobalServices\getMailObjectRefId(), initMemberView(), Monolog\Handler\mail(), setMode(), settings(), and user().

+ Here is the call graph for this function:

Member Function Documentation

◆ _checkAdministrationPermission()

static ilMainMenuGUI::_checkAdministrationPermission ( )
static

Definition at line 884 of file class.ilMainMenuGUI.php.

885 {
886 global $DIC;
887
888 $rbacsystem = $DIC->rbac()->system();
889
890 //if($rbacsystem->checkAccess("visible,read", SYSTEM_FOLDER_ID))
891 if ($rbacsystem->checkAccess("visible", SYSTEM_FOLDER_ID)) {
892 return true;
893 }
894 return false;
895 }

References $DIC, and $rbacsystem.

Referenced by ilObjMediaPoolGUI\createMediaFromUploadDir(), ilObjMediaPoolGUI\listMedia(), renderMainMenuListEntries(), and ilObjMediaPoolGUI\selectUploadDirFiles().

+ Here is the caller graph for this function:

◆ getHeaderURL()

ilMainMenuGUI::getHeaderURL ( )
protected

Definition at line 1292 of file class.ilMainMenuGUI.php.

1293 {
1294 include_once './Services/User/classes/class.ilUserUtil.php';
1296
1297 if (!$url) {
1298 $url = "./goto.php?target=root_1";
1299 }
1300
1301 return $url;
1302 }
static getStartingPointAsUrl()
Get current starting point setting as URL.
$url

References $url, and ilUserUtil\getStartingPointAsUrl().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getHTML()

ilMainMenuGUI::getHTML ( )

Definition at line 897 of file class.ilMainMenuGUI.php.

898 {
899 // this is a workaround for bugs like 14016
900 // the main menu does not need the YUI connection, but many other
901 // features since they rely on il.Util.sendAjaxGetRequestToUrl (see Services/Javascript)
902 // which still uses YUI. This should be migrated to jQuery with a future major release
903 include_once "Services/YUI/classes/class.ilYuiUtil.php";
904 ilYUIUtil::initConnection();
905
906 $this->setTemplateVars();
907
908 return $this->tpl->get();
909 }
setTemplateVars()
set all template variables (images, scripts, target frames, ...)

References setTemplateVars().

+ Here is the call graph for this function:

◆ getLanguageSelection()

static ilMainMenuGUI::getLanguageSelection (   $a_in_topbar = false)
static

Definition at line 201 of file class.ilMainMenuGUI.php.

202 {
203 global $DIC;
204
205 $lng = $DIC->language();
206
207 include_once("./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
208 $gr_list = new ilGroupedListGUI();
209 $gr_list->setAsDropDown(true);
210
211 $languages = $lng->getInstalledLanguages();
212 if (sizeof($languages) > 1) { // #11237
213 foreach ($languages as $lang_key) {
214 $base = substr($_SERVER["REQUEST_URI"], strrpos($_SERVER["REQUEST_URI"], "/") + 1);
215 $base = preg_replace("/&*lang=[a-z]{2}&*/", "", $base);
217 $base,
218 "lang=" . $lang_key
219 );
220 $link = str_replace("?&", "?", $link);
221
222 $gr_list->addEntry($lng->_lookupEntry($lang_key, "meta", "meta_l_" . $lang_key), $link);
223 }
224 return $gr_list->getHTML();
225 }
226 }
Grouped list GUI class.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
$base
Definition: index.php:4
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']

References $_SERVER, $base, $DIC, $lng, and ilUtil\appendUrlParameterString().

Referenced by ilStartUpGUI\getLanguageSelection(), and setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLoginTargetPar()

ilMainMenuGUI::getLoginTargetPar ( )

Get target parameter for login.

Definition at line 196 of file class.ilMainMenuGUI.php.

197 {
198 return $this->login_target_par;
199 }

Referenced by setTemplateVars().

+ Here is the caller graph for this function:

◆ getMode()

ilMainMenuGUI::getMode ( )

Definition at line 152 of file class.ilMainMenuGUI.php.

153 {
154 return $this->mode;
155 }

References $mode.

Referenced by getSpacerClass(), renderHelpButtons(), renderOnScreenNotifications(), and setTemplateVars().

+ Here is the caller graph for this function:

◆ getScriptTarget()

ilMainMenuGUI::getScriptTarget (   $a_script)

generates complete script target (private)

Definition at line 875 of file class.ilMainMenuGUI.php.

876 {
877 $script = "./" . $a_script;
878 if (defined("ILIAS_MODULE")) {
879 $script = "." . $script;
880 }
881 return $script;
882 }
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
Definition: bootstrap.php:27

References defined.

◆ getSpacerClass()

ilMainMenuGUI::getSpacerClass ( )

Reimplemented in LTI\ilMainMenuGUI.

Definition at line 163 of file class.ilMainMenuGUI.php.

164 {
165 switch ($this->getMode()) {
169 return "ilFixedTopSpacerBarOnly";
170
171 case self::MODE_FULL:
172 return "ilFixedTopSpacer";
173 }
174 }

References getMode(), MODE_FULL, MODE_TOPBAR_MEMBERVIEW, MODE_TOPBAR_ONLY, and MODE_TOPBAR_REDUCED.

+ Here is the call graph for this function:

◆ initMemberView()

ilMainMenuGUI::initMemberView ( )
protected

Init member view @global type $lng.

Definition at line 915 of file class.ilMainMenuGUI.php.

916 {
918
919 include_once './Services/Container/classes/class.ilMemberViewSettings.php';
920 $ref_id = ilMemberViewSettings::getInstance()->getCurrentRefId();
921
922 if (!$ref_id) {
923 return false;
924 }
925
926 include_once './Services/Link/classes/class.ilLink.php';
928 $ref_id,
930 array('mv' => 0)
931 );
932
933 $this->setMode(self::MODE_TOPBAR_MEMBERVIEW);
934 $this->setTopBarBack($url, $lng->txt('mem_view_close'));
935 }
setTopBarBack($a_url, $a_caption=null)
static _lookupObjId($a_id)
static _lookupType($a_id, $a_reference=false)
lookup object type

References $lng, $url, ilLink\_getLink(), ilObject\_lookupObjId(), ilObject\_lookupType(), ilMemberViewSettings\getInstance(), setMode(), and setTopBarBack().

Referenced by __construct().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateWithBuddySystem()

ilMainMenuGUI::populateWithBuddySystem ( )
protected

Includes all buddy system/user connections related javascript code.

Definition at line 1228 of file class.ilMainMenuGUI.php.

1229 {
1230 require_once 'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
1231 if (ilBuddySystem::getInstance()->isEnabled()) {
1232 require_once 'Services/Contact/BuddySystem/classes/class.ilBuddySystemGUI.php';
1234 }
1235 }

References ilBuddySystem\getInstance(), and ilBuddySystemGUI\initializeFrontend().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ populateWithOnScreenChat()

ilMainMenuGUI::populateWithOnScreenChat ( )
protected

Definition at line 1237 of file class.ilMainMenuGUI.php.

1238 {
1239 require_once 'Services/OnScreenChat/classes/class.ilOnScreenChatGUI.php';
1240
1242 }
static initializeFrontend()
Initialize frontend and delivers required javascript files and configuration to the global template.

References ilOnScreenChatGUI\initializeFrontend().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderAwareness()

ilMainMenuGUI::renderAwareness ( )

Render awareness tool.

Definition at line 1255 of file class.ilMainMenuGUI.php.

1256 {
1257 include_once("./Services/Awareness/classes/class.ilAwarenessGUI.php");
1259
1260 $this->tpl->setVariable("AWARENESS", $aw->getMainMenuHTML());
1261 }
static getInstance()
Get instance.

References ilAwarenessGUI\getInstance().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderBackgroundTasks()

ilMainMenuGUI::renderBackgroundTasks ( )
protected

Definition at line 1304 of file class.ilMainMenuGUI.php.

1305 {
1306 global $DIC;
1307
1309
1310 if ($DIC->user()->isAnonymous() || (int) $DIC->user()->getId() === 0) {
1311 return;
1312 }
1313
1314 $DIC->language()->loadLanguageModule("background_tasks");
1315 $factory = $DIC->ui()->factory();
1316 $persistence = $DIC->backgroundTasks()->persistence();
1317 $metas = $persistence->getBucketMetaOfUser($DIC->user()->getId());
1318 if (!count($metas)) {
1319 return;
1320 }
1321
1322 $numberOfUserInteractions = count(array_filter($metas, function (BucketMeta $meta) {
1323 return $meta->getState() == State::USER_INTERACTION;
1324 }));
1325 $numberOfNotUserInteractions = count($metas) - $numberOfUserInteractions;
1326
1327 $popover = $factory->popover()
1328 ->listing(array())
1329 ->withFixedPosition()
1330 ->withTitle($DIC->language()->txt("background_tasks_running")); // needs to have empty content
1331 $DIC->ctrl()->clearParametersByClass(ilBTControllerGUI::class);
1332 $DIC->ctrl()->setParameterByClass(
1333 ilBTControllerGUI::class,
1335 ilBTControllerGUI::hash("//{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}")
1336 );
1337 $DIC->ctrl()->setParameterByClass(
1338 ilBTControllerGUI::class,
1340 $popover->getReplaceContentSignal()->getId()
1341 );
1342
1343 $url = $DIC->ctrl()->getLinkTargetByClass([ ilBTControllerGUI::class ], ilBTControllerGUI::CMD_GET_POPOVER_CONTENT, "", true);
1344 $popover = $popover->withAsyncContentUrl($url);
1345
1346 $glyph = $factory->glyph()
1347 ->briefcase()
1348 ->withOnClick($popover->getShowSignal())
1349 ->withCounter($factory->counter()->novelty($numberOfUserInteractions))
1350 ->withCounter($factory->counter()->status($numberOfNotUserInteractions));
1351
1352 $main_tpl->addJavascript('./Services/BackgroundTasks/js/background_task_refresh.js');
1353
1354 $this->tpl->setVariable(
1355 'BACKGROUNDTASKS',
1356 $DIC->ui()->renderer()->render([$glyph, $popover])
1357 );
1358
1359 $this->tpl->setVariable('BACKGROUNDTASKS_REFRESH_URI', $url);
1360 }
$factory
Definition: metadata.php:47

References $DIC, $factory, $main_tpl, $url, ilBTControllerGUI\CMD_GET_POPOVER_CONTENT, ilBTControllerGUI\FROM_URL, ILIAS\BackgroundTasks\BucketMeta\getState(), ilBTControllerGUI\hash(), and ilBTControllerGUI\REPLACE_SIGNAL.

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderDropDown()

ilMainMenuGUI::renderDropDown (   $a_tpl,
  $a_id 
)

GetDropDownHTML.

Parameters

Definition at line 942 of file class.ilMainMenuGUI.php.

943 {
946
947 $id = strtolower($a_id);
948 $a_tpl->setCurrentBlock("entry_" . $id);
949 include_once("./Services/UIComponent/AdvancedSelectionList/classes/class.ilAdvancedSelectionListGUI.php");
950 $selection = new ilAdvancedSelectionListGUI();
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>');
954 } else {
955 $selection->setSelectionHeaderClass("MMInactive");
956 }
957
958 $selection->setSelectionHeaderSpanClass("MMSpan");
959
960 $selection->setHeaderIcon(ilAdvancedSelectionListGUI::ICON_ARROW);
961 $selection->setItemLinkClass("small");
962 $selection->setUseImages(false);
963
964 switch ($id) {
965 // desktop drop down
966 case "desktop":
967 $selection->setListTitle($lng->txt("personal_desktop"));
968 $selection->setId("dd_pd");
969
970 // overview
971 $selection->addItem(
972 $lng->txt("overview"),
973 "",
974 "ilias.php?baseClass=ilPersonalDesktopGUI",
975 "",
976 "",
977 "_top"
978 );
979
980 if (!$ilSetting->get("disable_personal_workspace")) {
981 // workspace
982 $selection->addItem(
983 $lng->txt("personal_workspace"),
984 "",
985 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToWorkspace",
986 "",
987 "",
988 "_top"
989 );
990 }
991
992 // profile
993 $selection->addItem(
994 $lng->txt("personal_profile"),
995 "",
996 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToProfile",
997 "",
998 "",
999 "_top"
1000 );
1001
1002 // skills
1003 $skmg_set = new ilSetting("skmg");
1004 if ($skmg_set->get("enable_skmg")) {
1005 $selection->addItem(
1006 $lng->txt("skills"),
1007 "",
1008 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToSkills",
1009 "",
1010 "",
1011 "_top"
1012 );
1013 }
1014
1015 // portfolio
1016 if ($ilSetting->get('user_portfolios')) {
1017 $selection->addItem(
1018 $lng->txt("portfolio"),
1019 "",
1020 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToPortfolio",
1021 "",
1022 "",
1023 "_top"
1024 );
1025 }
1026
1027 // news
1028 if ($ilSetting->get("block_activated_news")) {
1029 $selection->addItem(
1030 $lng->txt("news"),
1031 "",
1032 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToNews",
1033 "",
1034 "",
1035 "_top"
1036 );
1037 }
1038
1039 // Learning Progress
1040 include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
1042 //$ilTabs->addTarget("learning_progress", $this->ctrl->getLinkTargetByClass("ilLearningProgressGUI"));
1043 $selection->addItem(
1044 $lng->txt("learning_progress"),
1045 "",
1046 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToLP",
1047 "",
1048 "",
1049 "_top"
1050 );
1051 }
1052
1053 // calendar
1054 include_once('./Services/Calendar/classes/class.ilCalendarSettings.php');
1056 if ($settings->isEnabled()) {
1057 $selection->addItem(
1058 $lng->txt("calendar"),
1059 "",
1060 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToCalendar",
1061 "",
1062 "",
1063 "_top"
1064 );
1065 }
1066
1067 // mail
1068 if ($this->mail) {
1069 $selection->addItem($lng->txt('mail'), '', 'ilias.php?baseClass=ilMailGUI', '', '', '_top');
1070 }
1071
1072 // contacts
1073 require_once 'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
1074 if (ilBuddySystem::getInstance()->isEnabled()) {
1075 $selection->addItem($lng->txt('mail_addressbook'), '', 'ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToContacts', '', '', '_top');
1076 }
1077
1078 // private notes
1079 if (!$ilSetting->get("disable_notes")) {
1080 $selection->addItem(
1081 $lng->txt("notes_and_comments"),
1082 "",
1083 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToNotes",
1084 "",
1085 "",
1086 "_top"
1087 );
1088 }
1089
1090 // bookmarks
1091 if (!$ilSetting->get("disable_bookmarks")) {
1092 $selection->addItem(
1093 $lng->txt("bookmarks"),
1094 "",
1095 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToBookmarks",
1096 "",
1097 "",
1098 "_top"
1099 );
1100 }
1101
1102 // settings
1103 $selection->addItem(
1104 $lng->txt("personal_settings"),
1105 "",
1106 "ilias.php?baseClass=ilPersonalDesktopGUI&amp;cmd=jumpToSettings",
1107 "",
1108 "",
1109 "_top"
1110 );
1111
1112 break;
1113
1114 // administration
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");
1120 break;
1121
1122 }
1123
1124 $a_tpl->setVariable("TXT_ADMINISTRATION", $lng->txt("administration"));
1125 $a_tpl->parseCurrentBlock();
1126 }
User interface class for advanced drop-down selection lists.
static _getInstance()
get singleton instance
static _enabledLearningProgress()
check wether learing progress is enabled or not
ILIAS Setting Class.
if(!array_key_exists('StateId', $_REQUEST)) $id
global $ilSetting
Definition: privfeed.php:17

References $id, $ilSetting, $lng, $settings, ilObjUserTracking\_enabledLearningProgress(), ilCalendarSettings\_getInstance(), ilBuddySystem\getInstance(), ilAdvancedSelectionListGUI\ICON_ARROW, and Monolog\Handler\mail().

Referenced by renderMainMenuListEntries().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderEntry()

ilMainMenuGUI::renderEntry (   $a_tpl,
  $a_id,
  $a_txt,
  $a_script,
  $a_target = "_top" 
)

Render main menu entry.

Parameters

return

Definition at line 496 of file class.ilMainMenuGUI.php.

497 {
499 $ilNavigationHistory = $this->nav_history;
502
503 $id = strtolower($a_id);
504 $id_up = strtoupper($a_id);
505 $a_tpl->setCurrentBlock("entry_" . $id);
506
507 include_once("./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
508
509 // repository
510 if ($a_id == "repository") {
511 $gl = new ilGroupedListGUI();
512 $gl->setAsDropDown(true);
513
514 include_once("./Services/Link/classes/class.ilLink.php");
516
517 $gl->addEntry(
518 $icon . " " . $a_txt . " - " . $lng->txt("rep_main_page"),
519 ilLink::_getStaticLink(1, 'root', true),
520 "_top"
521 );
522
523 $items = $ilNavigationHistory->getItems();
524 reset($items);
525 $cnt = 0;
526 $first = true;
527
528 foreach ($items as $k => $item) {
529 if ($cnt >= 10) {
530 break;
531 }
532
533 if (!isset($item["ref_id"]) || !isset($_GET["ref_id"]) ||
534 ($item["ref_id"] != $_GET["ref_id"] || !$first)) { // do not list current item
535 if ($cnt == 0) {
536 $gl->addGroupHeader($lng->txt("last_visited"), "ilLVNavEnt");
537 }
538 $obj_id = ilObject::_lookupObjId($item["ref_id"]);
539 $cnt++;
540 $icon = ilUtil::img(ilObject::_getIcon($obj_id, "tiny"));
541 $ititle = ilUtil::shortenText(strip_tags($item["title"]), 50, true); // #11023
542 $gl->addEntry($icon . " " . $ititle, $item["link"], "_top", "", "ilLVNavEnt");
543 }
544 $first = false;
545 }
546
547 if ($cnt > 0) {
548 $gl->addEntry(
549 "» " . $lng->txt("remove_entries"),
550 "#",
551 "",
552 "return il.MainMenu.removeLastVisitedItems('" .
553 $ilCtrl->getLinkTargetByClass("ilnavigationhistorygui", "removeEntries", "", true) . "');",
554 "ilLVNavEnt"
555 );
556 }
557
558 $a_tpl->setVariable("REP_EN_OV", $gl->getHTML());
559 }
560
561 // desktop
562 if ($a_id == "desktop") {
563 $gl = new ilGroupedListGUI();
564 $gl->setAsDropDown(true);
565
566 // overview
567 $gl->addEntry(
568 $lng->txt("overview"),
569 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSelectedItems",
570 "_top",
571 "",
572 "",
573 "mm_pd_sel_items",
574 ilHelp::getMainMenuTooltip("mm_pd_sel_items"),
575 "left center",
576 "right center",
577 false
578 );
579
580 require_once 'Services/PersonalDesktop/ItemsBlock/classes/class.ilPDSelectedItemsBlockViewSettings.php';
581 $pdItemsViewSettings = new ilPDSelectedItemsBlockViewSettings($GLOBALS['DIC']->user());
582
583 // my groups and courses, if both is available
584 if ($pdItemsViewSettings->allViewsEnabled()) {
585 $gl->addEntry(
586 $lng->txt("my_courses_groups"),
587 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToMemberships",
588 "_top",
589 "",
590 "",
591 "mm_pd_crs_grp",
592 ilHelp::getMainMenuTooltip("mm_pd_crs_grp"),
593 "left center",
594 "right center",
595 false
596 );
597 }
598
599 // bookmarks
600 if (!$ilSetting->get("disable_bookmarks")) {
601 $gl->addEntry(
602 $lng->txt("bookmarks"),
603 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToBookmarks",
604 "_top",
605 "",
606 "",
607 "mm_pd_bookm",
608 ilHelp::getMainMenuTooltip("mm_pd_bookm"),
609 "left center",
610 "right center",
611 false
612 );
613 }
614
615 // private notes
616 if (!$ilSetting->get("disable_notes") || !$ilSetting->get("disable_comments")) {
617 $lng->loadLanguageModule("notes");
618 $t = $lng->txt("notes");
619 $c = "jumpToNotes";
620 if (!$ilSetting->get("disable_notes") && !$ilSetting->get("disable_comments")) {
621 $t = $lng->txt("notes_and_comments");
622 }
623 if ($ilSetting->get("disable_notes")) {
624 $t = $lng->txt("notes_comments");
625 $c = "jumpToComments";
626 }
627 $gl->addEntry(
628 $t,
629 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=" . $c,
630 "_top",
631 "",
632 "",
633 "mm_pd_notes",
634 ilHelp::getMainMenuTooltip("mm_pd_notes"),
635 "left center",
636 "right center",
637 false
638 );
639 }
640
641 // news
642 if ($ilSetting->get("block_activated_news")) {
643 $gl->addEntry(
644 $lng->txt("news"),
645 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToNews",
646 "_top",
647 "",
648 "",
649 "mm_pd_news",
650 ilHelp::getMainMenuTooltip("mm_pd_news"),
651 "left center",
652 "right center",
653 false
654 );
655 }
656
657 // overview is always active
658 $gl->addSeparator();
659
660 $separator = false;
661
662 if ($ilSetting->get("enable_my_staff") and ilMyStaffAccess::getInstance()->hasCurrentUserAccessToMyStaff() == true) {
663 // my staff
664 $gl->addEntry(
665 $lng->txt("my_staff"),
666 "ilias.php?baseClass=" . ilPersonalDesktopGUI::class . "&cmd=" . ilPersonalDesktopGUI::CMD_JUMP_TO_MY_STAFF,
667 "_top",
668 "",
669 "",
670 "mm_pd_mst",
671 ilHelp::getMainMenuTooltip("mm_pd_mst"),
672 "left center",
673 "right center",
674 false
675 );
676 $separator = true;
677 }
678
679 if (!$ilSetting->get("disable_personal_workspace")) {
680 // workspace
681 $gl->addEntry(
682 $lng->txt("personal_workspace"),
683 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToWorkspace",
684 "_top",
685 "",
686 "",
687 "mm_pd_wsp",
688 ilHelp::getMainMenuTooltip("mm_pd_wsp"),
689 "left center",
690 "right center",
691 false
692 );
693
694 $separator = true;
695 }
696
697
698 // portfolio
699 if ($ilSetting->get('user_portfolios')) {
700 $gl->addEntry(
701 $lng->txt("portfolio"),
702 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToPortfolio",
703 "_top",
704 "",
705 "",
706 "mm_pd_port",
707 ilHelp::getMainMenuTooltip("mm_pd_port"),
708 "left center",
709 "right center",
710 false
711 );
712
713 $separator = true;
714 }
715
716 // skills
717 $skmg_set = new ilSetting("skmg");
718 if ($skmg_set->get("enable_skmg")) {
719 $gl->addEntry(
720 $lng->txt("skills"),
721 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToSkills",
722 "_top",
723 "",
724 "",
725 "mm_pd_skill",
726 ilHelp::getMainMenuTooltip("mm_pd_skill"),
727 "left center",
728 "right center",
729 false
730 );
731
732 $separator = true;
733 }
734
735 require_once 'Services/Badge/classes/class.ilBadgeHandler.php';
736 if (ilBadgeHandler::getInstance()->isActive()) {
737 $gl->addEntry(
738 $lng->txt('obj_bdga'),
739 'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToBadges',
740 '_top'
741 ,
742 "",
743 "",
744 "mm_pd_contacts",
745 ilHelp::getMainMenuTooltip("mm_pd_badges"),
746 "left center",
747 "right center",
748 false
749 );
750
751 $separator = true;
752 }
753
754
755 // Learning Progress
756 include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
760 //$ilTabs->addTarget("learning_progress", $this->ctrl->getLinkTargetByClass("ilLearningProgressGUI"));
761 $gl->addEntry(
762 $lng->txt("learning_progress"),
763 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToLP",
764 "_top",
765 "",
766 "",
767 "mm_pd_lp",
768 ilHelp::getMainMenuTooltip("mm_pd_lp"),
769 "left center",
770 "right center",
771 false
772 );
773
774 $separator = true;
775 }
776
777 if ($separator) {
778 $gl->addSeparator();
779 }
780
781 $separator = false;
782
783 // calendar
784 include_once('./Services/Calendar/classes/class.ilCalendarSettings.php');
786 if ($settings->isEnabled()) {
787 $gl->addEntry(
788 $lng->txt("calendar"),
789 "ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToCalendar",
790 "_top",
791 "",
792 "",
793 "mm_pd_cal",
794 ilHelp::getMainMenuTooltip("mm_pd_cal"),
795 "left center",
796 "right center",
797 false
798 );
799
800 $separator = true;
801 }
802
803 // mail
804 if ($this->mail) {
805 $gl->addEntry(
806 $lng->txt('mail'),
807 'ilias.php?baseClass=ilMailGUI',
808 '_top',
809 "",
810 "",
811 "mm_pd_mail",
812 ilHelp::getMainMenuTooltip("mm_pd_mail"),
813 "left center",
814 "right center",
815 false
816 );
817
818 $separator = true;
819 }
820
821 // contacts
822 require_once 'Services/Contact/BuddySystem/classes/class.ilBuddySystem.php';
823 if (ilBuddySystem::getInstance()->isEnabled()) {
824 $gl->addEntry(
825 $lng->txt('mail_addressbook'),
826 'ilias.php?baseClass=ilPersonalDesktopGUI&cmd=jumpToContacts',
827 '_top'
828 ,
829 "",
830 "",
831 "mm_pd_contacts",
832 ilHelp::getMainMenuTooltip("mm_pd_contacts"),
833 "left center",
834 "right center",
835 false
836 );
837
838 $separator = true;
839 }
840
841
842 $a_tpl->setVariable("DESK_CONT_OV", $gl->getHTML());
843 }
844
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>');
850 }
851
852 if ($a_id == "repository") {
853 include_once("./Services/Accessibility/classes/class.ilAccessKey.php");
855 $a_tpl->setVariable("ACC_KEY_REPOSITORY", 'accesskey="' .
857 }
858 }
859 if ($a_id == "desktop") {
860 include_once("./Services/Accessibility/classes/class.ilAccessKey.php");
862 $a_tpl->setVariable("ACC_KEY_DESKTOP", 'accesskey="' .
864 }
865 }
866
867
868 $a_tpl->parseCurrentBlock();
869 }
$_GET["client_id"]
static getKey($a_func_id, $lang_key="0", $a_ignore_default=false)
Get single access key.
static getInstance()
Constructor.
static getMainMenuTooltip($a_item_id)
Get main menu tooltip.
static _getIcon( $a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
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.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
global $ilCtrl
Definition: ilias.php:18

References $_GET, $ctrl, $GLOBALS, $id, $ilCtrl, $ilSetting, $lng, $nav_history, $settings, $t, ilObjUserTracking\_enabledLearningProgress(), ilObject\_getIcon(), ilCalendarSettings\_getInstance(), ilLink\_getStaticLink(), ilObjUserTracking\_hasLearningProgressLearner(), ilObjUserTracking\_hasLearningProgressOtherUsers(), ilObject\_lookupObjId(), ilPersonalDesktopGUI\CMD_JUMP_TO_MY_STAFF, ilBadgeHandler\getInstance(), ilBuddySystem\getInstance(), ilMyStaffAccess\getInstance(), ilAccessKey\getKey(), ilHelp\getMainMenuTooltip(), ilUtil\img(), ilAccessKey\LAST_VISITED, Monolog\Handler\mail(), ilAccessKey\PERSONAL_DESKTOP, ilUtil\shortenText(), and user().

Referenced by renderMainMenuListEntries().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderHelpButtons()

ilMainMenuGUI::renderHelpButtons ( )

Render help button.

Parameters

return

Definition at line 1135 of file class.ilMainMenuGUI.php.

1136 {
1137 $ilHelp = $this->help;
1138 $lng = $this->lng;
1140 $tpl = $this->tpl;
1144
1145 // screen id
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();
1152 }
1153 }
1154 }
1155
1156 $help_active = false;
1157
1158 include_once("./Services/UIComponent/GroupedList/classes/class.ilGroupedListGUI.php");
1159 $helpl = new ilGroupedListGUI();
1160 $helpl->setAsDropDown(true, true);
1161
1162 if ($ilHelp->hasSections()) {
1163 $help_active = true;
1164
1165 $lng->loadLanguageModule("help");
1166 //$this->tpl->setCurrentBlock("help_icon");
1167
1168 // add javascript needed by help (to do: move to help class)
1169 $main_tpl->addJavascript("./Services/Help/js/ilHelp.js");
1170 include_once("./Services/Accordion/classes/class.ilAccordionGUI.php");
1171 $acc = new ilAccordionGUI();
1172 $acc->addJavascript($main_tpl);
1173 $acc->addCss();
1174
1175 include_once("./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php");
1177 "help_tr",
1178 $lng->txt("help_open_online_help"),
1179 "",
1180 "bottom center",
1181 "top center",
1182 false
1183 );
1184 $helpl->addEntry("<span>&nbsp;</span> " . $lng->txt("help_topcis"), "#", "", "il.Help.listHelp(event, false);");
1185 }
1186
1187 $module_id = (int) $ilSetting->get("help_module");
1188 if ((OH_REF_ID > 0 || $module_id > 0) && $ilUser->getLanguage() == "de" &&
1189 $ilSetting->get("help_mode") != "1") {
1190 $help_active = true;
1191
1192 $lng->loadLanguageModule("help");
1193 $main_tpl->addJavascript("./Services/Help/js/ilHelp.js");
1194
1195 include_once("./Services/UIComponent/Tooltip/classes/class.ilTooltipGUI.php");
1197 "help_tt",
1198 $lng->txt("help_toggle_tooltips"),
1199 "",
1200 "bottom center",
1201 "top center",
1202 false
1203 );
1204 $helpl->addEntry('<span id="help_tt_switch_on" class="glyphicon glyphicon-ok"></span> ' . $lng->txt("help_tooltips"), "#", "", "return il.Help.switchTooltips(event);");
1205 }
1206
1207 if ($help_active) {
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();
1212
1213 // always set ajax url
1214 $ts = $ilCtrl->getTargetScript();
1215 $ilCtrl->setTargetScript("ilias.php");
1216
1217 $ilHelp->setCtrlPar();
1218 $this->main_tpl->addOnLoadCode("il.Help.setAjaxUrl('" .
1219 $ilCtrl->getLinkTargetByClass("ilhelpgui", "", "", true)
1220 . "');");
1221 $ilCtrl->setTargetScript($ts);
1222 }
1223 }
Accordion user interface class.
static addTooltip( $a_el_id, $a_text, $a_container="", $a_my="bottom center", $a_at="top center", $a_use_htmlspecialchars=true)
Adds a tooltip to an HTML element.

References $ctrl, $help, $ilCtrl, $ilSetting, $ilUser, $lng, $main_tpl, $settings, $tpl, $user, ilTooltipGUI\addTooltip(), defined, and getMode().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderMainMenuListEntries()

ilMainMenuGUI::renderMainMenuListEntries (   $a_tpl,
  $a_call_get = true 
)

desc

Parameters

return

Definition at line 443 of file class.ilMainMenuGUI.php.

444 {
447 $ilAccess = $this->access;
448
449 // personal desktop
450 if ($GLOBALS['DIC']['ilUser']->getId() != ANONYMOUS_USER_ID) {
451 $this->renderEntry(
452 $a_tpl,
453 "desktop",
454 $lng->txt("personal_desktop"),
455 "#"
456 );
457 }
458
459 // repository
460 if ($ilAccess->checkAccess('visible', '', ROOT_FOLDER_ID)) {
461 include_once('./Services/Link/classes/class.ilLink.php');
462 $nd = $tree->getNodeData(ROOT_FOLDER_ID);
463 $title = $nd["title"];
464 if ($title == "ILIAS") {
465 $title = $lng->txt("repository");
466 }
467 if ($GLOBALS['DIC']['ilUser']->getId() != ANONYMOUS_USER_ID) {
468 $this->renderEntry(
469 $a_tpl,
470 "repository",
471 $title,
472 "#"
473 );
474 }
475 }
476
477
478 // administration
480 $this->renderDropDown($a_tpl, "administration");
481 }
482
483 if ($a_call_get) {
484 return $a_tpl->get();
485 }
486
487 return "";
488 }
renderDropDown($a_tpl, $a_id)
GetDropDownHTML.
renderEntry($a_tpl, $a_id, $a_txt, $a_script, $a_target="_top")
Render main menu entry.
static _checkAdministrationPermission()
$nd
Definition: error.php:10

References $access, $GLOBALS, $lng, $nd, $title, $tree, _checkAdministrationPermission(), renderDropDown(), and renderEntry().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderOnScreenChatMenu()

ilMainMenuGUI::renderOnScreenChatMenu ( )
protected

Definition at line 1244 of file class.ilMainMenuGUI.php.

1245 {
1246 require_once 'Services/OnScreenChat/classes/class.ilOnScreenChatMenuGUI.php';
1247
1248 $menu = new ilOnScreenChatMenuGUI();
1249 $this->tpl->setVariable('ONSCREENCHAT', $menu->getMainMenuHTML());
1250 }
Class ilOnScreenChatMenuGUI.

Referenced by setTemplateVars().

+ Here is the caller graph for this function:

◆ renderOnScreenNotifications()

ilMainMenuGUI::renderOnScreenNotifications ( \ilObjUser  $user,
\ilTemplate  $mainTpl,
\ilLanguage  $lng 
)
protected
Parameters
\ilObjUser$user
\ilTemplate$mainTpl
\ilLanguage$lng

Definition at line 1268 of file class.ilMainMenuGUI.php.

1269 {
1270 if ($this->getMode() != self::MODE_TOPBAR_REDUCED && !$user->isAnonymous()) {
1271 $this->tpl->touchBlock('osd_container');
1272
1273 require_once 'Services/Notifications/classes/class.ilNotificationOSDGUI.php';
1274 $osdGui = new ilNotificationOSDGUI($user, $mainTpl, $lng);
1275 $osdGui->render();
1276 }
1277 }
Class ilNotificationOSDGUI.

References $lng, $user, and getMode().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ renderStatusBox()

ilMainMenuGUI::renderStatusBox (   $a_tpl)

Render status box.

Definition at line 414 of file class.ilMainMenuGUI.php.

415 {
417 $ui_factory = $this->ui->factory();
418 $ui_renderer = $this->ui->renderer();
419
420 if ($this->mail) {
422
423 $a_tpl->setCurrentBlock('status_box');
424
425 $glyph = $ui_factory->glyph()->mail("ilias.php?baseClass=ilMailGUI");
426
427 if ($new_mails > 0) {
428 $glyph = $glyph->withCounter($ui_factory->counter()->novelty($new_mails));
429 }
430
431 $a_tpl->setVariable('GLYPH', $ui_renderer->render($glyph));
432 $a_tpl->parseCurrentBlock();
433 }
434 }
static getNumberOfNewMailsByUserId($usr_id)
Determines the number of new mails for the passed user id and stores this information in a local cach...

References $ilUser, $user, ilMailGlobalServices\getNumberOfNewMailsByUserId(), and Monolog\Handler\mail().

Referenced by setTemplateVars().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setActive()

ilMainMenuGUI::setActive (   $a_active)
Parameters
string$a_active"desktop"|"repository"|"search"|"mail"|"chat_invitation"|"administration"

Definition at line 179 of file class.ilMainMenuGUI.php.

180 {
181 $this->active = $a_active;
182 }

◆ setLoginTargetPar()

ilMainMenuGUI::setLoginTargetPar (   $a_val)

Set target parameter for login (public sector).

This is used by the main menu

Definition at line 188 of file class.ilMainMenuGUI.php.

189 {
190 $this->login_target_par = $a_val;
191 }

◆ setMode()

ilMainMenuGUI::setMode (   $a_value)

Definition at line 147 of file class.ilMainMenuGUI.php.

148 {
149 $this->mode = (int) $a_value;
150 }

Referenced by LTI\ilMainMenuGUI\__construct(), __construct(), and initMemberView().

+ Here is the caller graph for this function:

◆ setTemplateVars()

ilMainMenuGUI::setTemplateVars ( )

set all template variables (images, scripts, target frames, ...)

Reimplemented in LTI\ilMainMenuGUI.

Definition at line 231 of file class.ilMainMenuGUI.php.

232 {
236 $ilPluginAdmin = $this->plugin_admin;
238
239 if ($this->logo_only) {
240 $this->tpl->setVariable("HEADER_URL", $this->getHeaderURL());
241 $this->tpl->setVariable("HEADER_ICON", ilUtil::getImagePath("HeaderIcon.svg"));
242 $this->tpl->setVariable("HEADER_ICON_RESPONSIVE", ilUtil::getImagePath("HeaderIconResponsive.svg"));
243
244 // #15759
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();
251 }
252
253 return;
254 }
255
256 // get user interface plugins
257 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "UIComponent", "uihk");
258
259 if ($this->getMode() != self::MODE_TOPBAR_REDUCED &&
260 $this->getMode() != self::MODE_TOPBAR_MEMBERVIEW) {
261 // search
262 include_once 'Services/Search/classes/class.ilSearchSettings.php';
263 if ($rbacsystem->checkAccess('search', ilSearchSettings::_getSearchSettingRefId())) {
264 include_once './Services/Search/classes/class.ilMainMenuSearchGUI.php';
265 $main_search = new ilMainMenuSearchGUI();
266 $html = "";
267
268 // user interface plugin slot + default rendering
269 include_once("./Services/UIComponent/classes/class.ilUIHookProcessor.php");
270 $uip = new ilUIHookProcessor(
271 "Services/MainMenu",
272 "main_menu_search",
273 array("main_menu_gui" => $this, "main_menu_search_gui" => $main_search)
274 );
275 if (!$uip->replaced()) {
276 $html = $main_search->getHTML();
277 }
278 $html = $uip->getHTML($html);
279
280 if (strlen($html)) {
281 $this->tpl->setVariable('SEARCHBOX', $html);
282 }
283 }
284
285 $this->renderStatusBox($this->tpl);
286
287 // online help
288 $this->renderHelpButtons();
289
290 $this->renderOnScreenChatMenu();
293 $this->renderBackgroundTasks();
294 $this->renderAwareness();
295 }
296
297 if ($this->getMode() == self::MODE_FULL) {
298 $mmle_html = "";
299
300 // user interface plugin slot + default rendering
301 include_once("./Services/UIComponent/classes/class.ilUIHookProcessor.php");
302 $uip = new ilUIHookProcessor(
303 "Services/MainMenu",
304 "main_menu_list_entries",
305 array("main_menu_gui" => $this)
306 );
307 if (!$uip->replaced()) {
308 $mmle_tpl = new ilTemplate("tpl.main_menu_list_entries.html", true, true, "Services/MainMenu");
309 $mmle_html = $this->renderMainMenuListEntries($mmle_tpl);
310 }
311 $mmle_html = $uip->getHTML($mmle_html);
312
313 $this->tpl->setVariable("MAIN_MENU_LIST_ENTRIES", $mmle_html);
314 }
315
316 if ($this->getMode() != self::MODE_TOPBAR_MEMBERVIEW) {
317 $link_dir = (defined("ILIAS_MODULE"))
318 ? "../"
319 : "";
320
321 // login stuff
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();
329 }
330
331 // language selection
332 $selection = self::getLanguageSelection();
333 if ($selection) {
334 $this->tpl->setVariable("TXT_LANGSELECT", $lng->txt("language"));
335 $this->tpl->setVariable("LANG_SELECT", $selection);
336 }
337
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"));
341
342 // #13058
343 $target_str = ($this->getLoginTargetPar() != "")
344 ? $this->getLoginTargetPar()
346 $this->tpl->setVariable(
347 "LINK_LOGIN",
348 $link_dir . "login.php?target=" . $target_str . "&client_id=" . rawurlencode(CLIENT_ID) . "&cmd=force_login&lang=" . $ilUser->getCurrentLanguage()
349 );
350 $this->tpl->parseCurrentBlock();
351 } else {
353
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();
370 }
371 } else {
372 // member view info
373 $this->tpl->setVariable("TOPBAR_CLASS", " ilMemberViewMainHeader");
374 $this->tpl->setVariable("MEMBER_VIEW_INFO", $lng->txt("mem_view_long"));
375 }
376
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");
382 // php7-workaround alex: added phpversion() to help during development of php7 compatibility
383 $this->tpl->setVariable("TXT_HEADER_TITLE", $header_top_title);
384 $this->tpl->parseCurrentBlock();
385 }
386 } else {
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();
393 }
394
395 $this->tpl->setVariable("LOCATION_STYLESHEET", ilUtil::getStyleSheetLocation());
396
397 if ($this->getMode() == self::MODE_FULL) {
398 // $this->tpl->setVariable("TXT_LOGOUT", $lng->txt("logout"));
399 $this->tpl->setVariable("HEADER_URL", $this->getHeaderURL());
400 $this->tpl->setVariable("HEADER_ICON", ilUtil::getImagePath("HeaderIcon.svg"));
401 $this->tpl->setVariable("HEADER_ICON_RESPONSIVE", ilUtil::getImagePath("HeaderIconResponsive.svg"));
402 }
403
404 include_once("./Modules/SystemFolder/classes/class.ilObjSystemFolder.php");
405
406 $this->tpl->setVariable("TXT_MAIN_MENU", $lng->txt("main_menu"));
407
408 $this->tpl->parseCurrentBlock();
409 }
const IL_COMP_SERVICE
populateWithBuddySystem()
Includes all buddy system/user connections related javascript code.
renderOnScreenNotifications(\ilObjUser $user, \ilTemplate $mainTpl, \ilLanguage $lng)
getLoginTargetPar()
Get target parameter for login.
renderMainMenuListEntries($a_tpl, $a_call_get=true)
desc
renderAwareness()
Render awareness tool.
static getLanguageSelection($a_in_topbar=false)
renderStatusBox($a_tpl)
Render status box.
renderHelpButtons()
Render help button.
Add a search box to main menu.
static _getSearchSettingRefId()
Read the ref_id of Search Settings object.
static buildLoginTarget()
Add current object (repository/workspace) as target for login url.
UI interface hook processor.
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$html
Definition: example_001.php:87

References $GLOBALS, $html, $ilUser, $lng, $main_tpl, $plugin_admin, $rbacsystem, $user, ilSearchSettings\_getSearchSettingRefId(), ilRegistrationSettings\_lookupRegistrationType(), ilTemplate\buildLoginTarget(), defined, getHeaderURL(), ilUtil\getImagePath(), getLanguageSelection(), getLoginTargetPar(), getMode(), ilUtil\getStyleSheetLocation(), IL_COMP_SERVICE, IL_REG_DISABLED, ilUtil\img(), populateWithBuddySystem(), populateWithOnScreenChat(), renderAwareness(), renderBackgroundTasks(), renderHelpButtons(), renderMainMenuListEntries(), renderOnScreenChatMenu(), renderOnScreenNotifications(), and renderStatusBox().

Referenced by getHTML().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTopBarBack()

ilMainMenuGUI::setTopBarBack (   $a_url,
  $a_caption = null 
)

Definition at line 157 of file class.ilMainMenuGUI.php.

158 {
159 $this->topbar_back_url = $a_url;
160 $this->topbar_back_caption = trim($a_caption);
161 }

Referenced by initMemberView().

+ Here is the caller graph for this function:

◆ showLogoOnly()

ilMainMenuGUI::showLogoOnly (   $a_value)

Toggle rendering of main menu, search, user info.

See also
ilImprintGUI
Parameters
bool$a_value

Definition at line 1287 of file class.ilMainMenuGUI.php.

1288 {
1289 $this->logo_only = (bool) $a_value;
1290 }

Field Documentation

◆ $access

ilMainMenuGUI::$access
protected

Definition at line 47 of file class.ilMainMenuGUI.php.

Referenced by renderMainMenuListEntries().

◆ $ctrl

ilMainMenuGUI::$ctrl
protected

Definition at line 62 of file class.ilMainMenuGUI.php.

Referenced by renderEntry(), and renderHelpButtons().

◆ $help

ilMainMenuGUI::$help
protected

Definition at line 67 of file class.ilMainMenuGUI.php.

Referenced by renderHelpButtons().

◆ $lng

◆ $mail

ilMainMenuGUI::$mail

Definition at line 76 of file class.ilMainMenuGUI.php.

◆ $main_tpl

ilMainMenuGUI::$main_tpl
protected

◆ $mode

ilMainMenuGUI::$mode
protected

Definition at line 83 of file class.ilMainMenuGUI.php.

Referenced by getMode().

◆ $nav_history

ilMainMenuGUI::$nav_history
protected

Definition at line 52 of file class.ilMainMenuGUI.php.

Referenced by renderEntry().

◆ $plugin_admin

ilMainMenuGUI::$plugin_admin
protected

Definition at line 37 of file class.ilMainMenuGUI.php.

Referenced by setTemplateVars().

◆ $rbacsystem

◆ $settings

ilMainMenuGUI::$settings
protected

Definition at line 57 of file class.ilMainMenuGUI.php.

Referenced by renderDropDown(), renderEntry(), and renderHelpButtons().

◆ $start_template

ilMainMenuGUI::$start_template

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

◆ $target

ilMainMenuGUI::$target

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

◆ $topbar_back_caption

ilMainMenuGUI::$topbar_back_caption
protected

Definition at line 85 of file class.ilMainMenuGUI.php.

◆ $topbar_back_url

ilMainMenuGUI::$topbar_back_url
protected

Definition at line 84 of file class.ilMainMenuGUI.php.

◆ $tpl

ilMainMenuGUI::$tpl

Definition at line 72 of file class.ilMainMenuGUI.php.

Referenced by renderHelpButtons().

◆ $tree

ilMainMenuGUI::$tree
protected

◆ $user

ilMainMenuGUI::$user
protected

◆ MODE_FULL

const ilMainMenuGUI::MODE_FULL = 1

◆ MODE_TOPBAR_MEMBERVIEW

const ilMainMenuGUI::MODE_TOPBAR_MEMBERVIEW = 4

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

Referenced by getSpacerClass().

◆ MODE_TOPBAR_ONLY

const ilMainMenuGUI::MODE_TOPBAR_ONLY = 2

◆ MODE_TOPBAR_REDUCED

const ilMainMenuGUI::MODE_TOPBAR_REDUCED = 3

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

Referenced by getSpacerClass(), and ilTemplate\setLocator().


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