<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Teste Automático</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
    <?php
    include 'conexao.php';
    // Puxa cor e nome do banco para o estilo
    $nomePainel = "IPTV PANEL"; $corPrimaria = "#7367f0"; 
    try {
        $conf = $connGeral->query("SELECT NomePainel, TemaPainel FROM site_config LIMIT 1")->fetch(PDO::FETCH_ASSOC);
        if ($conf) {
            if (!empty($conf['NomePainel'])) $nomePainel = $conf['NomePainel'];
            if (!empty($conf['TemaPainel'])) $corPrimaria = $conf['TemaPainel'];
        }
    } catch (Exception $e) { }
    ?>
    <style>
        :root { --primary: <?= $corPrimaria ?>; }
        body { background: linear-gradient(135deg, #0f0c29, #302b63, #24243e); color: #fff; min-height: 100vh; display: flex; align-items: center; justify-content: center; font-family: 'Segoe UI', sans-serif; padding: 20px; }
        .card-teste { background: rgba(25, 25, 35, 0.95); border: 1px solid rgba(255,255,255,0.1); border-radius: 15px; padding: 35px; width: 100%; max-width: 480px; box-shadow: 0 0 40px rgba(0,0,0,0.6); }
        .form-control, .form-select { background: #2b2b40 !important; border: 1px solid #444 !important; color: #ffffff !important; height: 55px; font-weight: 600; }
        .form-control::placeholder { color: #ffffff !important; opacity: 0.9 !important; }
        .btn-primary { background: var(--primary); border: none; font-weight: bold; height: 55px; transition: 0.3s; width: 100%; }
        .btn-primary:hover { filter: brightness(1.2); transform: translateY(-2px); }
        .info-box { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 20px; }
        .text-resumo { color: #00cfe8; font-weight: 800; font-family: monospace; font-size: 1.2rem; }
        label { color: #ffffff !important; font-weight: 700; margin-bottom: 5px; font-size: 0.9rem; }
        .aviso-informativo { background: rgba(0, 207, 232, 0.15); border: 1px dashed #00cfe8; border-radius: 8px; padding: 15px; font-size: 0.9rem; color: #00cfe8; text-align: center; margin-bottom: 20px; }
    </style>
</head>
<body>

<div class="card-teste">
    <?php
    $link_user = 'admin'; $perfis = []; $msg = ""; $msg_tipo = ""; $dados_exibir = null;

    if (isset($_GET['r'])) {
        $link_user = preg_replace('/[^a-zA-Z0-9_]/', '', base64_decode($_GET['r']));
        $stmt_rev = $connUser->prepare("SELECT perfil FROM rev WHERE usuario = ? LIMIT 1");
        $stmt_rev->execute([$link_user]);
        $res_rev = $stmt_rev->fetch(PDO::FETCH_ASSOC);
        $perfil_rev_str = $res_rev['perfil'] ?? '';
    }

    try {
        if (!isset($_GET['r']) || empty($perfil_rev_str)) {
            $perfis = $connGeral->query("SELECT id, nome FROM perfil WHERE bloqueado != 'sim' OR bloqueado IS NULL")->fetchAll(PDO::FETCH_ASSOC);
        } else {
            $nomes = explode(',', $perfil_rev_str);
            $in = str_repeat('?,', count($nomes) - 1) . '?';
            $st_p = $connGeral->prepare("SELECT id, nome FROM perfil WHERE nome IN ($in) AND (bloqueado != 'sim' OR bloqueado IS NULL)");
            $st_p->execute($nomes); $perfis = $st_p->fetchAll(PDO::FETCH_ASSOC);
        }
    } catch (Exception $e) {}

    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        $nome_cli = strip_tags($_POST['nome']);
        $email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
        $pid = (int)$_POST['perfil']; // ID do perfil selecionado
        
        $check = $connUser->prepare("SELECT id FROM teste WHERE email = ?");
        $check->execute([$email]);
        
        if ($check->rowCount() > 0) {
            $msg = "Atenção: E-mail já utilizado para teste."; $msg_tipo = "warning";
        } else {
            $p_info = $connGeral->prepare("SELECT url, porta FROM perfil WHERE id = ?");
            $p_info->execute([$pid]);
            $perfil_dados = $p_info->fetch(PDO::FETCH_ASSOC);

            $user_t = "t" . rand(1000, 9999);
            $pass_t = rand(1000, 9999);
            $venc_timestamp = strtotime("+48 hours"); // Salva como número (Timestamp)

            // SALVA O ID DO PERFIL E DEFINE CONEXAO=1 PARA RECONHECIMENTO NO PAINEL
            $sql = "INSERT INTO teste (CadUser, nome, usuario, senha, data_premio, perfil, email, bloqueado, data_cadastro, conexao) 
                    VALUES (?, ?, ?, ?, ?, ?, ?, 'nao', NOW(), 1)";
            $connUser->prepare($sql)->execute([$link_user, $nome_cli, $user_t, $pass_t, $venc_timestamp, $pid, $email]);

            $dados_exibir = ['user' => $user_t, 'pass' => $pass_t, 'venc' => date('d/m/Y H:i', $venc_timestamp), 'url' => $perfil_dados['url'], 'porta' => $perfil_dados['porta']];
            $msg = "Teste Gerado com Sucesso!"; $msg_tipo = "success";
        }
    }
    ?>

    <div class="text-center mb-4">
        <i class="fas fa-tv fa-3x mb-2" style="color: var(--primary);"></i>
        <h3 class="fw-bold"><?= htmlspecialchars($nomePainel) ?></h3>
        <p class="text-white-50 small">Gerador de Acesso Temporário</p>
    </div>

    <?php if($msg): ?>
        <div class="alert alert-<?= $msg_tipo ?> text-center border-0 fw-bold"><?= $msg ?></div>
        <?php if($dados_exibir): ?>
            <div class="info-box mb-4 shadow-lg">
                <div class="mb-2"><label>USUÁRIO:</label><div class="text-resumo"><?= $dados_exibir['user'] ?></div></div>
                <div class="mb-2"><label>SENHA:</label><div class="text-resumo"><?= $dados_exibir['pass'] ?></div></div>
                <div class="mb-2"><label>VENCIMENTO:</label><div class="text-white fw-bold"><?= $dados_exibir['venc'] ?></div></div>
                <hr class="border-secondary">
                <div class="mb-2"><label>URL / DNS:</label><div class="text-info small fw-bold"><?= $dados_exibir['url'] ?></div></div>
                <div class="mb-0"><label>PORTA:</label><div class="text-warning fw-bold"><?= $dados_exibir['porta'] ?></div></div>
            </div>
            <button class="btn btn-primary mb-2" onclick="copiarDados()"><i class="fas fa-copy me-2"></i> COPIAR DADOS</button>
            <button class="btn btn-success w-100 fw-bold" onclick="enviarWhats()"><i class="fab fa-whatsapp me-2"></i> WHATSAPP</button>
        <?php endif; ?>
    <?php else: ?>
        <form method="POST">
            <div class="mb-3"><label>Seu Nome</label><input type="text" name="nome" class="form-control" placeholder="Ex: João Silva" required></div>
            <div class="mb-3"><label>Seu E-mail</label><input type="email" name="email" class="form-control" placeholder="Ex: joao@email.com" required></div>
            <div class="mb-4"><label>Pacote de Canais</label>
                <select name="perfil" class="form-select" required>
                    <?php if(empty($perfis)): ?><option value="">Indisponível</option><?php else: ?>
                    <option value="" selected disabled>Escolha um plano...</option>
                    <?php foreach($perfis as $p): ?><option value="<?= $p['id'] ?>"><?= $p['nome'] ?></option><?php endforeach; ?>
                    <?php endif; ?>
                </select>
            </div>
            <div class="aviso-informativo">
                <i class="fas fa-info-circle me-1"></i> Os dados serão enviados por e-mail e exibidos aqui para você copiar.
            </div>
            <button type="submit" class="btn btn-primary fw-bold" <?= empty($perfis)?'disabled':'' ?>>GERAR MEU ACESSO</button>
        </form>
    <?php endif; ?>
</div>

<script>
    function copiarDados() {
        const txt = `🚀 ACESSO GERADO\n\n👤 Usuário: <?= $dados_exibir['user'] ?>\n🔑 Senha: <?= $dados_exibir['pass'] ?>\n📅 Vence em: <?= $dados_exibir['venc'] ?>\n\n🌐 DNS: <?= $dados_exibir['url'] ?>\n🔌 Porta: <?= $dados_exibir['porta'] ?>`;
        navigator.clipboard.writeText(txt).then(() => alert("Copiado com sucesso!"));
    }
    function enviarWhats() {
        const txt = encodeURIComponent(`🚀 *ACESSO GERADO*\n\n👤 *Usuário:* <?= $dados_exibir['user'] ?>\n🔑 *Senha:* <?= $dados_exibir['pass'] ?>\n📅 *Vence em:* <?= $dados_exibir['venc'] ?>\n\n🌐 *DNS:* <?= $dados_exibir['url'] ?>\n🔌 *Porta:* <?= $dados_exibir['porta'] ?>`);
        window.open(`https://api.whatsapp.com/send?text=${txt}`, '_blank');
    }
</script>
</body>
</html>
