ILIAS  release_7 Revision v7.30-3-g800a261c036
ilADTGroupDBBridge Class Reference
+ Inheritance diagram for ilADTGroupDBBridge:
+ Collaboration diagram for ilADTGroupDBBridge:

Public Member Functions

 getElements ()
 
 getElement ($a_element_id)
 
 setTable ($a_table)
 Set table name. More...
 
 setPrimary (array $a_value)
 Set primary fields (in MDB2 format) More...
 
 readRecord (array $a_row)
 Import DB values to ADT. More...
 
 prepareInsert (array &$a_fields)
 Prepare ADT values for insert. More...
 
 afterInsert ()
 After insert hook to enable sub-tables. More...
 
 afterUpdate ()
 After update hook to enable sub-tables. More...
 
 afterUpdateElement (string $field_type, string $field_name, int $field_id)
 
 afterDelete ()
 After delete hook to enable sub-tables. More...
 
- Public Member Functions inherited from ilADTDBBridge
 __construct (ilADT $a_adt)
 Constructor. More...
 
 getADT ()
 Get ADT. More...
 
 setTable ($a_table)
 Set table name. More...
 
 getTable ()
 Get table name. More...
 
 setElementId ($a_value)
 Set element id (aka DB column[s] [prefix]) More...
 
 getElementId ()
 Get element id. More...
 
 setPrimary (array $a_value)
 Set primary fields (in MDB2 format) More...
 
 getPrimary ()
 Get primary fields. More...
 
 buildPrimaryWhere ()
 Convert primary keys array to sql string. More...
 
 readRecord (array $a_row)
 Import DB values to ADT. More...
 
 prepareInsert (array &$a_fields)
 Prepare ADT values for insert. More...
 
 afterInsert ()
 After insert hook to enable sub-tables. More...
 
 prepareUpdate (array &$a_fields)
 Prepare ADT values for update. More...
 
 afterUpdate ()
 After update hook to enable sub-tables. More...
 
 afterDelete ()
 After delete hook to enable sub-tables. More...
 
 supportsDefaultValueColumn ()
 true if table storage relies on the default 'value' column More...
 

Protected Member Functions

 isValidADT (ilADT $a_adt)
 Check if given ADT is valid. More...
 
 prepareElements ()
 
- Protected Member Functions inherited from ilADTDBBridge
 isValidADT (ilADT $a_adt)
 Check if given ADT is valid. More...
 
 setADT (ilADT $a_adt)
 Set ADT. More...
 

Protected Attributes

 $elements = []
 
- Protected Attributes inherited from ilADTDBBridge
 $adt
 
 $table
 
 $id
 
 $primary = []
 

Detailed Description

Definition at line 5 of file class.ilADTGroupDBBridge.php.

Member Function Documentation

◆ afterDelete()

ilADTGroupDBBridge::afterDelete ( )

After delete hook to enable sub-tables.

Reimplemented from ilADTDBBridge.

Definition at line 132 of file class.ilADTGroupDBBridge.php.

133 {
134 foreach ($this->getElements() as $element) {
135 $element->afterDelete();
136 }
137 }

References getElements().

+ Here is the call graph for this function:

◆ afterInsert()

ilADTGroupDBBridge::afterInsert ( )

After insert hook to enable sub-tables.

Reimplemented from ilADTDBBridge.

Definition at line 94 of file class.ilADTGroupDBBridge.php.

95 {
96 foreach ($this->getElements() as $element) {
97 $element->afterInsert();
98 }
99 }

References getElements().

+ Here is the call graph for this function:

◆ afterUpdate()

ilADTGroupDBBridge::afterUpdate ( )

After update hook to enable sub-tables.

Reimplemented from ilADTDBBridge.

Definition at line 101 of file class.ilADTGroupDBBridge.php.

102 {
103 foreach ($this->getElements() as $element) {
104 $element->afterUpdate();
105 }
106 }

References getElements().

+ Here is the call graph for this function:

◆ afterUpdateElement()

ilADTGroupDBBridge::afterUpdateElement ( string  $field_type,
string  $field_name,
int  $field_id 
)
Parameters
string$field_type
string$field_name
int$field_id

Definition at line 113 of file class.ilADTGroupDBBridge.php.

114 {
115 $element = $this->getElement($field_id);
116 if (!$element) {
117 return;
118 }
119 $element->setPrimary(
120 array_merge(
121 $this->getPrimary(),
122 [
123 $field_name => [$field_type,$field_id]
124 ]
125 )
126 );
127 $element->setElementId($field_id);
128 $element->afterUpdate();
129 }
getPrimary()
Get primary fields.

References getElement(), and ilADTDBBridge\getPrimary().

+ Here is the call graph for this function:

◆ getElement()

ilADTGroupDBBridge::getElement (   $a_element_id)

Definition at line 45 of file class.ilADTGroupDBBridge.php.

46 {
47 if (array_key_exists($a_element_id, $this->getElements())) {
48 return $this->elements[$a_element_id];
49 }
50 }

References getElements().

Referenced by afterUpdateElement().

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

◆ getElements()

ilADTGroupDBBridge::getElements ( )
Returns
ilADTDBBridge[]

Definition at line 39 of file class.ilADTGroupDBBridge.php.

References $elements, and prepareElements().

Referenced by afterDelete(), afterInsert(), afterUpdate(), getElement(), prepareElements(), prepareInsert(), readRecord(), setPrimary(), and setTable().

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

◆ isValidADT()

ilADTGroupDBBridge::isValidADT ( ilADT  $a_adt)
protected

Check if given ADT is valid.

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

Parameters
ilADT$a_adt

Reimplemented from ilADTDBBridge.

Definition at line 9 of file class.ilADTGroupDBBridge.php.

10 {
11 return ($a_adt instanceof ilADTGroup);
12 }

◆ prepareElements()

ilADTGroupDBBridge::prepareElements ( )
protected

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

18 {
19 if (sizeof($this->elements)) {
20 return;
21 }
22
23 $this->elements = array();
25
26 // convert ADTs to DB bridges
27
28 foreach ($this->getADT()->getElements() as $name => $element) {
29 $this->elements[$name] = $factory->getDBBridgeForInstance($element);
30 $this->elements[$name]->setElementId($name);
31 $this->elements[$name]->setTable($this->getTable());
32 $this->elements[$name]->setPrimary($this->getPrimary());
33 }
34 }
getTable()
Get table name.
static getInstance()
Get singleton.
$factory
Definition: metadata.php:58
if($format !==null) $name
Definition: metadata.php:230

References $factory, $name, ilADTDBBridge\getADT(), getElements(), ilADTFactory\getInstance(), ilADTDBBridge\getPrimary(), and ilADTDBBridge\getTable().

Referenced by getElements().

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

◆ prepareInsert()

ilADTGroupDBBridge::prepareInsert ( array &  $a_fields)

Prepare ADT values for insert.

Parameters
array&$a_fields

Reimplemented from ilADTDBBridge.

Definition at line 87 of file class.ilADTGroupDBBridge.php.

88 {
89 foreach ($this->getElements() as $element) {
90 $element->prepareInsert($a_fields);
91 }
92 }

References getElements().

+ Here is the call graph for this function:

◆ readRecord()

ilADTGroupDBBridge::readRecord ( array  $a_row)

Import DB values to ADT.

Parameters
array$a_row

Reimplemented from ilADTDBBridge.

Definition at line 80 of file class.ilADTGroupDBBridge.php.

81 {
82 foreach ($this->getElements() as $element) {
83 $element->readRecord($a_row);
84 }
85 }

References getElements().

+ Here is the call graph for this function:

◆ setPrimary()

ilADTGroupDBBridge::setPrimary ( array  $a_value)

Set primary fields (in MDB2 format)

Parameters
array$a_value

Reimplemented from ilADTDBBridge.

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

67 {
68 parent::setPrimary($a_value);
69
70 if (sizeof($this->elements)) {
71 foreach (array_keys($this->getADT()->getElements()) as $name) {
72 $this->elements[$name]->setPrimary($this->getPrimary());
73 }
74 }
75 }

References $name, ilADTDBBridge\getADT(), getElements(), and ilADTDBBridge\getPrimary().

Referenced by ilADTTest\initDBBridge().

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

◆ setTable()

ilADTGroupDBBridge::setTable (   $a_table)

Set table name.

Parameters
string$a_table

Reimplemented from ilADTDBBridge.

Definition at line 55 of file class.ilADTGroupDBBridge.php.

56 {
57 parent::setTable($a_table);
58
59 if (sizeof($this->elements)) {
60 foreach (array_keys($this->getADT()->getElements()) as $name) {
61 $this->elements[$name]->setTable($this->getTable());
62 }
63 }
64 }

References $name, ilADTDBBridge\getADT(), getElements(), and ilADTDBBridge\getTable().

Referenced by ilADTTest\initDBBridge().

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

Field Documentation

◆ $elements

ilADTGroupDBBridge::$elements = []
protected

Definition at line 7 of file class.ilADTGroupDBBridge.php.

Referenced by getElements().


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