]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/HTML/Arbol/ArbolDB.php
Workarround para que no explote con un nivel de profundidad mayor a 4.
[mecon/meconlib.git] / lib / MECON / HTML / Arbol / ArbolDB.php
index 6937df89ed378549c33f8b7c1a58ff5112f99968..111c4e5cd69f80950f0aa92efacf9b2191fd3183 100644 (file)
@@ -1,9 +1,31 @@
-<?
+<?php /* vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
+-------------------------------------------------------------------------------
+                             Ministerio de Economía
+                                    meconlib
+-------------------------------------------------------------------------------
+This file is part of meconlib.
 
-require_once 'MECON/HTML/Arbol.php';
-require_once 'DB.php';
+meconlib is free software; you can redistribute it and/or modify it under
+the terms of the GNU General Public License as published by the Free
+Software Foundation; either version 2 of the License, or (at your option)
+any later version.
 
+meconlib is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+You should have received a copy of the GNU General Public License; if not,
+write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+Boston, MA  02111-1307  USA
+-------------------------------------------------------------------------------
+Creado: jue jul 17 15:33:41 ART 2003
+Autor:  Gonzalo Merayo <gmeray@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
 
+require_once 'MECON/HTML/Arbol.php';
+require_once 'DB.php';
 
 class HTML_ArbolDB extends HTML_Arbol
 {
@@ -13,6 +35,8 @@ class HTML_ArbolDB extends HTML_Arbol
        var $id;
        var $link = null;
        var $prepend_link = null;
+       var $where = '';
+       var $order = '';
        var $db;
     
     function HTML_ArbolDB($dbdata, $imagen)
@@ -26,6 +50,10 @@ class HTML_ArbolDB extends HTML_Arbol
          $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);
@@ -34,15 +62,22 @@ class HTML_ArbolDB extends HTML_Arbol
     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))
-         $sql .= "WHERE $this->padre = '$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();
+        $dat = array();
        while($row = $result->fetchRow())
        {
            $titulo = $row[0];
@@ -62,4 +97,5 @@ class HTML_ArbolDB extends HTML_Arbol
     }
 
 }
+
 ?>