<?php
    include("../connection.php");
    //include($_SERVER['DOCUMENT_ROOT']."/mlretenciones/Aws/amazon-ses.php");
    //include("../../../Aws/amazon-ses.php");

    $errMsg = "";
    if (!isset($_REQUEST["email"]) || empty($_REQUEST["email"]) ) { $errMsg .= "No se recibio el Parametro email. "; } 
    if (!filter_var($_REQUEST["email"], FILTER_VALIDATE_EMAIL)) { $errMsg .= "Parámetro inválido"; } 
    
    $salida = new stdClass();
    
    if (!empty($errMsg) ){
        http_response_code(400);
        $salida->send = false;
        $salida->msg = $errMsg;
        echo (json_encode($salida));
        return;
    }


    $email = strtoupper(preg_replace("/[^a-zA-Z0-9@_.-]/", "", $db->real_escape_string($_REQUEST["email"])));

    mysqli_query($db, "SET lc_time_names = 'es_ES'");

    $sql =  "SELECT id, name, pwd, failscount, blocked " . 
            "FROM   customers " .
            "WHERE  UPPER(email) = ? " ;

    //Preparamos el statement
    $stmt =  $db->prepare($sql);
    //Remplazamos los parametros en la consulta almacenada
    $stmt->bind_param("s", $email);
            
    //Validamos la ejecución
    if (!($stmt->execute())){
        http_response_code(500);
        $salida->rsp   = false;
        //$salida->errno = 1;
        $salida->msg = "Usuario inválido";//mysqli_error($db);
        echo (json_encode($salida));
        return;
    }

    //Obtenemos los resultados y recorremos
    $result = $stmt->get_result();
    if (!($rs = mysqli_fetch_array($result))){
    	switch (mysqli_errno($db)){
    	case 0:
            http_response_code(401);
            $salida->rsp   = false;
            //$salida->errno = 2;
            $salida->msg = "Usuario inválido";
            echo (json_encode($salida));
            return;
            break;

        default:
	    http_response_code(500);
	    $salida->rsp   = false;
            //$salida->errno = 3;
            //$salida->msg = mysqli_error($db);
            $salida->msg = "Usuario inválido";
            echo (json_encode($salida));
            return;
            break;
    	}
    }
    
    $id                 = $rs["id"];
    $usr_name           = $rs["name"];
    $srvdate            = $rs["srvdate"];
    
    $failscount         = $rs["failscount"];
    $blocked            = $rs["blocked"];

    /*
    $loginvencido       = $rs["loginvencido"];
    if (!empty($loginvencido)){
        http_response_code(401);
        $salida->rsp   = true;
        $salida->errno = 4;
        $salida->send = true;
        $salida->msg = "Sesión vencida, debe registrarse";
        echo (json_encode($salida));
        return;
    }*/

    /* Se blanque cualquier otra session con el mismo numero */
    $sql =  "UPDATE customers SET " .
            "                 validthru  = NULL, " .
            "                 failscount = 0,  " .
            "                 blocked    = 0 " .
            "WHERE  UPPER(email) = ? ";
            
    //Preparamos el statement
    $stmt =  $db->prepare($sql);
    //Remplazamos los parametros en la consulta almacenada
    $stmt->bind_param("s", $email);
            
    //Validamos la ejecución
    if (!($stmt->execute())){
        http_response_code(500);
        $salida->rsp   = false;
        //$salida->errno = 5;
        //$salida->msg = mysqli_error($db);
        $salida->msg = "Usuario inválido";
        //$salida->sql = $sql;
        echo (json_encode($salida));
        return;
    }  
    
    $to      =  [$email];
    $subject =  "MercadoLibre - Recuperación de clave";
    $headers  = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
    $headers .= 'From: <webmaster@example.com>' . "\r\n";

     $msg   = "«html»";
     $msg  .= "      «head» ";
     $msg  .= "          «title»MercadoLibre - Recuperación de clave«/title»";
     $msg  .= "      «/head»";
     $msg  .= "      «body»";
     $msg  .= "          «p»¡Hola!«/p»";
     $msg  .= "          «p»";
     $msg  .= "          En respuesta a tu solicitud de «b»Recuperación de clave«/b»,";
     $msg  .= "          Se reiniciará su cuenta y debe registrarse nuevamente, use la opción CREAR CUENTA ";
     $msg  .= "          su información y transacciones se mantienen aún almacenadas. «/p»";
     $msg  .= "          «/p»";
     $msg  .= "          «p»";
     $msg  .= "          Saludos,";
     $msg  .= "          «/p»";
     $msg  .= "          «p»";
     $msg  .= "          Mercado Libre";
     $msg  .= "          «/p»";
     $msg  .= "          «h6»Nota: Este es un correo no supervisado, favor no responder. «/h6»";
     $msg  .= "      «/body»";
     $msg  .= "«/html» ";
     $msg = str_replace("«","<",$msg);
     $msg = str_replace("»",">",$msg);

     //mail($to,$subject,$msg,$headers);
     enviarEmail($to,$subject,$msg);

/*    
    $sql =  "UPDATE customers SET   status     = 1, " .
                        "           failscount = 0, " .
                        "           validthru = DATE_ADD(NOW(), INTERVAL 1 YEAR), " .
                        "           blocked    = 0 " .
            "WHERE  id=" . $id;
            
    if (!(mysqli_query($db, $sql))){
        header("HTTP/1.1 500");
        $salida->rsp   = false;
        $salida->errno = 6;
        $salida->msg = mysqli_error($db);
        echo (json_encode($salida));
        return;
    }
*/    
    header("Content-Type:application/json");
    http_response_code(200);
    //Evitar dar indicios
    $salida->rsp   = false;
    $salida->msg = "Usuario inválido";
    //$salida->errno = 0;
    //$salida->sql = $sql;
    echo (json_encode($salida));
?>



