<?php
include '../config.php';
$id = trim($_POST['id']);
$id = strip_tags($id);
//$id = htmlspecialchars($id);

require '../aws-sdk/aws-autoloader.php';
use Aws\Ses\SesClient;
/* Reference to the ses client */
$client = SesClient::factory(array(
  'version' => 'latest',
  'region'  => $aws_region,
  'credentials' => array(
    'key' => $aws_access_key_id,
    'secret'  => $aws_secret_access_key,
  )
));
date_default_timezone_set('America/Mexico_City');

function cvf_ps_generate_random_code($length=10) {
    $string = '';
    $characters = "123456789ABCDEFHJKLMNPRTVWXYZ*";
    for ($p = 0; $p < $length; $p++) {
        $string .= $characters[mt_rand(0, strlen($characters)-1)];
    }
    return $string;
  }

$token = cvf_ps_generate_random_code(8);
$lang = 'es';
$hash =  hash('sha256', $token);

$modelo = "UsuarioSitioPrivado";
$curl = curl_init();

  curl_setopt_array($curl, array(
    CURLOPT_URL => $endpoint_graph_cms,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => '',
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => 'POST',

    CURLOPT_POSTFIELDS =>'{"query":"mutation MyMutation {\\r\\n  update'.$modelo.'(data: {tokenRecuperaPass: \\"'.$token.'\\", localizations: {update: {data: {tokenRecuperaPass: \\"'.$token.'\\"}, locale: es_MX}}}, where: {id: \\"'.$id.'\\"}) {\\r\\n    id\\r\\n email\\r\\n  }\\r\\n  unpublish'.$modelo.'(where: {id: \\"'.$id.'\\"}) {\\r\\n    id\\r\\n email\\r\\n   }\\r\\n publish'.$modelo.'(where: {id: \\"'.$id.'\\"}, locales: es_MX, to: PUBLISHED) {\\r\\n    id\\r\\n email\\r\\n   }\\r\\n}\\r\\n","variables":{}}',
    CURLOPT_HTTPHEADER => array(
      'Content-Type: application/json',
      'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
    ),
  ));
  
  
$response = curl_exec($curl);

curl_close($curl);
//echo $response;

$jsonrespuesta = json_decode($response, true);
$id = $jsonrespuesta['data']['updateUsuarioSitioPrivado']['id'];
$correo = $jsonrespuesta['data']['updateUsuarioSitioPrivado']['email'];

//echo $id;


  
  

  if($lang == 'es'){
    $titulomail = "Recuperar password | INDEVAL";
    $titulo = "Recuperación de contraseña";
    $textomail1 = "Ingrese al siguiente enlace para establecer una nueva contraseña:"; 
    $textomail2 = "El enlace será válido por los siguientes 30 minutos.";
    $textofecha = "Fecha y Hora de envío";
    $sucess = "<script>alert('Correo enviado correctamente')</script>";
    $fail = "<script>alert('Ocurrió un error')</script>";
}

if($lang == 'en'){
    $titulomail = "Reset password | INDEVAL";
    $titulo = "Reset your password";
    $textomail1 = "Visit the following link to reset your password:"; 
    $textomail2 = "The link will be valid for the next 30 minutes.";
    $textofecha= "Date and hour:";
    $sucess = "<script>alert('Email sent.')</script>";
    $fail = "<script>alert('Error, please try again in a few minutes')</script>";
}

if(strlen($id)>10){

    $url = $base_url."?t=".$token."&resetPass=1";


    $EmailEnvio = $correo;

    if(strlen($EmailEnvio)>5){
      $emailList="armando@wearetrafika.com";
      $to = $EmailEnvio; 
      //$email = 'noreply@arjm.xyz';
    
      $email_subject = $titulomail; //Asunto


      //ENVIAR CORREO CON AMAZON SES

      //Now that you have the client ready, you can build the message
      $msg = array();
      $msg['Source'] = "indeval@grupobmv.com.mx";
      //ToAddresses must be an array
      $msg['Destination'] = array(
        'ToAddresses' => array($correo)
      );

      //Next we will form the body of the email:
      $msg['Message'] = array(
          // Subject is required
          'Subject' => array(
            // Data is required
            'Data' => $email_subject,
            'Charset' => 'UTF-8',
        ),
        // Body
        'Body' => array(
          'Text' => array(
          // Data
          'Data' => $email_subject,
          'Charset' => 'UTF-8',
          ),
          'Html' => array(
          // Data is required
          'Data' => '
          <body style="background-color:#2b4365;">
            <table border=0 width="90%" style="border: 2px solid #2b4365; font-family: Century gothic, Helvetica, sans-serif;color:#2b4365;font-size: 15px;background-color: #ebebee;max-width: 700px;padding: 40px 20px;border-radius: 20px;position: relative;margin: 0 auto;top: 1em; text-align:center;">
                  <tr><td align="center">
                  <img src="https://indeval-webdocs-publico-01122020.s3.amazonaws.com/img/indeval_logo.png" alt="Indeval" style="width:200px; margin: 0px auto 20px;"/>
                  </td></tr>

                  <tr><td align="center" height="200">
                  <h3 style="color:#2b4365; foont-weight:bold; text-align:center;">'.$titulo.'</h3>
          
                  <div style="text-align:center; color:#444; margin-top:20px; width:80%;background-color: #eee;
                  border-radius: 30px;
                  padding: 30px;"><b>'.$textomail1.'</b><br>
                  <h4 style="font-size:12px; text-align:center;"><a href="'.$url.'">'.$url.'</a></h4>
                  <br /><br />
                  <p>'.$textomail2.'</p>
                  
                  </td></tr>							 
            </table>
            <p style="color:#fff; width:100%; text-align:center;">'.$textofecha.': '.date("d-m-Y h:i:s").'</p>
          </body>
        ',
          'Charset' => 'UTF-8',
          ),
        )
      );

      //Now you are all set. You call sendEmail to send the email:

      try{
      $result = $client->sendEmail($msg);

      //Msg id from AWS. Can be used for tracking.
      $msg_id = $result->get('MessageId');
      //echo("MessageId: $msg_id");

      //view sample output
      //print_r($result);
      } catch (Exception $e) {
      //Exception Caught.
      //echo($e->getMessage());
      echo "<p class='errormsg'>Ocurrió un error al enviar el correo, intente nuevamente en unos minutos.</p> ";
      }

      if(strlen($msg_id)>5){
        echo $sucess;
      }
      else{
        echo "<p class='errormsg'>Ocurrió un error al enviar el correo, intente nuevamente en unos minutos.</p> ";
      }

      //Print the result to check if it is successful
      //print_r($result);

      //termina mail SES
      
    }
    
}

else{
    echo $fail;
}