public function setItems(array $items, $useKeys = TRUE)
{
if (!$useKeys) {
$res = [];
foreach ($items as $key => $value) {
unset($items[$key]);
if (is_array($value)) {
foreach ($value as $val) {
$res[$key][(string) $val] = $val;
}
} else {
$res[(string) $value] = $value;
}
}
$items = $res;
}
$this->options = $items;
return parent::setItems(Nette\Utils\Arrays::flatten($items, TRUE));
}
/** * We have to repeat that method in our class due to parent::$options property accesibility * Otherwise we would be working with BaseControl::$options * @param array $items [description] * @param boolean $useKeys [description] */ public function setItems(array $items, $useKeys = TRUE) { if (!$useKeys) { $res = array(); foreach ($items as $key => $value) { unset($items[$key]); if (is_array($value)) { foreach ($value as $val) { $res[$key][(string) $val] = $val; } } else { $res[(string) $value] = $value; } } $items = $res; } $this->options = $items; return parent::setItems(Nette\Utils\Arrays::flatten($items, TRUE)); }