]> git.llucax.com Git - mecon/ai.git/blob - sistema/local_lib/AI/Arbol.php
Se crea una subclase de HTML_ArbolDB para liberar un poco el index y mantener bases...
[mecon/ai.git] / sistema / local_lib / AI / Arbol.php
1 <?php
2 // vim: set binary expandtab tabstop=4 shiftwidth=4 textwidth=80:
3 // +--------------------------------------------------------------------+
4 // |                      Ministerio de Economía                        |
5 // |                  AI (Administrador de Intranet)                    |
6 // +--------------------------------------------------------------------+
7 // | This file is part of AI.                                           |
8 // |                                                                    |
9 // | AI is free software; you can redistribute it and/or modify         |
10 // | it under the terms of the GNU General Public License as published  |
11 // | by the Free Software Foundation; either version 2 of the License,  |
12 // | or (at your option) any later version.                             |
13 // |                                                                    |
14 // | AI is distributed in the hope that it will be useful, but          |
15 // | WITHOUT ANY WARRANTY; without even the implied warranty of         |
16 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
17 // | General Public License for more details.                           |
18 // |                                                                    |
19 // | You should have received a copy of the GNU General Public License  |
20 // | along with Hooks; if not, write to the Free Software Foundation,   |
21 // | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
22 // +--------------------------------------------------------------------+
23 // | Creado: Mon Jul 28 13:52:40 2003                                   |
24 // | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
25 // +--------------------------------------------------------------------+
26 //
27 // $Id$
28 //
29
30 // +X2C includes
31 require_once 'MECON/HTML/Arbol/ArbolDB.php';
32 // ~X2C
33
34 // +X2C Class 535 :AI_Arbol
35 /**
36  * Arbol para generar los menes.
37  *
38  * @package AI_Local
39  * @access public
40  */
41 class AI_Arbol extends HTML_ArbolDB {
42     // ~X2C
43
44     // +X2C Operation 536
45     /**
46      * Constructor.
47      *
48      * @param  mixed $objeto Objeto del cual generar el ?bol. Puede ser AI_GrupoSecciones, AI_Servicio o AI_Sistema.
49      * @param  DB &$db Base de datos de donde sacar los datos para el ?bol.
50      *
51      * @return void
52      * @access public
53      */
54     function AI_Arbol($objeto, &$db) // ~X2C
55     {
56         switch (get_class($objeto)) {
57             case 'ai_gruposecciones':
58                 $tipo   = 'grupo';
59                 $titulo = 'NOTICIAS';
60                 $tabla  = 'grupo_secciones';
61                 break;
62             case 'ai_servicio':
63                 $tipo   = 'servicio';
64                 $titulo = 'SERVICIOS';
65                 $tabla  = $tipo;
66                 break;
67             case 'ai_sistema':
68                 $tipo   = 'sistema';
69                 $titulo = 'SISTEMAS';
70                 $tabla  = $tipo;
71                 break;
72         }
73         $dbdata = array(
74             'db'        => &$db,
75             'tabla'     => $tabla,
76             'id'        => $tipo,
77             'nombre'    => 'nombre',
78             'order'     => 'asc',
79             'id_activo' => $objeto->$tipo,
80         );
81         if ($tipo == 'grupo' or $tipo == 'servicio') {
82             $dbdata['id_padre'] = $tipo . '_padre';
83         } elseif ($tipo == 'sistema') { // FIXME - horrible!!!
84             $dbdata =
85                 array(
86                     'tabla'         => "intranet.$tabla as A, samurai.sistema as S",
87                     'id'            => "A.$tipo",
88                     'nombre'        => 'S.nombre_sistema',
89                     'where'         => 'S.id_sistema = A.sistema AND S.estado = 1',
90                 )
91                 + $dbdata;
92         }
93         parent::HTML_ArbolDB($dbdata, $titulo, $tipo.'?accion='.AI_MODIF.'&id=');
94     }
95     // -X2C
96
97 } // -X2C Class :AI_Arbol
98
99 ?>