-<?
+<?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>
+ Leandro Lucarella <llucar@mecon.gov.ar>
+-------------------------------------------------------------------------------
+$Id$
+-----------------------------------------------------------------------------*/
+require_once 'MECON/HTML/Arbol.php';
+require_once 'DB.php';
class HTML_ArbolDB extends HTML_Arbol
{
- var $padre = null;
- var $tabla;
- var $nombre;
- var $id;
- var $link;
- var $db;
+ var $padre = '';
+ var $tabla;
+ var $nombre;
+ var $id;
+ var $id_activo;
+ var $link = '';
+ var $link_append = '';
+ var $where = '';
+ var $order = '';
+ var $db;
- function HTML_ArbolDB($dbdata, $imagen)
+ function HTML_ArbolDB($dbdata, $titulo, $link_append = '')
{
if(isset($dbdata['id_padre']))
- $this->padre = $dbdata['id_padre'];
- $this->tabla = $dbdata['tabla'];
- $this->nombre = $dbdata['nombre'];
- $this->id = $dbdata['id'];
- $this->link = $dbdata['link'];
- $this->db = $dbdata['db'];
- $dat = $this->BuscarHijos(0);
- parent::HTML_Arbol($dat, $imagen);
+ $this->padre = $dbdata['id_padre'];
+ $this->tabla = $dbdata['tabla'];
+ $this->nombre = $dbdata['nombre'];
+ $this->id = $dbdata['id'];
+ $this->id_activo = @$dbdata['id_activo'];
+ // FIXME - Deprecated!
+ if(isset($dbdata['prepend_link']))
+ $link_append = $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'];
+ parent::HTML_Arbol(array(), $titulo, $link_append);
+ $this->datos = $this->BuscarHijos(0);
}
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($this->link)
+ $sql .= ", $this->link ";
+ $sql .= "FROM $this->tabla ";
+ if($this->padre or $this->where)
+ $sql .= 'WHERE ';
+ if($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];
$id = $row[1];
- $dat[] = array(
- 'titulo'=> $titulo,
- 'link' => $this->link.$id,
- 'sub' => $this->BuscarHijos($id)
+ if(!$this->padre) $sub = array();
+ else $sub = $this->BuscarHijos($id);
+ $link = strval(@$row[2]);
+ $d = array(
+ 'titulo'=> $titulo,
+ 'link' => $link,
+ 'id' => $id,
+ 'sub' => $sub
);
+ if (!is_null($this->id_activo) and $id == $this->id_activo) {
+ $d['activo'] = 1;
+ }
+ $dat[] = $d;
}
return $dat;
}
}
+
?>