ILIAS  trunk Revision v11.0_alpha-2658-ge2404539063
class.ilADTGroupActiveRecordBridge.php
Go to the documentation of this file.
1 <?php
2 
19 declare(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 }
ADT base class.
Definition: class.ilADT.php:25
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
setFieldValue(string $a_field_name, $a_field_value)