ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilPCTabsGUI.php
Go to the documentation of this file.
1<?php
2
24{
25 protected \ILIAS\COPage\PC\PCDefinition $pc_def;
26 protected \ILIAS\COPage\Xsl\XslManager $xsl;
28 protected ilDBInterface $db;
29 protected ilTabsGUI $tabs;
31
32 public function __construct(
33 ilPageObject $a_pg_obj,
34 ?ilPageContent $a_content_obj,
35 string $a_hier_id,
36 string $a_pc_id = ""
37 ) {
38 global $DIC;
39
40 $this->tpl = $DIC["tpl"];
41 $this->ctrl = $DIC->ctrl();
42 $this->lng = $DIC->language();
43 $this->db = $DIC->database();
44 $this->tabs = $DIC->tabs();
45 $this->toolbar = $DIC->toolbar();
46 parent::__construct($a_pg_obj, $a_content_obj, $a_hier_id, $a_pc_id);
47 $this->xsl = $DIC->copage()->internal()->domain()->xsl();
48 $this->pc_def = $DIC->copage()->internal()->domain()->pc()->definition();
49 }
50
51 public function executeCommand(): void
52 {
53 // get next class that processes or forwards current command
54 $next_class = $this->ctrl->getNextClass($this);
55
56 // get current command
57 $cmd = $this->ctrl->getCmd();
58
59 switch ($next_class) {
60 default:
61 $this->$cmd();
62 break;
63 }
64 }
65
69 public function insert(
70 bool $a_omit_form_init = false
71 ): void {
72 $tpl = $this->tpl;
73
75
76 if (!$a_omit_form_init) {
77 $this->initForm("create");
78 }
79 $html = $this->form->getHTML();
80 $tpl->setContent($html);
81 }
82
83 public function editProperties(bool $init_form = true): void
84 {
85 $tpl = $this->tpl;
86
87 $this->displayValidationError();
88 $this->setTabs();
89
90 if ($init_form) {
91 $this->initForm();
92 $this->getFormValues();
93 }
94 $html = $this->form->getHTML();
95 $tpl->setContent($html);
96 }
97
98 public function initForm(
99 string $a_mode = "edit"
100 ): void {
101 $ilCtrl = $this->ctrl;
103
105
106 // edit form
107 $this->form = new ilPropertyFormGUI();
108 $this->form->setShowTopButtons(false);
109 $this->form->setFormAction($ilCtrl->getFormAction($this));
110 if ($a_mode != "edit") {
111 $this->form->setTitle($lng->txt("cont_ed_insert_tabs"));
112 } else {
113 $this->form->setTitle($lng->txt("cont_edit_tabs"));
114 }
115
116
117 // type selection
118 $radg = new ilRadioGroupInputGUI($lng->txt("cont_type"), "type");
119 $radg->setValue(ilPCTabs::ACCORDION_VER);
120
121 // type: vertical accordion
122 $op1 = new ilRadioOption($lng->txt("cont_tabs_acc_ver"), ilPCTabs::ACCORDION_VER);
123 $templ = $this->getTemplateOptions("vaccordion");
124 if (count($templ) > 0) {
125
126 $options = [];
127 foreach ($templ as $k => $te) {
128 $options[$k] = $te;
129 }
130 $vchar_prop = new ilSelectInputGUI($this->lng->txt("cont_characteristic"), "vaccord_templ");
131 $vchar_prop->setOptions($options);
132 $op1->addSubItem($vchar_prop);
133
134
135 } else {
136 $vchar_prop = new ilHiddenInputGUI("vaccord_templ");
137 $this->form->addItem($vchar_prop);
138 }
139 $radg->addOption($op1);
140
141 // type: carousel
142 $op3 = new ilRadioOption($lng->txt("cont_tabs_carousel"), ilPCTabs::CAROUSEL);
143 $templ = $this->getTemplateOptions("carousel");
144 if (count($templ) > 0) {
145 $cchar_prop = new ilSelectInputGUI(
146 $this->lng->txt("cont_characteristic"),
147 "carousel_templ"
148 );
149 $cchar_prop->setOptions($templ);
150 $op3->addSubItem($cchar_prop);
151 } else {
152 $cchar_prop = new ilHiddenInputGUI("carousel_templ");
153 $this->form->addItem($cchar_prop);
154 }
155
156 $radg->addOption($op3);
157 $this->form->addItem($radg);
158
159
160 // number of initial tabs
161 if ($a_mode == "create") {
162 $nr_prop = new ilSelectInputGUI(
163 $lng->txt("cont_number_of_tabs"),
164 "nr"
165 );
166 $nrs = array(1 => 1, 2 => 2, 3 => 3, 4 => 4, 5 => 5, 6 => 6,
167 7 => 7, 8 => 8, 9 => 9, 10 => 10);
168 $nr_prop->setOptions($nrs);
169 $this->form->addItem($nr_prop);
170 }
171
172 /*
173 $ni = new ilNumberInputGUI($this->lng->txt("cont_tab_cont_width"), "content_width");
174 $ni->setMaxLength(4);
175 $ni->setSize(4);
176 $this->form->addItem($ni);
177
178 $ni = new ilNumberInputGUI($this->lng->txt("cont_tab_cont_height"), "content_height");
179 $ni->setMaxLength(4);
180 $ni->setSize(4);
181 $this->form->addItem($ni);*/
182
183 // behaviour
184 $options = array(
185 "AllClosed" => $lng->txt("cont_all_closed"),
186 "FirstOpen" => $lng->txt("cont_first_open"),
187 "ForceAllOpen" => $lng->txt("cont_force_all_open"),
188 );
189 $si = new ilSelectInputGUI($this->lng->txt("cont_behavior"), "vbehavior");
190 $si->setOptions($options);
191 $op1->addSubItem($si);
192 /*
193 $si = new ilSelectInputGUI($this->lng->txt("cont_behavior"), "hbehavior");
194 $si->setOptions($options);
195 $op2->addSubItem($si);*/
196
197
198 // alignment
199 /*
200 $align_opts = array("Left" => $lng->txt("cont_left"),
201 "Right" => $lng->txt("cont_right"), "Center" => $lng->txt("cont_center"),
202 "LeftFloat" => $lng->txt("cont_left_float"),
203 "RightFloat" => $lng->txt("cont_right_float"));
204 $align = new ilSelectInputGUI($this->lng->txt("cont_align"), "valign");
205 $align->setOptions($align_opts);
206 $align->setValue("Center");
207 //$align->setInfo($lng->txt("cont_tabs_hor_align_info"));
208 $op1->addSubItem($align);
209 $align = new ilSelectInputGUI($this->lng->txt("cont_align"), "calign");
210 $align->setOptions($align_opts);
211 $align->setValue("Center");
212 $op3->addSubItem($align);*/
213
214 // carousel: time
215 $ti = new ilNumberInputGUI($this->lng->txt("cont_auto_time"), "auto_time");
216 $ti->setMaxLength(6);
217 $ti->setSize(6);
218 $ti->setSuffix("ms");
219 $ti->setMinValue(100);
220 $op3->addSubItem($ti);
221
222 // carousel: random start
223 $cb = new ilCheckboxInputGUI($this->lng->txt("cont_rand_start"), "rand_start");
224 //$cb->setOptionTitle($this->lng->txt(""));
225 //$cb->setInfo($this->lng->txt(""));
226 $op3->addSubItem($cb);
227
228
229 // save/cancel buttons
230 if ($a_mode == "create") {
231 $this->form->addCommandButton("create", $lng->txt("save"));
232 $this->form->addCommandButton("cancelCreate", $lng->txt("cancel"));
233 } else {
234 $this->form->addCommandButton("update", $lng->txt("save"));
235 $this->form->addCommandButton("cancelUpdate", $lng->txt("cancel"));
236 }
237 }
238
240 {
241 $this->initForm("create");
242 return $this->form;
243 }
244
246 {
247 $this->initForm("edit");
248 $this->getFormValues();
249 return $this->form;
250 }
251
252 public function getFormValues(): void
253 {
254 $values["type"] = $this->content_obj->getTabType();
255 $values["content_width"] = $this->content_obj->getContentWidth();
256 $values["content_height"] = $this->content_obj->getContentHeight();
257 $values["valign"] = $this->content_obj->getHorizontalAlign();
258 $values["calign"] = $this->content_obj->getHorizontalAlign();
259 $values["vbehavior"] = $this->content_obj->getBehavior();
260 $values["hbehavior"] = $this->content_obj->getBehavior();
261
262 $values["auto_time"] = $this->content_obj->getAutoTime();
263 $values["rand_start"] = $this->content_obj->getRandomStart();
264
265 $this->form->setValuesByArray($values);
266
267 if ($values["type"] == ilPCTabs::ACCORDION_VER) {
268 $va = $this->form->getItemByPostVar("vaccord_templ");
269 $v = "t:" .
270 ilObjStyleSheet::_lookupTemplateIdByName($this->getStyleId(), $this->content_obj->getTemplate()) . ":" .
271 $this->content_obj->getTemplate();
272 $va->setValue($v);
273 }
274 /*
275 if ($values["type"] == ilPCTabs::ACCORDION_HOR) {
276 $ha = $this->form->getItemByPostVar("haccord_templ");
277 $v = "t:" .
278 ilObjStyleSheet::_lookupTemplateIdByName($this->getStyleId(), $this->content_obj->getTemplate()) . ":" .
279 $this->content_obj->getTemplate();
280 $ha->setValue($v);
281 }*/
282 if ($values["type"] == ilPCTabs::CAROUSEL) {
283 $ca = $this->form->getItemByPostVar("carousel_templ");
284 $v = "t:" .
285 ilObjStyleSheet::_lookupTemplateIdByName($this->getStyleId(), $this->content_obj->getTemplate()) . ":" .
286 $this->content_obj->getTemplate();
287 $ca->setValue($v);
288 }
289 }
290
291 protected function checkWidthHeight(ilPropertyFormGUI $form): bool
292 {
293 $ok = true;
294 if ($form->getInput("type") === ilPCTabs::ACCORDION_HOR) {
295 if ($form->getInput("content_width") == "") {
296 $form->getItemByPostVar("content_width")
297 ->setAlert($this->lng->txt("cont_hacc_needs_width"));
298 $ok = false;
299 }
300 if ($form->getInput("content_height") == "") {
301 $form->getItemByPostVar("content_height")
302 ->setAlert($this->lng->txt("cont_hacc_needs_height"));
303 $ok = false;
304 }
305 }
306 return $ok;
307 }
308
309 public function create(): void
310 {
312
313 $this->initForm("create");
314 if ($this->form->checkInput() && $this->checkWidthHeight($this->form)) {
315 $this->content_obj = new ilPCTabs($this->getPage());
316 $this->content_obj->create($this->pg_obj, $this->hier_id, $this->pc_id);
317
318 $this->setPropertiesByForm();
319
320 for ($i = 0; $i < $this->request->getInt("nr"); $i++) {
321 $this->content_obj->addTab($lng->txt("cont_new_tab"));
322 }
323
324 $this->updated = $this->pg_obj->update();
325
326 if ($this->updated === true) {
327 $this->afterCreation();
328 } else {
329 $this->insert();
330 }
331 } else {
332 $this->form->setValuesByPost();
333 $this->insert(true);
334 }
335 }
336
337 public function afterCreation(): void
338 {
339 $ilCtrl = $this->ctrl;
340
341 $this->pg_obj->stripHierIDs();
342 $this->pg_obj->addHierIDs();
343 $ilCtrl->setParameter($this, "hier_id", $this->content_obj->readHierId());
344 $ilCtrl->setParameter($this, "pc_id", $this->content_obj->readPCId());
345 $this->content_obj->setHierId($this->content_obj->readHierId());
346 $this->setHierId($this->content_obj->readHierId());
347 $this->content_obj->setPcId($this->content_obj->readPCId());
348 $this->edit();
349 }
350
351 public function setPropertiesByForm(): void
352 {
353 $c = $this->content_obj;
354 $f = $this->form;
355
356 $c->setTabType($f->getInput("type"));
357
358 $c->setContentWidth((string) $f->getInput("content_width"));
359 $c->setContentHeight((string) $f->getInput("content_height"));
360 $c->setTemplate("");
361 switch ($this->request->getString("type")) {
363 $t = explode(":", $f->getInput("vaccord_templ"));
364 $c->setTemplate($t[2] ?? "");
365 $c->setBehavior($f->getInput("vbehavior"));
366 $c->setHorizontalAlign($f->getInput("valign"));
367 break;
368
370 $t = explode(":", $f->getInput("haccord_templ"));
371 $c->setTemplate($t[2] ?? "");
372 $c->setBehavior($f->getInput("hbehavior"));
373 break;
374
376 $t = explode(":", $f->getInput("carousel_templ"));
377 $c->setTemplate($t[2] ?? "");
378 $c->setHorizontalAlign($f->getInput("calign"));
379 $c->setAutoTime($f->getInput("auto_time"));
380 $c->setRandomStart($f->getInput("rand_start"));
381 break;
382 }
383 }
384
385 public function update(): void
386 {
387 $this->initForm();
388 $this->updated = false;
389 if ($this->form->checkInput() && $this->checkWidthHeight($this->form)) {
390 $this->setPropertiesByForm();
391 $this->updated = $this->pg_obj->update();
392 } else {
393 $this->form->setValuesByPost();
394 $this->editProperties(false);
395 return;
396 }
397 if ($this->updated === true) {
398 $this->tpl->setOnScreenMessage('success', $this->lng->txt("msg_obj_modified"), true);
399 $this->ctrl->redirect($this, "editProperties");
400 } else {
401 $this->pg_obj->addHierIDs();
402 $this->editProperties(false);
403 }
404 }
405
406 public function edit(): void
407 {
408 $tpl = $this->tpl;
409 $ilTabs = $this->tabs;
410 $ilCtrl = $this->ctrl;
411 $ilToolbar = $this->toolbar;
413
414 $this->initEditor();
415 $this->tabs->setBackTarget("", "");
416
417 $tpl->setContent($this->getTabPanels() . $this->getEditorScriptTag($this->pc_id, "Tabs"));
418 }
419
423 public function saveTabs(): void
424 {
425 $ilCtrl = $this->ctrl;
427
428 $captions = $this->request->getStringArray("caption");
429 $positions = $this->request->getStringArray("position");
430 if (count($captions) > 0) {
431 $this->content_obj->saveCaptions($captions);
432 }
433 if (count($positions)) {
434 $this->content_obj->savePositions($positions);
435 }
436 $this->updated = $this->pg_obj->update();
437 $this->tpl->setOnScreenMessage('success', $lng->txt("msg_obj_modified"), true);
438 $ilCtrl->redirect($this, "edit");
439 }
440
444 public function addTab(): void
445 {
447 $ilCtrl = $this->ctrl;
448
449 $this->content_obj->addTab($lng->txt("cont_new_tab"));
450 $this->updated = $this->pg_obj->update();
451
452 $this->tpl->setOnScreenMessage('success', $lng->txt("cont_added_tab"), true);
453 $ilCtrl->redirect($this, "edit");
454 }
455
456 public function confirmTabsDeletion(): void
457 {
458 $ilCtrl = $this->ctrl;
459 $tpl = $this->tpl;
461
462 $this->setTabs();
463
464 $tids = $this->request->getStringArray("tid");
465 if (count($tids) == 0) {
466 $this->tpl->setOnScreenMessage('info', $lng->txt("no_checkbox"), true);
467 $ilCtrl->redirect($this, "edit");
468 } else {
469 $cgui = new ilConfirmationGUI();
470 $cgui->setFormAction($ilCtrl->getFormAction($this));
471 $cgui->setHeaderText($lng->txt("cont_tabs_confirm_deletion"));
472 $cgui->setCancel($lng->txt("cancel"), "cancelTabDeletion");
473 $cgui->setConfirm($lng->txt("delete"), "deleteTabs");
474
475 foreach ($tids as $k => $i) {
476 $id = explode(":", $k);
477 $cgui->addItem(
478 "tid[]",
479 $k,
480 $this->content_obj->getCaption($id[0], $id[1])
481 );
482 }
483
484 $tpl->setContent($cgui->getHTML());
485 }
486 }
487
488 public function cancelTabDeletion(): void
489 {
490 $ilCtrl = $this->ctrl;
491 $ilCtrl->redirect($this, "edit");
492 }
493
494 public function deleteTabs(): void
495 {
496 $ilCtrl = $this->ctrl;
497
498 $tids = $this->request->getStringArray("tid");
499 foreach ($tids as $tid) {
500 $ids = explode(":", $tid);
501 $this->content_obj->deleteTab($ids[0], $ids[1]);
502 }
503 $this->updated = $this->pg_obj->update();
504
505 $ilCtrl->redirect($this, "edit");
506 }
507
508 public function setTabs(): void
509 {
510 $ilTabs = $this->tabs;
511 $ilCtrl = $this->ctrl;
513
514 $ilTabs->setBackTarget(
515 $lng->txt("pg"),
516 $this->ctrl->getParentReturn($this)
517 );
518
519 $ilTabs->addTarget(
520 "cont_tabs",
521 $ilCtrl->getLinkTarget($this, "edit"),
522 "edit",
523 get_class($this)
524 );
525
526 $ilTabs->addTarget(
527 "cont_edit_tabs",
528 $ilCtrl->getLinkTarget($this, "editProperties"),
529 "editProperties",
530 get_class($this)
531 );
532 }
533
534 protected function getCaptionForm(string $caption = ""): \ILIAS\Repository\Form\FormAdapterGUI
535 {
536 return $this->gui->form([self::class], "saveCaption")
537 ->text("caption", $this->lng->txt("title"), "", $caption);
538 }
539
540 protected function getTabPanels(): string
541 {
543 $tabs = $this->content_obj;
544 $items = [];
545 $ui = $this->gui->ui();
546
547 $actions = [
548 $this->lng->txt("cont_tab_add_above") => "addAbove",
549 $this->lng->txt("cont_tab_add_below") => "addBelow",
550 $this->lng->txt("cont_tab_move_up") => "moveUp",
551 $this->lng->txt("cont_tab_move_down") => "moveDown",
552 $this->lng->txt("cont_tab_move_top") => "moveTop",
553 $this->lng->txt("cont_tab_move_bottom") => "moveBottom",
554 $this->lng->txt("cont_tab_delete") => "deletePanel"
555 ];
556
557 $captions = $tabs->getCaptions();
558 $cnt = 1;
559 foreach ($captions as $cap) {
560 $this->ctrl->setParameter($this, "cap_pc_id", $cap["pc_id"]);
561 $form = $this->getCaptionForm($cap["caption"]);
562 $components = $this->gui->modal($this->lng->txt("cont_edit_title"))
563 ->form($form)->getTriggerButtonComponents(
564 $this->lng->txt("cont_edit_title"),
565 true
566 );
567 $items[] = $components["modal"];
568 $dd_items = [$components["button"]];
569 foreach ($actions as $lng => $act) {
570 if ($cnt === 1 && in_array($act, ["moveUp", "moveTop"])) {
571 continue;
572 }
573 if ($cnt === count($captions) && in_array($act, ["moveDown", "moveBottom"])) {
574 continue;
575 }
576 $dd_items[] = $ui->factory()->link()->standard(
577 $lng,
578 $this->ctrl->getLinkTarget($this, $act)
579 );
580 }
581 $dd = $ui->factory()->dropdown()->standard($dd_items);
582 $content = $this->getTabContent($cap["pc_id"]);
583 $items[] = $ui->factory()->panel()->standard(
584 $cap["caption"],
585 $ui->factory()->legacy()->content($content)
586 )
587 ->withActions($dd);
588 $cnt++;
589 }
590
591 return $ui->renderer()->render($items);
592 }
593
594 protected function getTabContent(string $pc_id): string
595 {
597 $tabs = $this->content_obj;
598 $xml = $tabs->getNodeXml($pc_id);
599
600 $xml = "<dummy>" . $xml . $this->getPage()->getMultimediaXML() . "</dummy>";
601
602 $wb_path = ilFileUtils::getWebspaceDir("output") . "/";
603 $params = array('mode' => "presentation", 'enlarge_path' => "#",
604 'fullscreen_link' => "#",
605 'pg_frame' => "", 'webspace_path' => $wb_path);
606 $output = $this->xsl->process($xml, $params);
607
608 $defs = $this->pc_def->getPCDefinitions();
609 foreach ($defs as $def) {
610 $pc_class = $def["pc_class"];
611 $pc_obj = new $pc_class($this->getPage());
612
613 // post xsl page content modification by pc elements
614 $output = $pc_obj->modifyPageContentPostXsl($output, "presentation", false);
615 }
616
617 return $output;
618 }
619
620 protected function saveCaption(): void
621 {
623 $tabs = $this->content_obj;
624
625 $form = $this->getCaptionForm();
626 if ($form->isValid()) {
627 $pc_id = $this->request->getString("cap_pc_id");
628 $tabs->saveCaption($pc_id, $form->getData("caption"));
629 $this->updated = $this->pg_obj->update();
630 }
631 $this->ctrl->redirect($this, "edit");
632 }
633
634 protected function addAbove(): void
635 {
637 $tabs = $this->content_obj;
638 $pc_id = $this->request->getString("cap_pc_id");
639 $tabs->addAbove($pc_id, $this->lng->txt("cont_new_tab"));
640 $this->updated = $this->pg_obj->update();
641 $this->ctrl->redirect($this, "edit");
642 }
643
644 protected function addBelow(): void
645 {
647 $tabs = $this->content_obj;
648 $pc_id = $this->request->getString("cap_pc_id");
649 $tabs->addBelow($pc_id, $this->lng->txt("cont_new_tab"));
650 $this->updated = $this->pg_obj->update();
651 $this->ctrl->redirect($this, "edit");
652 }
653
654 protected function moveUp(): void
655 {
657 $tabs = $this->content_obj;
658 $pc_id = $this->request->getString("cap_pc_id");
659 $tabs->moveUp($pc_id);
660 $this->updated = $this->pg_obj->update();
661 $this->ctrl->redirect($this, "edit");
662 }
663
664 protected function moveDown(): void
665 {
667 $tabs = $this->content_obj;
668 $pc_id = $this->request->getString("cap_pc_id");
669 $tabs->moveDown($pc_id);
670 $this->updated = $this->pg_obj->update();
671 $this->ctrl->redirect($this, "edit");
672 }
673
674 protected function moveTop(): void
675 {
677 $tabs = $this->content_obj;
678 $pc_id = $this->request->getString("cap_pc_id");
679 $tabs->moveTop($pc_id);
680 $this->updated = $this->pg_obj->update();
681 $this->ctrl->redirect($this, "edit");
682 }
683
684 protected function moveBottom(): void
685 {
687 $tabs = $this->content_obj;
688 $pc_id = $this->request->getString("cap_pc_id");
689 $tabs->moveBottom($pc_id);
690 $this->updated = $this->pg_obj->update();
691 $this->ctrl->redirect($this, "edit");
692 }
693
694 protected function deletePanel(): void
695 {
697 $tabs = $this->content_obj;
698 $pc_id = $this->request->getString("cap_pc_id");
699 $tabs->deletePanel($pc_id);
700 $this->updated = $this->pg_obj->update();
701 $this->ctrl->redirect($this, "edit");
702 }
703
704}
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:23
$components
static addCss()
Add required css.
This class represents a checkbox property in a property form.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getWebspaceDir(string $mode="filesystem")
get webspace directory
This class represents a hidden form property in a property form.
This class represents a number property in a property form.
static _lookupTemplateIdByName(int $a_style_id, string $a_name)
Lookup table template preview.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(ilPageObject $a_pg_obj, ?ilPageContent $a_content_obj, string $a_hier_id, string $a_pc_id="")
editProperties(bool $init_form=true)
insert(bool $a_omit_form_init=false)
Insert new tabs.
ILIAS COPage PC PCDefinition $pc_def
ILIAS COPage Xsl XslManager $xsl
getCaptionForm(string $caption="")
checkWidthHeight(ilPropertyFormGUI $form)
ilDBInterface $db
ilPropertyFormGUI $form
addTab()
Save tabs properties in db and return to page edit screen.
ilToolbarGUI $toolbar
initForm(string $a_mode="edit")
saveTabs()
Save tabs properties in db and return to page edit screen.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const CAROUSEL
const ACCORDION_HOR
const ACCORDION_VER
User Interface for Editing of Page Content Objects (Paragraphs, Tables, ...)
ilGlobalTemplateInterface $tpl
Content object of ilPageObject (see ILIAS DTD).
Class ilPageObject Handles PageObjects of ILIAS Learning Modules (see ILIAS DTD)
This class represents a property form user interface.
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
getItemByPostVar(string $a_post_var)
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
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...
$c
Definition: deliver.php:25
setContent(string $a_html)
Sets content for standard template.
Interface ilDBInterface.
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
Definition: ltiregstart.php:31
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
form( $class_path, string $cmd, string $submit_caption="")
Interface Observer \BackgroundTasks Contains several chained tasks and infos about them.
global $lng
Definition: privfeed.php:31
global $DIC
Definition: shib_login.php:26