]> git.llucax.com Git - mecon/ai.git/blob - lib/AI/Sistema.php
Bugfixes.
[mecon/ai.git] / lib / AI / Sistema.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
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: Tue Jun 24 16:22:07 2003                                   |
24 // | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
25 // +--------------------------------------------------------------------+
26 //
27 // $Id$
28 //
29
30 // +X2C includes
31 require_once 'AI/DBObject.php';
32 // ~X2C
33
34 require_once 'AI/Error.php';
35 // TODO - preguntar a gmeray si le sirve, yo no lo uso...
36 require_once 'SAMURAI/Sistema.php';
37
38 /**
39  * Archivo de configuración.
40  */
41 define('AI_SISTEMA_CONFFILE', dirname(__FILE__).'/Sistema.ini');
42
43 // +X2C Class 416 :AI_Sistema
44 /**
45  * Sistema.
46  *
47  * @package AI
48  * @access public
49  */
50 class AI_Sistema extends AI_DBObject {
51     /**
52      * ID del sistema (ID en SAMURAI).
53 FIXME - preguntar a gonzalo si le sirve.
54      *
55      * @var    int $sistema
56      * @access public
57      */
58     var $sistema = 0;
59
60     /**
61      * Nombre del sistema (slo de lectura, extra?o de SAMURAI).
62 FIXME - preguntar a gonzalo si le sirve.
63      *
64      * @var    string $nombre
65      * @access public
66      */
67     var $nombre = '';
68
69     /**
70      * Descripcin del sistema (slo de lectura, extra?o de SAMURAI).
71      *
72      * @var    string $descripcion
73      * @access public
74      */
75     var $descripcion = '';
76
77     /**
78      * ?ono del sistema.
79      *
80      * @var    string $icono
81      * @access public
82      */
83     var $icono = '';
84
85     /**
86      * Enlace a donde se encuentra el sistema.
87      *
88      * @var    string $link
89      * @access public
90      */
91     var $link = '';
92
93     /**
94      * Enlace a la ayuda del sistema.
95      *
96      * @var    string $link_ayuda
97      * @access public
98      */
99     var $link_ayuda = '';
100
101     /**
102      * Indica si esta habilitado.
103      *
104      * @var    bool $habilitado
105      * @access public
106      */
107     var $habilitado = true;
108
109     // ~X2C
110
111     // +X2C Operation 466
112     /**
113      * @param  int $sistema ID del sistema.
114      *
115      * @return void
116      * @access public
117      */
118     function AI_Sistema($sistema = 0) // ~X2C
119     {
120         parent::AI_DBObject($sistema, AI_SISTEMA_CONFFILE);
121     }
122     // -X2C
123
124     // +X2C Operation 459
125     /**
126      * @param  DB $db DB donde guardar.
127      * @param  bool $nuevo Si es true, se fuerza a guardar el servicio como nuevo.
128      *
129      * @return PEAR_Error
130      * @access public
131      */
132     function guardar($db, $nuevo = false) // ~X2C
133     {
134         $datos = array(
135             'icono'      => $this->icono,
136             'link'       => $this->link,
137             'link_ayuda' => $this->link_ayuda,
138             'habilitado' => $this->habilitado ? 1 : 0,
139         );
140         $err = parent::guardar($db, $datos, $nuevo);
141         if (PEAR::isError($err)) {
142             return $err;
143         }
144     }
145     // -X2C
146
147     // +X2C Operation 528
148     /**
149      * Obtiene un array con los identificadores de los sistemas cargados.
150      *
151      * @param  DB $db Base de datos de la cual obtener los sistemas.
152      * @param  string $where Clausula WHERE para filtrar resultados.
153      *
154      * @return array
155      * @access public
156      * @static
157      */
158     function getSistemasArray($db, $where = '') // ~X2C
159     {
160         static $conf;
161         if (!$conf) {
162             $conf = parse_ini_file(AI_SISTEMA_CONFFILE, true);
163         }
164         extract($conf);
165         $query = "
166             SELECT   $id
167             FROM     $base.$tabla";
168         if ($where) {
169             $query .= "WHERE $where";
170         }
171         return $db->getCol($query);
172     }
173     // -X2C
174
175 } // -X2C Class :AI_Sistema
176
177 ?>