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;
?>