<?php
    session_start();
    include("includes/conex.php");
    
    $usuario = htmlspecialchars(mysqli_real_escape_string($con,$_POST['email']));
    $pass = htmlspecialchars(mysqli_real_escape_string($con,$_POST['clave']));
    $idioma = htmlspecialchars(mysqli_real_escape_string($con,$_POST['idioma']));

    $zero = 0;
    $awa = gethostname().'(WEB)';
    function get_id_unico(){
        return date( "YmdHis" ) . sprintf( "%04d", rand( 0, 9999 ) );
    }
    $codigo = get_id_unico();
    $PASS_STRING = 'PASS_MAXINT';
    $sqlPASS = "SELECT VALOR FROM PARAMETROS WHERE CODIGO = ?";
    $stmtPASS = $con->prepare($sqlPASS);
    $stmtPASS->bind_param('s',$PASS_STRING);
    $stmtPASS->execute();
    $resPASS = $stmtPASS->get_result();
    $filaPASS = $resPASS->fetch_array();
    $PASS_MAXINT = $filaPASS['VALOR']; 
    $sql = 'SELECT USUARIOS.*,USUARIOS_GRUPOS.* 
            FROM USUARIOS,USUARIOS_GRUPOS
            WHERE usuario = ?
            AND USUARIOS.GRUPO = USUARIOS_GRUPOS.CODIGO';
    $stmt = $con->prepare($sql);
    $stmt->bind_param('s',$usuario);
    $stmt->execute();
    $res = $stmt->get_result();
    if($res->num_rows)
    {
        $fila = $res->fetch_array();
        $sql2 = "SELECT ACTIVO FROM USUARIOS WHERE USUARIO = '$usuario'";
        $res2 = $con->query($sql2);
        $fila2 = $res2->fetch_array();
        if($fila2['ACTIVO'] == 0)
        {
            $_SESSION['intentos'] = 0;
            header("Location:index.php");
        }
        else
        {
            if(sha1($pass) === $fila['CLAVE'])
            {
                $a = 0;
                $sql = "INSERT INTO USUARIOS_ACCESOS
                        (CODIGO,USUARIO,ORDENADOR,FECHA,FALLIDO,AWA)
                        VALUES (?,?,?,NOW(),?,?)";
                $stmt = $con->prepare($sql);
                $stmt->bind_param('sssii',$codigo,$usuario,$awa,$zero,$a);
                $stmt->execute();
                $stmt->get_result();
                $sql = "UPDATE USUARIOS SET FALLIDOS = ? WHERE USUARIO = ?";
                $stmt = $con->prepare($sql);
                $stmt->bind_param('is',$zero,$usuario);
                $stmt->execute();
                $stmt->get_result();
                $sql = 'UPDATE USUARIOS SET AWA_SESION_ID = ?,SESIONAWA_FECHA = NOW() WHERE USUARIO = ?';
                $stmt = $con->prepare($sql);
                $stmt->bind_param('ss',$codigo,$usuario);
                $stmt->execute();
                $stmt->get_result();
                $sqlLogin = "SELECT * FROM USUARIOS WHERE USUARIO = '$usuario'";
                $resLogin = $con->query($sqlLogin);
                $filaLogin = $resLogin->fetch_array();
                $_SESSION['USUARIO'] = $filaLogin['USUARIO'];
                $_SESSION['GRUPO'] = $filaLogin['GRUPO'];
                $_SESSION['CONTACTO'] = $filaLogin['CONTACTO'];
                $_SESSION['AWA_SESION_ID'] = $filaLogin['AWA_SESION_ID'];
                if($idioma != "")
                {
                    setcookie('idioma',$idioma,time() + (10 * 365 * 24 * 60 * 60),'/','','',true);
                }
                else
                {
                    $idioma = 'SP';
                    setcookie('idioma',$idioma,time() + (10 * 365 * 24 * 60 * 60),'/','','',true);                
                }
                if(!empty($_POST['recordar']))
                {
                    setcookie('usuario',$usuario,strtotime('+5 days'),'/','','',true);
                    header('Location:dashboard.php');
                }
                else
                {
                    header('Location:dashboard.php');
                }
            }
            else
            {
                $fallido = $fila['FALLIDOS'];
                if($fallido == $PASS_MAXINT)
                {
                    $sql = 'UPDATE USUARIOS SET ACTIVO = ? WHERE USUARIO = ?';
                    $stmt = $con->prepare($sql);
                    $stmt->bind_param('is',$zero,$usuario);
                    $stmt->execute();
                    $stmt->get_result();
                    $_SESSION['intentos'] = 0;
                    header("Location:index.php");
                }
                else
                {
                    $a = 1;
                    $masFallido = $fallido + 1;
                    $sql = 'UPDATE USUARIOS SET FALLIDOS = ? WHERE USUARIO = ?';
                    $stmt = $con->prepare($sql);
                    $stmt->bind_param('is',$masFallido,$usuario);
                    $stmt->execute();
                    $stmt->get_result();
                    $sql = 'INSERT INTO USUARIOS_ACCESOS
                            (CODIGO,USUARIO,ORDENADOR,FECHA,FALLIDO,AWA)
                            VALUES(?,?,?,NOW(),?,?)';
                    $stmt = $con->prepare($sql);
                    $stmt->bind_param('sssii',$codigo,$usuario,$awa,$zero,$a);
                    $stmt->execute();
                    $stmt->get_result();
                    if($fila['FALLIDOS'] == 0)
                    {
                        $_SESSION['intentos'] = 1;
                    }
                    else
                    {
                        $_SESSION['intentos'] = $fila['FALLIDOS'] + 1;

                    }
                    header("Location:index.php");
                }
                
            }
        }
    }
    else
    {
        header('Location:index.php');
    }
?>