<%@ page session="true" %>
<%@ page import="java.util.*,javax.sql.*,java.sql.*,javax.naming.*" %>
<%@ page import="java.util.ResourceBundle" %>
<%@ page import="org.w3c.dom.*, org.apache.xpath.*" %>
<%@ page import="n38a.exe.*,n38c.exe.*" %>
<%@ page import="m05bLdap.*,m05bIdioma.*,m05bClasses.m05bConstantes,m05bClasses.m05bFileLog,m05bClasses.m05bFicheroProperties" %>
<FORM NAME="formAcceso" METHOD="POST">

<%
String m05Login = "";
Locale idiomaLocal = null;
boolean xlnet = true;

try {
ResourceBundle  res = null;
ResourceBundle resCM  = null;
ResourceBundle resTit  = null;
ResourceBundle resMenu  = null;
m05bFileLog logAcceso = new m05bFileLog();
if(xlnet){
	m05Login = m05bFicheroProperties.getInstance().getParameter("m05XLNets.Login");  		
   	   ISecurityInfo  securityInfo = null; 
       SecurityObject objSeguridad = null; 
        // Obtener mediante reflection la clase encargada de gestionar la seguridad.
        securityInfo = (ISecurityInfo) Class.forName( "m05bLdap.SecurityHelpperXLNets" ).newInstance();
        securityInfo.setHttpRequest(request);
        /* Obtener el objeto de seguridad.... 
        Si el usuario no tiene acceso a la aplicacion (funcion M05-FN-0001)el objeto de seguridad es nulo.
        La primera vez se crea
        Falta hacer que el resto de veces se coja de la sesion (cuando ya esta creado)*/
		objSeguridad = securityInfo.getSecurityObject( "M05B-FN-0001" );
		
	    if (objSeguridad != null) { 
		    session.setAttribute("persona",objSeguridad.getPuesto());
		    session.setAttribute("personaCodigo",objSeguridad.getUsuario());
   		    session.setAttribute("personaDni",objSeguridad.getDni());
   		    session.setAttribute("personaNombre",objSeguridad.getPersona());
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " ", m05bConstantes.LOG_NIVEL_ALTO);
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " ----------------------------------------------- ", m05bConstantes.LOG_NIVEL_ALTO);
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "       PERSONA= " + objSeguridad.getPersona(), m05bConstantes.LOG_NIVEL_ALTO);
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "       IDENTIFICADOR= " + objSeguridad.getPuesto(), m05bConstantes.LOG_NIVEL_ALTO);
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "       USUARIO= " + objSeguridad.getUsuario(), m05bConstantes.LOG_NIVEL_ALTO);
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "       DNI= " + objSeguridad.getDni(), m05bConstantes.LOG_NIVEL_ALTO);
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "       IDIOMA= " + objSeguridad.getIdioma(), m05bConstantes.LOG_NIVEL_ALTO);
	        logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, " ----------------------------------------------- ", m05bConstantes.LOG_NIVEL_ALTO);
		    session.setAttribute("idioma",objSeguridad.getIdioma());
		    Locale currentLocale = null;
		    Locale[] supportedLocales ={new Locale("es",""),new Locale("eu","EU")};
		    String objIdioma=objSeguridad.getIdioma();
		    if (objIdioma.equals("1")) {
			currentLocale=supportedLocales[0];
		    } else if (objIdioma.equals("2")) {
			currentLocale=supportedLocales[1];
		    }
	            logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "       CURRENT LOCALE = " + currentLocale, m05bConstantes.LOG_NIVEL_ALTO);
	            session.setAttribute("objetoSeguridad",objSeguridad); 
	            session.setAttribute("Local",currentLocale); 
	            session.setAttribute("SupportedLocal",supportedLocales); 
	            idiomaLocal = (Locale)session.getAttribute("Local");
	            res = ResourceBundle.getBundle("html.datos.etiquetas",idiomaLocal);
	            resCM  = ResourceBundle.getBundle("html.datos.cmigas",idiomaLocal);
	            resTit  = ResourceBundle.getBundle("html.datos.titulos",idiomaLocal);
	            resMenu  = ResourceBundle.getBundle("html.datos.menu",idiomaLocal);
	            session.setAttribute("res",res); 
	            session.setAttribute("resCM",resCM); 
	            session.setAttribute("resTit",resTit);
	            session.setAttribute("resMenu",resMenu);
            }
	}else{
      session.setAttribute("persona","pepa");	 
      session.setAttribute("personaCodigo","pepa");
      session.setAttribute("personaDni","12345678A");
      session.setAttribute("personaNombre","pepa");
      Locale currentLocale = null;
	  Locale[] supportedLocales ={new Locale("es",""),new Locale("eu","EU")};	    	
	  String objIdioma="1";
	  if (objIdioma.equals("1")) {
		currentLocale=supportedLocales[0];
	  } else if (objIdioma.equals("2")) {
		currentLocale=supportedLocales[1];
	  }
	  logAcceso.addTraza(m05bConstantes.LOG_NO_USER, m05bConstantes.LOG_NO_SRC, "       CURRENT LOCALE = " + currentLocale, m05bConstantes.LOG_NIVEL_ALTO);
	  session.setAttribute("Local",currentLocale); 
	  session.setAttribute("SupportedLocal",supportedLocales); 
	  idiomaLocal = (Locale)session.getAttribute("Local");
	  res = ResourceBundle.getBundle("html.datos.etiquetas",idiomaLocal);
	  resCM  = ResourceBundle.getBundle("html.datos.cmigas",idiomaLocal);
	  resTit  = ResourceBundle.getBundle("html.datos.titulos",idiomaLocal);
	  resMenu  = ResourceBundle.getBundle("html.datos.menu",idiomaLocal);
	  session.setAttribute("res",res); 
	  session.setAttribute("resCM",resCM); 
	  session.setAttribute("resTit",resTit);
	  session.setAttribute("resMenu",resMenu);
	}
	} catch (Exception e) {
	  	PrintWriter outMsg= response.getWriter();
        if(idiomaLocal!=null){
	        if(idiomaLocal.getLanguage().equals("eu"))  
	        	outMsg.println("<script>alert('e-No se ha autentificado correctamente en XLNETS:Solo puede consultar Proyectos');</script>");
	        else	
	          	outMsg.println("<script>alert('No se ha autentificado correctamente en XLNETS:Solo puede consultar Proyectos');</script>");
		}
		outMsg.println("<script>document.formAcceso.action=" + m05Login + ";</script>");
        outMsg.println("<script>document.formAcceso.submit();</script>");
		outMsg.close();
	}
%>
</FORM>