ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
class.ilObjBadgeAdministrationGUI.php
Go to the documentation of this file.
1 <?php
2 
27 {
30  protected ilTabsGUI $tabs;
31 
32  public function __construct(
33  $a_data,
34  int $a_id,
35  bool $a_call_by_reference = true,
36  bool $a_prepare_output = true
37  ) {
38  global $DIC;
39 
40  $this->rbacsystem = $DIC->rbac()->system();
41  $this->ctrl = $DIC->ctrl();
42  $this->access = $DIC->access();
43  $this->lng = $DIC->language();
44  $this->toolbar = $DIC->toolbar();
45  $this->tpl = $DIC["tpl"];
46  $this->tabs = $DIC->tabs();
47  $this->type = "bdga";
48  parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
49 
50  $this->badge_request = new ilBadgeGUIRequest(
51  $DIC->http(),
52  $DIC->refinery()
53  );
54 
55  $this->lng->loadLanguageModule("badge");
56  }
57 
58  public function executeCommand(): void
59  {
60  $next_class = $this->ctrl->getNextClass($this);
61  $cmd = $this->ctrl->getCmd();
62 
63  $this->prepareOutput();
64 
65  switch ($next_class) {
66  case 'ilpermissiongui':
67  $this->tabs_gui->setTabActive('perm_settings');
68  $perm_gui = new ilPermissionGUI($this);
69  $this->ctrl->forwardCommand($perm_gui);
70  break;
71 
72  case 'ilbadgemanagementgui':
73  $this->assertActive();
74  $this->tabs_gui->setTabActive('activity');
75  $gui = new ilBadgeManagementGUI($this->ref_id, $this->obj_id, $this->type);
76  $this->ctrl->forwardCommand($gui);
77  break;
78 
79  default:
80  if (!$cmd || $cmd === 'view') {
81  $cmd = "editSettings";
82  }
83 
84  $this->$cmd();
85  break;
86  }
87  }
88 
89  public function getAdminTabs(): void
90  {
91  $rbacsystem = $this->rbacsystem;
92 
93  if ($rbacsystem->checkAccess("visible,read", $this->object->getRefId())) {
94  $this->tabs_gui->addTab(
95  "settings",
96  $this->lng->txt("settings"),
97  $this->ctrl->getLinkTarget($this, "editSettings")
98  );
99 
100  if (ilBadgeHandler::getInstance()->isActive()) {
101  $this->tabs_gui->addTab(
102  "types",
103  $this->lng->txt("badge_types"),
104  $this->ctrl->getLinkTarget($this, "listTypes")
105  );
106 
107  $this->tabs_gui->addTab(
108  "imgtmpl",
109  $this->lng->txt("badge_image_templates"),
110  $this->ctrl->getLinkTarget($this, "listImageTemplates")
111  );
112 
113  $this->tabs_gui->addTab(
114  "activity",
115  $this->lng->txt("badge_activity_badges"),
116  $this->ctrl->getLinkTargetByClass("ilbadgemanagementgui", "")
117  );
118 
119  $this->tabs_gui->addTab(
120  "obj_badges",
121  $this->lng->txt("badge_object_badges"),
122  $this->ctrl->getLinkTarget($this, "listObjectBadges")
123  );
124  }
125  }
126 
127  if ($rbacsystem->checkAccess('edit_permission', $this->object->getRefId())) {
128  $this->tabs_gui->addTab(
129  "perm_settings",
130  $this->lng->txt("perm_settings"),
131  $this->ctrl->getLinkTargetByClass('ilpermissiongui', "perm")
132  );
133  }
134  }
135 
136  protected function assertActive(): void
137  {
138  if (!ilBadgeHandler::getInstance()->isActive()) {
139  $this->ctrl->redirect($this, "editSettings");
140  }
141  }
142 
143 
144  //
145  // settings
146  //
147 
148  protected function editSettings(ilPropertyFormGUI $a_form = null): void
149  {
150  $this->tabs_gui->setTabActive("settings");
151 
152  if (!$a_form) {
153  $a_form = $this->initFormSettings();
154  }
155 
156  $this->tpl->setContent($a_form->getHTML());
157  }
158 
159  protected function saveSettings(): void
160  {
161  $ilCtrl = $this->ctrl;
162 
163  $this->checkPermission("write");
164 
165  $form = $this->initFormSettings();
166  if ($form->checkInput()) {
167  $handler = ilBadgeHandler::getInstance();
168  $handler->setActive((bool) $form->getInput("act"));
169 
170  $this->tpl->setOnScreenMessage('success', $this->lng->txt("settings_saved"), true);
171  $ilCtrl->redirect($this, "editSettings");
172  }
173 
174  $form->setValuesByPost();
175  $this->editSettings($form);
176  }
177 
178  protected function initFormSettings(): ilPropertyFormGUI
179  {
180  $ilAccess = $this->access;
181 
182  $form = new ilPropertyFormGUI();
183  $form->setFormAction($this->ctrl->getFormAction($this));
184  $form->setTitle($this->lng->txt("badge_settings"));
185 
186  if ($ilAccess->checkAccess("write", "", $this->object->getRefId())) {
187  $form->addCommandButton("saveSettings", $this->lng->txt("save"));
188  $form->addCommandButton("editSettings", $this->lng->txt("cancel"));
189  }
190 
191  $act = new ilCheckboxInputGUI($this->lng->txt("badge_service_activate"), "act");
192  $act->setInfo($this->lng->txt("badge_service_activate_info"));
193  $form->addItem($act);
194 
195 
196  $handler = ilBadgeHandler::getInstance();
197  $act->setChecked($handler->isActive());
198 
199  return $form;
200  }
201 
202 
203  //
204  // types
205  //
206 
207  protected function listTypes(): void
208  {
209  $ilAccess = $this->access;
210 
211  $this->assertActive();
212  $this->tabs_gui->setTabActive("types");
213 
214  $tbl = new ilBadgeTypesTableGUI(
215  $this,
216  "listTypes",
217  $ilAccess->checkAccess("write", "", $this->object->getRefId())
218  );
219  $this->tpl->setContent($tbl->getHTML());
220  }
221 
222  protected function activateTypes(): void
223  {
224  $lng = $this->lng;
225 
226  $this->assertActive();
227 
228  $ids = $this->badge_request->getIds();
229  if ($this->checkPermissionBool("write") && count($ids) > 0) {
230  $handler = ilBadgeHandler::getInstance();
231  $inactive = [];
232  foreach ($handler->getInactiveTypes() as $type) {
233  if (!in_array($type, $ids)) {
234  $inactive[] = $type;
235  }
236  }
237  $handler->setInactiveTypes($inactive);
238 
239  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
240  }
241  $this->ctrl->redirect($this, "listTypes");
242  }
243 
244  protected function deactivateTypes(): void
245  {
246  $lng = $this->lng;
247 
248  $this->assertActive();
249 
250  $ids = $this->badge_request->getIds();
251  if ($this->checkPermissionBool("write") && count($ids) > 0) {
252  $handler = ilBadgeHandler::getInstance();
253  $inactive = array_merge($handler->getInactiveTypes(), $ids);
254  $handler->setInactiveTypes($inactive);
255 
256  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
257  }
258  $this->ctrl->redirect($this, "listTypes");
259  }
260 
261 
262  //
263  // images templates
264  //
265 
266  protected function listImageTemplates(): void
267  {
268  $ilAccess = $this->access;
269  $lng = $this->lng;
270  $ilToolbar = $this->toolbar;
271  $ilCtrl = $this->ctrl;
272 
273  $this->assertActive();
274  $this->tabs_gui->setTabActive("imgtmpl");
275 
276  if ($this->checkPermissionBool("write")) {
277  $ilToolbar->addButton(
278  $lng->txt("badge_add_template"),
279  $ilCtrl->getLinkTarget($this, "addImageTemplate")
280  );
281  }
282 
283  $tbl = new ilBadgeImageTemplateTableGUI(
284  $this,
285  "listImageTemplates",
286  $ilAccess->checkAccess("write", "", $this->object->getRefId())
287  );
288  $this->tpl->setContent($tbl->getHTML());
289  }
290 
291  protected function addImageTemplate(
292  ilPropertyFormGUI $a_form = null
293  ): void {
294  $tpl = $this->tpl;
295 
296  $this->checkPermission("write");
297 
298  $this->assertActive();
299  $this->tabs_gui->setTabActive("imgtmpl");
300 
301  if (!$a_form) {
302  $a_form = $this->initImageTemplateForm("create");
303  }
304 
305  $tpl->setContent($a_form->getHTML());
306  }
307 
308  protected function initImageTemplateForm(
309  string $a_mode
310  ): ilPropertyFormGUI {
311  $lng = $this->lng;
312  $ilCtrl = $this->ctrl;
313 
314  $form = new ilPropertyFormGUI();
315  $form->setFormAction($ilCtrl->getFormAction($this, "saveBadge"));
316  $form->setTitle($lng->txt("badge_image_template_form"));
317 
318  $title = new ilTextInputGUI($lng->txt("title"), "title");
319  $title->setRequired(true);
320  $form->addItem($title);
321 
322  $img = new ilImageFileInputGUI($lng->txt("image"), "img");
323  $img->setSuffixes(array("png", "svg"));
324  if ($a_mode === "create") {
325  $img->setRequired(true);
326  }
327  $img->setUseCache(false);
328  $img->setAllowDeletion(false);
329  $form->addItem($img);
330 
331  $types_mode = new ilRadioGroupInputGUI($lng->txt("badge_template_types"), "tmode");
332  $types_mode->setRequired(true);
333  $types_mode->setValue("all");
334  $form->addItem($types_mode);
335 
336  $type_all = new ilRadioOption($lng->txt("badge_template_types_all"), "all");
337  $types_mode->addOption($type_all);
338 
339  $type_spec = new ilRadioOption($lng->txt("badge_template_types_specific"), "spec");
340  $types_mode->addOption($type_spec);
341 
342  $types = new ilCheckboxGroupInputGUI($lng->txt("badge_types"), "type");
343  $types->setRequired(true);
344  $type_spec->addSubItem($types);
345 
346  foreach (ilBadgeHandler::getInstance()->getAvailableTypes(false) as $id => $type) {
347  $types->addOption(new ilCheckboxOption($type->getCaption(), $id));
348  }
349 
350  if ($a_mode === "create") {
351  $form->addCommandButton("saveImageTemplate", $lng->txt("save"));
352  } else {
353  $form->addCommandButton("updateImageTemplate", $lng->txt("save"));
354  }
355  $form->addCommandButton("listImageTemplates", $lng->txt("cancel"));
356 
357  return $form;
358  }
359 
360  protected function saveImageTemplate(): void
361  {
362  $ilCtrl = $this->ctrl;
363  $lng = $this->lng;
364 
365  $this->checkPermission("write");
366 
367  $form = $this->initImageTemplateForm("create");
368  if ($form->checkInput()) {
369  $tmpl = new ilBadgeImageTemplate();
370  $tmpl->setTitle($form->getInput("title"));
371  $tmpl->setTypes($form->getInput("type"));
372  $tmpl->create();
373 
374  $tmpl->uploadImage($_FILES["img"]);
375 
376  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
377  $ilCtrl->redirect($this, "listImageTemplates");
378  }
379 
380  $form->setValuesByPost();
381  $this->addImageTemplate($form);
382  }
383 
384  protected function editImageTemplate(
385  ilPropertyFormGUI $a_form = null
386  ): void {
387  $ilCtrl = $this->ctrl;
388  $tpl = $this->tpl;
389 
390  $this->checkPermission("write");
391 
392  $this->assertActive();
393  $this->tabs_gui->setTabActive("imgtmpl");
394 
395  $tmpl_id = $this->badge_request->getTemplateId();
396  if (!$tmpl_id) {
397  $ilCtrl->redirect($this, "listImageTemplates");
398  }
399 
400  $ilCtrl->setParameter($this, "tid", $tmpl_id);
401 
402  $tmpl = new ilBadgeImageTemplate($tmpl_id);
403 
404  if (!$a_form) {
405  $a_form = $this->initImageTemplateForm("edit");
406  $this->setImageTemplateFormValues($a_form, $tmpl);
407  }
408 
409  $tpl->setContent($a_form->getHTML());
410  }
411 
412  protected function setImageTemplateFormValues(
413  ilPropertyFormGUI $a_form,
414  ilBadgeImageTemplate $a_tmpl
415  ): void {
416  $a_form->getItemByPostVar("title")->setValue($a_tmpl->getTitle());
417  $a_form->getItemByPostVar("img")->setImage($a_tmpl->getImagePath());
418  $a_form->getItemByPostVar("img")->setValue($a_tmpl->getImage());
419 
420  if ($a_tmpl->getTypes()) {
421  $a_form->getItemByPostVar("tmode")->setValue("spec");
422  $a_form->getItemByPostVar("type")->setValue($a_tmpl->getTypes());
423  } else {
424  $a_form->getItemByPostVar("tmode")->setValue("all");
425  }
426  }
427 
428  protected function updateImageTemplate(): void
429  {
430  $ilCtrl = $this->ctrl;
431  $lng = $this->lng;
432 
433  $this->checkPermission("write");
434 
435  $tmpl_id = $this->badge_request->getTemplateId();
436  if (!$tmpl_id) {
437  $ilCtrl->redirect($this, "listImageTemplates");
438  }
439 
440  $ilCtrl->setParameter($this, "tid", $tmpl_id);
441 
442  $tmpl = new ilBadgeImageTemplate($tmpl_id);
443 
444  $form = $this->initImageTemplateForm("update");
445  if ($form->checkInput()) {
446  $tmpl->setTitle($form->getInput("title"));
447 
448  if ($form->getInput("tmode") !== "all") {
449  $tmpl->setTypes($form->getInput("type"));
450  } else {
451  $tmpl->setTypes(null);
452  }
453 
454  $tmpl->update();
455 
456  $tmpl->uploadImage($_FILES["img"]);
457 
458  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
459  $ilCtrl->redirect($this, "listImageTemplates");
460  }
461 
462  $this->setImageTemplateFormValues($form, $tmpl);
463  $form->setValuesByPost();
464  $this->editImageTemplate($form);
465  }
466 
467  protected function confirmDeleteImageTemplates(): void
468  {
469  $ilCtrl = $this->ctrl;
470  $lng = $this->lng;
471  $tpl = $this->tpl;
472  $ilTabs = $this->tabs;
473 
474  $this->checkPermission("write");
475 
476  $tmpl_ids = $this->badge_request->getIds();
477  if (!$tmpl_ids) {
478  $ilCtrl->redirect($this, "listImageTemplates");
479  }
480 
481  $ilTabs->clearTargets();
482  $ilTabs->setBackTarget(
483  $lng->txt("back"),
484  $ilCtrl->getLinkTarget($this, "listImageTemplates")
485  );
486 
487  $confirmation_gui = new ilConfirmationGUI();
488  $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
489  $confirmation_gui->setHeaderText($lng->txt("badge_template_deletion_confirmation"));
490  $confirmation_gui->setCancel($lng->txt("cancel"), "listImageTemplates");
491  $confirmation_gui->setConfirm($lng->txt("delete"), "deleteImageTemplates");
492 
493  foreach ($tmpl_ids as $tmpl_id) {
494  $tmpl = new ilBadgeImageTemplate($tmpl_id);
495  $confirmation_gui->addItem("id[]", $tmpl_id, $tmpl->getTitle());
496  }
497 
498  $tpl->setContent($confirmation_gui->getHTML());
499  }
500 
501  protected function deleteImageTemplates(): void
502  {
503  $ilCtrl = $this->ctrl;
504  $lng = $this->lng;
505 
506  $this->checkPermission("write");
507 
508  $tmpl_ids = $this->badge_request->getIds();
509  if ($tmpl_ids) {
510  foreach ($tmpl_ids as $tmpl_id) {
511  $tmpl = new ilBadgeImageTemplate($tmpl_id);
512  $tmpl->delete();
513  }
514 
515  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
516  }
517 
518  $ilCtrl->redirect($this, "listImageTemplates");
519  }
520 
521 
522  //
523  // object badges
524  //
525 
526  protected function listObjectBadges(): void
527  {
528  $ilAccess = $this->access;
529  $tpl = $this->tpl;
530 
531  $this->assertActive();
532  $this->tabs_gui->setTabActive("obj_badges");
533 
534  $tbl = new ilObjectBadgeTableGUI(
535  $this,
536  "listObjectBadges",
537  $ilAccess->checkAccess("write", "", $this->object->getRefId())
538  );
539  $tpl->setContent($tbl->getHTML());
540  }
541 
542  protected function applyObjectFilter(): void
543  {
544  $ilAccess = $this->access;
545 
546  $tbl = new ilObjectBadgeTableGUI(
547  $this,
548  "listObjectBadges",
549  $ilAccess->checkAccess("write", "", $this->object->getRefId())
550  );
551  $tbl->resetOffset();
552  $tbl->writeFilterToSession();
553  $this->listObjectBadges();
554  }
555 
556  protected function resetObjectFilter(): void
557  {
558  $ilAccess = $this->access;
559 
560  $tbl = new ilObjectBadgeTableGUI(
561  $this,
562  "listObjectBadges",
563  $ilAccess->checkAccess("write", "", $this->object->getRefId())
564  );
565  $tbl->resetOffset();
566  $tbl->resetFilter();
567  $this->listObjectBadges();
568  }
569 
570  protected function listObjectBadgeUsers(): void
571  {
572  $ilCtrl = $this->ctrl;
573  $lng = $this->lng;
574  $tpl = $this->tpl;
575 
576  $parent_obj_id = $this->badge_request->getParentId();
577  if (!$parent_obj_id) {
578  $ilCtrl->redirect($this, "listObjectBadges");
579  }
580 
581  $this->assertActive();
582 
583  $this->tabs_gui->clearTargets();
584  $this->tabs_gui->setBackTarget(
585  $lng->txt("back"),
586  $ilCtrl->getLinkTarget($this, "listObjectBadges")
587  );
588 
589  $ilCtrl->saveParameter($this, "pid");
590 
591  $tbl = new ilBadgeUserTableGUI($this, "listObjectBadgeUsers", 0, null, $parent_obj_id, $this->badge_request->getBadgeId());
592  $tpl->setContent($tbl->getHTML());
593  }
594 
595  protected function applylistObjectBadgeUsers(): void
596  {
597  $tbl = new ilBadgeUserTableGUI($this, "listObjectBadgeUsers", 0, null, 0, $this->badge_request->getBadgeId());
598  $tbl->resetOffset();
599  $tbl->writeFilterToSession();
600  $this->listObjectBadgeUsers();
601  }
602 
603  protected function resetlistObjectBadgeUsers(): void
604  {
605  $tbl = new ilBadgeUserTableGUI($this, "listObjectBadgeUsers", 0, null, 0, $this->badge_request->getBadgeId());
606  $tbl->resetOffset();
607  $tbl->resetFilter();
608  $this->listObjectBadgeUsers();
609  }
610 
611 
612  //
613  // see ilBadgeManagementGUI
614  //
615 
616  protected function getObjectBadgesFromMultiAction(): array
617  {
618  $ilAccess = $this->access;
619  $ilCtrl = $this->ctrl;
620 
621  $badge_ids = $this->badge_request->getIds();
622  if (!$badge_ids ||
623  !$ilAccess->checkAccess("write", "", $this->object->getRefId())) {
624  $ilCtrl->redirect($this, "listObjectBadges");
625  }
626 
627  return $badge_ids;
628  }
629 
630  protected function toggleObjectBadges(bool $a_status): void
631  {
632  $ilCtrl = $this->ctrl;
633  $lng = $this->lng;
634 
635  $badge_ids = $this->getObjectBadgesFromMultiAction();
636 
637  foreach ($badge_ids as $badge_id) {
638  $badge = new ilBadge($badge_id);
639  $badge->setActive($a_status);
640  $badge->update();
641  }
642 
643  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
644  $ilCtrl->redirect($this, "listObjectBadges");
645  }
646 
647  protected function activateObjectBadges(): void
648  {
649  $this->toggleObjectBadges(true);
650  }
651 
652  protected function deactivateObjectBadges(): void
653  {
654  $this->toggleObjectBadges(false);
655  }
656 
657  protected function confirmDeleteObjectBadges(): void
658  {
659  $ilCtrl = $this->ctrl;
660  $lng = $this->lng;
661  $tpl = $this->tpl;
662  $ilTabs = $this->tabs;
663 
664  $badge_ids = $this->getObjectBadgesFromMultiAction();
665 
666  $ilTabs->clearTargets();
667  $ilTabs->setBackTarget(
668  $lng->txt("back"),
669  $ilCtrl->getLinkTarget($this, "listObjectBadges")
670  );
671 
672  $confirmation_gui = new ilConfirmationGUI();
673  $confirmation_gui->setFormAction($ilCtrl->getFormAction($this));
674  $confirmation_gui->setHeaderText($lng->txt("badge_deletion_confirmation"));
675  $confirmation_gui->setCancel($lng->txt("cancel"), "listObjectBadges");
676  $confirmation_gui->setConfirm($lng->txt("delete"), "deleteObjectBadges");
677 
678  foreach ($badge_ids as $badge_id) {
679  $badge = new ilBadge($badge_id);
680  $parent = $badge->getParentMeta();
681 
682  // :TODO: container presentation
683  $container = "(" . $parent["type"] . "/" .
684  $parent["id"] . ") " .
685  $parent["title"];
686  if ($parent["deleted"]) {
687  $container .= ' <span class="il_ItemAlertProperty">' . $lng->txt("deleted") . '</span>';
688  }
689 
690  $confirmation_gui->addItem(
691  "id[]",
692  $badge_id,
693  $container . " - " .
694  $badge->getTitle() .
695  " (" . count(ilBadgeAssignment::getInstancesByBadgeId($badge_id)) . ")"
696  );
697  }
698 
699  $tpl->setContent($confirmation_gui->getHTML());
700  }
701 
702  protected function deleteObjectBadges(): void
703  {
704  $ilCtrl = $this->ctrl;
705  $lng = $this->lng;
706 
707  $badge_ids = $this->getObjectBadgesFromMultiAction();
708 
709  foreach ($badge_ids as $badge_id) {
710  $badge = new ilBadge($badge_id);
711  $badge->delete();
712  }
713 
714  $this->tpl->setOnScreenMessage('success', $lng->txt("settings_saved"), true);
715  $ilCtrl->redirect($this, "listObjectBadges");
716  }
717 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Class ilBadgeManagementGUI.
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...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
redirect(object $a_gui_obj, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
getItemByPostVar(string $a_post_var)
prepareOutput(bool $show_sub_objects=true)
__construct( $a_data, int $a_id, bool $a_call_by_reference=true, bool $a_prepare_output=true)
This class represents a checkbox property in a property form.
setImageTemplateFormValues(ilPropertyFormGUI $a_form, ilBadgeImageTemplate $a_tmpl)
$container
Definition: wac.php:14
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...
global $DIC
Definition: feed.php:28
checkAccess(string $a_operations, int $a_ref_id, string $a_type="")
checkAccess represents the main method of the RBAC-system in ILIAS3 developers want to use With this ...
ilLanguage $lng
resetOffset(bool $a_in_determination=false)
This class represents a property in a property form.
ilGlobalTemplateInterface $tpl
setContent(string $a_html)
Sets content for standard template.
editImageTemplate(ilPropertyFormGUI $a_form=null)
addImageTemplate(ilPropertyFormGUI $a_form=null)
static getInstancesByBadgeId(int $a_badge_id)
Class ilObjectGUI Basic methods of all Output classes.
ilToolbarGUI $toolbar
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...
editSettings(ilPropertyFormGUI $a_form=null)
setRequired(bool $a_required)
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
$img
Definition: imgupload.php:83
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
ilAccessHandler $access
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
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...