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

Public Member Functions

 getTable ()
 
 setFakeSingle (bool $a_status)
 
 readRecord (array $a_row)
 
 afterInsert ()
 
 afterUpdate ()
 
 prepareInsert (array &$a_fields)
 
 supportsDefaultValueColumn ()
 
- Public Member Functions inherited from ilADTDBBridge
 __construct (ilADT $a_adt)
 Constructor. More...
 
 getADT ()
 
 setTable (string $a_table)
 
 getTable ()
 
 setElementId (string $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...
 
 getAdditionalPrimaryFields ()
 
 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)
 
 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...
 

Data Fields

const TABLE_NAME = 'adv_md_values_enum'
 
const SEPARATOR = "~|~"
 

Protected Member Functions

 isValidADT (ilADT $a_adt)
 
 doSingleFake ()
 
 deleteIndices ()
 
 insertIndices ()
 
- Protected Member Functions inherited from ilADTDBBridge
 isValidADT (ilADT $a_adt)
 
 setADT (ilADT $a_adt)
 

Protected Attributes

bool $fake_single = false
 
- Protected Attributes inherited from ilADTDBBridge
ilADT $adt
 
string $table
 
string $id
 
array $primary = []
 
ilDBInterface $db
 

Detailed Description

Definition at line 21 of file class.ilADTMultiEnumDBBridge.php.

Member Function Documentation

◆ afterInsert()

ilADTMultiEnumDBBridge::afterInsert ( )

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

References afterUpdate().

55  : void
56  {
57  $this->afterUpdate();
58  }
+ Here is the call graph for this function:

◆ afterUpdate()

ilADTMultiEnumDBBridge::afterUpdate ( )

Definition at line 60 of file class.ilADTMultiEnumDBBridge.php.

References deleteIndices(), and insertIndices().

Referenced by afterInsert().

60  : void
61  {
62  $this->deleteIndices();
63  $this->insertIndices();
64  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ deleteIndices()

ilADTMultiEnumDBBridge::deleteIndices ( )
protected

Definition at line 71 of file class.ilADTMultiEnumDBBridge.php.

References ilADTDBBridge\buildPrimaryWhere(), and getTable().

Referenced by afterUpdate().

71  : void
72  {
73  $this->db->query(
74  'delete from ' . $this->getTable() . ' ' .
75  'where ' . $this->buildPrimaryWhere()
76  );
77  }
buildPrimaryWhere()
Convert primary keys array to sql string.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doSingleFake()

ilADTMultiEnumDBBridge::doSingleFake ( )
protected

Definition at line 43 of file class.ilADTMultiEnumDBBridge.php.

References $fake_single.

43  : bool
44  {
45  return $this->fake_single;
46  }

◆ getTable()

ilADTMultiEnumDBBridge::getTable ( )

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

Referenced by deleteIndices(), and insertIndices().

28  : ?string
29  {
30  return self::TABLE_NAME;
31  }
+ Here is the caller graph for this function:

◆ insertIndices()

ilADTMultiEnumDBBridge::insertIndices ( )
protected

Definition at line 79 of file class.ilADTMultiEnumDBBridge.php.

References ilADTDBBridge\getADT(), ilADTDBBridge\getPrimary(), getTable(), and ilDBConstants\T_INTEGER.

Referenced by afterUpdate().

79  : void
80  {
81  foreach ((array) $this->getADT()->getSelections() as $index) {
82  $fields = $this->getPrimary();
83  $fields['value_index'] = [ilDBConstants::T_INTEGER, $index];
84  $num_row = $this->db->insert($this->getTable(), $fields);
85  }
86  }
getPrimary()
Get primary fields.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isValidADT()

ilADTMultiEnumDBBridge::isValidADT ( ilADT  $a_adt)
protected

Definition at line 33 of file class.ilADTMultiEnumDBBridge.php.

33  : bool
34  {
35  return ($a_adt instanceof ilADTMultiEnum);
36  }

◆ prepareInsert()

ilADTMultiEnumDBBridge::prepareInsert ( array &  $a_fields)

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

66  : void
67  {
68  $a_fields = [];
69  }

◆ readRecord()

ilADTMultiEnumDBBridge::readRecord ( array  $a_row)

Definition at line 48 of file class.ilADTMultiEnumDBBridge.php.

References ilADTDBBridge\getADT(), and ilADTDBBridge\getElementId().

48  : void
49  {
50  if (isset($a_row[$this->getElementId()])) {
51  $this->getADT()->addSelection((int) $a_row[$this->getElementId()]);
52  }
53  }
getElementId()
Get element id.
+ Here is the call graph for this function:

◆ setFakeSingle()

ilADTMultiEnumDBBridge::setFakeSingle ( bool  $a_status)

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

38  : void
39  {
40  $this->fake_single = $a_status;
41  }

◆ supportsDefaultValueColumn()

ilADTMultiEnumDBBridge::supportsDefaultValueColumn ( )

Definition at line 88 of file class.ilADTMultiEnumDBBridge.php.

88  : bool
89  {
90  return false;
91  }

Field Documentation

◆ $fake_single

bool ilADTMultiEnumDBBridge::$fake_single = false
protected

Definition at line 26 of file class.ilADTMultiEnumDBBridge.php.

Referenced by doSingleFake().

◆ SEPARATOR

const ilADTMultiEnumDBBridge::SEPARATOR = "~|~"

Definition at line 24 of file class.ilADTMultiEnumDBBridge.php.

◆ TABLE_NAME

const ilADTMultiEnumDBBridge::TABLE_NAME = 'adv_md_values_enum'

Definition at line 23 of file class.ilADTMultiEnumDBBridge.php.


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