ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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 21 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 82 of file class.ilADTGroupFormBridge.php.

82 : void
83 {
84 $this->prepareElements();
85 foreach ($this->elements as $element) {
86 $element->addJS($a_tpl);
87 }
88 }

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 63 of file class.ilADTGroupFormBridge.php.

63 : void
64 {
65 if ($this->getTitle()) {
66 $section = new ilFormSectionHeaderGUI();
67 $section->setTitle($this->getTitle());
68
69 if ($this->getInfo()) {
70 $section->setInfo($this->getInfo());
71 }
72
73 $this->getForm()->addItem($section);
74 }
75
76 $this->prepareElements();
77 foreach ($this->elements as $element) {
78 $element->addToForm();
79 }
80 }
This class represents a section header in a property form.

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 54 of file class.ilADTGroupFormBridge.php.

55 {
56 $this->prepareElements();
57 if (array_key_exists($a_name, $this->elements)) {
58 return $this->elements[$a_name];
59 }
60 return null;
61 }
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 48 of file class.ilADTGroupFormBridge.php.

48 : array
49 {
50 $this->prepareElements();
51 return $this->elements;
52 }

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 90 of file class.ilADTGroupFormBridge.php.

90 : void
91 {
92 $this->prepareElements();
93 foreach ($this->elements as $element) {
94 // parse parent element
95 $parent = $element->getParentElement();
96 if ($parent) {
97 if (is_array($parent)) {
98 $parent = $parent[0];
99 }
100 $parent = $adt_forms[$parent] ?? null;
101 }
102 if ($element->shouldBeImportedFromPost($parent)) {
103 $element->importFromPost();
104 }
105 }
106 }

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 25 of file class.ilADTGroupFormBridge.php.

25 : bool
26 {
27 return ($a_adt instanceof ilADTGroup);
28 }

◆ prepareElements()

ilADTGroupFormBridge::prepareElements ( )
protected

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

30 : void
31 {
32 if (count($this->elements)) {
33 return;
34 }
35
36 $this->elements = array();
37 $factory = ilADTFactory::getInstance();
38
39 // convert ADTs to form bridges
40
41 foreach ($this->getADT()->getElements() as $name => $element) {
42 $this->elements[$name] = $factory->getFormBridgeForInstance($element);
43 $this->elements[$name]->setForm($this->getForm());
44 $this->elements[$name]->setElementId((string) $name);
45 }
46 }

References 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 108 of file class.ilADTGroupFormBridge.php.

108 : bool
109 {
110 $valid = true;
111
112 // ilADTFormBridge->isRequired() != ilADT->allowNull()
113 foreach ($this->getElements() as $element_id => $element) {
114 if ($element->isRequired() && $element->getADT()->isNull()) {
115 $field = $this->getForm()->getItemByPostVar($element_id);
116 $field->setAlert($this->lng->txt("msg_input_is_required"));
117 $valid = false;
118 } // #17232 - date time input GUI special case
119 elseif (!$element->validate()) {
120 $valid = false;
121 }
122 }
123
124 if (!$this->getADT()->isValid()) {
125 $tmp = array();
126
127 // map errors to elements
128
129 $mess = $this->getADT()->getValidationErrorsByElements();
130 foreach ($mess as $error_code => $element_id) {
131 $tmp[$element_id][] = $this->getADT()->translateErrorCode($error_code);
132 }
133
134 foreach ($tmp as $element_id => $errors) {
135 $field = $this->getForm()->getItemByPostVar((string) $element_id);
136 $field->setAlert(implode("<br />", $errors));
137 }
138
139 $valid = false;
140 }
141
142 return $valid;
143 }
$valid

References $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 23 of file class.ilADTGroupFormBridge.php.

Referenced by getElements().


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