64 private readonly
int $parent_ref_id,
65 ?
int $a_parent_obj_id =
null,
66 ?
string $a_parent_obj_type =
null
70 $this->
lng = $DIC->language();
71 $this->
ctrl = $DIC->ctrl();
72 $this->
tabs = $DIC->tabs();
73 $this->
access = $DIC->access();
74 $this->
http = $DIC->http();
76 $this->
toolbar = $DIC->toolbar();
77 $this->ui_factory =
$DIC->ui()->factory();
78 $this->resource_storage =
$DIC->resourceStorage();
79 $this->tpl =
$DIC->ui()->mainTemplate();
80 $this->
user = $DIC->user();
82 $this->parent_obj_id = $a_parent_obj_id
84 $this->parent_obj_type = $a_parent_obj_type
100 $DIC->resourceStorage(),
102 $DIC->ui()->mainTemplate()
115 if ($splittable_user_ids !== []) {
116 if ($splittable_user_ids === [self::TABLE_ALL_OBJECTS_ACTION]) {
122 if ($this->parent_ref_id) {
126 $badge_id = $this->
http->wrapper()->query()->retrieve(
'bid', $this->
refinery->kindlyTo()->int());
128 return [$user_ids, $badge_id];
130 foreach ($splittable_user_ids as $row) {
131 if (str_contains($row,
'_')) {
132 $split = explode(
'_', $row);
134 if ($badge_id ===
null && $split[0] !==
'') {
135 $badge_id = (
int) $split[0];
138 if ($split[1] !==
'') {
139 $user_ids[] = (
int) $split[1];
142 return [$user_ids, 0];
147 return [$user_ids, $badge_id];
152 $next_class = $this->
ctrl->getNextClass($this);
153 $cmd = $this->
ctrl->getCmd(self::DEFAULT_ACTION);
154 if ($cmd ===
null || $cmd ===
'' || !method_exists($this, $cmd .
'Cmd')) {
159 switch ($next_class) {
160 case 'ilpropertyformgui':
162 if ($this->request->getBadgeId()) {
163 $badge =
new ilBadge($this->request->getBadgeId());
164 $type = $badge->getTypeInstance();
165 $form = $this->
initBadgeForm(
'edit', $type, $badge->getTypeId());
169 $type_id = $this->request->getType();
170 $this->
ctrl->setParameter($this,
'type', $type_id);
172 $type =
$handler->getTypeInstanceByUniqueId($type_id);
175 $this->
ctrl->forwardCommand($form);
179 $badge_ids = $this->request->getMultiActionBadgeIdsFromUrl();
180 if (count($badge_ids) === 1) {
181 $badge_id = array_pop($badge_ids);
182 $this->
ctrl->setParameter($this,
'tid', $badge_id);
198 return $this->
http->wrapper()->query()->retrieve(
201 $this->refinery->kindlyTo()->string(),
202 $this->refinery->always(
null)
217 default => $this->
ctrl->redirect($this, self::DEFAULT_ACTION),
226 private function setTabs(
string $a_active): void
228 $this->
tabs->addSubTab(
230 $this->
lng->txt(
'obj_bdga'),
231 $this->ctrl->getLinkTarget($this, self::LIST_BADGES_ACTION)
234 $this->
tabs->addSubTab(
236 $this->
lng->txt(
'users'),
237 $this->ctrl->getLinkTarget($this, self::LIST_USERS_ACTION)
240 $this->
tabs->activateSubTab($a_active);
245 return $this->
access->checkAccess(
'write',
'', $this->parent_ref_id);
254 $valid_types =
$handler->getAvailableTypesForObjType($this->parent_obj_type);
257 foreach ($valid_types as
$id => $type) {
258 $this->
ctrl->setParameter($this,
'type',
$id);
259 $options[
$id] = $this->ui_factory->link()->standard(
262 $this->ctrl->getLinkTarget($this, self::ADD_BADGE_ACTION)
264 $this->
ctrl->setParameter($this,
'type',
null);
270 $this->ui_factory->dropdown()->standard(
$options)->withLabel($this->lng->txt(
'badge_create'))
273 $this->tpl->setOnScreenMessage(
274 $this->tpl::MESSAGE_TYPE_INFO,
275 $this->
lng->txt(
'badge_no_valid_types_for_obj')
279 $clip_ids = $this->session_repo->getBadgeIds();
280 if (count($clip_ids) > 0) {
282 $this->
toolbar->addSeparator();
287 $tt[] = $badge->getTitle();
291 $this->
lng->loadLanguageModule(
'content');
293 $this->
lng->txt(
'cont_paste_from_clipboard') .
294 ' (' . count($tt) .
')',
295 $this->
ctrl->getLinkTarget($this, self::PASTE_BADGES_ACTION),
302 $this->
lng->txt(
'clear_clipboard'),
303 $this->ctrl->getLinkTarget($this, self::CLEAR_CLIPBOARD_ACTION)
309 $table->renderTable(ILIAS_HTTP_PATH .
'/' . $this->
ctrl->getLinkTarget($this, self::TABLE_ACTIONS));
318 $type_id = $this->request->getType();
321 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
324 $this->
ctrl->setParameter($this,
'type', $type_id);
327 $type =
$handler->getTypeInstanceByUniqueId($type_id);
329 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
336 $this->tpl->setContent($a_form->getHTML());
342 string $a_type_unique_id
345 $form->
setFormAction($this->
ctrl->getFormAction($this, self::SAVE_BADGE_ACTION));
346 $form->setTitle($this->
lng->txt(
'badge_badge') .
' "' . $a_type->
getCaption() .
'"');
349 $form->addItem($active);
352 $title->setMaxLength(255);
353 $title->setRequired(
true);
354 $form->addItem($title);
357 $desc->setMaxNumOfChars(4000);
358 $desc->setRequired(
true);
359 $form->addItem($desc);
362 $crit->setMaxNumOfChars(4000);
363 $crit->setRequired(
true);
364 $form->addItem($crit);
366 if ($a_mode ===
'create') {
370 $img_mode->setRequired(
true);
371 $img_mode->setValue(
'tmpl');
372 $form->addItem($img_mode);
374 $img_mode_tmpl =
new ilRadioOption($this->
lng->txt(
'badge_image_from_template'),
'tmpl');
375 $img_mode->addOption($img_mode_tmpl);
377 $img_mode_up =
new ilRadioOption($this->
lng->txt(
'badge_image_from_upload'),
'up');
378 $img_mode->addOption($img_mode_up);
381 $img_upload->setRequired(
true);
382 $img_upload->setSuffixes([
'png',
'svg']);
383 $img_mode_up->addSubItem($img_upload);
388 if (count($valid_templates)) {
391 foreach ($valid_templates as $tmpl) {
392 $options[$tmpl->getId()] = $tmpl->getTitle();
396 $tmpl->setRequired(
true);
398 $img_mode_tmpl->addSubItem($tmpl);
401 $img_mode_tmpl->setDisabled(
true);
402 $img_mode->setValue(
'up');
406 $img_upload->setSuffixes([
'png',
'svg']);
407 $img_upload->setAllowDeletion(
false);
408 $img_upload->setUseCache(
false);
409 $form->addItem($img_upload);
413 $valid->setMaxLength(255);
414 $form->addItem($valid);
418 $custom->initConfigForm($form, $this->parent_ref_id);
423 if ($a_mode ===
'create') {
424 $form->addCommandButton(self::SAVE_BADGE_ACTION, $this->
lng->txt(
'save'));
426 $form->addCommandButton(self::UPDATE_BADGE_ACTION, $this->
lng->txt(
'save'));
428 $form->addCommandButton(self::LIST_BADGES_ACTION, $this->
lng->txt(
'cancel'));
439 $type_id = $this->request->getType();
441 !$this->hasWrite()) {
442 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
445 $this->
ctrl->setParameter($this,
'type', $type_id);
448 $type =
$handler->getTypeInstanceByUniqueId($type_id);
450 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
453 $form = $this->initBadgeForm(
'create', $type, $type_id);
454 $custom = $type->getConfigGUIInstance();
456 if ($form->checkInput() &&
457 (!$custom || $custom->validateForm($form))) {
459 $badge->setParentId($this->parent_obj_id);
460 $badge->setTypeId($type_id);
461 $badge->setActive($form->getInput(
'act'));
462 $badge->setTitle($form->getInput(
'title'));
463 $badge->setDescription($form->getInput(
'desc'));
464 $badge->setCriteria($form->getInput(
'crit'));
465 $badge->setValid($form->getInput(
'valid'));
468 $badge->setConfiguration($custom->getConfigFromForm($form));
473 if ($form->getInput(
'img_mode') ===
'up') {
474 $this->badge_image_service->processImageUpload($badge);
477 $image_rid = $tmpl->getImageRid();
478 if ($image_rid !==
null) {
483 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->
lng->txt(
'settings_saved'),
true);
484 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
487 $form->setValuesByPost();
488 $this->addBadgeCmd($form);
493 $badge_id = $this->request->getBadgeIdFromUrl();
495 $badge_id = $this->request->getBadgeId();
499 !$this->hasWrite()) {
500 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
503 $this->
ctrl->setParameter($this,
'bid', $badge_id);
505 $badge =
new ilBadge($badge_id);
509 $this->tpl->setOnScreenMessage(
510 $this->tpl::MESSAGE_TYPE_INFO,
511 sprintf($this->
lng->txt(
'badge_edit_with_published'), $static_cnt)
516 $type = $badge->getTypeInstance();
517 $a_form = $this->initBadgeForm(
'edit', $type, $badge->getTypeId());
518 $this->setBadgeFormValues($a_form, $badge, $type);
521 $this->tpl->setContent($a_form->getHTML());
529 $a_form->getItemByPostVar(
'act')->setChecked($a_badge->isActive());
534 $image_src = $this->badge_image_service->getImageFromBadge($a_badge);
535 if ($image_src !==
'') {
553 $badge_id = $this->request->getBadgeId();
555 !$this->hasWrite()) {
556 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
559 $this->
ctrl->setParameter($this,
'bid', $badge_id);
561 $badge =
new ilBadge($badge_id);
562 $type = $badge->getTypeInstance();
563 $custom = $type->getConfigGUIInstance();
568 $form = $this->initBadgeForm(
'update', $type, $badge->getTypeId());
569 if ($form->checkInput() &&
570 (!$custom || $custom->validateForm($form))) {
571 $badge->setActive($form->getInput(
'act'));
572 $badge->setTitle($form->getInput(
'title'));
573 $badge->setDescription($form->getInput(
'desc'));
574 $badge->setCriteria($form->getInput(
'crit'));
575 $badge->setValid($form->getInput(
'valid'));
577 $image = $form->getInput(
'img');
578 if (isset($image[
'name']) && $image[
'name'] !==
'') {
579 $this->removeResourceStorageImage($badge);
580 $this->badge_image_service->processImageUpload($badge);
584 $badge->setConfiguration($custom->getConfigFromForm($form));
586 $tmpl_id = $form->getInput(
'tmpl');
587 if ($tmpl_id !==
'') {
588 $this->removeResourceStorageImage($badge);
590 $image_rid = $tmpl->getImageRid();
591 if ($image_rid !==
null) {
597 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->
lng->txt(
'settings_saved'),
true);
598 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
601 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_FAILURE, $this->
lng->txt(
'form_input_not_valid'));
602 $form->setValuesByPost();
603 $this->editBadgeCmd($form);
608 $badge_ids = $this->request->getMultiActionBadgeIdsFromUrl();
609 if ($badge_ids === [self::TABLE_ALL_OBJECTS_ACTION]) {
612 $badge_ids[] = $badge->getId();
616 $this->
tabs->clearTargets();
617 $this->
tabs->setBackTarget(
618 $this->
lng->txt(
'back'),
619 $this->ctrl->getLinkTarget($this, self::LIST_BADGES_ACTION)
623 $confirmation_gui->setFormAction($this->
ctrl->getFormAction($this));
624 $confirmation_gui->setHeaderText($this->
lng->txt(
'badge_deletion_confirmation'));
625 $confirmation_gui->setCancel($this->
lng->txt(
'cancel'), self::LIST_BADGES_ACTION);
626 $confirmation_gui->setConfirm($this->
lng->txt(
'delete'), self::DELETE_BADGES_ACTION);
628 foreach ($badge_ids as $badge_id) {
629 $badge =
new ilBadge((
int) $badge_id);
630 $confirmation_gui->addItem(
638 $this->tpl->setContent($confirmation_gui->getHTML());
643 $badge_ids = $this->request->getIds();
645 if (count($badge_ids) > 0) {
646 foreach ($badge_ids as $badge_id) {
647 $badge =
new ilBadge((
int) $badge_id);
650 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->
lng->txt(
'settings_saved'),
true);
652 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_FAILURE, $this->
lng->txt(
'badge_select_one'),
true);
655 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
667 $badge_ids = $this->request->getIds();
669 !$this->hasWrite()) {
670 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
678 $badge_ids = $this->getBadgesFromMultiAction();
680 $clip_ids = $this->session_repo->getBadgeIds();
681 $clip_ids = array_unique(
682 array_merge($clip_ids, $badge_ids)
684 $this->session_repo->setBadgeIds(array_map(intval(...), $clip_ids));
686 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
691 $this->session_repo->clear();
692 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
704 foreach ($this->session_repo->getBadgeIds() as $badge_id) {
705 $badge =
new ilBadge($badge_id);
706 if (in_array($badge->getTypeId(), $valid_types,
true)) {
716 $clip_ids = $this->session_repo->getBadgeIds();
717 if (!$this->hasWrite() || count($clip_ids) === 0) {
718 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
721 $copy_suffix = $this->
lng->txt(
'copy_of_suffix');
722 foreach ($this->getValidBadgesFromClipboard() as $badge) {
723 $badge->copy($this->parent_obj_id, $copy_suffix);
726 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
731 $badge_ids = $this->request->getMultiActionBadgeIdsFromUrl();
732 if (count($badge_ids) > 0) {
733 foreach ($badge_ids as $badge_id) {
734 if ($badge_id === self::TABLE_ALL_OBJECTS_ACTION) {
736 $badge =
new ilBadge($badge->getId());
737 $badge->setActive($a_status);
741 $badge =
new ilBadge((
int) $badge_id);
742 $badge->setActive($a_status);
745 $this->tpl->setOnScreenMessage(
746 $this->tpl::MESSAGE_TYPE_SUCCESS,
747 $this->
lng->txt(
'settings_saved'),
752 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_FAILURE, $this->
lng->txt(
'badge_select_one'),
true);
755 $this->
ctrl->redirect($this, self::LIST_BADGES_ACTION);
760 $this->toggleBadges(
true);
765 $this->toggleBadges(
false);
774 $this->setTabs(
'users');
776 if ($this->hasWrite()) {
778 $this->parent_obj_id,
779 $this->parent_obj_type
781 if (count($manual)) {
783 $drop->setOptions($manual);
784 $this->
toolbar->addInputItem($drop,
true);
787 $this->
ctrl->getFormAction($this, self::SELECT_BADGE_FOR_AWARD_REVOKE_ACTION)
790 $this->
lng->txt(
'badge_award_badge'),
791 self::SELECT_BADGE_FOR_AWARD_REVOKE_ACTION
797 $tbl->renderTable(ILIAS_HTTP_PATH .
'/' . $this->
ctrl->getLinkTarget($this, self::TABLE_ACTIONS));
802 $this->
ctrl->setParameter(
805 $this->
http->wrapper()->post()->retrieve(
'bid', $this->refinery->kindlyTo()->int())
807 $this->
ctrl->redirect($this, self::AWARD_BADGE_USER_SELECTION_ACTION);
812 $badge_ids = $this->request->getMultiActionBadgeIdsFromUrl();
815 if ($badge_ids === []) {
816 if ($this->
http->wrapper()->post()->has(
'bid')) {
817 $bid = $this->
http->wrapper()->post()->retrieve(
'bid', $this->
refinery->kindlyTo()->int());
818 } elseif ($this->
http->wrapper()->query()->has(
'bid')) {
819 $bid = $this->
http->wrapper()->query()->retrieve(
'bid', $this->
refinery->kindlyTo()->int());
821 } elseif (count($badge_ids) === 1) {
822 $bid = (
int) $badge_ids[0];
826 !$this->hasWrite()) {
827 $this->
ctrl->redirect($this, self::LIST_USERS_ACTION);
830 $manual = array_keys(
834 if (!in_array($bid, $manual,
true)) {
835 $this->
ctrl->redirect($this, self::LIST_USERS_ACTION);
838 $back_target = self::LIST_USERS_ACTION;
839 if ($this->request->getTgt() ===
'bdgl') {
840 $this->
ctrl->saveParameter($this,
'tgt');
841 $back_target = self::LIST_BADGES_ACTION;
844 $this->
tabs->clearTargets();
845 $this->
tabs->setBackTarget(
846 $this->
lng->txt(
'back'),
847 $this->ctrl->getLinkTarget($this, $back_target)
850 $this->
ctrl->setParameter($this,
'bid', $bid);
855 $tbl->renderTable(ILIAS_HTTP_PATH .
'/' . $this->
ctrl->getLinkTarget($this, self::TABLE_ACTIONS));
860 $splittable_user_ids = $this->request->getBadgeAssignableUsers();
861 [$user_ids, $badge_id] = $this->splitBadgeAndUserIdsFromString($splittable_user_ids);
865 !$this->hasWrite()) {
866 $this->
ctrl->redirect($this, self::LIST_USERS_ACTION);
873 $ass->setAwardedBy($this->
user->getId());
876 $new_badges[
$user_id][] = $badge_id;
882 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->
lng->txt(
'settings_saved'),
true);
883 $this->
ctrl->redirect($this, self::LIST_USERS_ACTION);
888 $splittable_user_ids = $this->request->getMultiActionBadgeIdsFromUrl();
889 [$user_ids, $badge_id] = $this->splitBadgeAndUserIdsFromString($splittable_user_ids);
893 !$this->hasWrite()) {
894 $this->
ctrl->redirect($this, self::LIST_USERS_ACTION);
897 $this->
tabs->clearTargets();
898 $this->
tabs->setBackTarget(
899 $this->
lng->txt(
'back'),
900 $this->ctrl->getLinkTarget($this, self::LIST_USERS_ACTION)
903 $badge =
new ilBadge($badge_id);
905 $this->
ctrl->setParameter($this,
'bid', $badge->getId());
908 $confirmation_gui->setFormAction($this->
ctrl->getFormAction($this, self::DEASSIGN_BADGE_ACTION));
909 $confirmation_gui->setHeaderText(
910 sprintf($this->
lng->txt(
'badge_assignment_deletion_confirmation'), $badge->getTitle())
912 $confirmation_gui->setCancel($this->
lng->txt(
'cancel'), self::LIST_USERS_ACTION);
913 $confirmation_gui->setConfirm($this->
lng->txt(
'badge_remove_badge'), self::DEASSIGN_BADGE_ACTION);
918 if (in_array(
$user_id, $assigned_users,
true)) {
919 $confirmation_gui->addItem(
927 $this->tpl->setContent($confirmation_gui->getHTML());
932 $post_values = $this->request->getIds();
935 foreach ($post_values as $usr_id => $found_badge_id) {
936 $badge_id = $found_badge_id;
937 $user_ids[] = $usr_id;
942 !$this->hasWrite()) {
943 $this->
ctrl->redirect($this, self::LIST_USERS_ACTION);
951 $this->tpl->setOnScreenMessage($this->tpl::MESSAGE_TYPE_SUCCESS, $this->
lng->txt(
'settings_saved'),
true);
952 $this->
ctrl->redirect($this, self::LIST_USERS_ACTION);
961 $new_rid = $this->badge_image_service->cloneBadgeImageByRid($rid);
970 if ($image_rid !==
null) {
971 $this->resource_storage->manage()->remove(
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Builds a Color from either hex- or rgb values.
Class IllegalStateException.
Class ResourceIdentification.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getInstancesByBadgeId(int $a_badge_id)
static getAssignedUsers(int $a_badge_id)
static exists(int $a_badge_id, int $a_user_id)
static getInstancesByType(string $a_type_unique_id)
@ilCtrl_Calls ilBadgeManagementGUI: ilPropertyFormGUI
selectBadgeForAwardingOrRevokingCmd()
const string PASTE_BADGES_ACTION
const string DELETE_BADGES_ACTION
const string AWARD_BADGE_USER_SELECTION_ACTION
addBadgeCmd(?ilPropertyFormGUI $a_form=null)
ilGlobalTemplateInterface $tpl
setBadgeFormValues(ilPropertyFormGUI $a_form, ilBadge $a_badge, ilBadgeType $a_type)
splitBadgeAndUserIdsFromString(array $splittable_user_ids)
const string LIST_USERS_ACTION
removeResourceStorageImage(ilBadge $badge)
setTabs(string $a_active)
const string TABLE_ACTIONS
const string DEFAULT_ACTION
cloneBadgeTemplate(ilBadge $badge, ?ResourceIdentification $rid)
Services $resource_storage
const string SAVE_BADGE_ACTION
const string ADD_BADGE_ACTION
getBadgesFromMultiAction()
__construct(private readonly int $parent_ref_id, ?int $a_parent_obj_id=null, ?string $a_parent_obj_type=null)
const string UPDATE_BADGE_ACTION
getSafePostCommands()
This method must return a list of safe POST commands.
getValidBadgesFromClipboard()
ILIAS HTTP Services $http
const string CLEAR_CLIPBOARD_ACTION
initBadgeForm(string $a_mode, ilBadgeType $a_type, string $a_type_unique_id)
ilBadgeGUIRequest $request
const string TABLE_ALL_OBJECTS_ACTION
getUnsafeGetCommands()
This method must return a list of unsafe GET commands.
ilBadgeManagementSessionRepository $session_repo
ilBadgeImage $badge_image_service
const string DEASSIGN_BADGE_ACTION
awardBadgeUserSelectionCmd()
ILIAS UI Factory $ui_factory
editBadgeCmd(?ilPropertyFormGUI $a_form=null)
toggleBadges(bool $a_status)
const string SELECT_BADGE_FOR_AWARD_REVOKE_ACTION
const string LIST_BADGES_ACTION
Stores repository clipboard data.
static getExtendedTypeCaption(ilBadgeType $a_type)
static getInstancesByParentId(int $a_parent_id, ?array $a_filter=null)
setImageRid(?string $image_rid)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Base class for ILIAS Exception handling.
loadLanguageModule(string $a_module)
Load language module.
static _lookupType(int $id, bool $reference=false)
static _lookupObjId(int $ref_id)
This class represents an option in a radio group.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a text area property in a property form.
This class represents a text property in a property form.
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link='', bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path=null)
Default behaviour is:
Combines all available interfaces which can be called via global $ilAccess.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getConfigGUIInstance()
Get GUI config instance.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static http()
Fetches the global http state from ILIAS.
foreach($_POST as $key=> $value) $res