<?php
session_start();
include '../config.php';
// prevent XSS
$_GET   = filter_input_array(INPUT_GET, FILTER_SANITIZE_STRING);
$_POST  = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING);

$enviado = $_GET['enviado'];

if(isset($_COOKIE['persistID']))
{
    $superior = urldecode($_COOKIE['persistID']);
}

//echo $superior;

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);
$hash =  hash('sha256', $token);

$superior = 

///////////ESPAÑOL

    $time = time();
    
    $nombre = trim($_GET['nombre_es']);
    $nombre = urldecode($nombre);
    $nombre = strip_tags($nombre);
    $nombre = htmlspecialchars($nombre);


    $email = trim($_POST['email_es']);
    $email = strip_tags($email);
    $email = htmlspecialchars($email);

    $email = strtolower($email);

    $rol = trim($_POST['rol_es']);
    $rol = strip_tags($rol);
    $rol = htmlspecialchars($rol);

 
    // make sure we've got a valid email
    if( filter_var( $email, FILTER_VALIDATE_EMAIL ) ) {
        // split on @ and return last value of array (the domain)
        $domainemail = array_pop(explode('@', $email));
        //$domainemailsuperior = array_pop(explode('@', $superior));
    
        // output domain
        //echo $domainemail;
    }


  $curluser = curl_init();
  curl_setopt_array($curluser, 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":"query MyQuery {\\r\\n  usuariosAdmin(where: {email: \\"'.$email.'\\"}, last: 1, stage: PUBLISHED) {\\r\\n    id\\r\\n  resetPass\\r\\n fechaCambioPassword\\r\\n nombre\\r\\n  empresa\\r\\n  permisos\\r\\n  rol\\r\\n  tycAceptados\\r\\n  }\\r\\n}\\r\\n","variables":{}}',
  CURLOPT_HTTPHEADER => array(
  'Content-Type: application/json',
  'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
  ),
  ));

  $responseuser = curl_exec($curluser);
  curl_close($curluser);

  $jsonrespuestauser = json_decode($responseuser, true);
  $idgraph = $jsonrespuestauser['data']['usuariosAdmin'][0]['id'];
  $iduser = $jsonrespuestauser['data']['usuariosAdmin'][0]['id'];

  if(strlen($iduser)>5){

      echo "El correo <b>" . $email."</b> ya está registrado en el sistema.";
      exit();
  }
    
    ///////////INGLÉS

    $time_en = time();

    ///////////////////////PETICIÓN GRAPH CMS
    $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  createUsuarioAdmin(data: {rol: \\"'.$rol.'\\", email: \\"'.$email.'\\", enviadoRevision: \\"'.$enviado.'\\", password: \\"'.$hash.'\\", resetPass: \\"1\\", estatus: \\"borrador\\", localizations: {create: {data: {rol: \\"'.$rol.'\\", email: \\"'.$email.'\\", enviadoRevision: \\"'.$enviado.'\\", password: \\"'.$hash.'\\", resetPass: \\"1\\", estatus: \\"borrador\\", nombre: \\"'.$nombre.'\\"}, locale: es_MX}}, nombre: \\"'.$nombre.'\\"}) {\\r\\n    id\\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']['createUsuarioAdmin']['id'];
    //echo $id;

    if(strlen($id)>10){
      /*
      $lang = 'es';
      if($lang == 'es'){
          $titulomail = "Acceso a clientes | INDEVAL";
          $titulo = "Estimado(a) ".$nombre."<br>¡Bienvenido(a) a la sección privada de Indeval! ";
          
          $textofecha = "Fecha y Hora de envío: ";
          $sucess = "Usuario añadido correctamente";
          $fail = "OCurrió un error al añadir el usuario. Verifica la información o intenta nuevamente en unos minutos";
          $despedida = '<p>¡Muchas gracias!</p><p>Indeval.</p>';
      }

      


    
    

        $EmailEnvio = $email;

        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($EmailEnvio)
          );
    
          //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>

                      <p><b>Usuario</b>: '.$email.'</p>

                      <p><b>Contraseña</b>: '.$token.'</p>

      
                      <br /><br />
                      <p>'.$textomail2.'</p> 
 
                      '.$despedida.'
                      
                      </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){
            
          }
          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
          
        }
        

      */

      echo $sucess;
      echo '
      <script>
          $("#formnew").trigger("reset");
          $("#formnew").trigger("reset");
          $("#respuestanew").append("<h5>Usuario añadido correctamente. Publique el borrador para aprobarlo completamente y enviar el correo de verificación/bienvenida.</h5>");
          setTimeout(() => {
              $(".popUpNew").fadeOut();        
          }, 3000);
      </script>';
    }

    else{
        $errorclass ="class='errormensaje'"; 
        echo '
        <script>
            $("#formnew").trigger("reset");
            $("#formnew").trigger("reset");
            $("#respuestanew").append("<p '.$errorclass.'>Ocurrió un error al añadir el usuario. Verifica la información o intenta nuevamente en unos minutos.</p>");

            setTimeout(() => {
                //$(".popUpNew").fadeOut();        
            }, 3000);
        </script>';
    }



