return $this->expandirArray($this->datos, 0, $filtrarActivos);
}
+ function expandirString($dat, $n, $filtrarActivos)
+ {
+ $str = '';
+ $tot = count($dat);
+ for ($i = 0; $i < $tot; $i++) {
+ $e = $dat[$i];
+ // Si no tiene ID o esta activo y se filtran los activos, se
+ // continua con el proximo item.
+ if (!@$e['id'] or $filtrarActivos and @$e['activo']) {
+ continue;
+ }
+ $indent = str_repeat('| ', $n);
+ if ($i == ($tot - 1)) {
+ $indent .= '`- ';
+ } else {
+ $indent .= '|- ';
+ }
+ $str .= $indent . $e['titulo'] . "\n";
+ if(@$e['sub']) {
+ $str .= $this->expandirString($e['sub'], $n + 1, $filtrarActivos);
+ }
+ }
+ return $str;
+ }
+
+ function toString($filtrarActivos = true)
+ {
+ return $this->expandirString($this->datos, 0, $filtrarActivos);
+ }
+
/**
* Activa un nodo del árbol.
*
'link' => 'blabla',
'id' => 9,
'sub' => array(//sub2 {{{
- 5 => array(
+ array(
'titulo' => 'Nivel4',
'link' => 'blabla',
'id' => 8,
echo '<OPTION value="'.$id.'">'.$val.'</OPTION>';
}
echo '</SELECT>';
-$arbol->setActivado(16);
+$arbol->setActivo(16);
echo $arbol->toHTML();
echo '<SELECT name="id">';
foreach ($arbol->toArray() as $id => $val) {
echo '<OPTION value="'.$id.'">'.$val.'</OPTION>';
}
echo '</SELECT>';
+echo "<PRE>Raiz\n";
+echo $arbol->toString();
+echo '</PRE>';
?>
'db' => &$db,
'tabla' => 'grupo_secciones',
'id' => 'grupo',
+ 'id_activo' => '7',
'nombre' => 'nombre',
'id_padre' => 'grupo_padre',
);
echo '<OPTION value="'.$id.'">'.$val.'</OPTION>';
}
echo '</SELECT>';
-var_dump($arbol->setActivado(34));
+var_dump($arbol->setActivo(34));
echo $arbol->toHTML();
echo '<SELECT name="id">';
foreach ($arbol->toArray() as $id => $val) {