ILIAS  release_8 Revision v8.24
ilADTGroupFormBridge Class Reference
+ Inheritance diagram for ilADTGroupFormBridge:
+ Collaboration diagram for ilADTGroupFormBridge:

Public Member Functions

 getElements ()
 
 getElement (string $a_name)
 
 addToForm ()
 Add ADT-specific fields to form. More...
 
 addJS (ilGlobalTemplateInterface $a_tpl)
 Add ADT-specific JS-files to template. More...
 
 importFromPost ()
 Import values from form request POST data. More...
 
 validate ()
 
- Public Member Functions inherited from ilADTFormBridge
 __construct (ilADT $a_adt)
 
 getADT ()
 
 setForm (ilPropertyFormGUI $a_form)
 
 getForm ()
 
 setElementId (string $a_value)
 Set element id (aka form field) More...
 
 getElementId ()
 
 setTitle (string $a_value)
 
 getTitle ()
 
 setInfo (string $a_value)
 
 getInfo ()
 
 setParentElement ($a_value)
 
 getParentElement ()
 Get parent element. More...
 
 setDisabled (bool $a_value)
 
 isDisabled ()
 
 setRequired (bool $a_value)
 
 isRequired ()
 
 addToForm ()
 Add ADT-specific fields to form. More...
 
 addJS (ilGlobalTemplateInterface $a_tpl)
 Add ADT-specific JS-files to template. More...
 
 shouldBeImportedFromPost (ilADTFormBridge $a_parent_adt=null)
 Check if incoming values should be imported at all. More...
 
 importFromPost ()
 Import values from form request POST data. More...
 
 validate ()
 
 setExternalErrors (array $a_errors)
 

Protected Member Functions

 isValidADT (ilADT $a_adt)
 
 prepareElements ()
 
- Protected Member Functions inherited from ilADTFormBridge
 isValidADT (ilADT $a_adt)
 
 setADT (ilADT $a_adt)
 
 addBasicFieldProperties (ilFormPropertyGUI $a_field, ilADTDefinition $a_def)
 Helper method to handle generic properties like setRequired(), setInfo() More...
 
 findParentElementInForm ()
 
 addToParentElement (ilFormPropertyGUI $a_field)
 
 isActiveForSubItems ($a_parent_option=null)
 Check if element is currently active for subitem(s) More...
 

Protected Attributes

array $elements = []
 
- Protected Attributes inherited from ilADTFormBridge
ilADT $adt
 
ilPropertyFormGUI $form
 
 $parent
 
string $id = null
 
string $title = ''
 
string $info = ''
 
 $parent_element
 
bool $required = false
 
bool $disabled = false
 
ilLanguage $lng
 

Detailed Description

Definition at line 5 of file class.ilADTGroupFormBridge.php.

Member Function Documentation

◆ addJS()

ilADTGroupFormBridge::addJS ( ilGlobalTemplateInterface  $a_tpl)

Add ADT-specific JS-files to template.

Parameters
ilGlobalTemplate$a_tpl

Reimplemented from ilADTFormBridge.

Definition at line 66 of file class.ilADTGroupFormBridge.php.

66 : void
67 {
68 $this->prepareElements();
69 foreach ($this->elements as $element) {
70 $element->addJS($a_tpl);
71 }
72 }

References prepareElements().

+ Here is the call graph for this function:

◆ addToForm()

ilADTGroupFormBridge::addToForm ( )

Add ADT-specific fields to form.

Reimplemented from ilADTFormBridge.

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

47 : void
48 {
49 if ($this->getTitle()) {
50 $section = new ilFormSectionHeaderGUI();
51 $section->setTitle($this->getTitle());
52
53 if ($this->getInfo()) {
54 $section->setInfo($this->getInfo());
55 }
56
57 $this->getForm()->addItem($section);
58 }
59
60 $this->prepareElements();
61 foreach ($this->elements as $element) {
62 $element->addToForm();
63 }
64 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References ilADTFormBridge\getForm(), ilADTFormBridge\getInfo(), ilADTFormBridge\getTitle(), and prepareElements().

+ Here is the call graph for this function:

◆ getElement()

ilADTGroupFormBridge::getElement ( string  $a_name)

Definition at line 38 of file class.ilADTGroupFormBridge.php.

39 {
40 $this->prepareElements();
41 if (array_key_exists($a_name, $this->elements)) {
42 return $this->elements[$a_name];
43 }
44 return null;
45 }
ADT form bridge base class.

References prepareElements().

Referenced by ilADTTestGUI\prepareFormElements().

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

◆ getElements()

ilADTGroupFormBridge::getElements ( )

Definition at line 32 of file class.ilADTGroupFormBridge.php.

32 : array
33 {
34 $this->prepareElements();
35 return $this->elements;
36 }

References $elements, and prepareElements().

Referenced by prepareElements(), ilADTTestGUI\prepareFormElements(), and validate().

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

◆ importFromPost()

ilADTGroupFormBridge::importFromPost ( )

Import values from form request POST data.

Reimplemented from ilADTFormBridge.

Definition at line 74 of file class.ilADTGroupFormBridge.php.

74 : void
75 {
76 $this->prepareElements();
77 foreach ($this->elements as $element) {
78 // parse parent element
79 $parent = $element->getParentElement();
80 if ($parent) {
81 if (is_array($parent)) {
82 $parent = $parent[0];
83 }
84 $parent = $adt_forms[$parent] ?? null;
85 }
86 if ($element->shouldBeImportedFromPost($parent)) {
87 $element->importFromPost();
88 }
89 }
90 }

References ilADTFormBridge\$parent, and prepareElements().

+ Here is the call graph for this function:

◆ isValidADT()

ilADTGroupFormBridge::isValidADT ( ilADT  $a_adt)
protected

Reimplemented from ilADTFormBridge.

Definition at line 9 of file class.ilADTGroupFormBridge.php.

9 : bool
10 {
11 return ($a_adt instanceof ilADTGroup);
12 }

◆ prepareElements()

ilADTGroupFormBridge::prepareElements ( )
protected

Definition at line 14 of file class.ilADTGroupFormBridge.php.

14 : void
15 {
16 if (count($this->elements)) {
17 return;
18 }
19
20 $this->elements = array();
22
23 // convert ADTs to form bridges
24
25 foreach ($this->getADT()->getElements() as $name => $element) {
26 $this->elements[$name] = $factory->getFormBridgeForInstance($element);
27 $this->elements[$name]->setForm($this->getForm());
28 $this->elements[$name]->setElementId((string) $name);
29 }
30 }
$factory
Definition: metadata.php:75
if($format !==null) $name
Definition: metadata.php:247

References $factory, $name, ilADTFormBridge\getADT(), getElements(), ilADTFormBridge\getForm(), and ilADTFactory\getInstance().

Referenced by addJS(), addToForm(), getElement(), getElements(), and importFromPost().

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

◆ validate()

ilADTGroupFormBridge::validate ( )

Reimplemented from ilADTFormBridge.

Definition at line 92 of file class.ilADTGroupFormBridge.php.

92 : bool
93 {
94 $valid = true;
95
96 // ilADTFormBridge->isRequired() != ilADT->allowNull()
97 foreach ($this->getElements() as $element_id => $element) {
98 if ($element->isRequired() && $element->getADT()->isNull()) {
99 $field = $this->getForm()->getItemByPostVar($element_id);
100 $field->setAlert($this->lng->txt("msg_input_is_required"));
101 $valid = false;
102 } // #17232 - date time input GUI special case
103 elseif (!$element->validate()) {
104 $valid = false;
105 }
106 }
107
108 if (!$this->getADT()->isValid()) {
109 $tmp = array();
110
111 // map errors to elements
112
113 $mess = $this->getADT()->getValidationErrorsByElements();
114 foreach ($mess as $error_code => $element_id) {
115 $tmp[$element_id][] = $this->getADT()->translateErrorCode($error_code);
116 }
117
118 foreach ($tmp as $element_id => $errors) {
119 $field = $this->getForm()->getItemByPostVar((string) $element_id);
120 $field->setAlert(implode("<br />", $errors));
121 }
122
123 $valid = false;
124 }
125
126 return $valid;
127 }
$valid
$errors
Definition: imgupload.php:65

References $errors, $valid, ilADTFormBridge\getADT(), getElements(), ilADTFormBridge\getForm(), and ILIAS\Repository\lng().

+ Here is the call graph for this function:

Field Documentation

◆ $elements

array ilADTGroupFormBridge::$elements = []
protected

Definition at line 7 of file class.ilADTGroupFormBridge.php.

Referenced by getElements().


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