19 declare(strict_types=1);
39 CopyrightBridge $copyright,
40 ControlledRepository $controlled,
41 StandardRepository $standard
54 bool $with_unknown_vocab_flag,
57 $labelled_values = array_fill_keys($values,
null);
59 foreach ($this->copyright->labelsForValues($slot, ...$values) as $label) {
60 if (!array_key_exists($label->value(), $labelled_values)) {
63 $labelled_values[$label->value()] = $label;
66 foreach ($this->controlled->getLabelsForValues($slot,
true, ...$values) as $label) {
68 !array_key_exists($label->value(), $labelled_values) ||
69 !is_null($labelled_values[$label->value()])
73 if ($label->label() ===
'') {
76 $labelled_values[$label->value()] = $label;
79 foreach ($this->
standard->getLabelsForValues(
80 $presentation_utilities,
86 !array_key_exists($label->value(), $labelled_values) ||
87 !is_null($labelled_values[$label->value()])
91 $labelled_values[$label->value()] = $label;
94 foreach ($labelled_values as $value => $labelled_value) {
95 if (!is_null($labelled_value)) {
96 yield $labelled_value;
99 $label = (string) $value;
100 if ($with_unknown_vocab_flag) {
101 $label .=
' ' . $presentation_utilities->txt(
'md_unknown_vocabulary_flag');
114 switch ($vocabulary->
type()) {
117 $presentation_utilities,
120 ...$vocabulary->values()
124 case Type::CONTROLLED_STRING:
125 case Type::CONTROLLED_VOCAB_VALUE:
126 yield
from $this->controlled->getLabelsForValues(
129 ...$vocabulary->values()
134 yield
from $this->copyright->labelsForValues(
136 ...$vocabulary->values()
standard()
description: > This is an example, of how the Notification Slate is generated by assigning Notificat...
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null