<?php
$mailskip = $skip;
$correo ="";
$bienvenidaUsuario = "";

echo $mailskip;

$curl2 = curl_init();

              curl_setopt_array($curl2, 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  usuariosSitioPrivado( stage: PUBLISHED, first: 1, where: {email_not: \\"'.$mailskip.'\\", emailVerificado: null}) {\\r\\n    enviadoRevision\\r\\n  rol\\r\\n    nombre\\r\\n   email\\r\\n   password\\r\\n  bienvenidaUsuario\\r\\n   estatus\\r\\n      localizations {\\r\\n      enviadoRevision\\r\\n  rol\\r\\n      nombre\\r\\n   email\\r\\n   password\\r\\n  bienvenidaUsuario\\r\\n    estatus\\r\\n  id\\r\\n   }\\r\\n     id\\r\\n  }\\r\\n}\\r\\n","variables":{}}',
                CURLOPT_HTTPHEADER => array(
                  'Content-Type: application/json',
                  'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
                ),
              ));
              
              

              $response2 = curl_exec($curl2);
              print_r($response2);

              curl_close($curl2);

              

                $arrayform2 = json_decode($response2, true);
                

                foreach ($arrayform2['data']['usuariosSitioPrivado'] as $item) {

                    $iduser = $item['id'];
                    $correo = $item['email'];
                    $bienvenidaUsuario = $item['bienvenidaUsuario'];
                    $rol = $item['rol'];
                    $password = $item['password'];

                    foreach ($item['localizations'] as $subitem) {

                        
                        //echo $subitem['email'];
                        $iduser = $subitem['id'];
                        $correo = $subitem['email'];
                        $bienvenidaUsuario = $subitem['bienvenidaUsuario'];
                        $rol = $subitem['rol'];
                        $password = $subitem['password'];
                        

                }
          
            
            }

            if(strlen($correo)>4){

                $result = $client->getIdentityVerificationAttributes([
                    'Identities' => [$correo], // REQUIRED
                ]);
                
                print_r($result);
                
                if (preg_match("/Success/is", var_export($result, true))) {
                    // match
                    echo "LOL SÍ";

                    function cvf_ps_generate_random_code($length=10) {
                        $string = '';
                        $characters = "abcdefghijklmnopqrstuvwxyz123456789ABCDEFHJKLMNPRTVWXYZ*#.-_=?%$&";
                        for ($p = 0; $p < $length; $p++) {
                            $string .= $characters[mt_rand(0, strlen($characters)-1)];
                        }
                        return $string;
                      }
                    
                    $token = cvf_ps_generate_random_code(10);
                    $hash =  hash('sha256', $token);

                    if(strlen($iduser)>2){

                        $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  updateUsuarioSitioPrivado(data: {emailVerificado: \\"1\\", password: \\"'.$hash.'\\", resetPass: \\"1\\"}, where: {id: \\"'.$iduser.'\\"}) {\\r\\n    id\\r\\n    nombre\\r\\n    email\\r\\n  }\\r\\n}\\r\\n","variables":{}}',
                        ));
 
                        $response = curl_exec($curl);

                        curl_close($curl);
                        echo $response;

                        $jsonrespuesta = json_decode($response, true);
                        $id = $jsonrespuesta['data']['updateUsuarioSitioPrivado']['id'];
                        $nombre = $jsonrespuesta['data']['updateUsuarioSitioPrivado']['nombre'];
                        $email = $jsonrespuesta['data']['updateUsuarioSitioPrivado']['email'];
                        $domainemail = array_pop(explode('@', $email));



                        $curlpub = curl_init();

                        curl_setopt_array($curlpub, 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  publishUsuarioSitioPrivado(\\r\\n    where: {id: \\"'.$id.'\\"}\\r\\n    to: PUBLISHED\\r\\n    locales: es_MX\\r\\n  ) {\\r\\n    id\\r\\n  }\\r\\n}\\r\\n","variables":{}}',
                            CURLOPT_HTTPHEADER => array(
                            'Content-Type: application/json',
                            'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
                            ),
                        ));
                
                        $responsepub = curl_exec($curlpub);
                        curl_close($curlpub);

                        //////////////COMIENZA ENVÍO DE MAIL


                        if($bienvenidaUsuario != "enviada"){

                            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 = "Correo Bienvenida Enviado correctamente. ".$email;
                                    $fail = "OCurrió un error al enviar el correo de bienvenida. ".$email;
                                    $despedida = '<p>¡Muchas gracias!</p><p>Indeval.</p>';
                                }
                          
                          
                          
                                if($rol == 'usuario'){
                          
                                $domain_superior = $domainemail;
                                  
                                $curl2 = curl_init();
                          
                                curl_setopt_array($curl2, 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  usuariosSitioPrivado( stage: PUBLISHED, where: {email_contains: \\"'.$domain_superior.'\\"}) {email\\r\\n   localizations {\\r\\n email\\r\\n  }\\r\\n     id\\r\\n  }\\r\\n}\\r\\n","variables":{}}',
                                  CURLOPT_HTTPHEADER => array(
                                    'Content-Type: application/json',
                                    'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
                                  ),
                                ));
                                
                                
                          
                                $response2 = curl_exec($curl2);
                                //echo $response2;
                                //print_r($response);
                          
                                curl_close($curl2);
                    
                                $superiores_array = array();
                          
                                $arrayform2 = json_decode($response2, true);
                          
                                  foreach ($arrayform2['data']['usuariosSitioPrivado'] as $item) {
                          
                                      foreach ($item['localizations'] as $subitem) {
                                        array_push($superiores_array, $subitem['email']);
                          
                                  }
                            
                              
                              }
                    
                              $superiores = implode(", ", $superiores_array);
                          
                              
                          
                          
                                  $textomail1 = "Estás ahora registrado como <b>Usuario</b> en el sitio de Indeval.<br>A continuación encuentras las credenciales para acceder al sitio privado. Por cuestiones de seguridad, la plataforma te solicitará captures una nueva contraseña:"; 
                                    $textomail2 = 'Si tienes alguna duda, por favor comunícate con el <a href="mailto:'.$superiores.'">administrador de tu empresa</a>.';
                          
                                }
                                if($rol == 'admin'){
                          
                                  $textomail1 = "Estás ahora registrado como Usuario Administrador de tu empresa. Los usuarios Administradores son responsables del alta, baja o modificación de los usuarios de la Institución. Una vez que ingreses de forma exitosa al sitio, agradecemos que te tomes unos minutos para leer y aceptar los 'Términos y Condiciones' que se encuentran en el sitio.<br>A continuación encuentras las credenciales para acceder al sitio privado. Por cuestiones de seguridad, la plataforma te solicitará captures una nueva contraseña:"; 
                                    $textomail2 = 'Si tienes alguna duda, por favor comunícate a <a href="mailto:comercialyproducto@grupobmv.com.mx">comercialyproducto@grupobmv.com.mx</a> y con gusto te atenderemos.';
                                }
                              
                          
                                  $EmailEnvio = $email;
                          
                                  if(strlen($EmailEnvio)>5){
                                    
                                    $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.</p> ";
                                    }
                              
                                    if(strlen($msg_id)>5){
                                        $bienvenidaUsuario = "enviada";
                                        echo $sucess;
                    
                                      $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  updateUsuarioSitioPrivado(data: {bienvenidaUsuario: \\"'.$bienvenidaUsuario.'\\",    localizations: {update: {data: {bienvenidaUsuario: \\"'.$bienvenidaUsuario.'\\"}, locale: es_MX}}}, where: {id: \\"'.$id.'\\"}) {\\r\\n    id\\r\\n  }\\r\\n \\r\\n}\\r\\n","variables":{}}',
                                        CURLOPT_HTTPHEADER => array(
                                          'Content-Type: application/json',
                                          'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
                                        ),
                                      ));
                    
                                      $response = curl_exec($curl);
                    
                                    curl_close($curl);


                                    $curlpub = curl_init();

                                    curl_setopt_array($curlpub, 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  publishUsuarioSitioPrivado(\\r\\n    where: {id: \\"'.$id.'\\"}\\r\\n    to: PUBLISHED\\r\\n    locales: es_MX\\r\\n  ) {\\r\\n    id\\r\\n  }\\r\\n}\\r\\n","variables":{}}',
                                        CURLOPT_HTTPHEADER => array(
                                        'Content-Type: application/json',
                                        'Cookie: __cfduid=da2693cdfd39b7377a8a05e305da45b8f1613001694'
                                        ),
                                    ));
                            
                                    $responsepub = curl_exec($curlpub);
                                    curl_close($curlpub);
                                    }
                                    else{
                                      echo "<p class='errormsg'>Ocurrió un error al enviar el correo.</p> ";
                                    }
                              
                                    //Print the result to check if it is successful
                                    //print_r($result);
                              
                                    //termina mail SES
                    
                                   
                                    
                                  }
                                  echo '
                                      <script>
                                          //$("#formnew").trigger("reset");
                                          //$("#formnew").trigger("reset");
                                          //$("#respuestanew").append("<h5>Correo enviado correctamente.</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 enviar el correo de verificación.</p>");
                          
                                      setTimeout(() => {
                                          //$(".popUpNew").fadeOut();        
                                      }, 3000);
                                  </script>';
                              }
                    
                    
                              
                        }




                        ///////////////TERMINA ENVÍO DE MAIL

                    }


                    
                }//TERMINA IF STATUS VERIFICACION


                else{
                    echo "LOL NO";
                    $skip = $correo;
                    include('checkStatusVerifyNEXT2.php');
                }

            }



