getError(); if ($error) { return false; } $result = $client->call("valida_user_addo", array($user, $pass)); if ($client->fault) { return false; } else { $error = $client->getError(); if ($error) { return false; } else { if($result) return 1; else return 0; } } } if(!isset($_POST["username"]) || !isset($_POST["passwd"])){ header("Location: ../index.php?error=0"); //echo "No hay POST"; exit; } $usr = trim(filter_input(INPUT_POST, "username"));//limpia texto $usr_db = limpiaClave($usr); $pass = $_POST["passwd"]; //trim(filter_input(INPUT_POST, "passwd"));//limpia texto //Revisar si está en los externos $stmt = $pdo->prepare('Select * from fs_navidadusuarioexterno_valida(:usr)'); $stmt->bindParam(":usr", $usr);//sin ad, do if(!$stmt->execute()){ echo "Externo fs_navidadusuarioexterno_valida
"; print_r($stmt->errorInfo()); //header("Location: ../index.php?error=2"); exit(); } $externo_rs = $stmt->fetch(); $stmt->closeCursor(); // cierra conexion de resultado $usr_id = NULL; $usr_ext_id = NULL; if($externo_rs["NavidadUsuarioExterno_existe"] && password_verify($pass, $externo_rs["NavidadUsuarioExterno_pass"])){//Está en externos if(!$externo_rs["NavidadUsuarioExterno_activo"]){ echo "Externo inactivo
"; //header("Location: ../index.php?error=2"); exit(); } $usr_ext_id = $externo_rs["NavidadUsuarioExterno_id"]; unset($externo_rs); }else{//no existe en externos, buscar en SGU $stmt = $pdo->prepare('Select * from fs_validaclaveulsa(:usr) AS "Usuario_id"'); $stmt->bindParam(":usr", $usr_db); if(!$stmt->execute()){ echo "Interno fs_validaclaveulsa
"; print_r($stmt->errorInfo()); //header("Location: ../index.php?error=2"); exit(); } $usr_rs = $stmt->fetch();//Devuelve sólo 1 resultado $stmt->closeCursor(); // cierra conexion de resultado $stmt = null; // cierra conexion if($usr_rs["Usuario_id"] != ""){//Si existe el usuario $valido = validaUsuario($usr, $pass);//false = error, 0 = sin permiso, 1 = con permiso if($valido === false){ header("Location: ../index.php?error=1&sgu=false"); exit(); }else if($valido != 1){ header("Location: ../index.php?error=1"); exit(); } $usr_id = $usr_rs["Usuario_id"]; }else{//no existe interno echo "Interno no existe
"; //header("Location: ../index.php?error=2"); exit(); } unset($usr_rs); } //obtiene navidad $stmt = $pdo->prepare('Select * from fs_navidad()'); if(!$stmt->execute()){ header("Location: ../index.php?error=5"); exit(); } $navidad_rs = $stmt->fetch(); $stmt->closeCursor(); if(count($navidad_rs) == 0 || !isset($navidad_rs["Navidad_id"]) || is_null($navidad_rs["Navidad_id"])){ header("Location: ../index.php?error=5"); exit(); } //Si es externo $usr_ext_id tiene un valor, si es interno $usr_id tiene valor if($usr_ext_id != NULL){ $stmt = $pdo->prepare('Select * from fi_navidadusuario(:nav, :id, true)'); $stmt->bindParam(":id", $usr_ext_id); //echo "Select * from fi_navidadusuario( ".$navidad_rs["Navidad_id"].", ".$usr_ext_id.", true)"; }else{ $stmt = $pdo->prepare('Select * from fi_navidadusuario(:nav, :id, false)'); $stmt->bindParam(":id", $usr_id); //echo "Select * from fi_navidadusuario( ".$navidad_rs["Navidad_id"].", ".$usr_id.", false)"; } $stmt->bindParam(":nav", $navidad_rs["Navidad_id"]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); header("Location: ../index.php?error=4"); exit(); } $stmt->closeCursor(); //Obtiene datos if($usr_ext_id != NULL){ $stmt = $pdo->prepare('Select * from fs_navidadusuario_login(:nav, :id, true)'); $stmt->bindParam(":id", $usr_ext_id); //echo "Select * from fi_navidadusuario( ".$navidad_rs["Navidad_id"].", ".$usr_ext_id.", true)"; }else{ $stmt = $pdo->prepare('Select * from fs_navidadusuario_login(:nav, :id, false)'); $stmt->bindParam(":id", $usr_id); //echo "Select * from fi_navidadusuario( ".$navidad_rs["Navidad_id"].", ".$usr_id.", false)"; } $stmt->bindParam(":nav", $navidad_rs["Navidad_id"]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); header("Location: ../index.php?error=4"); exit(); } $rs = $stmt->fetch(); $stmt->closeCursor(); $_SESSION["n_timeout"] = time(); $_SESSION["n_usuario_id"] = $rs["NavidadUsuario_id"]; $_SESSION["n_usuario_nombre"] = $rs["Usuario_nombre"]; $_SESSION["n_usuario_apellidos"] = $rs["Usuario_apellidos"]; $_SESSION["n_sgi_administrador"] = $rs["SGI_administrador"]; $_SESSION["n_navidad"] = $navidad_rs["Navidad_id"]; $_SESSION["n_navidad_activa"] = $navidad_rs["Navidad_activa"]; header("Location: ../main.php");//todo OK manda a sistema exit(); $pdo = null; ?>