<?php
session_start();
include("conexao.php"); // Conexão com o banco de dados
include_once(Idioma(1)); // Carrega o idioma
$idioma = empty($_COOKIE['idioma']) ? "br" : $_COOKIE['idioma'];
$lang = empty($_GET['lang']) ? "" : $_GET['lang'];
if (!empty($lang)) SalvarIdioma($lang);
global $_TRA;
$VerificarInfoSite = VerificarInfoSite();

// Remove os cookies de sessão
unset($_SESSION['id'], $_SESSION['usuario'], $_SESSION['acesso']);

// Processa o parâmetro 'r' primeiro
function UrlTeste2($acao, $code = NULL) {
    if ($acao == 2) {
        // Decodifica a string 4 vezes com Base64
        $url = base64_decode(base64_decode(base64_decode(base64_decode($code))));
    }

    return trim($url); // Retorna o valor descriptografado
}

$GET = isset($_GET['r']) ? $_GET['r'] : ""; // Captura o parâmetro 'r'
$cadUser = !empty($GET) ? UrlTeste2(2, $GET) : null; // Processa 'r' com a função UrlTeste


// Processa o parâmetro 'tipo' após 'r'
$tipo = isset($_GET['tipo']) ? $_GET['tipo'] : null;

// Valida o parâmetro 'tipo'
if (empty($tipo) || !in_array($tipo, ['SAT', 'NET', 'CABO'])) {
    // Se o tipo for inválido ou vazio, mostra todos os resultados (sem filtro)
    $tipo = 'ALL'; // Ou outro valor que represente a exibição de todos
}




try {
    // Verifica se o tipo foi passado e é válido, caso contrário, considera como 'ALL'
    $tipo = isset($_GET['tipo']) ? $_GET['tipo'] : null;

    // Valida o parâmetro 'tipo' (verifica se o valor é válido ou se está vazio)
    if (empty($tipo) || !in_array($tipo, ['SAT', 'NET', 'CABO'])) {
        $tipo = 'ALL'; // 'ALL' representa a busca de todos os resultados
    }

    // Monta a consulta SQL
    $sql = "SELECT nome, valorcsp, url, porta, tipo FROM perfil";
    
    // Se o tipo não for 'ALL', adiciona o filtro
    if ($tipo !== 'ALL') {
        $sql .= " WHERE tipo = :tipo";
    }

    // Prepara a consulta SQL
    $stmt = $painel_geral->prepare($sql);
    
    // Se o tipo for diferente de 'ALL', faz o bind do parâmetro
    if ($tipo !== 'ALL') {
        $stmt->bindParam(':tipo', $tipo, PDO::PARAM_STR);
    }
    
    // Executa a consulta
    $stmt->execute();
    
    // Busca os resultados
    $perfils = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    // Caso ocorra um erro, define a mensagem de erro e redireciona
    $_SESSION['mensagem'] = "Erro ao buscar perfis: " . $e->getMessage();
    $_SESSION['status'] = false;
    header("Location: index.php");
    exit();
}


// Processa o formulário quando enviado
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $nome = $_POST['nome'] ?? '';
    $celular = $_POST['telefone'] ?? '';  
    $email = $_POST['email'] ?? '';
    $perfil = $_POST['plano'] ?? '';  
    $nomeperfil = $_POST['nomeperfil'] ?? ''; 

    $partes_nome = explode(" ", $nome); 
    $primeiro_nome = $partes_nome[0];
    $sobrenome = isset($partes_nome[1]) ? $partes_nome[1] : ''; 
    $usuario = strtolower($primeiro_nome) . rand(100, 999); 
    $senha = strval(rand(10000, 99999));
    $data_premio = time() + (2 * 24 * 60 * 60); 

    try {
        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 {
            $_SESSION['mensagem'] = "É necessário informar pelo menos um contato: Email ou WhatsApp.";
            $_SESSION['status'] = false;
            header("Location: index.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 {
            $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;
            }
    
            $data_nascimento = date('Y-m-d H:i:s');
            $data_cadastro = date('Y-m-d H:i:s');

    
            $sql = "INSERT INTO teste (nome, sobrenome, email, celular, perfil, usuario, senha, data_premio, CadUser, data_nascimento, data_cadastro) 
            VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
            $stmt = $painel_user->prepare($sql);
    
            $stmt->execute([$nome, $sobrenome, $email, $celular, $perfil, $usuario, $senha, $data_premio, $cadUser, $data_nascimento, $data_cadastro]);
    
            if (!empty($email) && empty($celular)) {
                include 'enviar_email.php';
            } elseif (!empty($celular) && empty($email)) {
                include 'enviarwhatsapp.php'; 
            } elseif (!empty($email) && !empty($celular)) {
                include 'enviar_email.php';  
                include 'enviarwhatsapp.php';
            }
    
            $_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;
    }
}
?>

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <link rel="icon" href="https://cmum.me/painel/public/images/favicon.ico" type="image/x-icon">
    <title>Painel-R - Criar Teste</title>
    <link rel="stylesheet" href="Painel-R_files/bootstrap.min.css">
    <link rel="stylesheet" href="Painel-R_files/font-awesome.min.css">
    <link rel="stylesheet" href="Painel-R_files/AdminLTE.min.css">
    <link rel="stylesheet" href="Painel-R_files/blue.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css">
</head>
<body class="hold-transition login-page">

<div class="login-box">
    <div class="login-logo">
        <a href="#"><b>Criar</b> Teste</a>
    </div>

    <div class="login-box-body">
        <p class="login-box-msg">Seus dados serão enviados por WhatsApp ou Email.</p>
        
        <?php if (isset($_SESSION['mensagem'])): ?>
            <div class="alert <?php echo $_SESSION['status'] ? 'alert-success' : 'alert-danger'; ?>">
                <?php echo $_SESSION['mensagem']; unset($_SESSION['mensagem'], $_SESSION['status']); ?>
            </div>
        <?php endif; ?>

        <form id="cadteste-form" method="post">
    <input type="hidden" name="hash" value="c4ca4238a0b923820dcc509a6f75849b">

    <label for="nome">Nome:</label>
    <div class="form-group has-feedback">
        <input type="text" name="nome" class="form-control" placeholder="Nome" maxlength="100" required>
    </div>

    <div class="form-group has-feedback">
        <label for="telefone">WhatsApp:</label>
        <input type="text" name="telefone" class="form-control mask_cellphone" placeholder="(61)999993258" maxlength="15">
    </div>

    <div class="form-group has-feedback">
        <label for="email">E-mail:</label>
        <input type="email" name="email" class="form-control" placeholder="E-mail" maxlength="100">
    </div>

    <div class="form-group has-feedback">
        <label for="plano">Perfil/Validade:</label>
        <select name="plano" class="form-control" required>
            <option value="">Selecione um Perfil</option>
            <?php foreach ($perfils as $perfil): ?>
                <option value="<?php echo htmlspecialchars($perfil['valorcsp']); ?>">
                    <?php echo htmlspecialchars($perfil['nome']); ?>
                </option>
            <?php endforeach; ?>
        </select>
    </div>

    <!-- reCAPTCHA -->
   

    <button type="submit" class="btn btn-primary btn-block btn-flat">Criar Teste</button>
</form>


          
    </div>
</div>

<script src="Painel-R_files/jquery.min.js"></script>
<script src="Painel-R_files/bootstrap.min.js"></script>
</body>
</html>

<script>
    // Função para verificar se o WhatsApp ou o Email foi preenchido
    document.getElementById('cadteste-form').addEventListener('submit', function(event) {
        const whatsappInput = document.getElementById('telefone');
        const emailInput = document.getElementById('email');

        if (!whatsappInput.value && !emailInput.value) {
            alert('Por favor, preencha o WhatsApp ou o E-mail.');
            event.preventDefault(); // Impede o envio do formulário
        }
    });

    // Função de reenvio com contador
    let countdown = 20;
    const timer = document.getElementById('timer');
    const reenviarBtn = document.getElementById('reenviarBtn');

    function startCountdown() {
        const interval = setInterval(() => {
            countdown--;
            timer.textContent = countdown;

            if (countdown <= 0) {
                clearInterval(interval);
                reenviarBtn.disabled = false;
                reenviarBtn.textContent = 'Reenviar'; // Ajusta o texto final do botão
            }
        }, 1000);
    }

    startCountdown();
</script>

</body>
</html>
