]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/Arbol/ArbolDB.php
Se agrega un TODO.
[mecon/meconlib.git] / lib / MECON / HTML / Arbol / ArbolDB.php
index 09f53bed346e7adae390a23e81b1dffb839da9dd..0594bcb475087f0077a49f30f9e2950d64ce2af3 100644 (file)
@@ -1,67 +1,78 @@
 <?
 
 <?
 
-
+require_once 'MECON/HTML/Arbol.php';
+require_once 'DB.php';
 
 
 
 class HTML_ArbolDB extends HTML_Arbol
 {
 
 
 
 class HTML_ArbolDB extends HTML_Arbol
 {
-    function ArbolDB()
+        var $padre = null;
+       var $tabla;
+       var $nombre;
+       var $id;
+       var $link = null;
+       var $prepend_link = null;
+       var $where = '';
+       var $order = '';
+       var $db;
+    
+    function HTML_ArbolDB($dbdata, $imagen)
     {
     {
-  $dat = array(
-         array(
-          'titulo' => 'Nivel0a',
-          'link' => 'blabla',
-          'sub' => array(//sub0
-                   array(
-                      'titulo' => 'Nivel1a',
-                       'link' => 'blabla',
-                      'sub' => array(//sub1
-                               array(
-                                   'titulo' => 'Nivel3a',
-                                    'link' => 'blabla',
-                                   'activado' => 1
-                               ),
-                               array(
-                                   'titulo' => 'Nivel3b',
-                                    'link' => 'blabla',
-                                   'sub' => array(//sub2
-                                            array(
-                                              'titulo' => 'Nivel4',
-                                               'link' => 'blabla'
-                                            )
-                                            )//sub2
-                               ),
-                               array(
-                                   'titulo' => 'Nivel3c',
-                                    'link' => 'blabla'
-                               )
-                               )//sub1
-                  ),
-                  array(
-                      'titulo' => 'Nivel1b',
-                       'link' => 'blabla',
-                      'activado' => 1
-                  ),
-                  array(
-                      'titulo' => 'Nivel1c',
-                       'link' => 'blabla'
-                  )
-                  )//sub0
-       ),
-       array(
-          'titulo' => 'Nivel0b',
-          'link' => 'blabla'
-       ),
-       array(
-          'titulo' => 'Nivel0c',
-          'link' => 'blabla'
-       )
-  );
-
-        parent::Arbol($dat);
+        if(isset($dbdata['id_padre']))
+          $this->padre = $dbdata['id_padre'];
+       $this->tabla = $dbdata['tabla'];
+       $this->nombre = $dbdata['nombre'];
+       $this->id = $dbdata['id'];
+        if(isset($dbdata['prepend_link']))
+         $this->prepend_link = $dbdata['prepend_link']; 
+        if(isset($dbdata['link']))
+         $this->link = $dbdata['link']; 
+        if(isset($dbdata['where']))
+         $this->where = $dbdata['where'];
+        if(isset($dbdata['order']))
+         $this->order = ' ORDER BY '.$dbdata['nombre'].' '.$dbdata['order']; 
+       $this->db = $dbdata['db']; 
+       $dat = $this->BuscarHijos(0);
+        parent::HTML_Arbol($dat, $imagen);
     }
     }
-}
+  
+    function BuscarHijos($id)
+    {
+        $sql = "SELECT $this->nombre, $this->id ";
+        if(!is_null($this->link))
+        $sql .=  ", $this->link ";
+        $sql .=  "FROM $this->tabla ";
+        if(!is_null($this->padre) or $this->where)
+          $sql .= 'WHERE ';
+        if(!is_null($this->padre)) {
+          $sql .= "$this->padre = '$id'";
+          if ($this->where)
+            $sql .= ' AND';
+        } elseif ($this->where)
+          $sql .= $this->where;
+        $sql .= $this->order;
+        $result = $this->db->query($sql);
+        if(DB::isError($result))
+          die($result->getMessage());
+        $dat = array();
+       while($row = $result->fetchRow())
+       {
+           $titulo = $row[0];
+           $id = $row[1];
+           if(is_null($this->padre)) $sub = array();
+           else $sub = $this->BuscarHijos($id);
+           if(!is_null($this->link))  $link = $this->prepend_link.$row[2];
+           else $link = $this->prepend_link.$id;
+           $dat[] = array(
+               'titulo'=> $titulo,
+               'link' => $link,
+               'sub' => $sub 
+           );
+       }
+       return $dat;
 
 
+    }
 
 
+}
 ?>
 ?>