From: Martín Marrese Date: Tue, 16 Sep 2003 16:13:18 +0000 (+0000) Subject: Cambios. No se utiliza mas $_SESSION[samurai][id_sistema] desde dentro de las libreri... X-Git-Tag: svn_import~77 X-Git-Url: https://git.llucax.com/mecon/samurai.git/commitdiff_plain/79ef65118eefbd09cf3007abb74b3b9e18ebb88e Cambios. No se utiliza mas $_SESSION[samurai][id_sistema] desde dentro de las librerias. Ahora en SAMURAI_Perfil y SAMURAI_Usuario se carga en el constructor el identificador del sistema en el cual se esta trabajando. --- diff --git a/doc/uml/Samurai.xmi b/doc/uml/Samurai.xmi index c52f11a..f177692 100644 --- a/doc/uml/Samurai.xmi +++ b/doc/uml/Samurai.xmi @@ -6,16 +6,17 @@ 1.1.5 UnicodeUTF8 - + - + + @@ -54,11 +55,13 @@ x2c: get set" name="nombre" static="0" scope="202" /> + + @@ -104,6 +107,7 @@ x2c: get set" name="tipo" static="0" scope="202" /> x2c: get set" name="responsable" static="0" scope="202" /> + @@ -195,8 +199,7 @@ x2c: get set" name="permisos" static="0" scope="201" /> - + @@ -268,14 +271,14 @@ x2c:set" name="sistema" static="0" scope="202" /> - + - - - - - - + + + + + + @@ -285,7 +288,7 @@ x2c:set" name="sistema" static="0" scope="202" /> - + @@ -297,7 +300,7 @@ x2c:set" name="sistema" static="0" scope="202" /> - + @@ -310,47 +313,47 @@ x2c:set" name="sistema" static="0" scope="202" /> - - + + - + - + - + - + - + - + - + - - + + - + - - - - - - - + + + + + + + @@ -360,15 +363,15 @@ x2c:set" name="sistema" static="0" scope="202" /> - + - - + + @@ -391,10 +394,11 @@ x2c:set" name="sistema" static="0" scope="202" /> - + + @@ -429,7 +433,7 @@ x2c:set" name="sistema" static="0" scope="202" /> - + @@ -477,6 +481,7 @@ x2c:set" name="sistema" static="0" scope="202" /> + @@ -496,7 +501,7 @@ x2c:set" name="sistema" static="0" scope="202" /> - + diff --git a/lib/SAMURAI/Perfil.php b/lib/SAMURAI/Perfil.php index acbce4e..4a7edf0 100644 --- a/lib/SAMURAI/Perfil.php +++ b/lib/SAMURAI/Perfil.php @@ -81,6 +81,12 @@ class SAMURAI_Perfil { */ var $_permisos; + /** + * @var int $idSistema + * @access protected + */ + var $_idSistema; + /** * Gets Id. * @@ -204,15 +210,17 @@ class SAMURAI_Perfil { * * @param SAMURAI_DB &$db Objeto conexion * @param int $id Identificador del perfil. + * @param int $idSistema Identificador del sistema en el que se esta trabajando * * @return void * @access public */ - function SAMURAI_Perfil(&$db, $id = null) // ~X2C + function SAMURAI_Perfil(&$db, $id = null, $idSistema = null) // ~X2C { $this->_db = $db; if (!is_null($id)) { $this->setId($id); + $this->_idSistema = $idSistema; $this->_obtenerDatosDb(); } else { @@ -221,6 +229,7 @@ class SAMURAI_Perfil { $this->_descripcion = null; $this->_tipo = null; $this->_permisos = null; + $this->_idSistema = null; } } // -X2C @@ -256,7 +265,7 @@ class SAMURAI_Perfil { //OBTENGO EL TIPO DE PERFIL $tmp = $sql['verificar_asociacion']; $dbh = $this->_db->prepare($tmp); - $tmp = array ($this->getId(), $_SESSION['samurai']['id_sistema']); + $tmp = array ($this->getId(), $this->_idSistema); $res = $this->_db->execute($dbh,$tmp); $re = $res->fetchrow(DB_FETCHMODE_ASSOC); $this->setTipo($re['tipo_perfil']); @@ -264,7 +273,7 @@ class SAMURAI_Perfil { //OBTENGO LOS PERMISOS QUE TIENE ASIGNADO EL PERFIL DESDE PERM_PERFIL_SIST $tmp = $sql['obtener_permisos']; $dbh = $this->_db->prepare($tmp); - $tmp = array ($this->getId(), $_SESSION['samurai']['id_sistema']); + $tmp = array ($this->getId(), $this->_idSistema); $res = $this->_db->execute($dbh,$tmp); $rta = array (); while ($re = $res->fetchrow(DB_FETCHMODE_ASSOC)) { @@ -339,7 +348,7 @@ class SAMURAI_Perfil { } //GRABO EN PERFIL_SIST $datos = array ('id_perfil' => $this->getId(), - 'id_sistema' => $_SESSION['samurai']['id_sistema'], + 'id_sistema' => $this->_idSistema, 'tipo_perfil' => $this->getTipo(), 'responsable' => $this->getResponsable(), ); @@ -360,7 +369,7 @@ class SAMURAI_Perfil { //Verifico en perfil_sist_usuario $tmp = $sql['verif_perfil_sist_usuario']; $dbh = $this->_db->prepare($tmp); - $datos = array ($this->getId(), $_SESSION['samurai']['id_sistema']); + $datos = array ($this->getId(), $this->_idSistema); $res = $this->_db->execute($dbh, $datos); if (($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) && !$re['cuenta'] == 0) { return new PEAR_Error("Hay usuarios asociados al perfil seleccionado"); @@ -373,7 +382,7 @@ class SAMURAI_Perfil { //Borro perfil_sist $tmp = $sql['borrar_perfil_sist']; $dbh = $this->_db->prepare($tmp); - $datos = array ($this->getId(), $_SESSION['samurai']['id_sistema']); + $datos = array ($this->getId(), $this->_idSistema); $res = $this->_db->execute($dbh, $datos); if (PEAR::isError($res)) { return $res; @@ -411,7 +420,9 @@ class SAMURAI_Perfil { 'tipo_perfil' => $this->getTipo(), 'responsable' => $this->getResponsable(), ); - $res = $this->_db->autoExecute('perfil_sist', $datos, DB_AUTOQUERY_UPDATE, 'id_perfil ='.$this->getId().' AND id_sistema='.$_SESSION['samurai']['id_sistema']); + $res = $this->_db->autoExecute('perfil_sist', $datos, + DB_AUTOQUERY_UPDATE, 'id_perfil ='.$this->getId().' AND + id_sistema='.$this->_idSistema); if (PEAR::isError($res)) { return $res; } @@ -487,7 +498,7 @@ class SAMURAI_Perfil { { $rta = array (); foreach (SAMURAI_Perfil::_getIdPerfiles($db, $filtro, $id_sistema) as $id) { - $tmp = new SAMURAI_Perfil($db,$id); + $tmp = new SAMURAI_Perfil($db,$id, $id_sistema); array_push($rta, $tmp); } return $rta; @@ -594,7 +605,7 @@ class SAMURAI_Perfil { $re = $this->_db->autoPrepare('perm_perfil_sist', $datos, DB_AUTOQUERY_INSERT); foreach ($this->getPermisos() as $permiso) { list($id, $obs) = split ('##',$permiso); - $datos = array ($id, $this->getId(), $_SESSION['samurai']['id_sistema'], $obs, $this->getResponsable()); + $datos = array ($id, $this->getId(), $this->_idSistema, $obs, $this->getResponsable()); $res = $this->_db->execute($re, $datos); if (PEAR::isError($res)) { return $res; @@ -615,7 +626,7 @@ class SAMURAI_Perfil { $sql = parse_ini_file(dirname(__FILE__) . '/Perfil/consultas.ini', true); $tmp = $sql['borrar_permisos']; $dbh = $this->_db->prepare($tmp); - $tmp = array ($this->getId(), $_SESSION['samurai']['id_sistema']); + $tmp = array ($this->getId(), $this->_idSistema); return $this->_db->execute($dbh,$tmp); } // -X2C @@ -633,7 +644,7 @@ class SAMURAI_Perfil { $sql = parse_ini_file(dirname(__FILE__) . '/Perfil/consultas.ini', true); $tmp = $sql['verif_perm_perfil_sist']; $dbh = $this->_db->prepare($tmp); - $tmp = array ($_SESSION['samurai']['id_sistema']); + $tmp = array ($this->_idSistema); $res = $this->_db->execute($dbh,$tmp); $perm = array(); while ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) { @@ -643,7 +654,7 @@ class SAMURAI_Perfil { $rta1 = array_diff($p, $this->getPermisos()); $rta2 = array_diff($this->getPermisos(), $p); if (!$rta1 && !$rta2) { - $perf = new SAMURAI_Perfil($this->_db, $key); + $perf = new SAMURAI_Perfil($this->_db, $key, $this->_idSistema); if ($perf->getDescripcion() != $this->getDescripcion()) { return new PEAR_Error("El perfil \"".$perf->getDescripcion()."\" contiene los mismos permisos."); } @@ -655,4 +666,4 @@ class SAMURAI_Perfil { } // -X2C Class :SAMURAI_Perfil -?> \ No newline at end of file +?> diff --git a/lib/SAMURAI/Sistema.php b/lib/SAMURAI/Sistema.php index e4143d8..8cf5f97 100644 --- a/lib/SAMURAI/Sistema.php +++ b/lib/SAMURAI/Sistema.php @@ -116,36 +116,11 @@ class SAMURAI_Sistema { var $_permisos; /** - * Array con los permisos asociados al sistema - * * @var array $asociaciones * @access protected */ var $_asociaciones; - /** - * Gets Asociaciones. - * - * @return array - * @access public - */ - function getAsociaciones() - { - return $this->_asociaciones; - } - /** - * Sets Asociaciones. - * - * @param array $asociaciones Asociaciones. - * - * @return void - * @access public - */ - function setAsociaciones($asociaciones) - { - $this->_asociaciones = $asociaciones; - } - // ~X2C // +X2C Operation 243 @@ -637,7 +612,7 @@ class SAMURAI_Sistema { return $res; } - if ($idSistema == $_SESSION['samurai']['id_sistema']){ + if ($idSistema == @$_SESSION['samurai']['id_sistema']){ $_SESSION['samurai']['id_sistema'] = ''; } } @@ -993,4 +968,4 @@ class SAMURAI_Sistema { } // -X2C Class :SAMURAI_Sistema -?> \ No newline at end of file +?> diff --git a/lib/SAMURAI/Usuario.php b/lib/SAMURAI/Usuario.php index 939f720..86cc24a 100644 --- a/lib/SAMURAI/Usuario.php +++ b/lib/SAMURAI/Usuario.php @@ -84,6 +84,12 @@ class SAMURAI_Usuario { */ var $_perfiles; + /** + * @var int $idSistema + * @access protected + */ + var $_idSistema; + /** * Gets Login. * @@ -184,11 +190,12 @@ class SAMURAI_Usuario { * * @param SAMURAI_DB &$db Objeto conexion. * @param string $login Login del usuario + * @param int $idSistema Identificador del sistema en el cual se esta trabajando * * @return void * @access public */ - function SAMURAI_Usuario(&$db, $login = null) // ~X2C + function SAMURAI_Usuario(&$db, $login = null, $idSistema = null) // ~X2C { $this->_db = $db; $this->setLogin($login); @@ -196,6 +203,7 @@ class SAMURAI_Usuario { $tmp =& new MECON_Usuario(null, $login); $this->setNrodoc($tmp->getDni()); $this->setNombre($tmp->getNombre()); + $this->_idSistema = $idSistema; $this->_obtenerDatosDb(); } } @@ -274,7 +282,7 @@ class SAMURAI_Usuario { { $rta = array (); foreach (SAMURAI_Usuario::_getLoginUsuarios($db, $id_sistema) as $login) { - $tmp = new SAMURAI_Usuario($db,$login); + $tmp = new SAMURAI_Usuario($db, $login, $id_sistema); array_push($rta, $tmp); } return $rta; @@ -294,11 +302,13 @@ class SAMURAI_Usuario { $tmp = $sql['obtener_perfiles_usuario']; $dbh = $this->_db->prepare($tmp); - $res = $this->_db->execute($dbh,array($this->getLogin(), $_SESSION['samurai']['id_sistema'])); + $res = $this->_db->execute($dbh,array($this->getLogin(), + $this->_idSistema)); $rta = array(); while ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) { - $tmp = new SAMURAI_Perfil($this->_db, $re['id_perfil']); + $tmp = new SAMURAI_Perfil($this->_db, $re['id_perfil'], + $this->_idSistema); $rta[] = $tmp->getId(); } $this->setPerfiles($rta); @@ -346,7 +356,7 @@ class SAMURAI_Usuario { foreach ($this->getPerfiles() as $perfil) { $datos = array ($this->getLogin(), $perfil, - $_SESSION['samurai']['id_sistema'], + $this->_idSistema, $_SESSION['usuario']); $res = $this->_db->execute($re, $datos); if (PEAR::isError($res)) { @@ -368,7 +378,7 @@ class SAMURAI_Usuario { $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true); $tmp = $sql['borrar']; $dbh = $this->_db->prepare($tmp); - $tmp = array ($this->getLogin(), $_SESSION['samurai']['id_sistema']); + $tmp = array ($this->getLogin(), $this->_idSistema); return $this->_db->execute($dbh,$tmp); } // -X2C @@ -424,7 +434,8 @@ class SAMURAI_Usuario { $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true); $tmp = $sql['verificar_login2']; $dbh = $this->_db->prepare($tmp); - $res = $this->_db->execute($dbh,array($this->getLogin(), $_SESSION['samurai']['id_sistema'])); + $res = $this->_db->execute($dbh,array($this->getLogin(), + $this->_idSistema)); $re = $res->fetchRow(DB_FETCHMODE_ASSOC); if ($re['login']) { return new PEAR_Error('El usuario seleccionado ya esta cargado. Modifique sus opciones.'); diff --git a/sistema/www/perfiles/perfiles-abm.php b/sistema/www/perfiles/perfiles-abm.php index 52bf172..001aae0 100644 --- a/sistema/www/perfiles/perfiles-abm.php +++ b/sistema/www/perfiles/perfiles-abm.php @@ -44,7 +44,8 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PER } $FORM = new MECON_HTML_QuickForm ('perfiles_abm','post','perfiles-abm'); $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']); - $PERFIL = new SAMURAI_Perfil ($DB, $id_perfil); + $PERFIL = new SAMURAI_Perfil ($DB, $id_perfil, + $_SESSION['samurai']['id_sistema']); if ($PERFIL->getResponsable()) { $responsable = $PERFIL->getResponsable(); diff --git a/sistema/www/perfiles/perfiles-datos.php b/sistema/www/perfiles/perfiles-datos.php index 37c5e6c..7083e07 100644 --- a/sistema/www/perfiles/perfiles-datos.php +++ b/sistema/www/perfiles/perfiles-datos.php @@ -50,7 +50,8 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_PERFIL,SAMURAI_BAJA_PERFIL,SAMURAI_MODI_PER 'simple' => 'true')); $PAGE->addStyleSheet('/MECON/css/general_estilos.css'); $FORM = new MECON_HTML_QuickForm ('perfil_datos','post','perfil-datos'); - $PERFIL = new SAMURAI_Perfil($DB, $_GET['id_perfil']); + $PERFIL = new SAMURAI_Perfil($DB, $_GET['id_perfil'], + $_SESSION['samurai']['id_sistema']); $SISTEMA = new SAMURAI_Sistema ($DB, $_SESSION['samurai']['id_sistema']); } // }}} diff --git a/sistema/www/usuarios/usuarios-abm.php b/sistema/www/usuarios/usuarios-abm.php index 7b5f162..24ddb7f 100644 --- a/sistema/www/usuarios/usuarios-abm.php +++ b/sistema/www/usuarios/usuarios-abm.php @@ -53,7 +53,7 @@ if (!@$_SESSION['samurai']['id_sistema']) { $TABLA = new MECON_HTML_Tabla ('cellspacing=0'); $FORM = new MECON_HTML_QuickForm ('usuarios_abm','post','usuarios-abm'); $SISTEMA = new SAMURAI_Sistema($DB, $_SESSION['samurai']['id_sistema']); - $USUARIO = new SAMURAI_Usuario($DB, $login); + $USUARIO = new SAMURAI_Usuario($DB, $login, $_SESSION['samurai']['id_sistema']); // }}} //OBTENGO LOS DATOS DE LA BASE {{{ $tmps = SAMURAI_Perfil::getPerfiles($DB, null, $_SESSION['samurai']['id_sistema']); diff --git a/sistema/www/usuarios/usuarios-datos.php b/sistema/www/usuarios/usuarios-datos.php index dc2dd2d..7b8aea4 100644 --- a/sistema/www/usuarios/usuarios-datos.php +++ b/sistema/www/usuarios/usuarios-datos.php @@ -47,7 +47,8 @@ $SAMURAI_PERM->chequear(SAMURAI_ALTA_USUARIO, SAMURAI_BAJA_USUARIO, SAMURAI_MODI 'simple' => 'true')); $PAGE->addStyleSheet('/MECON/css/general_estilos.css'); $FORM = new MECON_HTML_QuickForm ('usuarios_datos','post','usuarios-datos'); - $USUARIO = new SAMURAI_Usuario($DB, $_GET['login']); + $USUARIO = new SAMURAI_Usuario($DB, $_GET['login'], + $_SESSION['samurai']['id_sistema']); } // }}}