X-Git-Url: https://git.llucax.com/mecon/meconlib.git/blobdiff_plain/4c80b40da97be7e87af6a6e421677122e1e581f9..c2de4e857201181b73e0da3064f53ff5cc8ce2f0:/lib/MECON/HTML/Arbol/ArbolDB.php diff --git a/lib/MECON/HTML/Arbol/ArbolDB.php b/lib/MECON/HTML/Arbol/ArbolDB.php index 13e9d99..78dfd5f 100644 --- a/lib/MECON/HTML/Arbol/ArbolDB.php +++ b/lib/MECON/HTML/Arbol/ArbolDB.php @@ -1,53 +1,109 @@ - + Leandro Lucarella +------------------------------------------------------------------------------- +$Id$ +-----------------------------------------------------------------------------*/ +require_once 'MECON/HTML/Arbol.php'; +require_once 'DB.php'; class HTML_ArbolDB extends HTML_Arbol { - var $padre; - 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 = '') { - $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); + if(isset($dbdata['id_padre'])) + $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 - 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; } } + ?>