2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +----------------------------------------------------------------------+
5 // +----------------------------------------------------------------------+
6 // | Copyright (c) 1997-2003 The PHP Group |
7 // +----------------------------------------------------------------------+
8 // | This source file is subject to version 2.02 of the PHP license, |
9 // | that is bundled with this package in the file LICENSE, and is |
10 // | available at through the world-wide-web at |
11 // | http://www.php.net/license/2_02.txt. |
12 // | If you did not receive a copy of the PHP license and are unable to |
13 // | obtain it through the world-wide-web, please send a note to |
14 // | license@php.net so we can mail you a copy immediately. |
15 // +----------------------------------------------------------------------+
16 // | Created: Tue May 27 11:20:04 2003
17 // | Author: Martin Marrese - Myrna Degano <mmarre@mecon.gov.ar - mdegan@mecon.gov.ar>
18 // +----------------------------------------------------------------------+
27 #require_once 'PEAR.php';
28 require_once 'Samurai_DB.php';
29 require_once 'Date.php';
31 // +X2C Class 209 :Sistema
33 * Clase para el manejo de los sistemas.
39 * Identificador del sistema.
57 * Descripcion del sistema.
59 * @var string $descripcion
66 * Fecha en la cual se inicio el sistema.
68 * @var date $fecha_inicio
75 * Fecha en la cual se dio por terminado el desarrollo del sistema.
77 * @var date $fecha_fin
84 * Fecha de implementacion del sistema.
86 * @var date $fecha_implementacion
90 var $_fecha_implementacion;
93 * Texto con los datos del o de los contacto/s en el area usuario.
95 * @var string $contacto
104 * @var Samurai_DB $db
111 * Login del responsable de los ultimos cambios del sistema.
113 * @var string $responsable
121 // +X2C Operation 243
123 * Constructor. Si recibe como parametro el identificador busca en la DB los datos.
125 * @param Samurai_DB &$db Objeto Conexion
126 * @param int $id Identificador del sistema
132 function Sistema(&$db, $id = null) // ~X2C
137 $this->_obtenerDatosDb();
141 $this->setDescripcion();
142 $this->setFechaInicio();
143 $this->setFechaFin();
144 $this->setFechaImplementacion();
145 $this->setContacto();
146 $this->setResponsable();
151 // +X2C Operation 244
153 * Devuelve el identificador del sistema.
159 function getId() // ~X2C
165 // +X2C Operation 245
167 * Devuelve el nombre del sistema.
173 function getNombre() // ~X2C
175 return $this->_nombre;
179 // +X2C Operation 246
181 * Devuelve la descrpcion del sistema.
187 function getDescripcion() // ~X2C
189 return $this->_descripcion;
193 // +X2C Operation 247
195 * Devuelve la fecha de inicio del sistema.
201 function &getFechaInicio() // ~X2C
203 if ($this->_fecha_inicio) {
204 return new Date ($this->_fecha_inicio.' 00:00:00');
212 // +X2C Operation 248
214 * Devuelve la fecha de finalizacion del sistema.
220 function &getFechaFin() // ~X2C
222 if ($this->_fecha_fin) {
223 return new Date ($this->_fecha_fin.' 00:00:00');
231 // +X2C Operation 249
233 * Devuelve la fecha de implementacion del sistema.
239 function &getFechaImplementacion() // ~X2C
241 if ($this->_fecha_implementacion) {
242 return new Date ($this->_fecha_implementacion.' 00:00:00');
250 // +X2C Operation 250
252 * Devuelve el contacto del sistema.
258 function getContacto() // ~X2C
260 return $this->_contacto;
264 // +X2C Operation 251
266 * Setea el nombre del sistema.
268 * @param string $nombre Nombre del sistema.
274 function setNombre($nombre = null) // ~X2C
276 $this->_nombre = $nombre;
280 // +X2C Operation 252
282 * Setea la descripcion del sistema.
284 * @param string $descripcion Descripcion del sistema.
290 function setDescripcion($descripcion = null) // ~X2C
292 $this->_descripcion = $descripcion;
296 // +X2C Operation 253
298 * Setea la fecha de inicio del sistema.
300 * @param date $fecha Fecha de inicio del sistema
306 function setFechaInicio($fecha = null) // ~X2C
308 if ($fecha && $fecha != '0000-00-00') {
309 $this->_fecha_inicio = $fecha;
312 $this->_fecha_inicio = null;
317 // +X2C Operation 254
319 * Setea la fecha de finalizacion del sistema.
321 * @param date $fecha Fecha de finalizacion del sistema.
327 function setFechaFin($fecha = null) // ~X2C
329 if ($fecha && $fecha != '0000-00-00') {
330 $this->_fecha_fin = $fecha;
333 $this->_fecha_fin = null;
338 // +X2C Operation 255
340 * Setea la fecha de implementacion del sistema.
342 * @param date $fecha Fecha de implementacion del sistema.
348 function setFechaImplementacion($fecha = null) // ~X2C
350 if ($fecha && $fecha != '0000-00-00') {
351 $this->_fecha_implementacion = $fecha;
354 $this->_fecha_implementacion = null;
360 // +X2C Operation 256
362 * Setea el contacto del sistema.
364 * @param string $contacto Texto con la informacion del contacto.
370 function setContacto($contacto = null) // ~X2C
372 $this->_contacto = $contacto;
376 // +X2C Operation 263
378 * Obtiene los datos del sistema de la DB.
384 function _obtenerDatosDb() // ~X2C
386 $sql = include 'Sistema/consultas.php'; //Incluyo las consultas de este objeto nada mas.
387 $tmp = $sql['obtener_datos_sistema'].$sql['obtener_datos_sistema2'];
388 $dbh = $this->_db->prepare($tmp);
389 $tmp = array ($this->_id);
390 $res = $this->_db->execute($dbh,$tmp);
392 if ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
394 if (isset($re['nombre_sistema'])) {
395 $this->setNombre($re['nombre_sistema']);
400 if (isset($re['desc_sistema'])) {
401 $this->setDescripcion($re['desc_sistema']);
404 $this->setDescripcion();
406 if (isset($re['fecha_inicio'])) {
407 $this->setFechaInicio($re['fecha_inicio']);
410 $this->setFechaInicio();
412 if (isset($re['fecha_fin'])) {
413 $this->setFechaFin($re['fecha_fin']);
416 $this->setFechaFin();
418 if (isset($re['fecha_implementacion'])) {
419 $this->setFechaImplementacion($re['fecha_implementacion']);
422 $this->setFechaImplementacion();
424 if (isset($re['contacto'])) {
425 $this->setContacto($re['contacto']);
428 $this->setContacto();
430 if (isset($re['responsable'])) {
431 $this->setresponsable($re['responsable']);
434 $this->setResponsable();
440 // +X2C Operation 288
442 * Guarda la informacion del sistema en la base.
444 * @param string $accion Accion a realizar. Grabar, modificar o eliminar
450 function guardarDatos($accion = grabar) // ~X2C
452 $sql = include 'Sistema/consultas.php'; //Incluyo las consultas de este objeto nada mas.
454 $idSistema = ($this->_id != '')?$this->_id:null;
455 $fecha_inicio = $this->getFechaInicio();
456 $fecha_fin = $this->getFechaFin();
457 $fecha_implementacion = $this->getFechaImplementacion();
459 $accion = strtolower($accion);
463 $tmp = $sql['insert_update_sistema'];
464 $dbh = $this->_db->prepare($tmp);
465 $tmp = array ( $idSistema,
467 $this->getDescripcion(),
468 $fecha_inicio ? $fecha_inicio->format("%Y-%m-%d") : null,
469 $fecha_fin ? $fecha_fin->format("%Y-%m-%d") : null,
470 $fecha_implementacion ? $fecha_implementacion->format("%Y-%m-%d") : null,
471 $this->getContacto(),
472 $_SESSION['samurai']['login']
474 $res = $this->_db->execute($dbh,$tmp);
477 $tmp = $sql['borrar_sistema'];
478 $dbh = $this->_db->prepare($tmp);
479 $tmp = array ($idSistema);
480 $res = $this->_db->execute($dbh,$tmp);
486 // +X2C Operation 290
488 * Devuelve el login del responsable de los ultimos cambios
494 function getResponsable() // ~X2C
496 return $this->_responsable;
500 // +X2C Operation 291
502 * Setea el login del responsable de los ultimos cambios del sistema
504 * @param string $responsable String con el login del responsable del cambio
510 function setResponsable($responsable = null) // ~X2C
512 $this->_responsable = $responsable;
516 } // -X2C Class :Sistema