<?php
// app/api/login/forgot

    header("Content-Type:application/json");
    include("../dbconn.php");
    include("../utils.php");
    require '../../hooks/PHPMailer5/PHPMailerAutoload.php';
    date_default_timezone_set('Etc/UTC');
    // parametros obligatorios
    $parmsob = array("email","lang");
    if (!parametrosValidos($_GET, $parmsob)){
        badEnd("400", array("msg"=>"Parametros obligatorios " . implode(", ", $parmsob)));
    }
    
    //definimos las variables y las rellenamos con los datos recibidos del GET
    $email = $_GET["email"];
    $out = new stdClass();
    $lang = $_GET['lang'];
    $hash = randomString(128);
    
    // se genera el hash que servirá para la validar la recuperación
    $sql =  "UPDATE users " .
            "SET    sessionid = '".$hash."', ".
            "       lang = '".$lang."' ".
            "WHERE  UPPER(usr)=UPPER('".$email."') AND activatenro IS NULL";
    if (!$db->query($sql)){
        badEnd("500", array("sql"=>$sql,"msg"=>$db->error));
    }
    
    //revisamos la respuesta del query y verificamos si fue ejecutada correctamente 
    if ($db->affected_rows == 0){
        badEnd("401", array("msg"=>determinateMsgFail(array(
            "esp"=>"No tenemos ningún usuario registrado con ese email",
            "eng"=>"We do not have any registered user with that email"), $lang, "No tenemos ningún usuario registrado con ese email")));
    }
    
    $subject = determinateMsgFail(array(
            "esp"=>"Recuperación de clave AFX",
            "eng"=>"AFX Password Recovery"), $lang, "Recuperación de clave AFX");
    $subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
    $body = "<html>".
            "   <head>".
            "       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>".
            "       <title></title>".
            "       <link href='https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap' rel='stylesheet'>".
            "       <link href='https://fonts.googleapis.com/css2?family=Roboto&display=swap' rel='stylesheet'>".
            "       <style>".
            "           .code {".
            "               font-family: Helvetica, sans-serif".
            "           }".
            "           .copy {".
            "               font-family: 'Roboto', sans-serif;".
            "               font-weight: 400;".
            "               font-size: 12px;".
            "           }".
            "       </style>".
            "   </head>".
            "   <body>".
            "       <div style='background-color: #F8F8FA;padding: 20px;'>".
            "           <img style='margin: auto; display: block;margin-bottom:10px;' width='110' height='110' src='".$homeurl."/img/afx-logo-email.png'/>".
            "           <div style='margin: auto; display: block;background-color: #FFF;border-radius: 22px;width: 60%;padding:30px;'>".
            "               <img style='margin: auto; display: block;margin-bottom:20px;' width='160' height='130' src='".$homeurl."/img/img_password.png'/>".
            "               <h1 class='goodText' style='color:#474C58;text-align:center;font-size: 20px;font-weight: bold;'>".determinateMsgFail(array("esp"=>"Hola","eng"=>"Hello"), $lang, "Hola")." ".strtolower($email)."</h1>".
            "               <p class='goodText' style='font-size: 18px;color: #474C58;text-align:center;margin-bottom:30px;margin-left:20px;margin-right:20px;'>".determinateMsgFail(array("esp"=>"Para recuperar su clave dir&iacute;jase a la direcci&oacute;n indicada a continuaci&oacute;n:","eng"=>"To recover your password, go to the address indicated below:"), $lang, "Para recuperar su clave dir&iacute;jase a la direcci&oacute;n indicada a continuaci&oacute;n:")."</p>".
            "               <a style='margin: auto; display: block;background-color: #4287CE;border-radius: 8px;width: 200px; height: 57px;text-align:center;text-decoration: none;' href=".$homeurl . "?id=recover&sid=recover&hash=".$hash."&email=".strtolower($email)."&lang=".$lang.">".
            "                   <p style='margin: auto; display: block;color: #FFF;font-size: 16px;text-align:center;line-height: 58px;font-weight:bold;'>".determinateMsgFail(array("esp"=>"Recuperar clave","eng"=>"Recover password"), $lang, "Recuperar clave")."</p>".
            "               </a>".
            "           </div>".
            "           <p class='copy' style='margin-top:40px; color: #767E93;text-align:center;'>&copy; 2020 - AFX Trade</p>".
            "       </div>".
            "   </body>".
            "</html>";
            
    /*$body = "Hola ".strtolower($email).", para recuperar su clave dir&iacute;jase a la dirección indicada a continuaci&oacute;n:<br><br>".
            "<a href=".$homeurl . "?id=recover&sid=recover&hash=".$hash."&email=".strtolower($email).">totalsoftware.la/~afx/recover</a>".
            "<br><br>". 
            "Gracias de antemano<br>AFX<br>";*/
            
    enviarCorreo2($fromeMail, strtolower($email), $subject, $body);

    //mostramos los datos recibidos
    $out->email = strtolower($email);
    //lanzamos un codigo que todo salio bien
    header("HTTP/1.1 200");
    echo (json_encode($out));
    die();
?>
