ILIAS  trunk Revision v11.0_alpha-1866-gfa368f7776e
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilADTGroupFormBridge Class Reference
+ Inheritance diagram for ilADTGroupFormBridge:
+ Collaboration diagram for ilADTGroupFormBridge:

Public Member Functions

 getElements ()
 
 getElement (string $a_name)
 
 addToForm ()
 
 addJS (ilGlobalTemplateInterface $a_tpl)
 
 importFromPost ()
 
 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)

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

References prepareElements().

82  : void
83  {
84  $this->prepareElements();
85  foreach ($this->elements as $element) {
86  $element->addJS($a_tpl);
87  }
88  }
+ Here is the call graph for this function:

◆ addToForm()

ilADTGroupFormBridge::addToForm ( )

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

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

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  }
+ Here is the call graph for this function:

◆ getElement()

ilADTGroupFormBridge::getElement ( string  $a_name)

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

References null, and prepareElements().

Referenced by ilADTTestGUI\prepareFormElements().

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.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ 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.

References $elements, and prepareElements().

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

48  : array
49  {
50  $this->prepareElements();
51  return $this->elements;
52  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importFromPost()

ilADTGroupFormBridge::importFromPost ( )

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

References ilADTFormBridge\$parent, null, and prepareElements().

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  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ isValidADT()

ilADTGroupFormBridge::isValidADT ( ilADT  $a_adt)
protected

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.

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

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

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  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ validate()

ilADTGroupFormBridge::validate ( )

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

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

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
+ 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: