ILIAS  release_7 Revision v7.30-3-g800a261c036
ilADTFormBridge Class Reference

ADT form bridge base class. More...

+ Inheritance diagram for ilADTFormBridge:
+ Collaboration diagram for ilADTFormBridge:

Public Member Functions

 __construct (ilADT $a_adt)
 Constructor. More...
 
 getADT ()
 Get ADT. More...
 
 setForm (ilPropertyFormGUI $a_form)
 Set form. More...
 
 getForm ()
 Get form. More...
 
 setElementId ($a_value)
 Set element id (aka form field) More...
 
 getElementId ()
 Get element id. More...
 
 setTitle ($a_value)
 Set title (aka form field caption) More...
 
 getTitle ()
 Get title. More...
 
 setInfo ($a_value)
 Set info (aka form field info text) More...
 
 getInfo ()
 Get info. More...
 
 setParentElement ($a_value)
 Set parent element. More...
 
 getParentElement ()
 Get parent element. More...
 
 setDisabled ($a_value)
 Set disabled. More...
 
 isDisabled ()
 Get disabled. More...
 
 setRequired ($a_value)
 Set required. More...
 
 isRequired ()
 Get required. More...
 
 addToForm ()
 Add ADT-specific fields to form. More...
 
 addJS (ilGlobalTemplate $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 ()
 Validate ADT and parse error codes. More...
 
 setExternalErrors ($a_errors)
 

Protected Member Functions

 isValidADT (ilADT $a_adt)
 Check if given ADT is valid. More...
 
 setADT (ilADT $a_adt)
 Set ADT. More...
 
 addBasicFieldProperties (ilFormPropertyGUI $a_field, ilADTDefinition $a_def)
 Helper method to handle generic properties like setRequired(), setInfo() More...
 
 findParentElementInForm ()
 Try to find parent element in form (could be option) More...
 
 addToParentElement (ilFormPropertyGUI $a_field)
 Add form field to parent element. More...
 
 isActiveForSubItems ($a_parent_option=null)
 Check if element is currently active for subitem(s) More...
 

Protected Attributes

 $adt
 
 $form
 
 $id
 
 $title
 
 $info
 
 $parent_element
 
 $required
 
 $disabled
 

Detailed Description

ADT form bridge base class.

Author
Jörg Lützenkirchen luetz.nosp@m.enki.nosp@m.rchen.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

Definition at line 11 of file class.ilADTFormBridge.php.

Constructor & Destructor Documentation

◆ __construct()

ilADTFormBridge::__construct ( ilADT  $a_adt)

Constructor.

Parameters
ilADT$a_adt
Returns
self

Reimplemented in ilADTTextFormBridge.

Definition at line 28 of file class.ilADTFormBridge.php.

29 {
30 $this->setADT($a_adt);
31 }
setADT(ilADT $a_adt)
Set ADT.

References setADT().

+ Here is the call graph for this function:

Member Function Documentation

◆ addBasicFieldProperties()

ilADTFormBridge::addBasicFieldProperties ( ilFormPropertyGUI  $a_field,
ilADTDefinition  $a_def 
)
protected

Helper method to handle generic properties like setRequired(), setInfo()

Parameters
ilFormPropertyGUI$a_field
ilADTDefinition$a_def

Definition at line 227 of file class.ilADTFormBridge.php.

228 {
229 if ((bool) $this->isDisabled()) {
230 $a_field->setDisabled(true);
231 } elseif ($this->isRequired()) {
232 $a_field->setRequired(true);
233 }
234
235 $info = $this->getInfo();
236 if ($info) {
237 $a_field->setInfo($info);
238 }
239 }
isRequired()
Get required.
isDisabled()
Get disabled.
setInfo($a_info)
Set Information Text.
setRequired($a_required)
Set Required.
setDisabled($a_disabled)
Set Disabled.

References $info, getInfo(), isDisabled(), isRequired(), ilFormPropertyGUI\setDisabled(), ilFormPropertyGUI\setInfo(), and ilFormPropertyGUI\setRequired().

Referenced by ilADTTextFormBridge\addElementToForm(), ilADTBooleanFormBridge\addToForm(), ilADTDateFormBridge\addToForm(), ilADTDateTimeFormBridge\addToForm(), ilADTEnumFormBridge\addToForm(), ilADTExternalLinkFormBridge\addToForm(), ilADTFloatFormBridge\addToForm(), ilADTIntegerFormBridge\addToForm(), ilADTInternalLinkFormBridge\addToForm(), ilADTLocationFormBridge\addToForm(), ilADTMultiEnumFormBridge\addToForm(), and ilADTMultiTextFormBridge\addToForm().

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

◆ addJS()

ilADTFormBridge::addJS ( ilGlobalTemplate  $a_tpl)

Add ADT-specific JS-files to template.

Parameters
ilGlobalTemplate$a_tpl

Reimplemented in ilADTGroupFormBridge.

Definition at line 301 of file class.ilADTFormBridge.php.

302 {
303 }

◆ addToForm()

◆ addToParentElement()

ilADTFormBridge::addToParentElement ( ilFormPropertyGUI  $a_field)
protected

Add form field to parent element.

Parameters
ilFormPropertyGUI$a_field

Definition at line 281 of file class.ilADTFormBridge.php.

282 {
283 $field = $this->findParentElementInForm();
284 if ($field) {
285 $field->addSubItem($a_field);
286 } elseif ($this->getForm() instanceof ilPropertyFormGUI) {
287 $this->getForm()->addItem($a_field);
288 }
289 }
findParentElementInForm()
Try to find parent element in form (could be option)
This class represents a property form user interface.

References findParentElementInForm(), and getForm().

Referenced by ilADTTextFormBridge\addElementToForm(), ilADTBooleanFormBridge\addToForm(), ilADTDateFormBridge\addToForm(), ilADTDateTimeFormBridge\addToForm(), ilADTEnumFormBridge\addToForm(), ilADTExternalLinkFormBridge\addToForm(), ilADTFloatFormBridge\addToForm(), ilADTIntegerFormBridge\addToForm(), ilADTInternalLinkFormBridge\addToForm(), ilADTLocationFormBridge\addToForm(), ilADTMultiEnumFormBridge\addToForm(), and ilADTMultiTextFormBridge\addToForm().

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

◆ findParentElementInForm()

ilADTFormBridge::findParentElementInForm ( )
protected

Try to find parent element in form (could be option)

Returns
ilFormPropertyGUI

Definition at line 246 of file class.ilADTFormBridge.php.

247 {
248 $parent_def = $this->getParentElement();
249 if ($parent_def) {
250 if (is_array($parent_def)) {
251 $parent_option = $parent_def[1];
252 $parent_def = $parent_def[0];
253 }
254
255 // :TODO: throw exception on invalid definition ?!
256
257 $parent_field = $this->getForm()->getItemByPostVar($parent_def);
258 if ($parent_field instanceof ilSubEnabledFormPropertyGUI) {
259 // radio/checkbox group
260 if ($parent_option && method_exists($parent_field, "getOptions")) {
261 foreach ($parent_field->getOptions() as $option) {
262 if ($option->getValue() == $parent_option) {
263 $parent_field = $option;
264 break;
265 }
266 }
267 }
268 }
269
270 if ($parent_field) {
271 return $parent_field;
272 }
273 }
274 }
getParentElement()
Get parent element.
This class represents a property that may include a sub form.

References getForm(), and getParentElement().

Referenced by addToParentElement().

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

◆ getADT()

ilADTFormBridge::getADT ( )

Get ADT.

Returns
ilADT

Definition at line 68 of file class.ilADTFormBridge.php.

69 {
70 return $this->adt;
71 }

References $adt.

Referenced by ilADTTextFormBridge\addElementToForm(), ilADTBooleanFormBridge\addToForm(), ilADTDateFormBridge\addToForm(), ilADTDateTimeFormBridge\addToForm(), ilADTEnumFormBridge\addToForm(), ilADTExternalLinkFormBridge\addToForm(), ilADTFloatFormBridge\addToForm(), ilADTIntegerFormBridge\addToForm(), ilADTInternalLinkFormBridge\addToForm(), ilADTLocalizedTextFormBridge\addToForm(), ilADTLocationFormBridge\addToForm(), ilADTMultiEnumFormBridge\addToForm(), ilADTMultiTextFormBridge\addToForm(), ilADTTextFormBridge\addToForm(), ilADTBooleanFormBridge\importFromPost(), ilADTDateFormBridge\importFromPost(), ilADTDateTimeFormBridge\importFromPost(), ilADTEnumFormBridge\importFromPost(), ilADTExternalLinkFormBridge\importFromPost(), ilADTFloatFormBridge\importFromPost(), ilADTIntegerFormBridge\importFromPost(), ilADTInternalLinkFormBridge\importFromPost(), ilADTLocalizedTextFormBridge\importFromPost(), ilADTLocationFormBridge\importFromPost(), ilADTMultiEnumFormBridge\importFromPost(), ilADTMultiTextFormBridge\importFromPost(), ilADTTextFormBridge\importFromPost(), isActiveForSubItems(), ilADTBooleanFormBridge\isActiveForSubItems(), ilADTEnumFormBridge\isActiveForSubItems(), ilADTMultiEnumFormBridge\isActiveForSubItems(), ilADTGroupFormBridge\prepareElements(), validate(), and ilADTGroupFormBridge\validate().

+ Here is the caller graph for this function:

◆ getElementId()

◆ getForm()

◆ getInfo()

ilADTFormBridge::getInfo ( )

Get info.

Returns
string

Definition at line 148 of file class.ilADTFormBridge.php.

149 {
150 return $this->info;
151 }

References $info.

Referenced by addBasicFieldProperties(), and ilADTGroupFormBridge\addToForm().

+ Here is the caller graph for this function:

◆ getParentElement()

ilADTFormBridge::getParentElement ( )

Get parent element.

Returns
string

Definition at line 171 of file class.ilADTFormBridge.php.

172 {
173 return $this->parent;
174 }

Referenced by findParentElementInForm(), and shouldBeImportedFromPost().

+ Here is the caller graph for this function:

◆ getTitle()

◆ importFromPost()

◆ isActiveForSubItems()

ilADTFormBridge::isActiveForSubItems (   $a_parent_option = null)
protected

Check if element is currently active for subitem(s)

Parameters
mixed$a_parent_option
Returns
bool

Reimplemented in ilADTBooleanFormBridge, ilADTEnumFormBridge, and ilADTMultiEnumFormBridge.

Definition at line 311 of file class.ilADTFormBridge.php.

312 {
313 return !$this->getADT()->isNull();
314 }

References getADT().

+ Here is the call graph for this function:

◆ isDisabled()

ilADTFormBridge::isDisabled ( )

Get disabled.

Returns
bool

Definition at line 191 of file class.ilADTFormBridge.php.

192 {
193 return $this->disabled;
194 }

References $disabled.

Referenced by addBasicFieldProperties(), and shouldBeImportedFromPost().

+ Here is the caller graph for this function:

◆ isRequired()

ilADTFormBridge::isRequired ( )

Get required.

Returns
required

Definition at line 211 of file class.ilADTFormBridge.php.

212 {
213 return $this->required;
214 }

References $required.

Referenced by addBasicFieldProperties(), ilADTEnumFormBridge\addToForm(), ilADTLocationFormBridge\addToForm(), ilADTLocationFormBridge\importFromPost(), and validate().

+ Here is the caller graph for this function:

◆ isValidADT()

ilADTFormBridge::isValidADT ( ilADT  $a_adt)
abstractprotected

Check if given ADT is valid.

:TODO: This could be avoided with type-specifc constructors :TODO: bridge base class?

Parameters
ilADT$a_adt

Reimplemented in ilADTBooleanFormBridge, ilADTDateFormBridge, ilADTDateTimeFormBridge, ilADTEnumFormBridge, ilADTExternalLinkFormBridge, ilADTFloatFormBridge, ilADTGroupFormBridge, ilADTIntegerFormBridge, ilADTInternalLinkFormBridge, ilADTLocalizedTextFormBridge, ilADTLocationFormBridge, ilADTMultiEnumFormBridge, ilADTMultiTextFormBridge, and ilADTTextFormBridge.

Referenced by setADT().

+ Here is the caller graph for this function:

◆ setADT()

ilADTFormBridge::setADT ( ilADT  $a_adt)
protected

Set ADT.

Exceptions
Exception
Parameters
ilADT$a_adt

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

55 {
56 if (!$this->isValidADT($a_adt)) {
57 throw new Exception('ADTFormBridge Type mismatch.');
58 }
59
60 $this->adt = $a_adt;
61 }
isValidADT(ilADT $a_adt)
Check if given ADT is valid.

References isValidADT().

Referenced by __construct().

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

◆ setDisabled()

ilADTFormBridge::setDisabled (   $a_value)

Set disabled.

Parameters
bool$a_value

Definition at line 181 of file class.ilADTFormBridge.php.

182 {
183 $this->disabled = (bool) $a_value;
184 }
disabled()
Example showing how to plug a disabled checkbox into a form.
Definition: disabled.php:5

References disabled().

+ Here is the call graph for this function:

◆ setElementId()

ilADTFormBridge::setElementId (   $a_value)

Set element id (aka form field)

Parameters
string$a_value

Definition at line 98 of file class.ilADTFormBridge.php.

99 {
100 $this->id = (string) $a_value;
101 }

◆ setExternalErrors()

ilADTFormBridge::setExternalErrors (   $a_errors)

Definition at line 381 of file class.ilADTFormBridge.php.

382 {
383 $field = $this->getForm()->getItemByPostvar($this->getElementId());
384 $field->setAlert(implode("<br />", $a_errors));
385 }
getElementId()
Get element id.

References getElementId(), and getForm().

+ Here is the call graph for this function:

◆ setForm()

ilADTFormBridge::setForm ( ilPropertyFormGUI  $a_form)

Set form.

Parameters
ilPropertyFormGUI$a_form

Definition at line 78 of file class.ilADTFormBridge.php.

79 {
80 $this->form = $a_form;
81 }

◆ setInfo()

ilADTFormBridge::setInfo (   $a_value)

Set info (aka form field info text)

Parameters
string$a_value

Definition at line 138 of file class.ilADTFormBridge.php.

139 {
140 $this->info = trim($a_value);
141 }
info()
Definition: info.php:2

References info().

Referenced by ilADTTestGUI\prepareFormElements().

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

◆ setParentElement()

ilADTFormBridge::setParentElement (   $a_value)

Set parent element.

Parameters
string | array$a_value

Definition at line 158 of file class.ilADTFormBridge.php.

159 {
160 if (!is_array($a_value)) {
161 $a_value = (string) $a_value;
162 }
163 $this->parent = $a_value;
164 }

◆ setRequired()

ilADTFormBridge::setRequired (   $a_value)

Set required.

Parameters
bool$a_value

Definition at line 201 of file class.ilADTFormBridge.php.

202 {
203 $this->required = (bool) $a_value;
204 }

◆ setTitle()

ilADTFormBridge::setTitle (   $a_value)

Set title (aka form field caption)

Parameters
string$a_value

Definition at line 118 of file class.ilADTFormBridge.php.

119 {
120 $this->title = trim($a_value);
121 }

Referenced by ilADTTestGUI\prepareFormElements().

+ Here is the caller graph for this function:

◆ shouldBeImportedFromPost()

ilADTFormBridge::shouldBeImportedFromPost ( ilADTFormBridge  $a_parent_adt = null)

Check if incoming values should be imported at all.

Parameters
ilADTFormBridge$a_parent_adt
Returns
bool

Definition at line 322 of file class.ilADTFormBridge.php.

323 {
324 if ($this->isDisabled()) {
325 return false;
326 }
327
328 // inactive parent elements disable importing
329 if ($a_parent_adt) {
330 $parent_option = null;
332 if (is_array($parent_element)) {
333 $parent_option = $parent_element[1];
334 }
335 return $a_parent_adt->isActiveForSubItems($parent_option);
336 }
337
338 return true;
339 }
isActiveForSubItems($a_parent_option=null)
Check if element is currently active for subitem(s)

References $parent_element, getParentElement(), and isDisabled().

+ Here is the call graph for this function:

◆ validate()

ilADTFormBridge::validate ( )

Validate ADT and parse error codes.

Returns
boolean

Reimplemented in ilADTBooleanFormBridge, ilADTDateFormBridge, ilADTDateTimeFormBridge, and ilADTGroupFormBridge.

Definition at line 351 of file class.ilADTFormBridge.php.

352 {
353 global $DIC;
354
355 $lng = $DIC['lng'];
356
357 // ilADTFormBridge->isRequired() != ilADT->allowNull()
358 if ($this->isRequired() && $this->getADT()->isNull()) {
359 $field = $this->getForm()->getItemByPostvar($this->getElementId());
360 $field->setAlert($lng->txt("msg_input_is_required"));
361 return false;
362 }
363 // no need to further validate if no value given
364 elseif (!$this->getADT()->isValid()) {
365 $tmp = array();
366
367 $mess = $this->getADT()->getValidationErrors();
368 foreach ($mess as $error_code) {
369 $tmp[] = $this->getADT()->translateErrorCode($error_code);
370 }
371
372 $field = $this->getForm()->getItemByPostvar($this->getElementId());
373 $field->setAlert(implode("<br />", $tmp));
374
375 return false;
376 }
377
378 return true;
379 }
global $DIC
Definition: goto.php:24
$lng

References $DIC, $lng, getADT(), getElementId(), getForm(), and isRequired().

+ Here is the call graph for this function:

Field Documentation

◆ $adt

ilADTFormBridge::$adt
protected

Definition at line 13 of file class.ilADTFormBridge.php.

Referenced by ilADTLocationFormBridge\addToForm(), and getADT().

◆ $disabled

ilADTFormBridge::$disabled
protected

Definition at line 20 of file class.ilADTFormBridge.php.

Referenced by isDisabled().

◆ $form

ilADTFormBridge::$form
protected

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

Referenced by getForm().

◆ $id

ilADTFormBridge::$id
protected

Definition at line 15 of file class.ilADTFormBridge.php.

Referenced by getElementId().

◆ $info

ilADTFormBridge::$info
protected

Definition at line 17 of file class.ilADTFormBridge.php.

Referenced by addBasicFieldProperties(), and getInfo().

◆ $parent_element

ilADTFormBridge::$parent_element
protected

Definition at line 18 of file class.ilADTFormBridge.php.

Referenced by shouldBeImportedFromPost().

◆ $required

ilADTFormBridge::$required
protected

Definition at line 19 of file class.ilADTFormBridge.php.

Referenced by isRequired().

◆ $title


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