source: admin/WebConsole/controlpostacceso.php @ 1985678

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 1985678 was 3d004554, checked in by Ramón M. Gómez <ramongomez@…>, 6 years ago

#834: Correct undefined variables and some spell checking.

  • Property mode set to 100644
File size: 8.3 KB
RevLine 
[043e67d]1<?php
[3ec149c]2// ********************************************************************
3// Aplicación WEB: ogAdmWebCon
4// Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla
5// Fecha Creación: Diciembre-2003
6// Fecha Última modificación: Febrero-2005
7// Nombre del fichero: controlacceso.php
8// Descripción :Este fichero implementa el control de acceso a la aplicación
9// *********************************************************************
10include_once("controlacceso.php");
11include_once("./includes/CreaComando.php");
12include_once("./clases/AdoPhp.php");
[2307886]13#include_once("idiomas/php/$idi/acceso_$idi.php");
[3ec149c]14//________________________________________________________________________________________________________
15 $usu="";
[4573cbd]16 $pss="";
17 $ident="";
[3ec149c]18 $idc=0;
[3d004554]19 $iph=""; // Switch menu cliente
20 $adminetboot="";
[3ec149c]21
22 if (isset($_GET["iph"])) $iph=$_GET["iph"]; 
23//________________________________________________________________________________________________________
24 $cmd=CreaComando($cnx); // Crea objeto comando
25 if (!$cmd)
[26a1226]26  die($TbMsg["ACCESS_ERROR"]);
[3ec149c]27//________________________________________________________________________________________________________
28
[55fcaa6]29 if (isset($_POST["usu"])) $usu=mysqli_escape_string($cmd->Conexion->controlador, $_POST["usu"]);
30 if (isset($_POST["pss"])) $pss=mysqli_escape_string($cmd->Conexion->controlador, $_POST["pss"]);
31 if (isset($_POST["idcentro"])) $idc=mysqli_escape_string($cmd->Conexion->controlador, $_POST["idcentro"]);
32
[4573cbd]33if ($idc != 0)
34{
35        $rs=new Recordset;
36        $cmd->texto="SELECT * FROM  centros WHERE idcentro=".$idc;
37        $rs->Comando=&$cmd;
38        if (!$rs->Abrir()) return(false); // Error al abrir recordset
39        $rs->Primero();
40        if (!$rs->EOF){
41        $ident=$rs->campos["identidad"];
42        }$rs->Cerrar();
43}
44
45//________________________________________________________________________________________________________
46 
47
[3ec149c]48 $nmc="";
49 $idi="";
50
51 if(!empty($iph)){ // LLamada del browser del cliente
[9f1274e]52     list($wip,$wusu,$wpwd,$wbd,$tbd)=explode(";",$cnx);
[3ec149c]53     $usu=$wusu;
54     $pss=$wpwd;
55 }
56
[294f9e5]57 $resul=toma_datos($cmd,$idc,$nmc,$idi,$usu,$tsu,$pss);
[2307886]58 // Antes la variable idioma no es la correcta
59 include_once("idiomas/php/$idi/acceso_$idi.php");
[3ec149c]60 if(!$resul)
61     Header("Location: ".$wac."?herror=4"); // Error de conexión con servidor B.D.
62 
63 if(!empty($iph)){
64     $wurl="./varios/menucliente.php";
65     Header("Location:".$wurl); // Accede a la página de menus
66 }
67
68
69 session_start(); // Activa variables de sesión
70
[4573cbd]71 $_SESSION["widentidad"]=$ident;   
[3ec149c]72 $_SESSION["widcentro"]=$idc; 
73 $_SESSION["wnombrecentro"]=$nmc; 
74 $_SESSION["wusuario"]=$usu; 
75 $_SESSION["widtipousuario"]=$tsu; 
76 $_SESSION["widioma"]=$idi;
77 $_SESSION["wcadenaconexion"]=$cnx;
78 $_SESSION["wpagerror"]=$wer;
79 $_SESSION["wurlacceso"]=$wac;
[4573cbd]80 $_SESSION["wadminetboot"]=$adminetboot;
[3ec149c]81
82// Variables de entorno
[294f9e5]83 $resul=toma_entorno($cmd,$ips,$prt,$pclo,$rep);
[3ec149c]84 if(!$resul)
85     Header("Location: ".$wac."?herror=4"); // Error de conexión con servidor B.D.
86
87 $_SESSION["wservidorhidra"]=$ips;
88 $_SESSION["whidraport"]=$prt;
89 $_SESSION["protclonacion"]=$pclo;
90 $_SESSION["repcentralizado"]=$rep;
91
92 //________________________________________________________________________________________________________
93 //    Busca datos del usuario que intenta acceder a la aplicación 
94 //        Parametros: 
95 //        - cmd:Una comando ya operativo (con conexión abierta)   
96 //        - usuario: Nombre del usuario   
97 //        - pasguor: Password del uuario   
98 //
99 //    Devuelve el identificador del centro, el nombre y el idioma utilizado por el usuario 
100 //_______________________________________________________________________________________________________
[294f9e5]101 function toma_datos($cmd,$idcentro,&$nombrecentro,&$idioma,$usuario,&$idtipousuario,$pasguor){
[4573cbd]102        global $adminetboot;
[294f9e5]103        $rs=new Recordset; 
104        if(!empty($idcentro)){
105                 $cmd->texto="SELECT usuarios.idtipousuario, centros.nombrecentro,
106                                     idiomas.nemonico AS idioma
107                                FROM usuarios
108                                INNER JOIN administradores_centros ON administradores_centros.idusuario=usuarios.idusuario
109                                INNER JOIN centros ON centros.idcentro=administradores_centros.idcentro
110                                INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma
111                                WHERE idtipousuario <> 3
112                                  AND usuarios.usuario='".$usuario."'
[7441e57]113                                  AND usuarios.pasguor=SHA2('".$pasguor."', 224)
[294f9e5]114                                  AND administradores_centros.idcentro=".$idcentro;
115        }                       
116        else{
117                 $cmd->texto="SELECT usuarios.idtipousuario, idiomas.nemonico AS idioma
118                                FROM usuarios
119                                INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma
120                                WHERE idtipousuario <> 3
121                                  AND usuarios.usuario='".$usuario."'
[7441e57]122                                  AND usuarios.pasguor=SHA2('".$pasguor."', 224)";
[294f9e5]123        }
124        $rs->Comando=&$cmd;
[3d004554]125        if (!$rs->Abrir()) return(false); // Error al abrir recordset
[294f9e5]126        if(!$rs->EOF){
[4573cbd]127        $adminetboot=$rs->campos["idtipousuario"];
[294f9e5]128                $idtipousuario=$rs->campos["idtipousuario"];
129                $idioma=$rs->campos["idioma"];
130                if(!empty($idcentro)){
131                        $nombrecentro=$rs->campos["nombrecentro"];
132                        $idtipousuario=2; // Fuerza al acceso como administrador de UNidad organizativa
133                        return(true);
134                }
135                else{
136                        $nombrecentro="";
137                        if($idtipousuario<>1) // Si NO es superadminsitrador
138                                return(false); 
139                        else
140                                return(true);                                   
141                }
142        }
143        return(false);
[3ec149c]144 }
145//________________________________________________________________________________________________________
146 //    Busca datos de configuración del sistema 
147 //        Parametros: 
148 //        - cmd:Una comando ya operativo (con conexión abierta)   
149 //        - ips: Dirección IP del servidor de administración   
150 //        - prt: Puerto de comunicaciones
151 //        - pclo: Protocolo de clonación
152 //          - rep: Uso de repositorio centralizado
153 //
154 //    Devuelve datos generales de configuración del sistema
155 //_______________________________________________________________________________________________________
[294f9e5]156 function toma_entorno($cmd,&$ips,&$prt,&$pclo,&$rep){
[3ec149c]157        $rs=new Recordset; 
158        $cmd->texto="SELECT * FROM entornos";
[294f9e5]159        $rs->Comando=&$cmd;
[3ec149c]160        //echo $cmd->texto;
[3d004554]161        if (!$rs->Abrir()) return(false); // Error al abrir recordset
[294f9e5]162        if(!$rs->EOF){
163                $ips=$rs->campos["ipserveradm"];
164                $prt=$rs->campos["portserveradm"];
165                $pclo=$rs->campos["protoclonacion"];
[abb2eb0]166                //$rep=$rs->campos["repositorio"];
[3ec149c]167        }
[294f9e5]168        return(true);
[3ec149c]169 }
170 //_______________________________________________________________________________________________________
[991ad53]171 //    Muestra mensaje de alerta si no existe repositorio en la unidad organizativa
172 //        Parametros:
173 //        - cmd:Una comando ya operativo (con conexión abierta)
174 //        - idcentro: identificador de la unidad organizativa
175 //_______________________________________________________________________________________________________
176 function alert_norepo($cmd, $idcentro,$mensaje){
[12ad7b2]177        // Si entramos en la parte administrativo no se muestra mensaje
178        if ($idcentro == 0) return;
179
[991ad53]180        $idrepositorio = '';
181        $rs=new Recordset;
182        $cmd->texto="SELECT idrepositorio FROM repositorios ".
183                    " WHERE idcentro=$idcentro LIMIT 1;";
184        $rs->Comando=&$cmd;
185        if ($rs->Abrir()) {
186                $rs->Primero();
187                $idrepositorio = $rs->campos["idrepositorio"];
188        }
189        $rs->Cerrar();
190        if ($idrepositorio == '') {
191                echo 'alert("'.$mensaje.'");';
192        }
193        return;
194
195 }
[3ec149c]196?>
[26a1226]197<html> 
198<head> 
199     <title><?php echo $TbMsg["ACCESS_TITLE"] ?></title>
[3ec149c]200     <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
[26a1226]201     <link rel="stylesheet" type="text/css" href="estilos.css">
202</head>
203
204<body> 
205<div id="mensaje" style="position:absolute;TOP:250;LEFT:330; visibility:visible"> 
206     <span align="center" class="subcabeceras"><?php echo $TbMsg["ACCESS_ALLOWED"] ?></span>
207</div>
208     <script language="javascript">
[3ec149c]209             var vez=0;
210             setTimeout("acceso();",300);
[991ad53]211
[3ec149c]212             function acceso(){
213                 o=document.getElementById("mensaje");
214                 var s=o.style.visibility;
215                 if(s=="hidden")
216                     o.style.visibility="visible";
217                 else
218                     o.style.visibility="hidden";
219                 if(vez>5){
220                     var w=window.top;
221                     w.location="frames.php";
222                 }
223                 vez++;
224                 setTimeout("acceso();",300);
225             }
[991ad53]226             <?php alert_norepo($cmd, $idc,$TbMsg["WARN_NOREPO"]) ?>;
[26a1226]227     </script>
228</body>
229</html>
Note: See TracBrowser for help on using the repository browser.