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