<?php
session_start();
// Inclui o arquivo de conexão (assumindo que ele está em uma pasta antes da atual)
include_once 'conexao.php';

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nome = $_POST['nome'] ?? '';
    $celular = $_POST['telefone'] ?? '';  // Recebe o valor do campo "telefone" e o usa como "celular"
    $email = $_POST['email'] ?? '';
    $perfil = $_POST['plano'] ?? '';  // Recebe o valor do campo "plano" e o usa como "perfil"
    $nomeperfil = $_POST['nomeperfil'] ?? ''; // Recebe o nome do perfil

    // Validação básica dos dados


    // Definir o valor fixo de CadUser
    $cadUser = 'Admin';

    // Gerar um nome de usuário a partir do primeiro nome + 3 números aleatórios
    $partes_nome = explode(" ", $nome); // Divide o nome em partes
    $primeiro_nome = $partes_nome[0]; // Pega a primeira palavra
    $sobrenome = isset($partes_nome[1]) ? $partes_nome[1] : ''; // Pega a segunda palavra (sobrenome) se existir
    $usuario = strtolower($primeiro_nome) . rand(100, 999); // Adiciona três números aleatórios

    // Gerar uma senha de 5 números aleatórios
    $senha = strval(rand(10000, 99999));
    
    // Gera a data do prêmio (dois dias após a data atual)
    $data_premio = time() + (2 * 24 * 60 * 60); // Dois dias em segundos

    try {
        // Verifica se o email ou o celular já existem no banco, com consultas separadas
        if (!empty($email)) {
            $sql_verifica = "SELECT COUNT(*) FROM teste WHERE email = ?";
            $stmt_verifica = $painel_user->prepare($sql_verifica);
            $stmt_verifica->execute([$email]);
        } elseif (!empty($celular)) {
            $sql_verifica = "SELECT COUNT(*) FROM teste WHERE celular = ?";
            $stmt_verifica = $painel_user->prepare($sql_verifica);
            $stmt_verifica->execute([$celular]);
        } else {
            // Se ambos estiverem vazios, impede a criação e mostra uma mensagem de erro
            $_SESSION['mensagem'] = "É necessário informar pelo menos um contato: Email ou WhatsApp.";
            $_SESSION['status'] = false;
            header("Location: cadtest.php");
            exit();
        }

        $existe_contato = $stmt_verifica->fetchColumn();
    
        if ($existe_contato > 0) {
            $_SESSION['mensagem'] = "Não foi possível criar o teste: Email ou WhatsApp já cadastrado.";
            $_SESSION['status'] = false;
        } else {
            // Sempre faz a busca no banco para obter o perfil
            $sql_perfil = "SELECT url, porta, nome FROM perfil WHERE valorcsp = ?";
            $stmt_perfil = $painel_geral->prepare($sql_perfil);
            $stmt_perfil->execute([$perfil]);
    
            if ($stmt_perfil->rowCount() > 0) {
                $perfil_resultado = $stmt_perfil->fetch(PDO::FETCH_ASSOC);
                $url = $perfil_resultado['url'];
                $porta = $perfil_resultado['porta'];
                $nomeprofile = $perfil_resultado['nome'];
            } else {
                $_SESSION['mensagem'] = "Perfil não encontrado.";
                $_SESSION['status'] = false;
                return;
            }
    
            // Insere os dados no banco
            $data_nascimento = date('Y-m-d H:i:s');
    
            $sql = "INSERT INTO teste (nome, sobrenome, email, celular, perfil, usuario, senha, data_premio, CadUser, data_nascimento) 
            VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
            $stmt = $painel_user->prepare($sql);
    
            $stmt->execute([$nome, $sobrenome, $email, $celular, $perfil, $usuario, $senha, $data_premio, $cadUser, $data_nascimento]);
    
            // Lógica de envio de e-mail ou WhatsApp
            if (!empty($email) && empty($celular)) {
                include 'enviar_email.php'; // Envia e-mail se apenas o email estiver preenchido
            } elseif (!empty($celular) && empty($email)) {
                include 'enviarwhatsapp.php'; // Envia WhatsApp se apenas o celular estiver preenchido
            } elseif (!empty($email) && !empty($celular)) {
                include 'enviar_email.php';  // Envia ambos se ambos estiverem preenchidos
                include 'enviarwhatsapp.php';
            }
    
            // Define a mensagem de sucesso na sessão
            $_SESSION['mensagem'] = "Teste criado com sucesso! Chegará em 15 segundos.";
            $_SESSION['status'] = true;
        }
    } catch (PDOException $e) {
        $_SESSION['mensagem'] = "Erro ao criar usuário: " . $e->getMessage();
        $_SESSION['status'] = false;
    }
    
    
    // Redireciona de volta para o formulário
    header("Location: cadtest.php");
    exit();
}
?>
