ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables 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 5 of file class.ilADTGroupFormBridge.php.

Member Function Documentation

◆ addJS()

ilADTGroupFormBridge::addJS ( ilGlobalTemplateInterface  $a_tpl)

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

References prepareElements().

66  : void
67  {
68  $this->prepareElements();
69  foreach ($this->elements as $element) {
70  $element->addJS($a_tpl);
71  }
72  }
+ Here is the call graph for this function:

◆ addToForm()

ilADTGroupFormBridge::addToForm ( )

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

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

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

◆ getElement()

ilADTGroupFormBridge::getElement ( string  $a_name)

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

References prepareElements().

Referenced by ilADTTestGUI\prepareFormElements().

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

References $elements, and prepareElements().

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

32  : array
33  {
34  $this->prepareElements();
35  return $this->elements;
36  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ importFromPost()

ilADTGroupFormBridge::importFromPost ( )

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

References ilADTFormBridge\$parent, and prepareElements().

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

◆ isValidADT()

ilADTGroupFormBridge::isValidADT ( ilADT  $a_adt)
protected

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.

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

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

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  }
if($format !==null) $name
Definition: metadata.php:247
$factory
Definition: metadata.php:75
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ validate()

ilADTGroupFormBridge::validate ( )

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

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

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  }
$errors
Definition: imgupload.php:65
$valid
+ 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: