]> git.llucax.com Git - mecon/ai.git/blob - sistema/local_lib/AI/Arbol.php
Se sacan las marcas del xmi2code porque no anda bien con las versiones nuevas de...
[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 require_once 'MECON/HTML/ArbolDB.php';
31
32 /**
33  * Arbol para generar los menúes.
34  *
35  * @package AI_Local
36  * @access public
37  */
38 class AI_Arbol extends MECON_HTML_ArbolDB {
39
40     /**
41      * Constructor.
42      *
43      * @param  mixed $objeto Objeto del cual generar el árbol. Puede ser
44      *                       AI_GrupoSecciones, AI_Servicio o AI_Sistema.
45      * @param  DB &$db Base de datos de donde sacar los datos para el árbol.
46      * @param  bool $expandir Indica si debe expandirse el árbol.
47      *
48      * @return void
49      * @access public
50      */
51     function AI_Arbol($objeto, &$db, $expandir = true)
52     {
53         switch (get_class($objeto)) {
54             case 'ai_gruposecciones':
55                 $tipo   = 'grupo';
56                 $titulo = 'NOTICIAS';
57                 $tabla  = 'grupo_secciones';
58                 break;
59             case 'ai_servicio':
60                 $tipo   = 'servicio';
61                 $titulo = 'SERVICIOS';
62                 $tabla  = $tipo;
63                 break;
64             case 'ai_sistema':
65                 $tipo   = 'sistema';
66                 $titulo = 'SISTEMAS';
67                 $tabla  = $tipo;
68                 $expandir = true;
69                 break;
70         }
71         $dbdata = array(
72             'db'        => &$db,
73             'tabla'     => $tabla,
74             'id'        => $tipo,
75             'nombre'    => 'nombre',
76             'order'     => 'asc',
77             'id_activo' => $objeto->$tipo,
78         );
79         if ($tipo == 'grupo' or $tipo == 'servicio') {
80             $dbdata['id_padre'] = $tipo . '_padre';
81         } elseif ($tipo == 'sistema') { // FIXME - es bastante poco ortodoxo esto.
82             $dbdata =
83                 array(
84                     'tabla'         => "intranet.$tabla as A, samurai.sistema as S",
85                     'id'            => "A.$tipo",
86                     'nombre'        => 'S.nombre_sistema',
87                     'where'         => 'S.id_sistema = A.sistema AND S.estado = 1',
88                 )
89                 + $dbdata;
90         }
91         parent::MECON_HTML_ArbolDB($dbdata, $titulo, $tipo.'?accion='.AI_MODIF.'&id=', $expandir);
92     }
93
94 }
95
96 ?>