ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilADTGroupActiveRecordBridge.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22{
26 protected array $elements = [];
27
28 protected function isValidADT(ilADT $a_adt): bool
29 {
30 return ($a_adt instanceof ilADTGroup);
31 }
32
36 public function getFieldValue(string $a_field_name)
37 {
38 return '';
39 }
40
44 public function setFieldValue(string $a_field_name, $a_field_value): void
45 {
46 }
47
48 // elements
49
50 protected function prepareElements(): void
51 {
52 if (count($this->elements)) {
53 return;
54 }
55
56 $this->elements = array();
57 $factory = ilADTFactory::getInstance();
58
59 // convert ADTs to ActiveRecord bridges
60
61 foreach ($this->getADT()->getElements() as $name => $element) {
62 $this->elements[$name] = $factory->getActiveRecordBridgeForInstance($element);
63 $this->elements[$name]->setElementId($name);
64 }
65 }
66
67 public function getElements(): array
68 {
69 $this->prepareElements();
70 return $this->elements;
71 }
72
73 public function getElement(string $a_element_id): ?ilADTActiveRecordBridge
74 {
75 if (array_key_exists($a_element_id, $this->getElements())) {
76 return $this->elements[$a_element_id];
77 }
78 return null;
79 }
80
81 public function getActiveRecordFields(): array
82 {
83 $fields = array();
84 foreach ($this->getElements() as $element_id => $element) {
85 $element_fields = $element->getActiveRecordFields();
86 if ($element_fields) {
87 $fields[$element_id] = $element_fields;
88 }
89 }
90 return $fields;
91 }
92}
setFieldValue(string $a_field_name, $a_field_value)
@inheritDoc
getFieldValue(string $a_field_name)
@inheritDoc
getActiveRecordFields()
Convert ADT to active record fields.
ADT base class.
Definition: class.ilADT.php:26