// +----------------------------------------------------------------------+ // // $Id$ // $Author$ // $URL$ // $Date$ // $Rev$ // #require_once 'PEAR.php'; require_once 'Samurai_DB.php'; require_once 'Date.php'; // +X2C Class 209 :Sistema /** * Clase para el manejo de los sistemas. * * @access public */ class Sistema { /** * Identificador del sistema. * * @var int $id * * @access private */ var $_id; /** * Nombre del sistema. * * @var string $nombre * * @access private */ var $_nombre; /** * Descripcion del sistema. * * @var string $descripcion * * @access private */ var $_descripcion; /** * Fecha en la cual se inicio el sistema. * * @var date $fecha_inicio * * @access private */ var $_fecha_inicio; /** * Fecha en la cual se dio por terminado el desarrollo del sistema. * * @var date $fecha_fin * * @access private */ var $_fecha_fin; /** * Fecha de implementacion del sistema. * * @var date $fecha_implementacion * * @access private */ var $_fecha_implementacion; /** * Texto con los datos del o de los contacto/s en el area usuario. * * @var string $contacto * * @access private */ var $_contacto; /** * Objeto Samurai_DB * * @var Samurai_DB $db * * @access private */ var $_db; /** * Login del responsable de los ultimos cambios del sistema. * * @var string $responsable * * @access private */ var $_responsable; // ~X2C // +X2C Operation 243 /** * Constructor. Si recibe como parametro el identificador busca en la DB los datos. * * @param Samurai_DB &$db Objeto Conexion * @param int $id Identificador del sistema * * @return void * * @access public */ function Sistema(&$db, $id = null) // ~X2C { $this->_db = $db; $this->_id = $id; if (!is_null($id)) { $this->_obtenerDatosDb(); } else { $this->setNombre(); $this->setDescripcion(); $this->setFechaInicio(); $this->setFechaFin(); $this->setFechaImplementacion(); $this->setContacto(); $this->setResponsable(); } } // -X2C // +X2C Operation 244 /** * Devuelve el identificador del sistema. * * @return int * * @access public */ function getId() // ~X2C { return $this->_id; } // -X2C // +X2C Operation 245 /** * Devuelve el nombre del sistema. * * @return string * * @access public */ function getNombre() // ~X2C { return $this->_nombre; } // -X2C // +X2C Operation 246 /** * Devuelve la descrpcion del sistema. * * @return string * * @access public */ function getDescripcion() // ~X2C { return $this->_descripcion; } // -X2C // +X2C Operation 247 /** * Devuelve la fecha de inicio del sistema. * * @return &date * * @access public */ function &getFechaInicio() // ~X2C { if ($this->_fecha_inicio) { return new Date ($this->_fecha_inicio.' 00:00:00'); } else { return null; } } // -X2C // +X2C Operation 248 /** * Devuelve la fecha de finalizacion del sistema. * * @return &date * * @access public */ function &getFechaFin() // ~X2C { if ($this->_fecha_fin) { return new Date ($this->_fecha_fin.' 00:00:00'); } else { return null; } } // -X2C // +X2C Operation 249 /** * Devuelve la fecha de implementacion del sistema. * * @return &date * * @access public */ function &getFechaImplementacion() // ~X2C { if ($this->_fecha_implementacion) { return new Date ($this->_fecha_implementacion.' 00:00:00'); } else { return null; } } // -X2C // +X2C Operation 250 /** * Devuelve el contacto del sistema. * * @return string * * @access public */ function getContacto() // ~X2C { return $this->_contacto; } // -X2C // +X2C Operation 251 /** * Setea el nombre del sistema. * * @param string $nombre Nombre del sistema. * * @return void * * @access public */ function setNombre($nombre = null) // ~X2C { $this->_nombre = $nombre; } // -X2C // +X2C Operation 252 /** * Setea la descripcion del sistema. * * @param string $descripcion Descripcion del sistema. * * @return void * * @access public */ function setDescripcion($descripcion = null) // ~X2C { $this->_descripcion = $descripcion; } // -X2C // +X2C Operation 253 /** * Setea la fecha de inicio del sistema. * * @param date $fecha Fecha de inicio del sistema * * @return void * * @access public */ function setFechaInicio($fecha = null) // ~X2C { if ($fecha && $fecha != '0000-00-00') { $this->_fecha_inicio = $fecha; } else { $this->_fecha_inicio = null; } } // -X2C // +X2C Operation 254 /** * Setea la fecha de finalizacion del sistema. * * @param date $fecha Fecha de finalizacion del sistema. * * @return void * * @access public */ function setFechaFin($fecha = null) // ~X2C { if ($fecha && $fecha != '0000-00-00') { $this->_fecha_fin = $fecha; } else { $this->_fecha_fin = null; } } // -X2C // +X2C Operation 255 /** * Setea la fecha de implementacion del sistema. * * @param date $fecha Fecha de implementacion del sistema. * * @return void * * @access public */ function setFechaImplementacion($fecha = null) // ~X2C { if ($fecha && $fecha != '0000-00-00') { $this->_fecha_implementacion = $fecha; } else { $this->_fecha_implementacion = null; } } // -X2C // +X2C Operation 256 /** * Setea el contacto del sistema. * * @param string $contacto Texto con la informacion del contacto. * * @return void * * @access public */ function setContacto($contacto = null) // ~X2C { $this->_contacto = $contacto; } // -X2C // +X2C Operation 263 /** * Obtiene los datos del sistema de la DB. * * @return void * * @access private */ function _obtenerDatosDb() // ~X2C { $sql = include 'Sistema/consultas.php'; //Incluyo las consultas de este objeto nada mas. $tmp = $sql['obtener_datos_sistema'].$sql['obtener_datos_sistema2']; $dbh = $this->_db->prepare($tmp); $tmp = array ($this->_id); $res = $this->_db->execute($dbh,$tmp); if ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) { if (isset($re['nombre_sistema'])) { $this->setNombre($re['nombre_sistema']); } else { $this->setNombre(); } if (isset($re['desc_sistema'])) { $this->setDescripcion($re['desc_sistema']); } else { $this->setDescripcion(); } if (isset($re['fecha_inicio'])) { $this->setFechaInicio($re['fecha_inicio']); } else { $this->setFechaInicio(); } if (isset($re['fecha_fin'])) { $this->setFechaFin($re['fecha_fin']); } else { $this->setFechaFin(); } if (isset($re['fecha_implementacion'])) { $this->setFechaImplementacion($re['fecha_implementacion']); } else { $this->setFechaImplementacion(); } if (isset($re['contacto'])) { $this->setContacto($re['contacto']); } else { $this->setContacto(); } if (isset($re['responsable'])) { $this->setresponsable($re['responsable']); } else { $this->setResponsable(); } } } // -X2C // +X2C Operation 288 /** * Guarda la informacion del sistema en la base. * * @param string $accion Accion a realizar. Grabar, modificar o eliminar * * @return void * * @access public */ function guardarDatos($accion = grabar) // ~X2C { $sql = include 'Sistema/consultas.php'; //Incluyo las consultas de este objeto nada mas. $idSistema = ($this->_id != '')?$this->_id:null; $fecha_inicio = $this->getFechaInicio(); $fecha_fin = $this->getFechaFin(); $fecha_implementacion = $this->getFechaImplementacion(); $accion = strtolower($accion); switch ($accion) { case 'grabar': case 'modificar': $tmp = $sql['insert_update_sistema']; $dbh = $this->_db->prepare($tmp); $tmp = array ( $idSistema, $this->getNombre(), $this->getDescripcion(), $fecha_inicio ? $fecha_inicio->format("%Y-%m-%d") : null, $fecha_fin ? $fecha_fin->format("%Y-%m-%d") : null, $fecha_implementacion ? $fecha_implementacion->format("%Y-%m-%d") : null, $this->getContacto(), $_SESSION['samurai']['login'] ); $res = $this->_db->execute($dbh,$tmp); break; case 'eliminar': $tmp = $sql['borrar_sistema']; $dbh = $this->_db->prepare($tmp); $tmp = array ($idSistema); $res = $this->_db->execute($dbh,$tmp); break; } } // -X2C // +X2C Operation 290 /** * Devuelve el login del responsable de los ultimos cambios * * @return string * * @access public */ function getResponsable() // ~X2C { return $this->_responsable; } // -X2C // +X2C Operation 291 /** * Setea el login del responsable de los ultimos cambios del sistema * * @param string $responsable String con el login del responsable del cambio * * @return void * * @access public */ function setResponsable($responsable = null) // ~X2C { $this->_responsable = $responsable; } // -X2C } // -X2C Class :Sistema ?>