<?php
    header("Content-Type:application/json");
    include("../connection.php");
    include("../utils.php");
    require '../../hooks/PHPMailer5/PHPMailerAutoload.php';
    
    // parametros obligatorios
    $parmsob = array("email");
    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"];
    $hash = substr(str_shuffle(str_repeat($x='0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ', ceil(128/strlen($x)) )),1,128);
    
    // actualizamos la base de datos blanqueando la session id y estableciendo el validthru null
    $sql =  "UPDATE users " .
            "SET    hashrecover = '".$hash."' ".
            "WHERE  UPPER(email)='".strtoupper($email)."' ";
    //ejecutamos el sql   
    try {
    if (!$rs =$db->query($sql)){
        badEnd("500", array("sql"=>$sql,"msg"=>$db->error));
    }} catch (Exception $e) {
        echo 'Excepción capturada: ',  $e->getMessage(), "\n";
    }
    
    //revisamos la respuesta del query y verificamos si fue ejecutada correctamente 
    if ($db->affected_rows == 0){
        badEnd("401", array("sql"=>$sql,"msg"=>"No tenemos ningún usuario registrado con ese email"));
    }
    
    // Conseguir el nombre del usuario
    $sql =  "SELECT name " .
            "FROM   users " .
            "WHERE  UPPER(email)='".strtoupper($email)."' ";
    //ejecutamos el sql     
    
    if (!$rs = $db->query($sql)){
        badEnd("500", array("sql"=>$sql,"msg"=>$db->error));
    }
    $username = "--";
    if ($row = $rs->fetch_assoc()){
        $username = $row["name"];
    }

    $from = "developer@totalsoftware.com.ve";
    $subject = "Recuperación de clave  - Olimpíadas Recreativas de Matemáticas";
    $subject = '=?UTF-8?B?'.base64_encode($subject).'?=';
            
    $body = "Hola <b>" . $username . "!</b><br/><br/>Para recuperar su contrase&ntilde;a en el sistema dir&iacute;jase a la direcci&oacute;n indicada a continuaci&oacute;n:<br/><br/>".
            "<a href='".$homeurl."?id=login&sid=passwordChange&hash=".$hash."'>http://totalsoftware.la/~ormv/recover</a><br/><br/>".
            "Gracias de antemano<br/><br/><b>Olimp&iacute;adas Recreativas de Matem&aacute;ticas</b>";

    enviarCorreo($from, $email, $subject, $body);

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