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) { $sql = "SELECT * FROM centros WHERE idcentro = ?"; $statement = $cmd->Conexion->controlador->prepare ($sql) or die ("Failed to prepared the statement!"); $statement->bind_param('i', $idc); $statement->execute(); $result = $statement->get_result()->fetch_assoc();; if (empty($result)){ return(false); } else { $ident=$result["identidad"]; } $statement->close; } //________________________________________________________________________________________________________ $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; if(!empty($idcentro)){ $sql = "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 usuarios.idtipousuario <> 3 AND usuarios.usuario = ? AND usuarios.pasguor=SHA2( ?, 224) AND administradores_centros.idcentro = ?;"; $statement = $cmd->Conexion->controlador->prepare ($sql) or die ("Failed to prepared the statement!"); $statement->bind_param('ssi', $usuario,$pasguor,$idcentro); } else{ $sql = "SELECT usuarios.idtipousuario, idiomas.nemonico AS idioma FROM usuarios INNER JOIN idiomas ON usuarios.ididioma=idiomas.ididioma WHERE idtipousuario <> 3 AND usuarios.usuario = ? AND usuarios.pasguor=SHA2( ? , 224)"; $statement = $cmd->Conexion->controlador->prepare ($sql) or die ("Failed to prepared the statement!"); $statement->bind_param('ss', $usuario,$pasguor); } $statement->execute(); $result = $statement->get_result()->fetch_assoc();; if (empty($result)){ // No existe el usuario return(false); } else { $idtipousuario=$result["idtipousuario"]; $adminetboot=$idtipousuario; $idioma=$result["idioma"]; if(!empty($idcentro)){ $nombrecentro=$result["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 = ''; $sql = "SELECT idrepositorio FROM repositorios ". " WHERE idcentro=? LIMIT 1;"; $statement = $cmd->Conexion->controlador->prepare ($sql) or die ("Failed to prepared the statement!"); $statement->bind_param('i',$idcentro); $statement->execute(); $result = $statement->get_result()->fetch_assoc(); $idrepositorio = $result["idrepositorio"]; if ($idrepositorio == '') { echo 'alert("'.$mensaje.'");'; } return; } ?> <?php echo $TbMsg["ACCESS_TITLE"] ?>