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"];
 
   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            "repository_and_objects" => 
"icon_repa",
 
  106            "personal_workspace" => 
"icon_pwsa",
 
  107            "achievements" => 
"icon_achva",
 
  108            "communication" => 
"icon_coma",
 
  109            "user_administration" => 
"icon_usra",
 
  110            "search_and_find" => 
"icon_safa",
 
  111            "extending_ilias" => 
"icon_exta" 
  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();
 
  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");
 
  150            "title" => 
$lng->txt(
"repository_admin"),
 
  151            "description" => 
$lng->txt(
"repository_admin_desc"),
 
  152            "desc" => 
$lng->txt(
"repository_admin_desc"),
 
  162            "title" => 
$lng->txt(
"general_settings"),
 
  168        foreach ($new_objects as 
$c) {
 
  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", 
'fils', 
'logs', 
'sysc', 
"recf", 
"root"),
 
  194            "layout_and_navigation" =>
 
  195                array(
"mme", 
"stys", 
"adve", 
"accs"),
 
  196            "repository_and_objects" =>
 
  197                array(
"reps", 
"crss", 
"grps", 
"prgs", 
"bibs", 
"blga", 
"cpad", 
"chta", 
"facs", 
"frma", 
"lrss",
 
  198                      "mcts", 
"mobs", 
"svyf", 
"assf", 
"wbrs", 
"wiks", 
'lsos'),
 
  199            "personal_workspace" =>
 
  200                array(
"tags", 
"cals", 
"prfa", 
"prss", 
"nots"),
 
  202                array(
"lhts", 
"skmg", 
"trac", 
"bdga", 
"cert"),
 
  204                array(
"mail", 
"cadm", 
"nwss", 
"coms", 
"adn", 
"awra"),
 
  205            "user_administration" =>
 
  206                array(
"usrf", 
'tos', 
"rolf", 
"otpl", 
"auth", 
"ps"),
 
  208                array(
"seas", 
"mds", 
"taxs"),
 
  210                array(
'ecss', 
"ltis", 
"wbdv", 
"cmis", 
"cmps", 
"extt"),
 
  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];
 
An exception for terminatinating execution or to throw for unit testing.
Class AdministrationMainBarProvider.
getIconForGroup(string $group, string $title)
getStaticSubItems()
@inheritDoc
getStaticTopItems()
@inheritDoc
Class BasicAccessCheckClosures.
Interface StaticMainMenuProvider.
Class StandardTopItemsProvider.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
if(!file_exists(getcwd() . '/ilias.ini.php'))
registration confirmation script for ilias
This describes how an icon could be modified during construction of UI.