ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\File\Icon\ilObjFileIconsOverviewGUI Class Reference
+ Collaboration diagram for ILIAS\File\Icon\ilObjFileIconsOverviewGUI:

Public Member Functions

 __construct ()
 
 executeCommand ()
 
 changeActivation ()
 
 create ()
 
 update ()
 
 delete ()
 

Data Fields

const CMD_INDEX = 'index'
 
const CMD_OPEN_CREATION_FORM = 'openCreationForm'
 
const CMD_OPEN_UPDATING_FORM = 'openUpdatingForm'
 
const CMD_CHANGE_ACTIVATION = 'changeActivation'
 
const CMD_CREATE = 'create'
 
const CMD_UPDATE = 'update'
 
const CMD_DELETE = 'delete'
 
const P_RID = 'rid'
 

Private Member Functions

 index ()
 
 openCreationForm ()
 
 openUpdatingForm ()
 

Private Attributes

ilCtrl $ctrl
 
ilLanguage $lng
 
ilToolbarGUI $toolbar
 
Factory $ui_factory
 
Renderer $ui_renderer
 
ilGlobalTemplateInterface $main_tpl
 
WrapperFactory $wrapper
 
RequestInterface $http_request
 
ILIAS Refinery Factory $refinery
 
Services $storage
 
IconRepositoryInterface $icon_repo
 
ilFileServicesSettings $file_service_settings
 

Detailed Description

Definition at line 34 of file class.ilObjFileIconsOverviewGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::__construct ( )
final

Definition at line 58 of file class.ilObjFileIconsOverviewGUI.php.

59 {
60 global $DIC;
61 $this->ctrl = $DIC->ctrl();
62 $this->lng = $DIC->language();
63 $this->lng->loadLanguageModule('file');
64 $this->toolbar = $DIC->toolbar();
65 $this->main_tpl = $DIC->ui()->mainTemplate();
66 $this->ui_factory = $DIC->ui()->factory();
67 $this->ui_renderer = $DIC->ui()->renderer();
68 $this->http_request = $DIC->http()->request();
69 $this->wrapper = $DIC->http()->wrapper();
70 $this->refinery = $DIC->refinery();
71 $this->storage = $DIC->resourceStorage();
72 $this->icon_repo = new IconDatabaseRepository();
73 $this->file_service_settings = $DIC->fileServiceSettings();
74 }
global $DIC
Definition: shib_login.php:26

References $DIC, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ILIAS\Repository\toolbar().

+ Here is the call graph for this function:

Member Function Documentation

◆ changeActivation()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::changeActivation ( )

Definition at line 145 of file class.ilObjFileIconsOverviewGUI.php.

145 : void
146 {
147 $to_str = $this->refinery->to()->string();
148 $rid = $this->wrapper->query()->has(self::P_RID) ? $rid = $this->wrapper->query()->retrieve(
149 self::P_RID,
150 $to_str
151 ) : "";
152 $icon = $this->icon_repo->getIconByRid($rid);
153 $suffixes = $icon->getSuffixes();
154 $icon->isActive();
155 $is_default_icon = $icon->isDefaultIcon();
156
157 if (!$icon->isActive()) {
158 // in case of a change from deactivated to activated no two icons with overlapping suffixes must be active at the same time
159 if ($this->icon_repo->causesNoActiveSuffixesConflict($suffixes, true, $icon)) {
160 $this->icon_repo->updateIcon($rid, true, $is_default_icon, $suffixes);
161
162 $this->main_tpl->setOnScreenMessage('success', $this->lng->txt('msg_success_icon_activated'), true);
163 } else {
164 $this->main_tpl->setOnScreenMessage(
165 'failure',
166 $this->lng->txt('msg_error_active_suffixes_conflict'),
167 true
168 );
169 }
170 } else {
171 $this->icon_repo->updateIcon($rid, false, $is_default_icon, $suffixes);
172 $this->main_tpl->setOnScreenMessage('success', $this->lng->txt('msg_success_icon_deactivated'), true);
173 }
174
175 $this->ctrl->redirect($this, self::CMD_INDEX);
176 }

References ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\refinery().

Referenced by ILIAS\File\Icon\ilObjFileIconsOverviewGUI\executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::create ( )

Definition at line 178 of file class.ilObjFileIconsOverviewGUI.php.

178 : void
179 {
180 $ui = new IconFormUI(new NullIcon(), IconFormUI::MODE_CREATE, $this->icon_repo);
181 $form = $ui->getIconForm();
182
183 if ($this->http_request->getMethod() === "POST") {
184 $form = $form->withRequest($this->http_request);
185 $result = $form->getData();
186
187 if ($result !== null) {
188 $rid = $result[0][IconFormUI::INPUT_ICON][0];
189 $active = $result[0][IconFormUI::INPUT_ACTIVE];
190 $suffixes = $result[0][IconFormUI::INPUT_SUFFIXES];
191
192 $this->icon_repo->createIcon($rid, $active, false, $suffixes);
193
194 // check if one of the suffixes is not whitelisted
195 if (array_diff($suffixes, $this->file_service_settings->getWhiteListedSuffixes()) !== []) {
196 $this->main_tpl->setOnScreenMessage(
197 'info',
198 $this->lng->txt('msg_error_active_suffixes_not_whitelisted'),
199 true
200 );
201 }
202
203 // check if one of the suffixes is blacklisted
204 if (array_intersect($suffixes, $this->file_service_settings->getBlackListedSuffixes()) !== []) {
205 $this->main_tpl->setOnScreenMessage(
206 'info',
207 $this->lng->txt('msg_error_active_suffixes_blacklisted'),
208 true
209 );
210 }
211
212 $this->main_tpl->setOnScreenMessage('success', $this->lng->txt('msg_success_icon_created'), true);
213 $this->ctrl->redirect($this, self::CMD_INDEX);
214 } else {
215 $this->main_tpl->setContent(
216 $this->ui_renderer->render([$form])
217 );
218 }
219 }
220 }

References ILIAS\Repository\ctrl(), ILIAS\File\Icon\IconFormUI\INPUT_ACTIVE, ILIAS\File\Icon\IconFormUI\INPUT_ICON, ILIAS\File\Icon\IconFormUI\INPUT_SUFFIXES, ILIAS\Repository\lng(), and ILIAS\File\Icon\IconFormUI\MODE_CREATE.

Referenced by ILIAS\File\Icon\ilObjFileIconsOverviewGUI\executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ delete()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::delete ( )

Definition at line 257 of file class.ilObjFileIconsOverviewGUI.php.

257 : void
258 {
259 $to_str = $this->refinery->to()->string();
260 $rid = $this->wrapper->query()->has(self::P_RID) ? $rid = $this->wrapper->query()->retrieve(
261 self::P_RID,
262 $to_str
263 ) : "";
264
265 // delete icon from irss
266 $is_deleted_from_irss = false;
267 $id = $this->storage->manage()->find($rid);
268 if ($id instanceof ResourceIdentification) {
269 $this->storage->manage()->remove($id, new ilObjFileIconStakeholder());
270 $is_deleted_from_irss = true;
271 }
272 // delete icon from db
273 $is_deleted_from_db = $this->icon_repo->deleteIconByRid($rid);
274
275 if ($is_deleted_from_irss && $is_deleted_from_db) {
276 $this->main_tpl->setOnScreenMessage('success', $this->lng->txt('msg_success_icon_deletion'), true);
277 } elseif ($is_deleted_from_irss) {
278 $this->main_tpl->setOnScreenMessage(
279 'failure',
280 $this->lng->txt('msg_error_icon_deletion') . " " . $this->lng->txt('msg_icon_missing_from_db'),
281 true
282 );
283 } elseif ($is_deleted_from_db) {
284 $this->main_tpl->setOnScreenMessage(
285 'failure',
286 $this->lng->txt('msg_error_icon_deletion') . " " . $this->lng->txt('msg_icon_missing_from_irss'),
287 true
288 );
289 } else {
290 $this->main_tpl->setOnScreenMessage(
291 'failure',
292 $this->lng->txt('msg_error_icon_deletion') . " " . $this->lng->txt(
293 'msg_icon_missing_from_db'
294 ) . " " . $this->lng->txt('msg_icon_missing_from_irss'),
295 true
296 );
297 }
298 $this->ctrl->redirect($this, self::CMD_INDEX);
299 }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23

References $id, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), and ILIAS\Repository\refinery().

+ Here is the call graph for this function:

◆ executeCommand()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::executeCommand ( )
final

Definition at line 76 of file class.ilObjFileIconsOverviewGUI.php.

76 : void
77 {
78 $next_class = $this->ctrl->getNextClass(self::class);
79 if ($next_class === strtolower(ilIconUploadHandlerGUI::class)) {
80 $upload_handler = new ilIconUploadHandlerGUI();
81 $this->ctrl->forwardCommand($upload_handler);
82 }
83
84 match ($cmd = $this->ctrl->getCmd(self::CMD_INDEX)) {
85 self::CMD_OPEN_CREATION_FORM => $this->openCreationForm(),
86 self::CMD_OPEN_UPDATING_FORM => $this->openUpdatingForm(),
87 self::CMD_CHANGE_ACTIVATION => $this->changeActivation(),
88 self::CMD_CREATE => $this->create(),
89 self::CMD_UPDATE => $this->update(),
90 self::CMD_DELETE => $this->delete(),
91 default => $this->index(),
92 };
93 }

References ILIAS\File\Icon\ilObjFileIconsOverviewGUI\changeActivation(), ILIAS\File\Icon\ilObjFileIconsOverviewGUI\create(), ILIAS\Repository\ctrl(), ILIAS\File\Icon\ilObjFileIconsOverviewGUI\index(), ILIAS\File\Icon\ilObjFileIconsOverviewGUI\openCreationForm(), ILIAS\File\Icon\ilObjFileIconsOverviewGUI\openUpdatingForm(), and ILIAS\File\Icon\ilObjFileIconsOverviewGUI\update().

+ Here is the call graph for this function:

◆ index()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::index ( )
private

Definition at line 95 of file class.ilObjFileIconsOverviewGUI.php.

95 : void
96 {
97 // toolbar: add new icon button
98 $btn_new_icon = $this->ui_factory->button()->standard(
99 $this->lng->txt('add_icon'),
100 $this->ctrl->getLinkTargetByClass(self::class, self::CMD_OPEN_CREATION_FORM)
101 );
102 $this->toolbar->addComponent($btn_new_icon);
103
104 // Listing of icons
105 $listing = new IconListingUI(
106 $this->icon_repo,
107 $this
108 );
109
110 $content = [];
111 $content[] = $listing->getFilter();
112 $content[] = $listing->getIconList();
113 $content[] = $listing->getDeletionModals();
114
115 $this->main_tpl->setContent(
116 $this->ui_renderer->render($content)
117 );
118 }

References ILIAS\Repository\lng(), and ILIAS\Repository\toolbar().

Referenced by ILIAS\File\Icon\ilObjFileIconsOverviewGUI\executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ openCreationForm()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::openCreationForm ( )
private

Definition at line 120 of file class.ilObjFileIconsOverviewGUI.php.

120 : void
121 {
122 $icon_form_ui = new IconFormUI(new NullIcon('', true), IconFormUI::MODE_CREATE, $this->icon_repo);
123 $icon_form = $icon_form_ui->getIconForm();
124 $this->main_tpl->setContent(
125 $this->ui_renderer->render($icon_form)
126 );
127 }

References ILIAS\File\Icon\IconFormUI\MODE_CREATE.

Referenced by ILIAS\File\Icon\ilObjFileIconsOverviewGUI\executeCommand().

+ Here is the caller graph for this function:

◆ openUpdatingForm()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::openUpdatingForm ( )
private

Definition at line 129 of file class.ilObjFileIconsOverviewGUI.php.

129 : void
130 {
131 $to_str = $this->refinery->to()->string();
132 $rid = $this->wrapper->query()->has(self::P_RID) ? $rid = $this->wrapper->query()->retrieve(
133 self::P_RID,
134 $to_str
135 ) : "";
136 $this->ctrl->setParameter($this, self::P_RID, $rid); //store rid for giving icon to form in update function
137 $icon = $this->icon_repo->getIconByRid($rid);
138 $icon_form_ui = new IconFormUI($icon, IconFormUI::MODE_EDIT, $this->icon_repo);
139 $icon_form = $icon_form_ui->getIconForm();
140 $this->main_tpl->setContent(
141 $this->ui_renderer->render($icon_form)
142 );
143 }

References ILIAS\Repository\ctrl(), ILIAS\File\Icon\IconFormUI\MODE_EDIT, and ILIAS\Repository\refinery().

Referenced by ILIAS\File\Icon\ilObjFileIconsOverviewGUI\executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ update()

ILIAS\File\Icon\ilObjFileIconsOverviewGUI::update ( )

Definition at line 222 of file class.ilObjFileIconsOverviewGUI.php.

222 : void
223 {
224 $to_str = $this->refinery->to()->string();
225 $rid = $this->wrapper->query()->has(self::P_RID) ? $rid = $this->wrapper->query()->retrieve(
226 self::P_RID,
227 $to_str
228 ) : "";
229 $this->ctrl->saveParameter(
230 $this,
231 self::P_RID
232 ); //save rid to still have it when re-submitting a previously wrongly filled out form
233 $icon = $this->icon_repo->getIconByRid($rid);
234 $ui = new IconFormUI($icon, IconFormUI::MODE_EDIT, $this->icon_repo);
235 $form = $ui->getIconForm();
236
237 if ($this->http_request->getMethod() === "POST") {
238 $form = $form->withRequest($this->http_request);
239 $result = $form->getData();
240
241 if ($result !== null) {
242 $rid = $result[0][IconFormUI::INPUT_ICON][0];
243 $active = $result[0][IconFormUI::INPUT_ACTIVE];
244 $suffixes = $result[0][IconFormUI::INPUT_SUFFIXES];
245
246 $this->icon_repo->updateIcon($rid, $active, false, $suffixes);
247 $this->main_tpl->setOnScreenMessage('success', $this->lng->txt('msg_success_icon_updated'), true);
248 $this->ctrl->redirect($this, self::CMD_INDEX);
249 } else {
250 $this->main_tpl->setContent(
251 $this->ui_renderer->render([$form])
252 );
253 }
254 }
255 }

References ILIAS\Repository\ctrl(), ILIAS\File\Icon\IconFormUI\INPUT_ACTIVE, ILIAS\File\Icon\IconFormUI\INPUT_ICON, ILIAS\File\Icon\IconFormUI\INPUT_SUFFIXES, ILIAS\Repository\lng(), ILIAS\File\Icon\IconFormUI\MODE_EDIT, and ILIAS\Repository\refinery().

Referenced by ILIAS\File\Icon\ilObjFileIconsOverviewGUI\executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilCtrl ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$ctrl
private

Definition at line 45 of file class.ilObjFileIconsOverviewGUI.php.

◆ $file_service_settings

ilFileServicesSettings ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$file_service_settings
private

Definition at line 56 of file class.ilObjFileIconsOverviewGUI.php.

◆ $http_request

RequestInterface ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$http_request
private

Definition at line 52 of file class.ilObjFileIconsOverviewGUI.php.

◆ $icon_repo

IconRepositoryInterface ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$icon_repo
private

Definition at line 55 of file class.ilObjFileIconsOverviewGUI.php.

◆ $lng

ilLanguage ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$lng
private

Definition at line 46 of file class.ilObjFileIconsOverviewGUI.php.

◆ $main_tpl

ilGlobalTemplateInterface ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$main_tpl
private

Definition at line 50 of file class.ilObjFileIconsOverviewGUI.php.

◆ $refinery

ILIAS Refinery Factory ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$refinery
private

Definition at line 53 of file class.ilObjFileIconsOverviewGUI.php.

◆ $storage

Services ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$storage
private

Definition at line 54 of file class.ilObjFileIconsOverviewGUI.php.

◆ $toolbar

ilToolbarGUI ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$toolbar
private

Definition at line 47 of file class.ilObjFileIconsOverviewGUI.php.

◆ $ui_factory

Factory ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$ui_factory
private

Definition at line 48 of file class.ilObjFileIconsOverviewGUI.php.

◆ $ui_renderer

Renderer ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$ui_renderer
private

Definition at line 49 of file class.ilObjFileIconsOverviewGUI.php.

◆ $wrapper

WrapperFactory ILIAS\File\Icon\ilObjFileIconsOverviewGUI::$wrapper
private

Definition at line 51 of file class.ilObjFileIconsOverviewGUI.php.

◆ CMD_CHANGE_ACTIVATION

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::CMD_CHANGE_ACTIVATION = 'changeActivation'

◆ CMD_CREATE

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::CMD_CREATE = 'create'

◆ CMD_DELETE

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::CMD_DELETE = 'delete'

◆ CMD_INDEX

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::CMD_INDEX = 'index'

◆ CMD_OPEN_CREATION_FORM

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::CMD_OPEN_CREATION_FORM = 'openCreationForm'

Definition at line 37 of file class.ilObjFileIconsOverviewGUI.php.

◆ CMD_OPEN_UPDATING_FORM

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::CMD_OPEN_UPDATING_FORM = 'openUpdatingForm'

◆ CMD_UPDATE

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::CMD_UPDATE = 'update'

◆ P_RID

const ILIAS\File\Icon\ilObjFileIconsOverviewGUI::P_RID = 'rid'

The documentation for this class was generated from the following file: