ILIAS
release_8 Revision v8.23
◀ ilDoc Overview
class.ilADTMultiEnumDBBridge.php
Go to the documentation of this file.
1
<?php
2
3
declare(strict_types=1);
4
5
class
ilADTMultiEnumDBBridge
extends
ilADTDBBridge
6
{
7
public
const
TABLE_NAME
=
'adv_md_values_enum'
;
8
public
const
SEPARATOR
=
"~|~"
;
9
10
protected
bool
$fake_single
=
false
;
11
12
public
function
getTable
(): ?string
13
{
14
return
self::TABLE_NAME;
15
}
16
17
protected
function
isValidADT
(
ilADT
$a_adt): bool
18
{
19
return
($a_adt instanceof
ilADTMultiEnum
);
20
}
21
22
public
function
setFakeSingle
(
bool
$a_status): void
23
{
24
$this->fake_single = $a_status;
25
}
26
27
protected
function
doSingleFake
(): bool
28
{
29
return
$this->fake_single
;
30
}
31
32
public
function
readRecord
(array $a_row): void
33
{
34
if
(isset($a_row[$this->
getElementId
()])) {
35
$this->
getADT
()->addSelection((
int
) $a_row[$this->
getElementId
()]);
36
}
37
}
38
39
public
function
afterInsert
(): void
40
{
41
$this->
afterUpdate
();
42
}
43
44
public
function
afterUpdate
(): void
45
{
46
$this->
deleteIndices
();
47
$this->
insertIndices
();
48
}
49
50
public
function
prepareInsert
(array &$a_fields): void
51
{
52
$a_fields = [];
53
}
54
55
protected
function
deleteIndices
(): void
56
{
57
$this->db->query(
58
'delete from '
. $this->
getTable
() .
' '
.
59
'where '
. $this->
buildPrimaryWhere
()
60
);
61
}
62
63
protected
function
insertIndices
(): void
64
{
65
foreach
((array) $this->
getADT
()->getSelections() as
$index
) {
66
$fields = $this->
getPrimary
();
67
$fields[
'value_index'
] = [
ilDBConstants::T_INTEGER
,
$index
];
68
$num_row = $this->db->insert($this->
getTable
(), $fields);
69
}
70
}
71
72
public
function
supportsDefaultValueColumn
(): bool
73
{
74
return
false
;
75
}
76
}
ilADTMultiEnumDBBridge\supportsDefaultValueColumn
supportsDefaultValueColumn()
Definition:
class.ilADTMultiEnumDBBridge.php:72
ilADTDBBridge\buildPrimaryWhere
buildPrimaryWhere()
Convert primary keys array to sql string.
Definition:
class.ilADTDBBridge.php:103
ilADTMultiEnumDBBridge\insertIndices
insertIndices()
Definition:
class.ilADTMultiEnumDBBridge.php:63
ilADTMultiEnumDBBridge\isValidADT
isValidADT(ilADT $a_adt)
Definition:
class.ilADTMultiEnumDBBridge.php:17
ilADTMultiEnumDBBridge\setFakeSingle
setFakeSingle(bool $a_status)
Definition:
class.ilADTMultiEnumDBBridge.php:22
ilADTMultiEnumDBBridge\afterInsert
afterInsert()
Definition:
class.ilADTMultiEnumDBBridge.php:39
ilADTMultiEnumDBBridge\SEPARATOR
const SEPARATOR
Definition:
class.ilADTMultiEnumDBBridge.php:8
ilADTMultiEnumDBBridge\afterUpdate
afterUpdate()
Definition:
class.ilADTMultiEnumDBBridge.php:44
ilADTDBBridge\getPrimary
getPrimary()
Get primary fields.
Definition:
class.ilADTDBBridge.php:93
ilADTMultiEnumDBBridge\prepareInsert
prepareInsert(array &$a_fields)
Definition:
class.ilADTMultiEnumDBBridge.php:50
ilADTDBBridge\getElementId
getElementId()
Get element id.
Definition:
class.ilADTDBBridge.php:70
ilADT
ADT base class.
Definition:
class.ilADT.php:11
$index
$index
Definition:
metadata.php:145
ilADTMultiEnumDBBridge\getTable
getTable()
Definition:
class.ilADTMultiEnumDBBridge.php:12
ilADTMultiEnumDBBridge
Definition:
class.ilADTMultiEnumDBBridge.php:5
ilADTDBBridge
ADT DB bridge base class.
Definition:
class.ilADTDBBridge.php:11
ilADTMultiEnumDBBridge\TABLE_NAME
const TABLE_NAME
Definition:
class.ilADTMultiEnumDBBridge.php:7
ilADTMultiEnumDBBridge\doSingleFake
doSingleFake()
Definition:
class.ilADTMultiEnumDBBridge.php:27
ilADTMultiEnum
Definition:
class.ilADTMultiEnum.php:5
ilADTMultiEnumDBBridge\deleteIndices
deleteIndices()
Definition:
class.ilADTMultiEnumDBBridge.php:55
ilADTMultiEnumDBBridge\$fake_single
bool $fake_single
Definition:
class.ilADTMultiEnumDBBridge.php:10
ilADTDBBridge\getADT
getADT()
Definition:
class.ilADTDBBridge.php:42
ilDBConstants\T_INTEGER
const T_INTEGER
Definition:
class.ilDBConstants.php:55
ilADTMultiEnumDBBridge\readRecord
readRecord(array $a_row)
Definition:
class.ilADTMultiEnumDBBridge.php:32
Services
ADT
classes
Types
MultiEnum
class.ilADTMultiEnumDBBridge.php
Generated on Wed Sep 3 2025 22:01:49 for ILIAS by
1.8.13 (using
Doxyfile
)