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. |
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. |
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. |
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 // +--------------------------------------------------------------------+
30 require_once 'AI/Error.php';
31 // TODO - preguntar a gmeray si le sirve, yo no lo uso...
32 require_once 'SAMURAI/Sistema.php';
34 // +X2C Class 416 :AI_Sistema
43 * ID del sistema (ID en SAMURAI).
51 * Nombre del sistema (slo de lectura, extra?o de SAMURAI).
59 * Descripcin del sistema (slo de lectura, extra?o de SAMURAI).
61 * @var string $descripcion
64 var $descripcion = '';
69 * @var HTML_Imagen $icono
75 * Enlace a donde se encuentra el sistema.
83 * Enlace a la ayuda del sistema.
85 * @var string $link_ayuda
91 * Indica si esta habilitado.
93 * @var bool $habilitado
96 var $habilitado = true;
100 // +X2C Operation 466
102 * @param int $sistema ID del sistema.
107 function AI_Sistema($sistema = 0) // ~X2C
109 $this->sistema = $sistema;
113 // +X2C Operation 460
115 * @param mixed $db Base de datos o Resultado a utilizar.
120 function cargar($db) // ~X2C
122 $sistema = intval($this->sistema);
123 if (is_a($db, 'db_result')) {
125 // Si no es un resultado, hago el query.
127 $result = $db->query(
130 WHERE sistema = $sistema"
132 if (DB::isError($result)) {
137 $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
139 return new AI_Error(AI_ERROR_NO_RESULTADOS,
140 "No hay más resultados en la DB [sistema=$sistema]");
142 // Asigno valores al objeto.
144 $this->sistema = $sistema;
145 $this->icono = $icono;
147 $this->link_ayuda = $link_ayuda;
148 $this->habilitado = $habilitado;
149 // Obtengo datos de SAMURAI. FIXME - preguntar a marrese por manejo de errores.
150 // TODO - preguntar a gmeray si le sirve, yo no lo uso...
151 #$sist = new SAMURAI_Sistema($db, $sistema);
152 #$this->nombre = $sist->getNombre();
153 #$this->descripcion = $sist->getDescripcion();
158 // +X2C Operation 459
160 * @param DB $db DB donde guardar.
161 * @param bool $nuevo Si es true, se fuerza a guardar el servicio como nuevo.
166 function guardar($db, $nuevo = false) // ~X2C
168 $sistema = intval($this->sistema);
171 'icono' => $this->icono,
172 'link' => $this->link,
173 'link_ayuda' => $this->link_ayuda,
174 'habilitado' => $this->habilitado ? 1 : 0,
176 if ($sistema and !$nuevo) {
177 $accion = DB_AUTOQUERY_UPDATE;
178 $where = "sistema = $sistema";
180 $accion = DB_AUTOQUERY_INSERT;
181 // Si no tiene ID, le asigno uno nuevo.
183 $sistema = $db->nextId('sistema');
184 if (DB::isError($sistema)) {
187 $this->sistema = $sistema;
189 $datos['sistema'] = $sistema;
191 $res = $db->autoExecute('sistema', $datos, $accion, $where);
192 if (DB::isError($res)) {
199 // +X2C Operation 461
201 * @param DB $db DB de donde borrar.
206 function borrar($db) // ~X2C
208 $sistema = intval($this->sistema);
211 "DELETE FROM sistema WHERE sistema = $sistema");
212 if (DB::isError($res)) {
217 return PEAR::raiseError("No hay un sistema válido para borrar");
221 // +X2C Operation 502
226 function __clone() // ~X2C
232 } // -X2C Class :AI_Sistema