Conexion->controlador, $_POST["usu"]); if (isset($_POST["pss"])) $pss=mysqli_escape_string($cmd->Conexion->controlador, $_POST["pss"]); if (isset($_POST["idcentro"])) $idc=mysqli_escape_string($cmd->Conexion->controlador, $_POST["idcentro"]); if ($idc != 0) { $rs=new Recordset; $cmd->texto="SELECT * FROM centros WHERE idcentro=".$idc; $rs->Comando=&$cmd; if (!$rs->Abrir()) return(false); // Error al abrir recordset $rs->Primero(); if (!$rs->EOF){ $ident=$rs->campos["identidad"]; }$rs->Cerrar(); } //________________________________________________________________________________________________________ $nmc=""; $idi=""; if(!empty($iph)){ // LLamada del browser del cliente list($wip,$wusu,$wpwd,$wbd,$tbd)=explode(";",$cnx); $usu=$wusu; $pss=$wpwd; } $resul=toma_datos($cmd,$idc,$nmc,$idi,$usu,$tsu,$pss); // Antes la variable idioma no es la correcta include_once("idiomas/php/$idi/acceso_$idi.php"); 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["widentidad"]=$ident; $_SESSION["widcentro"]=$idc; $_SESSION["wnombrecentro"]=$nmc; $_SESSION["wusuario"]=$usu; $_SESSION["widtipousuario"]=$tsu; $_SESSION["widioma"]=$idi; $_SESSION["wcadenaconexion"]=$cnx; $_SESSION["wpagerror"]=$wer; $_SESSION["wurlacceso"]=$wac; $_SESSION["wadminetboot"]=$adminetboot; // 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; //________________________________________________________________________________________________________ // Busca datos del usuario que intenta acceder a la aplicación // Parámetros: // - 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){ global $adminetboot; $rs=new Recordset; if(!empty($idcentro)){ $cmd->texto="SELECT usuarios.idtipousuario, centros.nombrecentro, idiomas.nemonico AS idioma FROM usuarios INNER JOIN administradores_centros ON administradores_centros.idusuario=usuarios.idusuario INNER JOIN centros ON centros.idcentro=administradores_centros.idcentro INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma WHERE idtipousuario <> 3 AND usuarios.usuario='".$usuario."' AND usuarios.pasguor=SHA2('".$pasguor."', 224) AND administradores_centros.idcentro=".$idcentro; } else{ $cmd->texto="SELECT usuarios.idtipousuario, idiomas.nemonico AS idioma FROM usuarios INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma WHERE idtipousuario <> 3 AND usuarios.usuario='".$usuario."' AND usuarios.pasguor=SHA2('".$pasguor."', 224)"; } $rs->Comando=&$cmd; if (!$rs->Abrir()) return(false); // Error al abrir recordset if(!$rs->EOF){ $adminetboot=$rs->campos["idtipousuario"]; $idtipousuario=$rs->campos["idtipousuario"]; $idioma=$rs->campos["idioma"]; 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 // Paráametros: // - 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; 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); } //_______________________________________________________________________________________________________ // Muestra mensaje de alerta si no existe repositorio en la unidad organizativa // Parámetros: // - cmd:Una comando ya operativo (con conexión abierta) // - idcentro: identificador de la unidad organizativa //_______________________________________________________________________________________________________ function alert_norepo($cmd, $idcentro,$mensaje){ // Si entramos en la parte administrativo no se muestra mensaje if ($idcentro == 0) return; $idrepositorio = ''; $rs=new Recordset; $cmd->texto="SELECT idrepositorio FROM repositorios ". " WHERE idcentro=$idcentro LIMIT 1;"; $rs->Comando=&$cmd; if ($rs->Abrir()) { $rs->Primero(); $idrepositorio = $rs->campos["idrepositorio"]; } $rs->Cerrar(); if ($idrepositorio == '') { echo 'alert("'.$mensaje.'");'; } return; } ?>