summaryrefslogtreecommitdiffstats
path: root/admin/WebConsole/controlacceso.php
blob: 04eeb1a23ad1efd64ffa1cae44eef24985e8175b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<?
// *************************************************************************************************************************************************
// 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
// *************************************************************************************************************************************************
if(isset($_SESSION)){ 	// Si existe algua sesión ...
	session_unset(); // Elimina variables
	session_destroy(); // Destruye sesión
}
session_start(); // Activa variables de sesión

include_once("./clases/AdoPhp.php");

$usu="";
$pss="";
if (isset($_POST["usu"])) $usu=$_POST["usu"]; 
if (isset($_POST["pss"])) $pss=$_POST["pss"]; 
//========================================================================================================
// Variables de sessión de configuración de servidor y base de datos( Modificar aquípara cambio global) 
$cnx="localhost;usuog;passusuog;ogBDAdmin;mysql"; // Cadena de conexión a la base de datos
$ips="SERVERIP"; // IP del servidor de Administración
$prt="2008"; // Puerto de comunicación con el servidor
$wer="OPENGNSYSURL/pagerror.php"; // Página de redireccionamiento de errores
$wac="OPENGNSYSURL/acceso.php"; // Página de login de la aplicación
//========================================================================================================
$cmd=CreaComando($cnx); // Crea objeto comando
$resul=false;
$idc=0;
$nmc="";
$idi="";
if ($cmd){
	$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.

$_SESSION["widcentro"]=$idc; 
$_SESSION["wnombrecentro"]=$nmc; 
$_SESSION["wusuario"]=$usu; 
$_SESSION["widtipousuario"]=$tsu; 
$_SESSION["widioma"]=$idi;
$_SESSION["wcadenaconexion"]=$cnx;
$_SESSION["wservidorhidra"]=$ips;
$_SESSION["whidraport"]=$prt;
$_SESSION["wpagerror"]=$wer;
$_SESSION["wurlacceso"]=$wac;
// *************************************************************************************************************************************************
//	Devuelve una objeto comando totalmente operativo (con la conexión abierta)
//	Parametros: 
//		- cadenaconexion: Una cadena con los datos necesarios para la conexión: nombre del servidor
//		usuario,password,base de datos,etc separados por coma
//________________________________________________________________________________________________________
function CreaComando($cadenaconexion){
	$strcn=split(";",$cadenaconexion);
	$cn=new Conexion; 
	$cmd=new Comando;	
	$cn->CadenaConexion($strcn[0],$strcn[1],$strcn[2],$strcn[3],$strcn[4]);
	if (!$cn->Abrir()) return (false); 
	$cmd->Conexion=&$cn; 
	return($cmd);
}
//________________________________________________________________________________________________________
//	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; 

	$cmd->texto="SELECT usuarios.idtipousuario,usuarios.idambito,centros.nombrecentro,idiomas.nemonico AS idioma FROM usuarios";
	$cmd->texto.=" LEFT OUTER JOIN centros ON usuarios.idambito=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."'";

	$rs->Comando=&$cmd; 
	$resul=false;
	if (!$rs->Abrir()) return($resul); // Error al abrir recordset
	$rs->Primero(); 
	if (!$rs->EOF){
		$idcentro=$rs->campos["idambito"];
		$nombrecentro=$rs->campos["nombrecentro"];
		$idtipousuario=$rs->campos["idtipousuario"];
		$idioma=$rs->campos["idioma"];
		return(true);
	}
	return($resul);
}
?>
<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>