<?php

  if( $Debug == 1 ){
    echo "Add User Tendero";
  }

  $debugin        = $decoded['debug'];
  $nombre         = $decoded['nombre'];
  $apellidop      = $decoded['apellidop'];
  $apellidom      = $decoded['apellidom'];
  $email          = $decoded['email'];
  $cel            = $decoded['cel'];
  $pass           = $decoded['pass'];
  $clave          = $decoded['clave'];
  $fuente         = $decoded['fuente'];
  $token          = $decoded['token'];

  $FechaHoy       = date('Y-m-d H:i:s');

  if( $debugin == 1 ){

    echo "Debug-in\n";
    echo $nombre."\n";
    echo $apellidop."\n";
    echo $apellidom."\n";
    echo $email."\n";
    echo $cel."\n";
    echo $pass."\n";
    echo $clave_evento."\n";

  }

  if( $nombre && $apellidop && $cel ){

    //Valida si el Número de Celular existe en la BD
    $Query = "
      SELECT
        usr.Id
      FROM usuarios_app usr
      WHERE usr.celular = '$cel'
    ";
    $Result = mysqli_query($mysqli, $Query);
	  $ValidarCel = mysqli_fetch_assoc($Result);

    //Valida si el Email existe en la BD
    $Query = "
      SELECT
        usr.Id
      FROM usuarios_app usr
      WHERE usr.email = '$email'
    ";
    $Result = mysqli_query($mysqli, $Query);
	  $ValidarEmail = mysqli_fetch_assoc($Result);

    //Validación Celular
    if( $ValidarCel[Id] ){

      //Error ua-2 ( El número celular ya esta dado de alta. )
      $Query = "
        SELECT
          err.Id, err.error, err.msn
        FROM api_errores err
        WHERE err.error = 'ua-2'
      ";
      $Result = mysqli_query($mysqli, $Query);
  	  $Error = mysqli_fetch_assoc($Result);

      $Data = array(
        'action'      => 'error',
        'error'       => $Error[error],
        'error_msn'   => $Error[msn]
      );
      echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

    }
    //End Validacion Celular

    //Validación Email
    elseif( $ValidarEmail[Id] ){

      //Error ua-3 ( El Email ya esta dado de alta. )
      $Query = "
        SELECT
          err.Id, err.error, err.msn
        FROM api_errores err
        WHERE err.error = 'ua-3'
      ";
      $Result = mysqli_query($mysqli, $Query);
  	  $Error = mysqli_fetch_assoc($Result);

      $Data = array(
        'action'      => 'error',
        'error'       => $Error[error],
        'error_msn'   => $Error[msn]
      );
      echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

    }
    //End Validación Email

    //Validación Correcta
    else{

      //Genera codigo de validación que se envía por SMS
      $codigo = randomCode(6);

      //Genera contrasela
      $pass = randomCode(8);

      //Inserta Usuario
      $Query = "
        INSERT INTO usuarios_app
        (
          fk_usuario_tipo,
          nombre, apellido_paterno, apellido_materno,
          email, celular, pass,
          fecha_alta, codigo, activo
        )
        VALUES (
          '1',
          '$nombre', '$apellidop', '$apellidom',
          '$email', '$cel', '$pass',
          '$FechaHoy', '$codigo', '1'
        )
      ";
      $Result = mysqli_query($mysqli, $Query);
      $Id = mysqli_insert_id($mysqli);
      //End Inserta Usuario

      //Clave de Usuario
      if( $Id ){

        //Insertar Tokens facebook
        if( $fuente == 'facebook' ){

          $Query = "
            UPDATE usuarios_app
            SET
              token_facebook = '$token'
            WHERE Id = '$Id'
          ";
          $Result = mysqli_query($mysqli, $Query);

        }
        //End Insertar Tokens facebook

        //Insertar Tokens google
        if( $fuente == 'google' ){

          $Query = "
            UPDATE usuarios_app
            SET
              token_google = '$token'
            WHERE Id = '$Id'
          ";
          $Result = mysqli_query($mysqli, $Query);

        }
        //End Insertar Tokens google

        $ClaveUsr = $Id.'00'.randomCode(10);

        $Query = "
          UPDATE usuarios_app
          SET
            clave = '$ClaveUsr'
          WHERE Id = '$Id'
        ";
        $Result = mysqli_query($mysqli, $Query);

        //Envia correo electronico con datos de acceso

        //End Envia correo electronico con datos de acceso

      }
      //End Clave de Usuario

      // if( $clave ){
      //   //Inserta Clave de Evento
      //   $Query = "
      //     INSERT INTO usuarios_app_eventos_claves
      //     (
      //       fk_usuario_app,
      //       clave, fecha
      //     )
      //     VALUES (
      //       '$Id',
      //       '$clave', '$FechaHoy'
      //     )
      //   ";
      //   $Result = mysqli_query($mysqli, $Query);
      //   //End Inserta Clave de Evento
      // }

      if( $Id ){ $Done = '1'; }

      if( $Done == '1' ){

        if( $fuente == 'facebook' || $fuente == 'google' ){

          //Respuesta Guardado
          $Data = array(
            'action'        => 'ok',
            'id_user'       => "$Id",
            'clave_user'    => "$ClaveUsr"
          );
          echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

        }else{

          //Envia Correo con Contraseña

          $EmailTitulo      = "Registro SwitchPoint App";
          $EmailTo          = $email;
          $EmailMensaje     = "Registro SwitchPoint App<br><br>Email: ".$email."<br>Contraseña: ".$pass;
          $SendEmailDebug   = "0";

          if( !$UrlPago && !$UrlTracker ){
            $DatosEmail = [
              'enviar'     => 'Ok',
              'titulo'     => $EmailTitulo,
              'mail'       => $EmailTo,
              'mensaje'    => $EmailMensaje,
              'debug'      => $SendEmailDebug
            ];
          }

          $UrlPost = $Url."/email-sender.php";
          if( $Debug == 1 ){
            echo "\n";
            echo $UrlPost;
            echo "\n";
          }

          $curl = curl_init();

          curl_setopt_array($curl, array(
            CURLOPT_URL => $UrlPost,
            CURLOPT_RETURNTRANSFER => true,
            CURLOPT_ENCODING => "",
            CURLOPT_MAXREDIRS => 10,
            CURLOPT_TIMEOUT => 30,
            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
            CURLOPT_CUSTOMREQUEST => "POST",
            CURLOPT_POSTFIELDS => $DatosEmail
          ));

          $response = curl_exec($curl);
          $err = curl_error($curl);
          curl_close($curl);

          if( $Debug == 1 ){
            echo "\n--Email Sended--\n";
            echo $response;
          }

          if( $response == 'Ok' ){
            $EmailSended = 'Ok';

            $Data = array(
              'action'        => 'ok',
              'id_user'       => "$Id",
              'clave_user'    => "$ClaveUsr",
              'email_sended'  => '1'
            );
            echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

          }else{
            $EmailSended = 'Error';

            $Data = array(
              'action'        => 'ok',
              'id_user'       => "$Id",
              'clave_user'    => "$ClaveUsr",
              'email_sended'  => '0'
            );
            echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

          }
          //End Envia Correo con Contraseña

        }

      }else{

        //Error ua-1 ( No se guardo en la BD )
        $Query = "
          SELECT
            err.Id, err.error, err.msn
          FROM api_errores err
          WHERE err.error = 'ua-1'
        ";
        $Result = mysqli_query($mysqli, $Query);
    	  $Error = mysqli_fetch_assoc($Result);

        $Data = array(
          'action'      => 'error',
          'error'       => $Error[error],
          'error_msn'   => $Error[msn]
        );
        echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

      }
    }
    //End Validación Correcta

  }else{

    $Data = array(
      'action' => 'error'
    );
    echo json_encode($Data, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);

  }

?>
