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 = null;
var $prepend_link = null;
var $where = '';
var $order = '';
var $db;
function HTML_ArbolDB($dbdata, $imagen)
{
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;
}
}
?>