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

ADT search bridge base class. More...

+ Inheritance diagram for ilADTSearchBridge:
+ Collaboration diagram for ilADTSearchBridge:

Public Member Functions

 __construct (ilADTDefinition $a_adt_def)
 Constructor. More...
 
 isNull ()
 Is null ? 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...
 
 getSearchColumn ()
 
 setTableGUI (ilTable2GUI $a_table)
 Set table gui (for filter mode) More...
 
 getTableGUI ()
 Get table gui. More...
 
 loadFilter ()
 Load filter value(s) into ADT. More...
 
 addToForm ()
 Add ADT-specific fields to form. More...
 
 importFromPost (array $a_post=null)
 Import values from (search) form request POST data. More...
 
 validate ()
 Validate current data. More...
 
 getSQLCondition ($a_element_id)
 Get SQL condition for current value(s) More...
 
 isInCondition (ilADT $a_adt)
 Compare directly against ADT. More...
 
 getSerializedValue ()
 Get current value(s) in serialized form (for easy persisting) More...
 
 setSerializedValue ($a_value)
 Set current value(s) in serialized form (for easy persisting) More...
 

Data Fields

const DEFAULT_SEARCH_COLUMN = 'value'
 

Protected Member Functions

 isValidADTDefinition (ilADTDefinition $a_adt_def)
 Check if given ADT definition is valid. More...
 
 setDefinition (ilADTDefinition $a_adt_def)
 Set ADT definition. More...
 
 writeFilter ($a_value=null)
 Write value(s) to filter store (in session) More...
 
 readFilter ()
 Load value(s) from filter store (in session) More...
 
 addToParentElement (ilFormPropertyGUI $a_field)
 Add form field to parent element. More...
 
 addToElementId ($a_add)
 Add sub-element. More...
 
 shouldBeImportedFromPost ($a_post)
 Check if incoming values should be imported at all. More...
 
 extractPostValues (array $a_post=null)
 Extract data from (post) values. More...
 

Protected Attributes

 $form
 
 $table_gui
 
 $table_filter_fields = []
 
 $id
 
 $title
 
 $info
 

Detailed Description

ADT search 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 13 of file class.ilADTSearchBridge.php.

Constructor & Destructor Documentation

◆ __construct()

ilADTSearchBridge::__construct ( ilADTDefinition  $a_adt_def)

Constructor.

Parameters
ilADT$a_adt_def
Returns
self

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

References isNull(), isValidADTDefinition(), and setDefinition().

31  {
32  $this->setDefinition($a_adt_def);
33  }
setDefinition(ilADTDefinition $a_adt_def)
Set ADT definition.
+ Here is the call graph for this function:

Member Function Documentation

◆ addToElementId()

ilADTSearchBridge::addToElementId (   $a_add)
protected

Add sub-element.

Parameters
string$a_add
Returns
string

Definition at line 223 of file class.ilADTSearchBridge.php.

References addToForm(), and getElementId().

Referenced by ilADTLocationSearchBridgeSingle\addToForm(), ilADTDateSearchBridgeRange\addToForm(), ilADTDateTimeSearchBridgeRange\addToForm(), ilADTLocationSearchBridgeSingle\importFromPost(), and ilADTSearchBridgeRange\validate().

224  {
225  return $this->getElementId() . "[" . $a_add . "]";
226  }
getElementId()
Get element id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addToForm()

ilADTSearchBridge::addToForm ( )
abstract

Add ADT-specific fields to form.

Referenced by addToElementId().

+ Here is the caller graph for this function:

◆ addToParentElement()

ilADTSearchBridge::addToParentElement ( ilFormPropertyGUI  $a_field)
protected

Add form field to parent element.

Parameters
ilFormPropertyGUI$a_field

Definition at line 203 of file class.ilADTSearchBridge.php.

References ilFormPropertyGUI\getFieldId(), getForm(), and getTableGUI().

Referenced by ilADTLocalizedTextSearchBridgeSingle\addToForm(), ilADTDateSearchBridgeSingle\addToForm(), ilADTFloatSearchBridgeSingle\addToForm(), ilADTIntegerSearchBridgeSingle\addToForm(), ilADTDateTimeSearchBridgeSingle\addToForm(), ilADTLocationSearchBridgeSingle\addToForm(), ilADTTextSearchBridgeSingle\addToForm(), ilADTDateSearchBridgeRange\addToForm(), ilADTDateTimeSearchBridgeRange\addToForm(), ilADTEnumSearchBridgeSingle\addToForm(), ilADTInternalLinkSearchBridgeSingle\addToForm(), ilADTExternalLinkSearchBridgeSingle\addToForm(), and ilADTEnumSearchBridgeMulti\addToForm().

204  {
205  if ($this->getForm() instanceof ilPropertyFormGUI) {
206  $this->getForm()->addItem($a_field);
207  } elseif ($this->getTableGUI() instanceof ilTable2GUI) {
208  $this->table_filter_fields[$a_field->getFieldId()] = $a_field;
209  $this->getTableGUI()->addFilterItem($a_field);
210 
211  // :TODO:
212  // $a_field->readFromSession();
213  // $this->getTableGUI()->filter[$this->getElementId()] = $a_field->getValue();
214  }
215  }
This class represents a property form user interface.
getFieldId()
Get Post Variable.
getTableGUI()
Get table gui.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ extractPostValues()

ilADTSearchBridge::extractPostValues ( array  $a_post = null)
protected

Extract data from (post) values.

Parameters
array$a_post
Returns
mixed

Definition at line 255 of file class.ilADTSearchBridge.php.

References $_POST, getElementId(), getSQLCondition(), importFromPost(), and validate().

Referenced by ilADTLocalizedTextSearchBridgeSingle\importFromPost(), ilADTTextSearchBridgeSingle\importFromPost(), ilADTDateSearchBridgeSingle\importFromPost(), ilADTDateTimeSearchBridgeSingle\importFromPost(), ilADTIntegerSearchBridgeSingle\importFromPost(), ilADTFloatSearchBridgeSingle\importFromPost(), ilADTEnumSearchBridgeSingle\importFromPost(), ilADTExternalLinkSearchBridgeSingle\importFromPost(), ilADTLocationSearchBridgeSingle\importFromPost(), ilADTEnumSearchBridgeMulti\importFromPost(), ilADTDateSearchBridgeRange\importFromPost(), and ilADTDateTimeSearchBridgeRange\importFromPost().

256  {
257  $element_id = $this->getElementId();
258  $multi = strpos($this->getElementId(), "[");
259 
260  // get rid of this case
261  if ($a_post === null) {
262  $a_post = $_POST;
263  if ($multi !== false) {
264  $post = $a_post[substr($element_id, 0, $multi)][substr($element_id, $multi + 1, -1)];
265  } else {
266  $post = $a_post[$element_id];
267  }
268  } elseif ($multi !== false) {
269  $post = $a_post[substr($element_id, $multi + 1, -1)];
270  } else {
271  $post = $a_post[$element_id];
272  }
273 
274  return $post;
275  }
getElementId()
Get element id.
$_POST["username"]
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getElementId()

ilADTSearchBridge::getElementId ( )

Get element id.

Returns
string

Definition at line 99 of file class.ilADTSearchBridge.php.

References $id.

Referenced by addToElementId(), ilADTLocalizedTextSearchBridgeSingle\addToForm(), ilADTDateSearchBridgeSingle\addToForm(), ilADTFloatSearchBridgeSingle\addToForm(), ilADTIntegerSearchBridgeSingle\addToForm(), ilADTDateTimeSearchBridgeSingle\addToForm(), ilADTLocationSearchBridgeSingle\addToForm(), ilADTTextSearchBridgeSingle\addToForm(), ilADTDateTimeSearchBridgeRange\addToForm(), ilADTDateSearchBridgeRange\addToForm(), ilADTEnumSearchBridgeSingle\addToForm(), ilADTInternalLinkSearchBridgeSingle\addToForm(), ilADTExternalLinkSearchBridgeSingle\addToForm(), ilADTEnumSearchBridgeMulti\addToForm(), extractPostValues(), ilADTLocalizedTextSearchBridgeSingle\importFromPost(), ilADTTextSearchBridgeSingle\importFromPost(), ilADTDateSearchBridgeSingle\importFromPost(), ilADTDateTimeSearchBridgeSingle\importFromPost(), ilADTIntegerSearchBridgeSingle\importFromPost(), ilADTFloatSearchBridgeSingle\importFromPost(), ilADTEnumSearchBridgeSingle\importFromPost(), ilADTExternalLinkSearchBridgeSingle\importFromPost(), ilADTLocationSearchBridgeSingle\importFromPost(), ilADTEnumSearchBridgeMulti\importFromPost(), ilADTDateSearchBridgeRange\importFromPost(), ilADTDateTimeSearchBridgeRange\importFromPost(), readFilter(), ilADTSearchBridgeSingle\validate(), and writeFilter().

100  {
101  return $this->id;
102  }
+ Here is the caller graph for this function:

◆ getForm()

◆ getSearchColumn()

ilADTSearchBridge::getSearchColumn ( )

Definition at line 125 of file class.ilADTSearchBridge.php.

125  : string
126  {
127  return self::DEFAULT_SEARCH_COLUMN;
128  }

◆ getSerializedValue()

ilADTSearchBridge::getSerializedValue ( )
abstract

Get current value(s) in serialized form (for easy persisting)

Returns
string

Referenced by ilAdvancedMDFieldDefinition\getSearchValueSerialized(), and isInCondition().

+ Here is the caller graph for this function:

◆ getSQLCondition()

ilADTSearchBridge::getSQLCondition (   $a_element_id)
abstract

Get SQL condition for current value(s)

Parameters
string$a_element_id
Returns
string

Referenced by extractPostValues(), ilAdvancedMDFieldDefinitionInternalLink\searchObjects(), ilAdvancedMDFieldDefinitionText\searchObjects(), ilAdvancedMDFieldDefinition\searchObjects(), and ilAdvancedMDFieldDefinition\searchSubObjects().

+ Here is the caller graph for this function:

◆ getTableGUI()

ilADTSearchBridge::getTableGUI ( )

Get table gui.

Returns
ilTable2GUI

Definition at line 150 of file class.ilADTSearchBridge.php.

References $table_gui.

Referenced by addToParentElement().

151  {
152  return $this->table_gui;
153  }
+ Here is the caller graph for this function:

◆ getTitle()

◆ importFromPost()

ilADTSearchBridge::importFromPost ( array  $a_post = null)
abstract

Import values from (search) form request POST data.

Returns
bool

Referenced by extractPostValues().

+ Here is the caller graph for this function:

◆ isInCondition()

ilADTSearchBridge::isInCondition ( ilADT  $a_adt)

Compare directly against ADT.

Parameters
ilADT$a_adt
Returns
bool

Definition at line 310 of file class.ilADTSearchBridge.php.

References getSerializedValue(), and setSerializedValue().

311  {
312  return false;
313  }
+ Here is the call graph for this function:

◆ isNull()

ilADTSearchBridge::isNull ( )
abstract

Is null ?

Returns
bool

Referenced by __construct().

+ Here is the caller graph for this function:

◆ isValidADTDefinition()

ilADTSearchBridge::isValidADTDefinition ( ilADTDefinition  $a_adt_def)
abstractprotected

Check if given ADT definition is valid.

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

Parameters
ilADTDefinition$a_adt_def

Referenced by __construct(), ilADTSearchBridgeMulti\setDefinition(), ilADTSearchBridgeSingle\setDefinition(), and ilADTSearchBridgeRange\setDefinition().

+ Here is the caller graph for this function:

◆ loadFilter()

ilADTSearchBridge::loadFilter ( )
abstract

Load filter value(s) into ADT.

Referenced by readFilter().

+ Here is the caller graph for this function:

◆ readFilter()

ilADTSearchBridge::readFilter ( )
protected

Load value(s) from filter store (in session)

Parameters
string$a_element_id

Definition at line 177 of file class.ilADTSearchBridge.php.

References $_SESSION, getElementId(), and loadFilter().

Referenced by ilADTLocalizedTextSearchBridgeSingle\loadFilter(), ilADTDateSearchBridgeRange\loadFilter(), ilADTDateTimeSearchBridgeSingle\loadFilter(), ilADTFloatSearchBridgeSingle\loadFilter(), ilADTIntegerSearchBridgeSingle\loadFilter(), ilADTDateSearchBridgeSingle\loadFilter(), ilADTDateTimeSearchBridgeRange\loadFilter(), ilADTLocationSearchBridgeSingle\loadFilter(), ilADTEnumSearchBridgeSingle\loadFilter(), ilADTTextSearchBridgeSingle\loadFilter(), ilADTExternalLinkSearchBridgeSingle\loadFilter(), and ilADTEnumSearchBridgeMulti\loadFilter().

178  {
179  if (!$this->table_gui instanceof ilTable2GUI) {
180  return;
181  }
182  $value = $_SESSION["form_" . $this->table_gui->getId()][$this->getElementId()];
183  if ($value) {
184  return unserialize($value);
185  }
186  }
$_SESSION["AccountId"]
getElementId()
Get element id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDefinition()

ilADTSearchBridge::setDefinition ( ilADTDefinition  $a_adt_def)
abstractprotected

Set ADT definition.

Parameters
ilADTDefinition$a_adt_def

Referenced by __construct().

+ Here is the caller graph for this function:

◆ setElementId()

ilADTSearchBridge::setElementId (   $a_value)

Set element id (aka form field)

Parameters
string$a_value

Definition at line 89 of file class.ilADTSearchBridge.php.

90  {
91  $this->id = (string) $a_value;
92  }

◆ setForm()

ilADTSearchBridge::setForm ( ilPropertyFormGUI  $a_form)

Set form.

Parameters
ilPropertyFormGUI$a_form

Definition at line 69 of file class.ilADTSearchBridge.php.

70  {
71  $this->form = $a_form;
72  }

◆ setSerializedValue()

ilADTSearchBridge::setSerializedValue (   $a_value)
abstract

Set current value(s) in serialized form (for easy persisting)

Parameters
string

Referenced by isInCondition(), and ilAdvancedMDFieldDefinition\setSearchValueSerialized().

+ Here is the caller graph for this function:

◆ setTableGUI()

ilADTSearchBridge::setTableGUI ( ilTable2GUI  $a_table)

Set table gui (for filter mode)

Parameters
ilTable2GUI$a_table

Definition at line 140 of file class.ilADTSearchBridge.php.

141  {
142  $this->table_gui = $a_table;
143  }

◆ setTitle()

ilADTSearchBridge::setTitle (   $a_value)

Set title (aka form field caption)

Parameters
string$a_value

Definition at line 109 of file class.ilADTSearchBridge.php.

110  {
111  $this->title = trim($a_value);
112  }

◆ shouldBeImportedFromPost()

ilADTSearchBridge::shouldBeImportedFromPost (   $a_post)
protected

◆ validate()

ilADTSearchBridge::validate ( )
abstract

Validate current data.

Returns
bool

Referenced by extractPostValues().

+ Here is the caller graph for this function:

◆ writeFilter()

ilADTSearchBridge::writeFilter (   $a_value = null)
protected

Write value(s) to filter store (in session)

Parameters
mixed$a_value

Definition at line 160 of file class.ilADTSearchBridge.php.

References $_SESSION, and getElementId().

Referenced by ilADTLocalizedTextSearchBridgeSingle\importFromPost(), ilADTTextSearchBridgeSingle\importFromPost(), ilADTDateSearchBridgeSingle\importFromPost(), ilADTDateTimeSearchBridgeSingle\importFromPost(), ilADTEnumSearchBridgeSingle\importFromPost(), ilADTExternalLinkSearchBridgeSingle\importFromPost(), ilADTEnumSearchBridgeMulti\importFromPost(), ilADTDateSearchBridgeRange\importFromPost(), and ilADTDateTimeSearchBridgeRange\importFromPost().

161  {
162  if (!$this->table_gui instanceof ilTable2GUI) {
163  return;
164  }
165  if ($a_value !== null) {
166  $_SESSION["form_" . $this->table_gui->getId()][$this->getElementId()] = serialize($a_value);
167  } else {
168  unset($_SESSION["form_" . $this->table_gui->getId()][$this->getElementId()]);
169  }
170  }
$_SESSION["AccountId"]
getElementId()
Get element id.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $form

ilADTSearchBridge::$form
protected

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

Referenced by getForm().

◆ $id

ilADTSearchBridge::$id
protected

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

Referenced by getElementId().

◆ $info

ilADTSearchBridge::$info
protected

Definition at line 22 of file class.ilADTSearchBridge.php.

◆ $table_filter_fields

ilADTSearchBridge::$table_filter_fields = []
protected

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

◆ $table_gui

ilADTSearchBridge::$table_gui
protected

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

Referenced by getTableGUI().

◆ $title

ilADTSearchBridge::$title
protected

◆ DEFAULT_SEARCH_COLUMN

const ilADTSearchBridge::DEFAULT_SEARCH_COLUMN = 'value'

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


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