<%@page contentType="text/html"%> <%@page pageEncoding="UTF-8"%> <%@page import="mx.com.declaranet.conexion.*" import="java.sql.*" import="mx.com.declaranet.Config" import="mx.com.declaranet.Permisos" %> Men� Principal <% Config conf = new Config(); Permisos permisos = new Permisos(); out.println(""); String nompag[] = request.getRequestURI().split("/"); %> <% /********************** Muestra el Men� Principal de Usuario, se carga por default en el div con ID left *******************************/ /***************************************************************************************************/ Conexion c=null; Connection lcnt_con=null; ResultSet lrs_res=null; Statement lst_stm=null; String ls_query = new String(""); String emergent_error = new String(""); boolean lb_connection = false; String debug = new String("si"); String changeStyleScript = new String(""); // Conexi�n a la base de datos try { if (!conf.getParametro("debug").equals("si")) debug = "no"; c=new Conexion(); lcnt_con= c.getConnection(); lst_stm=lcnt_con.createStatement(); lb_connection = true; } catch (Exception e) { emergent_error="Error al conectarse a la base de datos "; // Verifica si est� habilitado el modo debug if (debug.equals("si")) emergent_error+=e; lb_connection=false; } //********* Validaci�n fundamental para evitar ejecuci�n de c�digo sin privilegios suficientes **********// try{ if (!permisos.PermisoModulo(nompag[nompag.length-1].toString(), Integer.parseInt(session.getAttribute("id_user").toString()))) { if (lb_connection) { lst_stm.close(); lcnt_con.close(); } emergent_error += " Privilegios insuficientes. "; lb_connection = false; } } catch(Exception e){ emergent_error += " Privilegios insuficientes. "; if (debug.equals("si")) emergent_error+="Trace: "+e.toString(); lb_connection = false; } //*******************************************************************************************************// if (lb_connection) { try { ls_query="select nombre_modulo, descripcion, nombre_archivo from " + "(select id_modulos, nombre_modulo, descripcion from "+c.getBD()+".modulos where mostrar_menu_secundario=true and id_modulos_padre = " + "(select id_modulos from "+c.getBD()+".rel_modulos_archivos where nombre_archivo='"+request.getParameter("nombre_archivo")+"')) modulos " + "join "+c.getBD()+".rel_modulos_archivos using(id_modulos) where principal=true"; lrs_res=lst_stm.executeQuery(ls_query); %> <% //Despliega las opciones del men� principal, extraidas de la base de datos while(lrs_res.next()) { if (permisos.PermisoModulo(lrs_res.getString("nombre_archivo"), Integer.parseInt(session.getAttribute("id_user").toString()))) { changeStyleScript += "if (selected != '"+lrs_res.getString("nombre_archivo")+"') \n" + " document.getElementById('menuItem"+lrs_res.getString("nombre_archivo")+"').className='';\n"; %> ').className='sel'; restoreClassesSub('<%=lrs_res.getString("nombre_archivo")%>'); window.parent.document.getElementById('contentframe_<%=request.getParameter("nombre_archivo")%>').src='<%=request.getContextPath()+"/"+request.getParameter("contexto")+"/"+lrs_res.getString("nombre_archivo")%>';" title="<%=lrs_res.getString("descripcion")%>"> <% } } %> <% } catch (Exception e) { emergent_error+="Error al obtener tabla de submódulos, "; if (debug.equals("si")) emergent_error+=e+" Query actual: "+ls_query; } lst_stm.close(); lcnt_con.close(); } else { %>
<%=emergent_error%>
<% } %>