54 public function __construct($a_data,
int $a_id,
bool $a_call_by_reference)
60 $this->file_object_settings = new \ILIAS\Modules\File\Settings\Form(
new General());
61 $this->
http = $DIC->http();
62 $this->ui_factory = $DIC->ui()->factory();
63 $this->ui_renderer = $DIC->ui()->renderer();
69 if (!$this->
access->checkAccess($permission,
'', $this->object->getRefId())) {
70 $this->
ilias->raiseError(
71 $this->
lng->txt(
'no_permission'),
72 $this->
ilias->error_obj->MESSAGE
79 return $this->ui_factory->input()->container()->form()->standard(
80 $this->
ctrl->getLinkTarget($this, self::CMD_SAVE_SETTINGS),
82 $this->file_object_settings->asFormSection(),
83 $this->preview_settings->asFormSection(),
90 $this->
lng->loadLanguageModule(
"file");
96 switch ($this->
ctrl->getNextClass($this)) {
97 case 'ilpermissiongui':
98 $this->tabs_gui->setTabActive(
'perm_settings');
100 $this->
ctrl->forwardCommand($perm_gui);
102 case strtolower(ilObjFileIconsOverviewGUI::class):
103 $this->tabs_gui->setTabActive(
'file_objects');
105 $this->tabs_gui->setSubTabActive(self::SUBTAB_SUFFIX_SPECIFIC_ICONS);
107 $this->
ctrl->forwardCommand($icon_overview);
110 $cmd = $this->
ctrl->getCmd(self::CMD_EDIT_SETTINGS);
111 $this->tabs_gui->setTabActive(
'file_objects');
114 case self::CMD_EDIT_SETTINGS:
118 case self::CMD_SAVE_SETTINGS:
123 throw new ilException(
"ilObjFileAccessSettingsGUI: Command not found: $cmd");
131 if ($this->rbac_system->checkAccess(
"visible,read", $this->object->getRefId())) {
132 $this->tabs_gui->addTarget(
134 $this->
ctrl->getLinkTarget($this, self::CMD_EDIT_SETTINGS),
135 [self::CMD_EDIT_SETTINGS, self::CMD_VIEW]
138 if ($this->rbac_system->checkAccess(
'edit_permission', $this->object->getRefId())) {
139 $this->tabs_gui->addTarget(
141 $this->
ctrl->getLinkTargetByClass(
'ilpermissiongui',
"perm"),
150 $this->tabs_gui->addSubTabTarget(
152 $this->
ctrl->getLinkTarget($this, self::CMD_EDIT_SETTINGS),
153 array(self::CMD_EDIT_SETTINGS,
"view")
155 $this->tabs_gui->addSubTabTarget(
156 self::SUBTAB_SUFFIX_SPECIFIC_ICONS,
157 $this->
ctrl->getLinkTargetByClass(ilObjFileIconsOverviewGUI::class, ilObjFileIconsOverviewGUI::CMD_INDEX),
158 array(ilObjFileIconsOverviewGUI::CMD_INDEX,
"view")
166 $this->tabs_gui->setSubTabActive(
"settings");
168 $this->tpl->setContent($this->ui_renderer->render($this->buildForm()));
174 $form = $form->withRequest($this->
http->request());
176 if ($form->getData() === null) {
177 $this->tpl->setContent($this->ui_renderer->render($form));
181 $this->tpl->setOnScreenMessage(
183 $this->
language->txt(
'settings_saved'),
186 $this->
ctrl->redirect($this, self::CMD_EDIT_SETTINGS);
prepareOutput(bool $show_sub_objects=true)
Class ChatMainBarProvider .
__construct($a_data, int $a_id, bool $a_call_by_reference)
Constructor.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
checkAccess(string $permission)
ILIAS Modules File Preview Form $preview_settings
Class ilObjFileAccessSettingsGUI.
static http()
Fetches the global http state from ILIAS.
const SUBTAB_SUFFIX_SPECIFIC_ICONS
Class ilObjectGUI Basic methods of all Output classes.
ILIAS Modules File Settings Form $file_object_settings
header include for all ilias files.
ILIAS UI Factory $ui_factory
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
const CMD_SHOW_PREVIEW_RENDERERS
ILIAS UI Renderer $ui_renderer