X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/7daf31ceedd9e6b0aba992d962fc8c66a1c5d8fd..4f895932f81bf23757b16f38b71344559149fc1f:/lib/MECON/HTML/Arbol.php?ds=inline diff --git a/lib/MECON/HTML/Arbol.php b/lib/MECON/HTML/Arbol.php index 5ba8f0a..02813c9 100644 --- a/lib/MECON/HTML/Arbol.php +++ b/lib/MECON/HTML/Arbol.php @@ -77,7 +77,7 @@ class HTML_Arbol extends HTML_Table $atr = array( 'border' => '0', 'width' => $n * $tabulados, - 'height' => '10' + 'height' => '1' ); $margen = ' '; if ($n) { @@ -130,8 +130,7 @@ class HTML_Arbol extends HTML_Table $this->addRow(array($titulo), array('bgcolor' => '#FFFFFF')); $this->expandir($this->datos, 0, $t_interna); $this->addRow(array($t_interna->toHTML())); - // FIXME - sacar la style sheet de aca. - return ''.parent::toHTML(); + return parent::toHTML(); } function expandirArray($dat, $n, $filtrarActivos) @@ -156,6 +155,36 @@ class HTML_Arbol extends HTML_Table 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. *