]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/Arbol.php
Se agrega un estilo a la tabla (impresion) pedido por Myrna
[mecon/meconlib.git] / lib / MECON / HTML / Arbol.php
index 5ba8f0a62e2344f3e75b0688beb6057157150086..cd47b0b1ecfd98378a1383d283f61058837380e2 100644 (file)
@@ -26,9 +26,9 @@ $Id$
 -----------------------------------------------------------------------------*/
 
 require_once 'HTML/Table.php';
 -----------------------------------------------------------------------------*/
 
 require_once 'HTML/Table.php';
-require_once 'HTML/Image.php';
+require_once 'MECON/HTML/Image.php';
 
 
-class HTML_Arbol extends HTML_Table
+class MECON_HTML_Arbol extends HTML_Table
 {
     var $datos;
     var $titulo;
 {
     var $datos;
     var $titulo;
@@ -41,7 +41,7 @@ class HTML_Arbol extends HTML_Table
      * @param string $titulo Título.
      * @param int $raiz Nodo raíz (de donde empezar a dibujar el árbol).
      */
      * @param string $titulo Título.
      * @param int $raiz Nodo raíz (de donde empezar a dibujar el árbol).
      */
-    function HTML_Arbol($datos, $titulo, $link_append = '')
+    function MECON_HTML_Arbol($datos, $titulo, $link_append = '')
     {
         parent::HTML_Table(array(
             'width'         => '132',
     {
         parent::HTML_Table(array(
             'width'         => '132',
@@ -77,16 +77,16 @@ class HTML_Arbol extends HTML_Table
         $atr = array(
             'border' => '0',
             'width'  => $n * $tabulados,
         $atr = array(
             'border' => '0',
             'width'  => $n * $tabulados,
-            'height' => '10'
+            'height' => '1'
         );
         $margen = ' ';
         if ($n) {
         );
         $margen = ' ';
         if ($n) {
-            $margen = new HTML_Image('/MECON/images/blanco.gif', str_repeat('  ', $n), $atr);
+            $margen = new MECON_HTML_Image('/MECON/images/blanco.gif', str_repeat('  ', $n), $atr);
             $margen = $margen->toHtml();
         }
         $imagen = '';
         if (@$bullets[$n]) {
             $margen = $margen->toHtml();
         }
         $imagen = '';
         if (@$bullets[$n]) {
-            $imagen = new HTML_Image($bullets[$n], @$alts[$n]);
+            $imagen = new MECON_HTML_Image($bullets[$n], @$alts[$n]);
             $imagen = $imagen->toHtml();
         }
         foreach ($dat as $e) {
             $imagen = $imagen->toHtml();
         }
         foreach ($dat as $e) {
@@ -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()));
         $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 '<link rel="stylesheet" href="'.$this->getCSS().'">'.parent::toHTML();
+        return parent::toHTML();
     }
 
     function expandirArray($dat, $n, $filtrarActivos)
     }
 
     function expandirArray($dat, $n, $filtrarActivos)
@@ -156,6 +155,36 @@ class HTML_Arbol extends HTML_Table
         return $this->expandirArray($this->datos, 0, $filtrarActivos);
     }
 
         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.
      *
     /**
      * Activa un nodo del árbol.
      *