public function getParentOptions($nodes, $maxLevel = false, $skipFirst = false)
{
$parentOptions = array();
if (!$skipFirst) {
$parentOptions[] = array('label' => '', 'value' => 0);
}
foreach ($nodes as $node) {
$label = '';
for ($i = 1; $i < $node['level']; $i++) {
$label .= ' ';
}
$label .= $node['name'];
$parentOptions[] = array('label' => $label, 'value' => $node['id'], 'disabled' => $maxLevel !== false && $node['level'] >= $maxLevel ? true : false);
if (isset($node['children'])) {
foreach ($this->getParentOptions($node['children'], $maxLevel, true) as $childNode) {
$parentOptions[] = $childNode;
}
}
}
return $parentOptions;
}