#require_once 'PEAR.php';
require_once 'Samurai_DB.php';
-
+require_once 'Date.php';
// +X2C Class 209 :Sistema
/**
*/
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. No hay metodo que setee el id del sistema puesto que es un valor autoincrementable en la DB
+ * Constructor. Si recibe como parametro el identificador busca en la DB los datos.
*
- * @param int $id Identificador del sistema.
* @param Samurai_DB &$db Objeto Conexion
+ * @param int $id Identificador del sistema
*
* @return void
*
* @access public
*/
- function Sistema($id = null, &$db) // ~X2C
+ function Sistema(&$db, $id = null) // ~X2C
{
+ $this->_db = $db;
+ $this->_id = $id;
if (!is_null($id)) {
- $this->_id = $id;
-
- $this->_db = $db;
$this->_obtenerDatosDb();
}
else {
$this->setFechaFin();
$this->setFechaImplementacion();
$this->setContacto();
+ $this->setResponsable();
}
}
// -X2C
/**
* Devuelve la fecha de inicio del sistema.
*
- * @return date
+ * @return &date
*
* @access public
*/
- function getFechaInicio() // ~X2C
- {
- return $this->_fecha_inicio;
+ function &getFechaInicio() // ~X2C
+ {
+ if ($this->_fecha_inicio) {
+ return new Date ($this->_fecha_inicio.' 00:00:00');
+ }
+ else {
+ return null;
+ }
}
// -X2C
/**
* Devuelve la fecha de finalizacion del sistema.
*
- * @return date
+ * @return &date
*
* @access public
*/
- function getFechaFin() // ~X2C
+ function &getFechaFin() // ~X2C
{
- return $this->_fecha_fin;
+ if ($this->_fecha_fin) {
+ return new Date ($this->_fecha_fin.' 00:00:00');
+ }
+ else {
+ return null;
+ }
}
// -X2C
/**
* Devuelve la fecha de implementacion del sistema.
*
- * @return date
+ * @return &date
*
* @access public
*/
- function getFechaImplementacion() // ~X2C
+ function &getFechaImplementacion() // ~X2C
{
- return $this->_fecha_implementacion;
+ if ($this->_fecha_implementacion) {
+ return new Date ($this->_fecha_implementacion.' 00:00:00');
+ }
+ else {
+ return null;
+ }
}
// -X2C
*/
function setFechaInicio($fecha = null) // ~X2C
{
- $this->_fecha_inicio = $fecha;
+ if ($fecha && $fecha != '0000-00-00') {
+ $this->_fecha_inicio = $fecha;
+ }
+ else {
+ $this->_fecha_inicio = null;
+ }
}
// -X2C
*/
function setFechaFin($fecha = null) // ~X2C
{
- $this->_fecha_fin = $fecha;
+ if ($fecha && $fecha != '0000-00-00') {
+ $this->_fecha_fin = $fecha;
+ }
+ else {
+ $this->_fecha_fin = null;
+ }
}
// -X2C
*/
function setFechaImplementacion($fecha = null) // ~X2C
{
- $this->_fecha_implementacion = $fecha;
+ if ($fecha && $fecha != '0000-00-00') {
+ $this->_fecha_implementacion = $fecha;
+ }
+ else {
+ $this->_fecha_implementacion = null;
+ }
+
}
// -X2C
// +X2C Operation 263
/**
+ * Obtiene los datos del sistema de la DB.
*
* @return void
*
$dbh = $this->_db->prepare($tmp);
$tmp = array ($this->_id);
$res = $this->_db->execute($dbh,$tmp);
+
if ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
- $this->setNombre($re['nombre_sistema']);
- $this->setDescripcion($re['desc_sistema']);
- $this->setFechaInicio($re['fecha_inicio']);
- $this->setFechaFin($re['fecha_fin']);
- $this->setFechaImplementacion($re['fecha_implementacion']);
- $this->setContacto($re['contacto']);
+
+ 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
-?>
\ No newline at end of file
+?>