33 if (!$access_helper->isUserLoggedIn()() || !$access_helper->hasAdministrationAccess()()) {
38 $this->dic->language()->loadLanguageModule(
'administration');
40 list($groups, $titems) = $this->
getGroups();
42 foreach ($groups as $group => $group_items) {
44 if (is_array($group_items) && count($group_items) > 0) {
47 foreach ($group_items as $group_item) {
48 if ($group_item ==
"---") {
52 $icon = $this->dic->ui()->factory()->symbol()->icon()->standard($titems[$group_item][
"type"], $titems[$group_item][
"title"])
53 ->withIsOutlined(
true);
55 $ref_id = $titems[$group_item][
"ref_id"];
56 if (
$_GET[
"admin_mode"] !=
'repository' && $ref_id == ROOT_FOLDER_ID) {
57 $identification = $this->
if->identifier(
'mm_adm_rep');
58 $action =
"ilias.php?baseClass=ilAdministrationGUI&ref_id=" . $ref_id .
"&admin_mode=repository";
60 $identification = $this->
if->identifier(
"mm_adm_" . $titems[$group_item][
"type"]);
61 $action =
"ilias.php?baseClass=ilAdministrationGUI&ref_id=" . $ref_id .
"&cmd=jump";
66 ->link($identification)
67 ->withTitle($titems[$group_item][
"title"])
70 ->withVisibilityCallable(
function() use($ref_id){
71 return $this->dic->rbac()->system()->checkAccess(
'visible,read', $ref_id);
76 $title = $this->dic->language()->txt(
"adm_" . $group);
79 ->linkList($this->
if->identifier(
'adm_content_' . $group))
80 ->withSupportsAsynchronousLoading(
true)
85 ->withPosition($position * 10)
86 ->withAlwaysAvailable(
true)
87 ->withNonAvailableReason($this->dic->ui()->factory()->legacy(
"{$this->dic->language()->txt('item_must_be_always_active')}"))
88 ->withVisibilityCallable(
89 $access_helper->hasAdministrationAccess()
90 )->withAvailableCallable(
91 $access_helper->isUserLoggedIn()
103 "maintenance" =>
"icon_sysa",
104 "layout_and_navigation" =>
"icon_laya",
105 "user_administration" =>
"icon_usra",
106 "personal_workspace" =>
"icon_pwsa",
107 "achievements" =>
"icon_achva",
108 "communication" =>
"icon_coma",
109 "search_and_find" =>
"icon_safa",
110 "extending_ilias" =>
"icon_exta",
111 "repository_and_objects" =>
"icon_repa" 114 return $this->dic->ui()->factory()->symbol()->icon()->custom($icon_path, $title);
123 if (!$this->dic->offsetExists(
'tree')) {
126 $tree = $this->dic->repositoryTree();
127 $rbacsystem = $this->dic->rbac()->system();
128 $lng = $this->dic->language();
130 $objects = $tree->getChilds(SYSTEM_FOLDER_ID);
132 foreach ($objects as $object) {
133 $new_objects[$object[
"title"] .
":" . $object[
"child"]]
136 if ($object[
"type"] ==
"orgu") {
137 $new_objects[$object[
"title"] .
":" . $object[
"child"]][
"title"] =
$lng->txt(
"objs_orgu");
143 $new_objects[
$lng->txt(
"repository_admin") .
":" . ROOT_FOLDER_ID]
146 "child" => ROOT_FOLDER_ID,
147 "ref_id" => ROOT_FOLDER_ID,
150 "title" =>
$lng->txt(
"repository_admin"),
151 "description" =>
$lng->txt(
"repository_admin_desc"),
152 "desc" =>
$lng->txt(
"repository_admin_desc"),
155 $new_objects[
$lng->txt(
"general_settings") .
":" . SYSTEM_FOLDER_ID]
158 "child" => SYSTEM_FOLDER_ID,
159 "ref_id" => SYSTEM_FOLDER_ID,
162 "title" =>
$lng->txt(
"general_settings"),
168 foreach ($new_objects as
$c) {
170 if ($tree->getParentId($c[
"ref_id"]) == ROOT_FOLDER_ID && $c[
"type"] !=
"adm" 171 &&
$_GET[
"admin_mode"] !=
"repository" 177 if ($c[
"type"] ==
"" || $c[
"type"] ==
"objf" 178 || $c[
"type"] ==
"xxx" 186 foreach ($items as
$i) {
187 $titems[$i[
"type"]] =
$i;
193 array(
"adm",
"lngf",
"hlps",
"wfe",
"pdfg",
'logs',
'sysc',
"recf",
"root"),
194 "layout_and_navigation" =>
195 array(
"mme",
"stys",
"adve",
"accs"),
196 "user_administration" =>
197 array(
"usrf",
'tos',
"rolf",
"otpl",
"auth",
"ps"),
198 "personal_workspace" =>
199 array(
"dshs",
"tags",
"cals",
"prfa",
"prss",
"nots"),
201 array(
"lhts",
"skmg",
"trac",
"bdga",
"cert"),
203 array(
"mail",
"cadm",
"nwss",
"coms",
"awra"),
205 array(
"seas",
"mds",
"taxs"),
207 array(
'ecss',
"ltis",
"cmis",
"cmps",
"extt"),
208 "repository_and_objects" =>
209 array(
"reps",
"crss",
"grps",
"prgs",
"bibs",
"blga",
"chta",
"facs",
"frma",
"lrss",
210 "mcts",
"mobs",
"svyf",
"assf",
"wbrs",
"wiks",
'lsos'),
214 foreach ($layout as $group => $entries) {
215 $groups[$group] = array();
216 $entries_since_last_sep =
false;
217 foreach ($entries as
$e) {
218 if ($e ==
"---" || $titems[$e][
"type"] !=
"") {
219 if ($e ==
"---" && $entries_since_last_sep) {
220 $groups[$group][] =
$e;
221 $entries_since_last_sep =
false;
224 $groups[$group][] =
$e;
225 $entries_since_last_sep =
true;
232 return [$groups, $titems];
This describes how a icon could be modified during construction of UI.
getIconForGroup(string $group, string $title)
Interface StaticMainMenuProvider.
if(!file_exists(getcwd() . '/ilias.ini.php'))
registration confirmation script for ilias
Class AdministrationMainBarProvider.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)