]> git.llucax.com Git - mecon/meconlib.git/blob - lib/MECON/HTML/Arbol/ArbolDB.php
Se agrega la clase MECON_HTML_Error para mostrar errores.
[mecon/meconlib.git] / lib / MECON / HTML / Arbol / ArbolDB.php
1 <?
2
3 require_once 'MECON/HTML/Arbol.php';
4 require_once 'DB.php';
5
6
7
8 class HTML_ArbolDB extends HTML_Arbol
9 {
10         var $padre = null;
11         var $tabla;
12         var $nombre;
13         var $id;
14         var $link = null;
15         var $prepend_link = null;
16         var $where = '';
17         var $order = '';
18         var $db;
19     
20     function HTML_ArbolDB($dbdata, $imagen)
21     {
22         if(isset($dbdata['id_padre']))
23           $this->padre = $dbdata['id_padre'];
24         $this->tabla = $dbdata['tabla'];
25         $this->nombre = $dbdata['nombre'];
26         $this->id = $dbdata['id'];
27         if(isset($dbdata['prepend_link']))
28           $this->prepend_link = $dbdata['prepend_link']; 
29         if(isset($dbdata['link']))
30           $this->link = $dbdata['link']; 
31         if(isset($dbdata['where']))
32           $this->where = $dbdata['where'];
33         if(isset($dbdata['order']))
34           $this->order = ' ORDER BY '.$dbdata['nombre'].' '.$dbdata['order']; 
35         $this->db = $dbdata['db']; 
36         $dat = $this->BuscarHijos(0);
37         parent::HTML_Arbol($dat, $imagen);
38     }
39   
40     function BuscarHijos($id)
41     {
42         $sql = "SELECT $this->nombre, $this->id ";
43         if(!is_null($this->link))
44         $sql .=  ", $this->link ";
45         $sql .=  "FROM $this->tabla ";
46         if(!is_null($this->padre) or $this->where)
47           $sql .= 'WHERE ';
48         if(!is_null($this->padre)) {
49           $sql .= "$this->padre = '$id'";
50           if ($this->where)
51             $sql .= ' AND';
52         } elseif ($this->where)
53           $sql .= $this->where;
54         $sql .= $this->order;
55         $result = $this->db->query($sql);
56         if(DB::isError($result))
57           die($result->getMessage());
58         $dat = array();
59         while($row = $result->fetchRow())
60         {
61             $titulo = $row[0];
62             $id = $row[1];
63             if(is_null($this->padre)) $sub = array();
64             else $sub = $this->BuscarHijos($id);
65             if(!is_null($this->link))  $link = $this->prepend_link.$row[2];
66             else $link = $this->prepend_link.$id;
67             $dat[] = array(
68                 'titulo'=> $titulo,
69                 'link' => $link,
70                 'sub' => $sub 
71             );
72         }
73         return $dat;
74
75     }
76
77 }
78 ?>