* @author Keka: * @author Vero: * @author Raquel: * @author Toni: * @version $Id: ComunSession.php,v 1.18 2009-11-09 09:05:03 gaspar Exp $ */ class ComunSession { /** * Devuelve el nombre de la aplicación actual. Este método es el único método que realiza distinción entre * aplicaciones Igep y no Igep, y además impone una restricción de uso de esta clase. Esto se debe a que * este método será llamado por la mayor parte de los métodos de esta clase para acceder a los datos relativos * a la conexión a una aplicación, la aplicación actual. * Las aplicaciones Igep tienen definida el nombre de la aplicación actual (en el fichero de configuración). * @access public * @return string */ static function dameAplicacion(){ if(class_exists('ConfigFramework')){ $codApp = ConfigFramework::getApplicationName(); } if($codApp!='') return $codApp; else die('Error: No se ha detectado el código de la aplicación.'); } /** * Devuelve el login del usuario * @access public * @return string */ static function dameUsuario(){ if (isset($_SESSION[self::dameAplicacion()]['usuario']['usuario'])) { return @$_SESSION[self::dameAplicacion()]['usuario']['usuario']; } else { error_log(self::dameAplicacion().' no tiene usuario'); } } /** * Devuelve el nombre de la Base de Datos. * @access public * @return string */ static function dameBaseDatos(){ return $_SESSION['validacion']['bd']; } /** * Devuelve el nombre del servidor web * @access public * @return string */ static function dameServidor(){ return $_SESSION['validacion']['server']; } /** * Devuelve los datos del usuario. Necesita de la aplicación actual. * @access public * @return array */ static function dameDatosUsuario(){ return (isset($_SESSION[self::dameAplicacion()]['usuario'])) ? $_SESSION[self::dameAplicacion()]['usuario'] : ""; } /** * Devuelve un array con los datos de la aplicación actual. En este conjunto de datos están: *
    *daplicacion: descripción de la aplicacion. *bd: ¿?. *version: versión de la aplicación que se está ejecutando. *ultentra: ultima entrada realizada por este usuario en la aplicación. *
* @access public * @return string */ static function dameDatosAplicacion(){ $nombreAplica = self::dameAplicacion(); $datosAplicacion = array(); $datosAplicacion['daplicacion'] = $_SESSION[$nombreAplica]['daplicacion']; $datosAplicacion['bd'] = $_SESSION['validacion']['bd']; $datosAplicacion['version'] = @$_SESSION[$nombreAplica]['version']; $datosAplicacion['ultentra'] = @$_SESSION[$nombreAplica]['ultentra']; return $datosAplicacion; } /** * Devuelve el rol del usuario para la aplicación actual * @access public * @return string */ static function dameRol(){ return $_SESSION[self::dameAplicacion()]['rolusuar']; } /** * Devuelve el Parametro1 del usuario para la aplicación actual * @access public * @return string */ static function dameParam1(){ return $_SESSION[self::dameAplicacion()]['param1']; } /** * Devuelve el Parametro2 del usuario para la aplicación actual * @access public * @return string */ static function dameParam2(){ return $_SESSION[self::dameAplicacion()]['param2']; } /** * Devuelve el Parametro3 del usuario para la aplicación actual. * @access public * @return string */ static function dameParam3(){ return $_SESSION[self::dameAplicacion()]['param3']; } /** * Devuelve el array con todos los modulos concedidos para un usuario y para la aplicación actual. * @access public * @return array */ static function dameModulos(){ return $_SESSION[self::dameAplicacion()]['modulos']; } /** * Devuelve el array con los valores de un módulo en concreto para la aplicación actual. Si no existe retorna -1 * @access public * @param string nomModulo * @return array */ static function dameModulo($nomModulo){ if (self::hayModulo($nomModulo)) return $_SESSION[self::dameAplicacion()]['modulos'][$nomModulo]; else return -1; } /** * Comprueba si el usuario al que pertenece la SESSION tiene concedido cierto módulo para la aplicación actual. * @access public * @param string nomModulo * @return bool */ static function hayModulo($nomModulo){ $mods = @$_SESSION[self::dameAplicacion()]['modulos']; if (empty($mods)) return false; return (array_key_exists($nomModulo,$mods)); } /** * Borra todos los datos de una aplicación actual. Se utilizará generalmente antes de cerrar la ventana del navegador. * @access public * @param string nomAplicacion */ static function borraAplicacion($nomAplicacion){ unset($_SESSION[$nomAplicacion]); } /** * Comprueba si cierta aplicación esta activa. Se utilizará generalmente antes de cerrar la aplicación. * @access public * @param string nomAplicacion */ static function existeAplicacion($nomAplicacion){ return isset($_SESSION[$nomAplicacion]); } }//Fin de ComunSession ?>