<?php
session_start();
require_once 'config.php';

$pdo = getConexaoAtiva();

// --- INÍCIO: BUSCA DE PERSONALIZAÇÃO DINÂMICA ---
$nome_painel = 'TOP IPTV';
$logo_url = '';
$cor_primaria = '#007bff';

try {
    $tabela_existe = $pdo->query("SHOW TABLES LIKE 'painel_config'")->rowCount() > 0;
    if ($tabela_existe) {
        $config_painel = $pdo->query("SELECT * FROM painel_config LIMIT 1")->fetch(PDO::FETCH_ASSOC);
        if ($config_painel) {
            $nome_painel = !empty($config_painel['nome_painel']) ? $config_painel['nome_painel'] : $nome_painel;
            $logo_url = !empty($config_painel['logo_url']) ? $config_painel['logo_url'] : $logo_url;
            $cor_primaria = !empty($config_painel['cor_primaria']) ? $config_painel['cor_primaria'] : $cor_primaria;
        }
    }
} catch (Exception $e) { }

if (!isset($_SESSION['user_id'])) { header("Location: login.php"); exit; }

$role = $_SESSION['user_role'] ?? 'reseller'; 
$nome_usuario = $_SESSION['username'] ?? 'Usuário';
$user_id_logado = $_SESSION['user_id'];

try {
    $user_credits = $pdo->query("SELECT credits FROM reg_users WHERE id = " . intval($user_id_logado))->fetchColumn() ?: 0;
} catch (Exception $e) { 
    $user_credits = 0; 
}
?>
<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <link rel="stylesheet" href="tema.css">
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
    <title>Guia Cloudflare - <?php echo htmlspecialchars($nome_painel); ?></title>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
    <style>
        :root { --bg-dark: #121519; --bg-sidebar: #1e2227; --bg-card: #272c33; --text-main: #d1d5da; --text-muted: #8a94a1; --accent: <?php echo $cor_primaria; ?>; --border-color: #3a4149; --success: #28a745; --danger: #dc3545; --warning: #f39c12; --info: #17a2b8; }
        body { margin: 0; font-family: 'Segoe UI', sans-serif; background-color: var(--bg-dark); color: var(--text-main); display: flex; height: 100vh; overflow: hidden; }
        
        .sidebar { width: 260px; background-color: var(--bg-sidebar); display: flex; flex-direction: column; transition: 0.3s; border-right: 1px solid var(--border-color); z-index: 1001; flex-shrink: 0; }
        .sidebar-header { padding: 25px 20px; text-align: center; font-size: 22px; font-weight: bold; color: white; border-bottom: 1px solid var(--border-color); display: flex; flex-direction: column; align-items: center; gap: 10px; }
        .sidebar-logo { max-width: 180px; max-height: 55px; object-fit: contain; }
        
        .user-info { padding: 20px; text-align: center; border-bottom: 1px solid var(--border-color); }
        .user-info .badge { background: rgba(0, 123, 255, 0.2); color: var(--accent); padding: 4px 10px; border-radius: 4px; font-size: 11px; text-transform: uppercase; font-weight: bold; margin-top: 5px; display: inline-block; }
        .credits-badge { display: block; margin-top: 10px; color: var(--success); font-weight: bold; font-size: 13px; }
        
        .menu-list { list-style: none; padding: 0; margin: 0; overflow-y: auto; flex: 1; }
        .menu-item { padding: 14px 20px; color: var(--text-main); text-decoration: none; display: flex; align-items: center; transition: 0.2s; border-left: 3px solid transparent; font-size: 14px; cursor: pointer; }
        .menu-item i:first-child { margin-right: 12px; width: 20px; text-align: center; color: var(--text-muted); }
        .menu-item:hover, .menu-item.active { background-color: #2c3138; color: white; border-left-color: var(--accent); }
        .menu-item.active i:first-child { color: var(--accent); }
        
        .submenu { display: none; background: #16191d; list-style: none; padding: 0; margin: 0; }
        .submenu .menu-item { padding-left: 52px; font-size: 13px; border-left: none; }
        .arrow-icon { margin-left: auto; transition: 0.3s; font-size: 11px; }
        .rotate { transform: rotate(180deg); }
        .menu-category { padding: 20px 20px 8px; font-size: 10px; text-transform: uppercase; color: var(--text-muted); font-weight: bold; letter-spacing: 1px; }
        .logout-btn { padding: 15px; background-color: #dc3545; color: white; text-align: center; text-decoration: none; font-weight: bold; }

        .main-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; width: 100%; position: relative; }
        .topbar { display: flex; justify-content: space-between; align-items: center; padding: 15px 30px; background-color: var(--bg-sidebar); border-bottom: 1px solid var(--border-color); gap: 10px; }
        .menu-toggle { display: none; background: none; border: none; color: white; font-size: 22px; cursor: pointer; padding: 5px; flex-shrink: 0; }
        
        .mode-badge { padding: 6px 12px; background: rgba(23, 162, 184, 0.15); color: var(--info); border-radius: 20px; font-size: 11px; font-weight: bold; border: 1px solid var(--info); white-space: nowrap; flex-shrink: 0; }
        
        .content-area { padding: 30px; flex: 1; overflow-x: hidden; }
        
        /* ESTILOS ESPECÍFICOS DO GUIA */
        .guide-header { margin-bottom: 30px; border-bottom: 1px solid var(--border-color); padding-bottom: 15px; }
        .guide-header h1 { margin: 0; font-size: 24px; color: white; display: flex; align-items: center; gap: 10px; }
        .guide-header p { color: var(--text-muted); font-size: 14px; margin-top: 8px; }
        
        .guide-grid { display: grid; grid-template-columns: 1fr; gap: 20px; margin-bottom: 30px; }
        
        .step-card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 10px; padding: 25px; position: relative; overflow: hidden; }
        .step-number { position: absolute; top: -15px; right: -10px; font-size: 80px; font-weight: 900; color: rgba(255,255,255,0.03); line-height: 1; }
        
        .step-title { font-size: 18px; font-weight: bold; color: white; margin-top: 0; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
        .step-content p { font-size: 14px; line-height: 1.6; margin-bottom: 10px; color: #d1d5da; }
        .step-content ul { padding-left: 20px; margin-bottom: 15px; font-size: 14px; color: #d1d5da; line-height: 1.6; }
        .step-content li { margin-bottom: 5px; }
        
        .highlight-box { background: #121519; border: 1px solid var(--border-color); padding: 15px; border-radius: 8px; font-family: monospace; font-size: 13px; color: var(--accent); margin-bottom: 15px; display: flex; align-items: center; gap: 10px; }
        .highlight-box i { color: var(--text-muted); }

        .border-orange { border-left: 4px solid #f39c12; }
        .border-green { border-left: 4px solid #28a745; }
        .border-blue { border-left: 4px solid #007bff; }
        .border-red { border-left: 4px solid #dc3545; }

        .sidebar-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1000; }

        @media (max-width: 768px) {
            .menu-toggle { display: block; }
            .sidebar { position: fixed; left: -260px; height: 100%; box-shadow: 10px 0 20px rgba(0,0,0,0.5); }
            .sidebar.active { left: 0; }
            .sidebar-overlay.active { display: block; }
            .topbar { padding: 15px; justify-content: flex-start; }
            .topbar-right { margin-left: auto; }
            .topbar h2 { font-size: 15px !important; margin-left: 10px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
            .content-area { padding: 15px; }
        }
    </style>
</head> <body style="display:flex; flex-direction:row;"> <div class="sidebar-overlay" id="overlay" onclick="toggleMenu()"></div> <?php include 'sidebar.php'; ?>

    <div class="main-content">
        <header class="topbar">
            <button class="menu-toggle" onclick="toggleMenu()"><i class="fas fa-bars"></i></button>
            <h2 style="margin:0; color:white;">Configurações Cloudflare</h2>
            <div class="topbar-right">
                <span class="mode-badge"><i class="fas fa-book"></i> MANUAL OFICIAL</span>
            </div>
        </header>

        <div class="content-area">
            
            <div class="guide-header">
                <h1><i class="fab fa-cloudflare" style="color: #f39c12;"></i> Blindagem de Hospedagem (cPanel)</h1>
                <p>Siga este passo a passo sempre que instalar este painel em uma nova hospedagem de sites. Isso garante que seu IP não seja bloqueado e que os aplicativos IPTV carreguem os filmes sem tela preta.</p>
            </div>

            <div class="guide-grid">

                <div class="step-card border-orange">
                    <div class="step-number">1</div>
                    <h2 class="step-title"><i class="fas fa-network-wired" style="color: #f39c12;"></i> O Apontamento Invisível</h2>
                    <div class="step-content">
                        <p>O cPanel precisa ser configurado para aceitar o seu domínio novo, e o Cloudflare precisa esconder o IP original.</p>
                        <ul>
                            <li>No <strong>cPanel</strong>, vá em "Domínios" e crie um novo domínio com o nome do seu Cloudflare (ex: <i>painel.seudominio.com</i>).</li>
                            <li>Aponte a raiz do documento para a pasta onde o painel está instalado (ex: <code>public_html/xtreamui</code>).</li>
                            <li>No <strong>Cloudflare</strong>, vá em "DNS" > "Records".</li>
                            <li>Crie um registro do tipo <strong>A</strong> com o IP da sua hospedagem.</li>
                        </ul>
                        <div class="highlight-box">
                            <i class="fas fa-exclamation-triangle" style="color:#f39c12;"></i> 
                            <span style="color: white;">A nuvenzinha (Proxy status) deve ficar <strong>LARANJA (Proxied)</strong>.</span>
                        </div>
                    </div>
                </div>

                <div class="step-card border-green">
                    <div class="step-number">2</div>
                    <h2 class="step-title"><i class="fas fa-lock" style="color: #28a745;"></i> Cadeado Seguro (HTTPS)</h2>
                    <div class="step-content">
                        <p>Para evitar aquele aviso vermelho chato de "A conexão não é segura" no navegador do celular.</p>
                        <ul>
                            <li>No Cloudflare, vá na aba lateral <strong>SSL/TLS</strong>.</li>
                            <li>Clique na primeira opção <strong>Overview (Visão Geral)</strong>.</li>
                            <li>Altere o modo de criptografia marcando a opção <strong>Flexible (Flexível)</strong>.</li>
                            <li>Depois, vá no submenu <strong>Edge Certificates</strong> e ative a opção <strong>Always Use HTTPS</strong>.</li>
                        </ul>
                    </div>
                </div>

                <div class="step-card border-blue">
                    <div class="step-number">3</div>
                    <h2 class="step-title"><i class="fas fa-bolt" style="color: #007bff;"></i> Desativar o Cache (A Regra de Ouro)</h2>
                    <div class="step-content">
                        <p>O Cloudflare não pode guardar o "cache" do nosso painel, senão os botões de criar e apagar clientes param de funcionar.</p>
                        <ul>
                            <li>No Cloudflare, vá em <strong>Caching</strong> > <strong>Cache Rules</strong>.</li>
                            <li>Clique em <strong>Create Cache Rule</strong>.</li>
                            <li>No primeiro campo (URL), digite o seu domínio com asteriscos. Exemplo:</li>
                        </ul>
                        <div class="highlight-box">
                            <i class="fas fa-code"></i> *seusite.com/*
                        </div>
                        <ul>
                            <li>Em "Pick a Setting", escolha <strong>Cache Level</strong>.</li>
                            <li>Na caixa ao lado, selecione <strong>Bypass</strong> e clique em Salvar.</li>
                        </ul>
                    </div>
                </div>

                <div class="step-card border-red">
                    <div class="step-number">4</div>
                    <h2 class="step-title"><i class="fas fa-robot" style="color: #dc3545;"></i> Liberação de Apps (Smarters, XCIPTV)</h2>
                    <div class="step-content">
                        <p>Se você não fizer isso, o Cloudflare vai achar que os aplicativos de TV dos clientes são robôs e vai deixar os conteúdos (Filmes e Séries) com a tela preta vazia.</p>
                        <ul>
                            <li>Vá no menu <strong>Security</strong> > <strong>Bots</strong>.</li>
                            <li>DESLIGUE a chavinha do <strong>Bot Fight Mode</strong>.</li>
                            <li>Vá no menu <strong>Security</strong> > <strong>Settings</strong>.</li>
                            <li>Coloque o "Security Level" em <strong>Essentially Off</strong>.</li>
                            <li>Ainda em Settings, desça a tela e DESLIGUE o <strong>Browser Integrity Check</strong>.</li>
                        </ul>
                        <div class="highlight-box">
                            <i class="fas fa-check-circle" style="color:#28a745;"></i> 
                            <span style="color: white;">Feito isso, os aplicativos vão ler os filmes e canais na mesma hora!</span>
                        </div>
                    </div>
                </div>

            </div>
            
        </div>
        <?php include 'rodape.php'; ?>
    </div>

    <script>
        const sidebar = document.getElementById('sidebar');
        const overlay = document.getElementById('overlay');
        function toggleMenu() { sidebar.classList.toggle('active'); overlay.classList.toggle('active'); }
        overlay.onclick = toggleMenu;

        function toggleSubmenu(id) {
            const sub = document.getElementById(id);
            const arrow = document.getElementById('arrow-' + id);
            if (sub.style.display === "block") { sub.style.display = "none"; if(arrow) arrow.classList.remove('rotate'); } 
            else { sub.style.display = "block"; if(arrow) arrow.classList.add('rotate'); }
        }
    </script>
    <script src="tema.js"></script>
</body>
</html>