ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilObjFooterAdministrationGUI.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
24
33{
37 public const CMD_DEFAULT = 'view';
41 public const TAB_INDEX = 'index';
45 public const TAB_PERMISSIONS = 'permissions';
49 public const TAB_GROUPS = 'groups';
53 public const TAB_SUB_ITEMS = 'sub_items';
54 private readonly Container $dic;
55
56 public function __construct()
57 {
58 global $DIC;
59
60 $this->dic = $DIC;
61
62 $this->ref_id = $DIC->http()->wrapper()->query()->has('ref_id')
63 ? $DIC->http()->wrapper()->query()->retrieve('ref_id', $DIC->refinery()->kindlyTo()->int())
64 : null;
65
66 parent::__construct($this->ref_id);
67 $this->ctrl = $DIC->ctrl();
68 $this->assignObject();
69 }
70
71 #[\Override]
72 public function executeCommand(): void
73 {
74 $this->prepareOutput();
75
76 $mediator = Pons::fromDIC(['gsfo', 'rbac', 'common'], new TranslationsRepositoryDB($this->dic->database()));
77 $tabs = $mediator->tabs();
78 $tabs->add(
79 $view = $tabs
80 ->build(self::TAB_INDEX, 'groups', [self::class])
81 ->withPermission('read'),
82 $groups = $tabs
83 ->build(self::TAB_GROUPS, self::TAB_GROUPS, [ilFooterGroupsGUI::class], $view)
84 ->withPermission('read'),
85 $entries = $tabs
86 ->build(
87 self::TAB_SUB_ITEMS,
88 self::TAB_SUB_ITEMS,
89 [[ilFooterGroupsGUI::class, ilFooterEntriesGUI::class]],
90 $groups
91 )
92 ->withPermission('read'),
93 $permissions = $tabs
94 ->build(self::TAB_PERMISSIONS, 'rbac_permissions', [[self::class, ilPermissionGUI::class], 'perm'])
95 ->withPermission('edit_permissions')
96 );
97
98 $next_class = $this->ctrl->getNextClass();
99 if ($next_class === '') {
100 $this->ctrl->redirectByClass(
101 ilFooterGroupsGUI::class
102 );
103 }
104
105 $mediator->handle(self::TAB_INDEX, [ilPermissionGUI::class]);
106
107 switch (strtolower((string) $next_class)) {
108 case strtolower(ilPermissionGUI::class):
109 $tabs->activate(self::TAB_PERMISSIONS);
110 $this->ctrl->forwardCommand(new ilPermissionGUI($this));
111 return;
112 default:
113 return;
114 }
115 }
116
117 public function getType(): string
118 {
119 return 'gsfo';
120 }
121}
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:36
getType()
Functions that must be overwritten.
New implementation of ilObjectGUI.
assignObject()
create object instance as internal property (repository/workspace switch)
prepareOutput(bool $show_sub_objects=true)
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
global $DIC
Definition: shib_login.php:26