X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/ff300eaf76c4d30ccf8b12cef9813be55235a26c..346c91ca894a5f231f481f0eed740208a7573e34:/lib/SAMURAI/Sistema.php?ds=sidebyside diff --git a/lib/SAMURAI/Sistema.php b/lib/SAMURAI/Sistema.php index e4143d8..f82f36f 100644 --- a/lib/SAMURAI/Sistema.php +++ b/lib/SAMURAI/Sistema.php @@ -41,7 +41,7 @@ class SAMURAI_Sistema { * @var int $id * @access protected */ - var $_id; + var $_id = null; /** * Nombre del sistema. @@ -49,7 +49,7 @@ class SAMURAI_Sistema { * @var string $nombre * @access protected */ - var $_nombre; + var $_nombre = null; /** * Descripcion del sistema. @@ -57,7 +57,7 @@ class SAMURAI_Sistema { * @var string $descripcion * @access protected */ - var $_descripcion; + var $_descripcion = null; /** * Fecha en la cual se inicio el sistema. @@ -65,7 +65,7 @@ class SAMURAI_Sistema { * @var date $fecha_inicio * @access protected */ - var $_fecha_inicio; + var $_fecha_inicio = null; /** * Fecha en la cual se dio por terminado el desarrollo del sistema. @@ -73,7 +73,7 @@ class SAMURAI_Sistema { * @var date $fecha_fin * @access protected */ - var $_fecha_fin; + var $_fecha_fin = null; /** * Fecha de implementacion del sistema. @@ -81,7 +81,7 @@ class SAMURAI_Sistema { * @var date $fecha_implementacion * @access protected */ - var $_fecha_implementacion; + var $_fecha_implementacion = null; /** * Texto con los datos del o de los contacto/s en el area usuario. @@ -89,7 +89,7 @@ class SAMURAI_Sistema { * @var string $contacto * @access protected */ - var $_contacto; + var $_contacto = null; /** * Objeto Samurai_DB @@ -105,7 +105,7 @@ class SAMURAI_Sistema { * @var string $responsable * @access protected */ - var $_responsable; + var $_responsable = null; /** * Array asociativo (id - descripcion) con los permisos asociados al sistema. @@ -113,7 +113,7 @@ class SAMURAI_Sistema { * @var array $permisos * @access protected */ - var $_permisos; + var $_permisos = null; /** * Array con los permisos asociados al sistema @@ -121,7 +121,15 @@ class SAMURAI_Sistema { * @var array $asociaciones * @access protected */ - var $_asociaciones; + var $_asociaciones = null; + + /** + * indica si el sistema esta activo o no. + * + * @var int $estado + * @access protected + */ + var $_estado = 1; /** * Gets Asociaciones. @@ -146,6 +154,29 @@ class SAMURAI_Sistema { $this->_asociaciones = $asociaciones; } + /** + * Gets Estado. + * + * @return int + * @access public + */ + function getEstado() + { + return $this->_estado; + } + /** + * Sets Estado. + * + * @param int $estado Estado. + * + * @return void + * @access public + */ + function setEstado($estado) + { + $this->_estado = $estado; + } + // ~X2C // +X2C Operation 243 @@ -165,16 +196,6 @@ class SAMURAI_Sistema { if (!is_null($id)) { $this->_obtenerDatosDb(); } - else { - $this->setNombre(); - $this->setDescripcion(); - $this->setFechaInicio(); - $this->setFechaFin(); - $this->setFechaImplementacion(); - $this->setContacto(); - $this->setResponsable(); - $this->setPermisos(); - } } // -X2C @@ -409,44 +430,26 @@ class SAMURAI_Sistema { 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(); + if (isset($re['estado'])) { + $this->setEstado($re['estado']); } } $tmp = $sql['obtener_permisos']; @@ -601,9 +604,9 @@ class SAMURAI_Sistema { 'fecha_implementacion' => $fecha_implementacion ? $fecha_implementacion->format("%Y-%m-%d") : null, 'contacto' => $this->getContacto(), 'responsable' => $this->getResponsable(), - 'estado' => 1 + 'estado' => $this->getEstado() ); - $res = $this->_db->autoExecute('sistema', $datos, DB_AUTOQUERY_INSERT); + $res = $this->_db->autoExecute('samurai.sistema', $datos, DB_AUTOQUERY_INSERT); if (PEAR::isError($res)) { return $res; @@ -632,12 +635,12 @@ class SAMURAI_Sistema { $datos = array( 'responsable' => $responsable, 'estado' => 0 ); - $res = $this->_db->autoExecute('sistema', $datos, DB_AUTOQUERY_UPDATE, 'id_sistema = '.$idSistema); + $res = $this->_db->autoExecute('samurai.sistema', $datos, DB_AUTOQUERY_UPDATE, 'id_sistema = '.$idSistema); if (PEAR::isError($res)) { return $res; } - if ($idSistema == $_SESSION['samurai']['id_sistema']){ + if ($idSistema == @$_SESSION['samurai']['id_sistema']){ $_SESSION['samurai']['id_sistema'] = ''; } } @@ -667,8 +670,9 @@ class SAMURAI_Sistema { 'fecha_implementacion' => $fecha_implementacion ? $fecha_implementacion->format("%Y-%m-%d") : null, 'contacto' => $this->getContacto(), 'responsable' => $this->getResponsable(), + 'estado' => $this->getEstado() ); - $res = $this->_db->autoExecute('sistema', $datos, DB_AUTOQUERY_UPDATE, 'id_sistema = '.$idSistema); + $res = $this->_db->autoExecute('samurai.sistema', $datos, DB_AUTOQUERY_UPDATE, 'id_sistema = '.$idSistema); if (PEAR::isError($res)) { return $res; } @@ -698,7 +702,7 @@ class SAMURAI_Sistema { function _grabarPermisosDb($idSistema) // ~X2C { $datos = array ('id_permiso','id_sistema','responsable'); - $re = $this->_db->autoPrepare('perm_sist', $datos, DB_AUTOQUERY_INSERT); + $re = $this->_db->autoPrepare('samurai.perm_sist', $datos, DB_AUTOQUERY_INSERT); if (isset($this->_permisos)) { foreach ($this->_permisos as $permiso) { $datos = array ($permiso, $idSistema, $this->getResponsable()); @@ -766,7 +770,7 @@ class SAMURAI_Sistema { 'observaciones' => $observacion, 'responsable' => $this->getResponsable(), ); - $res = $this->_db->autoExecute('perm_sist', $datos, DB_AUTOQUERY_INSERT); + $res = $this->_db->autoExecute('samurai.perm_sist', $datos, DB_AUTOQUERY_INSERT); //Recargo los datos del sistema $this->_obtenerDatosDb(); return null; @@ -882,7 +886,7 @@ class SAMURAI_Sistema { 'observaciones' => $observacion, 'responsable' => $this->getResponsable(), ); - $this->_db->autoExecute('perm_sist', + $this->_db->autoExecute('samurai.perm_sist', $datos, DB_AUTOQUERY_UPDATE, 'id_sistema = '.$this->getId().' AND id_permiso = '.$idPermiso.' AND observaciones =\''.$obs_ant.'\''); @@ -930,15 +934,16 @@ class SAMURAI_Sistema { * Devuelve el array de sistemas * * @param SAMURAI_DB &$db Base de Datos + * @param bool $activos Indica si se deben buscar solamente los sistemas activos * * @return array(Sistema) * @access public * @static */ - function getSistemas(&$db) // ~X2C + function getSistemas(&$db, $activos = true) // ~X2C { $rta = array (); - foreach (SAMURAI_Sistema::_getIdSistemas($db) as $id) { + foreach (SAMURAI_Sistema::_getIdSistemas($db, $activos) as $id) { $tmp = new SAMURAI_Sistema($db,$id); array_push($rta, $tmp); } @@ -951,17 +956,23 @@ class SAMURAI_Sistema { * Devuleve un array con los identificadores de todos los sistemas. * * @param SAMURAI_DB &$db Base de Datos + * @param bool $activos Indica si se deben buscar solamente los sistemas activos * * @return array(int) * @access protected * @static */ - function _getIdSistemas(&$db) // ~X2C + function _getIdSistemas(&$db, $activos = true) // ~X2C { //OBTENGO LOS ID DE LA BASE $rta = array(); $sql = parse_ini_file(dirname(__FILE__) . '/Sistema/consultas.ini', true); - $dbh = $db->prepare($sql['obtener_datos_sistema'].$sql['obtener_datos_sistema3'].$sql['obtener_datos_sistema4']); + $consulta = $sql['obtener_datos_sistema']; + if (@$activos) { + $consulta.= $sql['obtener_datos_sistema3']; + } + $consulta.= $sql['obtener_datos_sistema4']; + $dbh = $db->prepare($consulta); $res = $db->execute($dbh); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { array_push($rta,$re['id_sistema']); @@ -976,15 +987,16 @@ class SAMURAI_Sistema { * Devuelve un array asociativo en donde la clave es el identificador y el valor es el nombre del sistema * * @param SAMURAI_DB &$db Base de Datos + * @param bool $activos Indica si se deben buscar solamente los sistemas activos * * @return array() * @access public * @static */ - function getArraySistemas(&$db) // ~X2C + function getArraySistemas(&$db, $activos = true) // ~X2C { $rta = array (); - foreach (SAMURAI_Sistema::getSistemas($db) as $sistema) { + foreach (SAMURAI_Sistema::getSistemas($db, $activos) as $sistema) { $rta[$sistema->getId()] = $sistema->getNombre(); } return $rta;