]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/Arbol.php
Se le hicieron cambios menores..
[mecon/meconlib.git] / lib / MECON / HTML / Arbol.php
index b7e0dc3595758c76b4f1b55d37c8053c17bc72d1..e3a1012f09919744c8ec4b41590c5f21a39d8c60 100644 (file)
@@ -77,18 +77,21 @@ 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 = new HTML_Image('/MECON/images/blanco.gif', str_repeat('  ', $n), $atr);
-        $margen = $margen->toHtml();
+        $margen = ' ';
+        if ($n) {
+            $margen = new HTML_Image('/MECON/images/blanco.gif', str_repeat('  ', $n), $atr);
+            $margen = $margen->toHtml();
+        }
         $imagen = '';
         if (@$bullets[$n]) {
         $imagen = '';
         if (@$bullets[$n]) {
-            $imagen = new HTML_Image($bullets[$n], @$alts[$n], $atr);
+            $imagen = new HTML_Image($bullets[$n], @$alts[$n]);
             $imagen = $imagen->toHtml();
         }
         foreach ($dat as $e) {
             $titulo = $margen.$imagen.$e['titulo'];
             $imagen = $imagen->toHtml();
         }
         foreach ($dat as $e) {
             $titulo = $margen.$imagen.$e['titulo'];
-            if(isset($e['activado']) && $e['activado'] != 0) $class = 'menu_activo';
+            if(isset($e['activo']) && $e['activo'] != 0) $class = 'menu_activo';
             else $class = $classes[$n];
             if(!is_null($e['link'])) {
                 $link = $e['link'];
             else $class = $classes[$n];
             if(!is_null($e['link'])) {
                 $link = $e['link'];
@@ -137,7 +140,7 @@ class HTML_Arbol extends HTML_Table
         foreach ($dat as $e) {
             // Si no tiene ID o esta activo y se filtran los activos, se
             // continua con el proximo item.
         foreach ($dat as $e) {
             // 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['activado']) {
+            if (!@$e['id'] or $filtrarActivos and @$e['activo']) {
                 continue;
             }
             $array[$e['id']] = str_repeat('   ', $n) . $e['titulo'];
                 continue;
             }
             $array[$e['id']] = str_repeat('   ', $n) . $e['titulo'];
@@ -153,16 +156,46 @@ 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.
      *
      * @param int $id Id del nodo a modificar.
     /**
      * Activa un nodo del árbol.
      *
      * @param int $id Id del nodo a modificar.
-     * @param bool $activado Nuevo valor, true si está activado, false si no.
+     * @param bool $activo Nuevo valor, true si está activo, false si no.
      *
      * @return bool True si se pudo modificar.
      */
      *
      * @return bool True si se pudo modificar.
      */
-    function setActivado($id, $activado = 1) {
-        return $this->modificarNodo($this->datos, $id, 'activado', $activado);
+    function setActivo($id, $activo = 1) {
+        return $this->modificarNodo($this->datos, $id, 'activo', $activo);
     }
 
     /**
     }
 
     /**