]> 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 583a0a55c54a125c0ea64d7469e23b8f91a2c1d1..0594bcb475087f0077a49f30f9e2950d64ce2af3 100644 (file)
@@ -11,7 +11,10 @@ class HTML_ArbolDB extends HTML_Arbol
        var $tabla;
        var $nombre;
        var $id;
        var $tabla;
        var $nombre;
        var $id;
-       var $link;
+       var $link = null;
+       var $prepend_link = null;
+       var $where = '';
+       var $order = '';
        var $db;
     
     function HTML_ArbolDB($dbdata, $imagen)
        var $db;
     
     function HTML_ArbolDB($dbdata, $imagen)
@@ -21,7 +24,14 @@ class HTML_ArbolDB extends HTML_Arbol
        $this->tabla = $dbdata['tabla'];
        $this->nombre = $dbdata['nombre'];
        $this->id = $dbdata['id'];
        $this->tabla = $dbdata['tabla'];
        $this->nombre = $dbdata['nombre'];
        $this->id = $dbdata['id'];
-       $this->link = $dbdata['link']; 
+        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);
        $this->db = $dbdata['db']; 
        $dat = $this->BuscarHijos(0);
         parent::HTML_Arbol($dat, $imagen);
@@ -29,23 +39,34 @@ class HTML_ArbolDB extends HTML_Arbol
   
     function BuscarHijos($id)
     {
   
     function BuscarHijos($id)
     {
-        $sql = "SELECT $this->nombre, $this->id
-               FROM $this->tabla ";
-       if(!is_null($this->padre))
-         $sql .= "WHERE $this->padre = '$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());
         $result = $this->db->query($sql);
         if(DB::isError($result))
           die($result->getMessage());
-       $dat = array();
+        $dat = array();
        while($row = $result->fetchRow())
        {
            $titulo = $row[0];
            $id = $row[1];
            if(is_null($this->padre)) $sub = array();
            else $sub = $this->BuscarHijos($id);
        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,
            $dat[] = array(
                'titulo'=> $titulo,
-               'link' => $this->link.$id,
+               'link' => $link,
                'sub' => $sub 
            );
        }
                'sub' => $sub 
            );
        }