19 declare(strict_types=1);
86 $data_carriers = iterator_to_array($this->data_finder->getDataCarryingElements($element,
true));
87 $conditional_elements = [];
89 foreach ($data_carriers as $data_carrier) {
90 $conditional_element =
null;
91 foreach ($this->element_vocab_helper->slotsForElementWithoutCondition($data_carrier) as $slot) {
96 if ($el = $this->element_vocab_helper->findElementOfCondition($slot, $data_carrier, ...$data_carriers)) {
97 $conditional_element = $data_carrier;
102 $path_string = $this->path_factory->toElement($data_carrier,
true)
104 $input_elements[$path_string] = $data_carrier;
105 if (isset($conditional_element)) {
106 $conditional_elements[$path_string] = $conditional_element;
111 $exclude_required = [];
112 foreach ($input_elements as $path_string => $input_element) {
113 $data_type = $input_element->getDefinition()->dataType();
114 if (isset($conditional_elements[$path_string])) {
115 $input = $this->types->conditionFactory($data_type)->getConditionInput(
118 $conditional_elements[$path_string]
121 $input = $this->types->factory($data_type)->getInput(
126 $inputs[$path_string] = $input;
132 if (is_null($this->db_dictionary->tagForElement($input_element))) {
133 $exclude_required[] = $path_string;
138 $fields = $this->ui_factory->section(
140 $this->presenter->elements()->nameWithParents($context_element)
143 $fields = $this->ui_factory->group(
$inputs);
158 $this->
refinery->custom()->transformation(
function ($vs) {
159 foreach ($vs as $key => $value) {
160 if (!is_array($value)) {
163 $vs[$key] = $value[0];
164 foreach ($value[1] as $k => $v) {
181 string ...$excluded_input_keys
183 $db_tag = $this->db_dictionary->tagForElement($context_element);
184 if (!is_null($db_tag) && !$db_tag->hasData()) {
188 $this->
refinery->custom()->constraint(
189 function ($vs) use ($excluded_input_keys) {
190 foreach ($vs as $p => $v) {
191 if (in_array($p, $excluded_input_keys)) {
194 if ($v !==
'' && $v !==
null) {
200 $this->presenter->utilities()->txt(
'meta_error_empty_input')
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null