X-Git-Url: https://git.llucax.com/mecon/samurai.git/blobdiff_plain/f058984ad70f86039f58f8c9a70617fb1c3522a0..a880b34d71d1a4e53778792b76b182beb7c442dc:/lib/SAMURAI/Usuario.php?ds=sidebyside diff --git a/lib/SAMURAI/Usuario.php b/lib/SAMURAI/Usuario.php index d629eea..28a2755 100644 --- a/lib/SAMURAI/Usuario.php +++ b/lib/SAMURAI/Usuario.php @@ -196,7 +196,7 @@ class SAMURAI_Usuario { $this->setLogin($login); $this->_idSistema = $idSistema; if (!is_null($login)) { - $tmp =& new MECON_Usuario(null, $login); + $tmp =& new MECON_Usuario($db, null, $login); $this->setNrodoc($tmp->getDni()); $this->setNombre($tmp->getNombre()); $this->_obtenerDatosDb(); @@ -401,7 +401,7 @@ class SAMURAI_Usuario { */ function verificarLogin() // ~X2C { - $usu = new MECON_Usuario(); + $usu = new MECON_Usuario($this->_db); $tmp = $usu->verificarLogin($this->getLogin()); if ($tmp) { if (PEAR::isError($tmp)) { @@ -457,15 +457,12 @@ class SAMURAI_Usuario { { $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true); - $usu = new MECON_Usuario(); + $usu = new MECON_Usuario($db); $tmp = $usu->verificarLogin($login); if ($tmp) { if (PEAR::isError($tmp)) { return $tmp; } - else { - return true; - } } else { return new PEAR_Error('Usuario no reconocido.
Recuerde que éste debe haberse logueado previamente a Intranet'); @@ -486,5 +483,94 @@ class SAMURAI_Usuario { } // -X2C + // +X2C Operation 396 + /** + * Devuelve la informacion completa del usuario. Sistemas a los que esta asignado, perfiles que tiene dentro de cada sistema y permisos. + * + * @return mixed + * @access public + */ + function informacionGeneral() // ~X2C + { + $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true); + $tmp = $sql['obtener_informacion']; + $dbh = $this->_db->prepare($tmp); + $res = $this->_db->execute($dbh,array($this->getLogin())); + + if (PEAR::isError($res)) { + return $res; + } + + $rta = array(); + + while ($re = $res->fetchRow(DB_FETCHMODE_ASSOC)) { + $rta[$re['id_sistema']]['nombre_sistema'] = $re['nombre_sistema']; + $rta[$re['id_sistema']]['perfiles'][$re['id_perfil']]['desc_perfil'] = + $re['desc_perfil']; + + $rta[$re['id_sistema']]['perfiles'][$re['id_perfil']]['permisos'][$re['id_permiso']] + [$re['observaciones']]['desc_permiso'] = $re['desc_permiso']; + + $rta[$re['id_sistema']]['perfiles'][$re['id_perfil']]['permisos'][$re['id_permiso']] + [$re['observaciones']]['observaciones'] = $re['observaciones']; + } + + return $rta; + } + // -X2C + + // +X2C Operation 398 + /** + * Funcion que obtiene la lista de usuarios que tienen al menos un permiso en la intranet. + * + * @param DB &$db Conexion a la base de datos + * @param string $login Parte del login a filtrar + * + * @return mixed + * @access public + * @static + */ + function filtrarUsuarios(&$db, $login) // ~X2C + { + $sql = parse_ini_file(dirname(__FILE__) . '/Usuario/consultas.ini', true); + $sql = str_replace ('##?##', $login, $sql['obtener_datos_compartido']); + $db->setFetchMode(DB_FETCHMODE_ASSOC); + return $db->query($sql); + } + // -X2C + + /** + * Metodo que devuelve los datos necesarios para listar usuarios. + * + * @param SAMURAI_DB &$db Base de Datos + * @param int $id_sistema Identificador del sistema + * + * @return mixed + * @access public + * @static + */ + function getUsuariosPager(&$db, $id_sistema = null) { + + //@TODO REEMPLAZA A getUsuarios + if ($id_sistema) { + $sql = ' + SELECT DISTINCT u.login, u.nombre + FROM usuario.Usuario AS u, perfil_sist_usuario AS psu + WHERE u.login = psu.login + AND psu.id_sistema = '. $id_sistema .' + ORDER BY login + '; + } + else { + $sql = ' + SELECT login, nombre + FROM usuario.Usuario + ORDER BY login + '; + } + return $db->query ($sql); + + } + } // -X2C Class :SAMURAI_Usuario ?>