config = $config; } /** * get the choices as key => values. */ public function getChoices(): array { $choices = []; foreach ($this->config as $entry) { $labels = $entry['labels']; $lang = false; $label = false; $cur = reset($labels); while ($cur) { if (key($labels) === 'lang') { $lang = current($labels); } if (key($labels) === 'label') { $label = current($labels); } if (false !== $lang && false !== $label) { $choices[$entry['key']][$lang] = $label; $lang = false; $label = false; } $cur = next($labels); } } return $choices; } /** * Return true if at least one alt name is configured. */ public function hasAltNames(): bool { return [] !== $this->config; } }