summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/controlpostacceso.php
diff options
context:
space:
mode:
Diffstat (limited to 'admin/WebConsole/controlpostacceso.php')
-rw-r--r--admin/WebConsole/controlpostacceso.php185
1 files changed, 185 insertions, 0 deletions
diff --git a/admin/WebConsole/controlpostacceso.php b/admin/WebConsole/controlpostacceso.php
new file mode 100644
index 00000000..aa68c1da
--- /dev/null
+++ b/admin/WebConsole/controlpostacceso.php
@@ -0,0 +1,185 @@
+<?
+// ********************************************************************
+// Aplicación WEB: ogAdmWebCon
+// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
+// Fecha Creación: Diciembre-2003
+// Fecha Última modificación: Febrero-2005
+// Nombre del fichero: controlacceso.php
+// Descripción :Este fichero implementa el control de acceso a la aplicación
+// *********************************************************************
+include_once("controlacceso.php");
+include_once("./includes/CreaComando.php");
+include_once("./clases/AdoPhp.php");
+//________________________________________________________________________________________________________
+ $usu="";
+ $pss="";
+ $idc=0;
+ $iph=""; // Switch menu cliente
+
+ if (isset($_POST["usu"])) $usu=$_POST["usu"];
+ if (isset($_POST["pss"])) $pss=$_POST["pss"];
+ if (isset($_POST["idcentro"])) $idc=$_POST["idcentro"];
+
+ if (isset($_GET["iph"])) $iph=$_GET["iph"];
+//________________________________________________________________________________________________________
+ $cmd=CreaComando($cnx); // Crea objeto comando
+ if (!$cmd)
+ die("Error de acceso");
+//________________________________________________________________________________________________________
+
+ $nmc="";
+ $idi="";
+
+ if(!empty($iph)){ // LLamada del browser del cliente
+ list($wip,$wusu,$wpwd,$wbd,$tbd)=split(";",$cnx);
+ $usu=$wusu;
+ $pss=$wpwd;
+ }
+
+ $resul=toma_datos($cmd,$idc,&$nmc,&$idi,$usu,&$tsu,$pss);
+ if(!$resul)
+ Header("Location: ".$wac."?herror=4"); // Error de conexión con servidor B.D.
+
+ if(!empty($iph)){
+ $wurl="./varios/menucliente.php";
+ Header("Location:".$wurl); // Accede a la página de menus
+ }
+
+
+ session_start(); // Activa variables de sesión
+
+ $_SESSION["widcentro"]=$idc;
+ $_SESSION["wnombrecentro"]=$nmc;
+ $_SESSION["wusuario"]=$usu;
+ $_SESSION["widtipousuario"]=$tsu;
+ $_SESSION["widioma"]=$idi;
+ $_SESSION["wcadenaconexion"]=$cnx;
+ $_SESSION["wpagerror"]=$wer;
+ $_SESSION["wurlacceso"]=$wac;
+
+// Variables de entorno
+ $resul=toma_entorno($cmd,&$ips,&$prt,&$pclo,&$rep);
+ if(!$resul)
+ Header("Location: ".$wac."?herror=4"); // Error de conexión con servidor B.D.
+
+ $_SESSION["wservidorhidra"]=$ips;
+ $_SESSION["whidraport"]=$prt;
+ $_SESSION["protclonacion"]=$pclo;
+ $_SESSION["repcentralizado"]=$rep;
+
+/*
+echo "<BR>Cadena=".$_SESSION["wcadenaconexion"];
+echo "<BR>servidorhidra=".$_SESSION["wservidorhidra"];
+echo "<BR>hidraport=".$_SESSION["whidraport"];
+echo "<BR>usuario=".$_SESSION["wusuario"];
+echo "<BR>idtipousuario=".$_SESSION["widtipousuario"];
+*/
+
+ //________________________________________________________________________________________________________
+ // Busca datos del usuario que intenta acceder a la aplicación
+ // Parametros:
+ // - cmd:Una comando ya operativo (con conexión abierta)
+ // - usuario: Nombre del usuario
+ // - pasguor: Password del uuario
+ //
+ // Devuelve el identificador del centro, el nombre y el idioma utilizado por el usuario
+ //_______________________________________________________________________________________________________
+ function toma_datos($cmd,$idcentro,$nombrecentro,$idioma,$usuario,$idtipousuario,$pasguor){
+ $rs=new Recordset;
+ if(!empty($idcentro)){
+ $cmd->texto="SELECT usuarios.idtipousuario,centros.nombrecentro,idiomas.nemonico AS idioma FROM usuarios";
+ $cmd->texto.=" INNER JOIN administradores_centros ON administradores_centros.idusuario=usuarios.idusuario";
+ $cmd->texto.=" INNER JOIN centros ON centros.idcentro=administradores_centros.idcentro";
+ $cmd->texto.=" INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma";
+ $cmd->texto.=" WHERE idtipousuario<>3
+ AND usuarios.usuario='".$usuario."'
+ AND usuarios.pasguor='".$pasguor."'
+ AND administradores_centros.idcentro=".$idcentro;
+ }
+ else{
+ $cmd->texto="SELECT usuarios.idtipousuario,idiomas.nemonico AS idioma FROM usuarios";
+ $cmd->texto.=" INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma";
+ $cmd->texto.=" WHERE idtipousuario<>3
+ AND usuarios.usuario='".$usuario."'
+ AND usuarios.pasguor='".$pasguor."'";
+
+ }
+ $rs->Comando=&$cmd;
+ //echo $cmd->texto;
+ if (!$rs->Abrir()) return($false); // Error al abrir recordset
+ if(!$rs->EOF){
+ $idtipousuario=$rs->campos["idtipousuario"];
+ $idioma=$rs->campos["idioma"];
+ $usuario=$rs->campos["usuario"];
+ if(!empty($idcentro)){
+ $nombrecentro=$rs->campos["nombrecentro"];
+ $idtipousuario=2; // Fuerza al acceso como administrador de UNidad organizativa
+ return(true);
+ }
+ else{
+ $nombrecentro="";
+ if($idtipousuario<>1) // Si NO es superadminsitrador
+ return(false);
+ else
+ return(true);
+ }
+ }
+ return(false);
+ }
+//________________________________________________________________________________________________________
+ // Busca datos de configuración del sistema
+ // Parametros:
+ // - cmd:Una comando ya operativo (con conexión abierta)
+ // - ips: Dirección IP del servidor de administración
+ // - prt: Puerto de comunicaciones
+ // - pclo: Protocolo de clonación
+ // - rep: Uso de repositorio centralizado
+ //
+ // Devuelve datos generales de configuración del sistema
+ //_______________________________________________________________________________________________________
+ function toma_entorno($cmd,$ips,$prt,$pclo,$rep){
+ $rs=new Recordset;
+ $cmd->texto="SELECT * FROM entornos";
+ $rs->Comando=&$cmd;
+ //echo $cmd->texto;
+ if (!$rs->Abrir()) return($false); // Error al abrir recordset
+ if(!$rs->EOF){
+ $ips=$rs->campos["ipserveradm"];
+ $prt=$rs->campos["portserveradm"];
+ $pclo=$rs->campos["protoclonacion"];
+ $rep=$rs->campos["repositorio"];
+
+ }
+ return(true);
+ }
+ //_______________________________________________________________________________________________________
+?>
+ <HTML>
+ <TITLE> Administración web de aulas</TITLE>
+ <HEAD>
+ <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+ <LINK rel="stylesheet" type="text/css" href="estilos.css">
+ </HEAD>
+ <BODY>
+ <DIV id="mensaje" style="Position:absolute;TOP:250;LEFT:330; visibility:visible">
+ <SPAN align=center class=subcabeceras>Acceso permitido. Espere por favor ...</SPAN></P>
+ <SCRIPT LANGUAGE="JAVASCRIPT">
+ var vez=0;
+ setTimeout("acceso();",300);
+ function acceso(){
+ o=document.getElementById("mensaje");
+ var s=o.style.visibility;
+ if(s=="hidden")
+ o.style.visibility="visible";
+ else
+ o.style.visibility="hidden";
+ if(vez>5){
+ var w=window.top;
+ w.location="frames.php";
+ }
+ vez++;
+ setTimeout("acceso();",300);
+ }
+ </SCRIPT>
+ </BODY>
+ </HTML>