ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
class.ilObjStaticUrlServiceGUI.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
21
28{
32 public const CMD_DEFAULT = 'main';
36 public const TAB_INDEX = 'index';
40 public const TAB_PERMISSIONS = 'permissions';
41 public const string TAB_INFO = 'info';
42
43 public function __construct()
44 {
45 global $DIC;
46
47 $this->ref_id = $DIC->http()->wrapper()->query()->has('ref_id')
48 ? $DIC->http()->wrapper()->query()->retrieve('ref_id', $DIC->refinery()->kindlyTo()->int())
49 : null;
50
51 parent::__construct($this->ref_id);
52 $this->ctrl = $DIC->ctrl();
53 $this->assignObject();
54 }
55
56 #[\Override]
57 public function executeCommand(): void
58 {
59 $this->prepareOutput();
60
61 $mediator = Pons::fromDIC(['stus', 'rbac', 'common', 'ui']);
62 $mediator->setGeneralLanguagePrefix('stus');
63 $tabs = $mediator->tabs();
64 $tabs->add(
65 $view = $tabs
66 ->build(self::TAB_INDEX, 'index', [ShortlinkAdministrationGUI::class])
67 ->withPermission('read'),
68 /*$view = $tabs
69 ->build(self::TAB_INFO, 'info', [ShortlinkInfoGUI::class])
70 ->withPermission('read'),*/
71 $permissions = $tabs
72 ->build(self::TAB_PERMISSIONS, 'rbac_permissions', [[self::class, ilPermissionGUI::class], 'perm'])
73 ->withPermission('edit_permissions')
74 );
75
76 $next_class = $this->ctrl->getNextClass();
77 if ($next_class === '') {
78 $this->ctrl->redirectByClass(
79 ShortlinkAdministrationGUI::class,
80 'index'
81 );
82 }
83
84 $mediator->handle(self::TAB_INDEX, [ilPermissionGUI::class]);
85
86 // must handle PermissionsGUI separately as it is not handled by the mediator
87 switch (strtolower((string) $next_class)) {
88 case strtolower(ilPermissionGUI::class):
89 $tabs->activate(self::TAB_PERMISSIONS);
90 $this->ctrl->forwardCommand(new ilPermissionGUI($this));
91 return;
92 default:
93 return;
94 }
95 }
96
97 public function getType(): string
98 {
99 return 'stus';
100 }
101}
@ilCtrl_IsCalledBy ilObjStaticUrlServiceGUI: ilAdministrationGUI @ilCtrl_Calls ilObjStaticUrlServiceG...
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