<?php
// admin/tracking-settings.php

$pageTitle = 'Configurações de Rastreamento';
$pageHeader = 'Gerenciar Códigos de Rastreamento';
$currentPage = 'tracking';

// Inicia a sessão, define BASE_PATH e inclui dependências
if (!defined('BASE_PATH')) {
    define('BASE_PATH', dirname(dirname(__FILE__)));
}

require_once '../includes/config.php';
require_once '../includes/db.php';
require_once '../includes/functions.php';
require_once '../includes/auth.php';

// Requer autenticação de administrador
$auth->requireAuth();

// Verificar se o arquivo config-tracking.php existe, caso contrário criar arquivo de configuração temporário
if (file_exists('../includes/config-tracking.php')) {
    require_once '../includes/config-tracking.php';
} else {
    // Definições temporárias das constantes
    if (!defined('TRACKING_ENABLED')) define('TRACKING_ENABLED', false);
    if (!defined('GA_ENABLED')) define('GA_ENABLED', false);
    if (!defined('GSC_ENABLED')) define('GSC_ENABLED', false);
    if (!defined('ADSENSE_ENABLED')) define('ADSENSE_ENABLED', false);
    if (!defined('FB_PIXEL_ENABLED')) define('FB_PIXEL_ENABLED', false);
    if (!defined('GA_MEASUREMENT_ID')) define('GA_MEASUREMENT_ID', 'G-XXXXXXXXXX');
    if (!defined('GSC_VERIFICATION_ID')) define('GSC_VERIFICATION_ID', 'XXXXXXXXXXXXXXXXXXXX');
    if (!defined('ADSENSE_CLIENT_ID')) define('ADSENSE_CLIENT_ID', 'ca-pub-XXXXXXXXXXXXXXXX');
    if (!defined('ADSENSE_ADS_TXT')) define('ADSENSE_ADS_TXT', 'google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0');
    if (!defined('FB_PIXEL_ID')) define('FB_PIXEL_ID', 'XXXXXXXXXXXXXXX');
    
    // Funções temporárias
    if (!function_exists('getGoogleAnalyticsCode')) {
        function getGoogleAnalyticsCode() { return '<!-- Placeholder para código do Google Analytics -->'; }
    }
    if (!function_exists('getGoogleSearchConsoleCode')) {
        function getGoogleSearchConsoleCode() { return '<!-- Placeholder para código do Google Search Console -->'; }
    }
    if (!function_exists('getGoogleAdSenseCode')) {
        function getGoogleAdSenseCode() { return '<!-- Placeholder para código do Google AdSense -->'; }
    }
    if (!function_exists('getFacebookPixelCode')) {
        function getFacebookPixelCode() { return '<!-- Placeholder para código do Facebook Pixel -->'; }
    }
    if (!function_exists('generateAdsTxt')) {
        function generateAdsTxt() { return false; }
    }
    if (!function_exists('checkRobotsTxt')) {
        function checkRobotsTxt() { return false; }
    }
    if (!function_exists('checkTrackingSetup')) {
        function checkTrackingSetup() { 
            return [
                'ga' => false,
                'gsc' => false,
                'adsense' => false,
                'fb_pixel' => false,
                'ads_txt' => false,
                'robots_txt' => false
            ]; 
        }
    }
}

// Obtém o status de rastreamento
if (function_exists('checkTrackingSetup')) {
    $trackingStatus = checkTrackingSetup();
} else {
    // Define valores padrão se a função não existir
    $trackingStatus = [
        'ga' => false,
        'gsc' => false,
        'adsense' => false,
        'fb_pixel' => false,
        'ads_txt' => false,
        'robots_txt' => false
    ];
}

// Processa o formulário de atualização de configurações
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    $action = isset($_POST['action']) ? $_POST['action'] : '';
    
    if ($action === 'update_tracking') {
        try {
            // Verificar se o arquivo existe, caso contrário, criar com base no modelo
            $configFilePath = BASE_PATH . '/includes/config-tracking.php';
            
            if (!file_exists($configFilePath)) {
                // Modelo para o arquivo de configuração
                $modelContent = <<<'EOT'
<?php
/**
 * Configurações de Rastreamento
 * 
 * Este arquivo contém as configurações e funções relacionadas ao rastreamento
 * e integração com serviços de análise e marketing.
 * 
 * @package CursosGratuitos
 */

// Previne acesso direto ao arquivo
if (!defined('BASE_PATH')) {
    die('Acesso direto não permitido');
}

// Define constantes para configurações de rastreamento
define('TRACKING_ENABLED', false);
define('GA_ENABLED', false);
define('GSC_ENABLED', false);
define('ADSENSE_ENABLED', false);
define('FB_PIXEL_ENABLED', false);

// IDs das plataformas
define('GA_MEASUREMENT_ID', 'G-XXXXXXXXXX');
define('GSC_VERIFICATION_ID', 'XXXXXXXXXXXXXXXXXXXX');
define('ADSENSE_CLIENT_ID', 'ca-pub-XXXXXXXXXXXXXXXX');
define('ADSENSE_ADS_TXT', 'google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0');
define('FB_PIXEL_ID', 'XXXXXXXXXXXXXXX');

/**
 * Retorna o código do Google Analytics
 * 
 * @return string Código HTML para incluir o Google Analytics
 */
function getGoogleAnalyticsCode() {
    if (!TRACKING_ENABLED || !GA_ENABLED) {
        return '<!-- Google Analytics desativado -->';
    }
    
    return '<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=' . GA_MEASUREMENT_ID . '"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag(\'js\', new Date());

  gtag(\'config\', \'' . GA_MEASUREMENT_ID . '\');
</script>';
}

/**
 * Retorna o código do Google Search Console
 * 
 * @return string Meta tag para verificação do Google Search Console
 */
function getGoogleSearchConsoleCode() {
    if (!TRACKING_ENABLED || !GSC_ENABLED) {
        return '<!-- Google Search Console desativado -->';
    }
    
    return '<meta name="google-site-verification" content="' . GSC_VERIFICATION_ID . '" />';
}

/**
 * Retorna o código do Google AdSense
 * 
 * @return string Código HTML para incluir o Google AdSense
 */
function getGoogleAdSenseCode() {
    if (!TRACKING_ENABLED || !ADSENSE_ENABLED) {
        return '<!-- Google AdSense desativado -->';
    }
    
    return '<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=' . ADSENSE_CLIENT_ID . '"
     crossorigin="anonymous"></script>';
}

/**
 * Retorna o código do bloco de anúncio do AdSense
 * 
 * @param string $slotId ID do slot do anúncio
 * @return string Código HTML para incluir um bloco de anúncio
 */
function getAdSenseAdUnit($slotId) {
    if (!TRACKING_ENABLED || !ADSENSE_ENABLED) {
        return '<!-- Google AdSense desativado -->';
    }
    
    return '<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="' . ADSENSE_CLIENT_ID . '"
     data-ad-slot="' . $slotId . '"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>';
}

/**
 * Retorna o código do Facebook Pixel
 * 
 * @return string Código HTML para incluir o Facebook Pixel
 */
function getFacebookPixelCode() {
    if (!TRACKING_ENABLED || !FB_PIXEL_ENABLED) {
        return '<!-- Facebook Pixel desativado -->';
    }
    
    return '<!-- Meta Pixel Code -->
<script>
!function(f,b,e,v,n,t,s)
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=\'2.0\';
n.queue=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s)}(window, document,\'script\',
\'https://connect.facebook.net/en_US/fbevents.js\');
fbq(\'init\', \'' . FB_PIXEL_ID . '\');
fbq(\'track\', \'PageView\');
</script>
<noscript><img height="1" width="1" style="display:none"
src="https://www.facebook.com/tr?id=' . FB_PIXEL_ID . '&ev=PageView&noscript=1"
/></noscript>
<!-- End Meta Pixel Code -->';
}

/**
 * Gera o arquivo ads.txt na raiz do site
 * 
 * @return bool True se o arquivo foi criado com sucesso, False caso contrário
 */
function generateAdsTxt() {
    if (!TRACKING_ENABLED || !ADSENSE_ENABLED) {
        return false;
    }
    
    $content = ADSENSE_ADS_TXT;
    $adsPath = rtrim(BASE_PATH, '/') . '/ads.txt';
    
    // Adiciona comentário no topo do arquivo
    $content = "# Arquivo ads.txt gerado automaticamente\n# Última atualização: " . date('Y-m-d H:i:s') . "\n\n" . $content;
    
    return file_put_contents($adsPath, $content) !== false;
}

/**
 * Verifica e cria o arquivo robots.txt se não existir
 * 
 * @return bool True se o arquivo foi criado, False se já existia ou houve erro
 */
function checkRobotsTxt() {
    $robotsPath = rtrim(BASE_PATH, '/') . '/robots.txt';
    
    if (file_exists($robotsPath)) {
        return false;
    }
    
    $siteUrl = defined('SITE_URL') ? SITE_URL : 'https://example.com';
    $content = "# Arquivo robots.txt gerado automaticamente\n";
    $content .= "# Última atualização: " . date('Y-m-d H:i:s') . "\n\n";
    $content .= "User-agent: *\n";
    $content .= "Allow: /\n\n";
    $content .= "# Sitemaps\n";
    $content .= "Sitemap: " . rtrim($siteUrl, '/') . "/sitemap.xml\n";
    
    return file_put_contents($robotsPath, $content) !== false;
}

/**
 * Verifica o status de configuração dos sistemas de rastreamento
 * 
 * @return array Status dos diferentes sistemas de rastreamento
 */
function checkTrackingSetup() {
    $status = [
        'ga' => false,
        'gsc' => false,
        'adsense' => false,
        'fb_pixel' => false,
        'ads_txt' => false,
        'robots_txt' => false
    ];
    
    // Verifica configuração do Google Analytics
    $status['ga'] = TRACKING_ENABLED && GA_ENABLED && GA_MEASUREMENT_ID !== 'G-XXXXXXXXXX';
    
    // Verifica configuração do Google Search Console
    $status['gsc'] = TRACKING_ENABLED && GSC_ENABLED && GSC_VERIFICATION_ID !== 'XXXXXXXXXXXXXXXXXXXX';
    
    // Verifica configuração do Google AdSense
    $status['adsense'] = TRACKING_ENABLED && ADSENSE_ENABLED && ADSENSE_CLIENT_ID !== 'ca-pub-XXXXXXXXXXXXXXXX';
    
    // Verifica configuração do Facebook Pixel
    $status['fb_pixel'] = TRACKING_ENABLED && FB_PIXEL_ENABLED && FB_PIXEL_ID !== 'XXXXXXXXXXXXXXX';
    
    // Verifica existência do arquivo ads.txt
    $adsPath = rtrim(BASE_PATH, '/') . '/ads.txt';
    $status['ads_txt'] = file_exists($adsPath);
    
    // Verifica existência do arquivo robots.txt
    $robotsPath = rtrim(BASE_PATH, '/') . '/robots.txt';
    $status['robots_txt'] = file_exists($robotsPath);
    
    return $status;
}

/**
 * Adiciona os códigos de rastreamento no cabeçalho HTML
 * 
 * @return void
 */
function addTrackingHeaderCodes() {
    if (!TRACKING_ENABLED) {
        return;
    }
    
    // Google Search Console
    if (GSC_ENABLED) {
        echo getGoogleSearchConsoleCode() . "\n";
    }
    
    // Google Analytics
    if (GA_ENABLED) {
        echo getGoogleAnalyticsCode() . "\n";
    }
    
    // Google AdSense
    if (ADSENSE_ENABLED) {
        echo getGoogleAdSenseCode() . "\n";
    }
    
    // Facebook Pixel
    if (FB_PIXEL_ENABLED) {
        echo getFacebookPixelCode() . "\n";
    }
}
EOT;
                
                // Criar o diretório se não existir
                $dirPath = dirname($configFilePath);
                if (!is_dir($dirPath)) {
                    mkdir($dirPath, 0755, true);
                }
                
                // Criar o arquivo com o modelo
                file_put_contents($configFilePath, $modelContent);
            }
            
            // Preparar dados para atualização
            $trackingSettings = [
                'TRACKING_ENABLED' => isset($_POST['tracking_enabled']) ? true : false,
                'GA_ENABLED' => isset($_POST['ga_enabled']) ? true : false,
                'GSC_ENABLED' => isset($_POST['gsc_enabled']) ? true : false,
                'ADSENSE_ENABLED' => isset($_POST['adsense_enabled']) ? true : false,
                'FB_PIXEL_ENABLED' => isset($_POST['fb_pixel_enabled']) ? true : false,
                'GA_MEASUREMENT_ID' => isset($_POST['ga_measurement_id']) ? trim($_POST['ga_measurement_id']) : 'G-XXXXXXXXXX',
                'GSC_VERIFICATION_ID' => isset($_POST['gsc_verification_id']) ? trim($_POST['gsc_verification_id']) : 'XXXXXXXXXXXXXXXXXXXX',
                'ADSENSE_CLIENT_ID' => isset($_POST['adsense_client_id']) ? trim($_POST['adsense_client_id']) : 'ca-pub-XXXXXXXXXXXXXXXX',
                'FB_PIXEL_ID' => isset($_POST['fb_pixel_id']) ? trim($_POST['fb_pixel_id']) : 'XXXXXXXXXXXXXXX',
                'ADSENSE_ADS_TXT' => isset($_POST['adsense_ads_txt']) ? trim($_POST['adsense_ads_txt']) : 'google.com, pub-XXXXXXXXXXXXXXXX, DIRECT, f08c47fec0942fa0'
            ];
            
            // Validar os dados
            if ($trackingSettings['GA_ENABLED'] && $trackingSettings['GA_MEASUREMENT_ID'] === 'G-XXXXXXXXXX') {
                throw new Exception("O ID de Medição do Google Analytics é obrigatório quando ativado.");
            }
            
            if ($trackingSettings['GSC_ENABLED'] && $trackingSettings['GSC_VERIFICATION_ID'] === 'XXXXXXXXXXXXXXXXXXXX') {
                throw new Exception("O ID de Verificação do Google Search Console é obrigatório quando ativado.");
            }
            
            if ($trackingSettings['ADSENSE_ENABLED'] && $trackingSettings['ADSENSE_CLIENT_ID'] === 'ca-pub-XXXXXXXXXXXXXXXX') {
                throw new Exception("O ID do Cliente AdSense é obrigatório quando ativado.");
            }
            
            if ($trackingSettings['FB_PIXEL_ENABLED'] && $trackingSettings['FB_PIXEL_ID'] === 'XXXXXXXXXXXXXXX') {
                throw new Exception("O ID do Facebook Pixel é obrigatório quando ativado.");
            }
            
            // Obter o conteúdo atual do arquivo
            $fileContent = file_get_contents($configFilePath);
            
            // Atualizar o arquivo
            foreach ($trackingSettings as $key => $value) {
                if (is_bool($value)) {
                    $valueStr = $value ? 'true' : 'false';
                    $pattern = '/define\s*\(\s*[\'"]' . $key . '[\'"]' . '\s*,\s*(true|false)\s*\)\s*;/i';
                    $replacement = 'define(\'' . $key . '\', ' . $valueStr . ');';
                } else {
                    $pattern = '/define\s*\(\s*[\'"]' . $key . '[\'"]' . '\s*,\s*[\'"][^\'"]*[\'"]\s*\)\s*;/i';
                    $replacement = 'define(\'' . $key . '\', \'' . addslashes($value) . '\');';
                }
                
                $fileContent = preg_replace($pattern, $replacement, $fileContent);
            }
            
            // Salvar as alterações
            if (file_put_contents($configFilePath, $fileContent)) {
                setAlert("Configurações de rastreamento atualizadas com sucesso!", ALERT_SUCCESS);
            } else {
                throw new Exception("Não foi possível salvar as configurações. Verifique as permissões de escrita.");
            }
            
        } catch (Exception $e) {
            setAlert($e->getMessage(), ALERT_ERROR);
        }
        
        // Redireciona para evitar reenvio do formulário
        redirect('admin/config-tracking.php');
        
    } elseif ($action === 'generate_ads_txt') {
        $success = false;
        
        if (function_exists('generateAdsTxt')) {
            $success = generateAdsTxt();
        } else {
            // Implementação básica se a função não existir
            $adsPath = BASE_PATH . '/ads.txt';
            $content = defined('ADSENSE_ADS_TXT') ? ADSENSE_ADS_TXT : '';
            $content = "# Arquivo ads.txt gerado automaticamente\n# Última atualização: " . date('Y-m-d H:i:s') . "\n\n" . $content;
            $success = file_put_contents($adsPath, $content) !== false;
        }
        
        if ($success) {
            setAlert('Arquivo ads.txt gerado com sucesso.', ALERT_SUCCESS);
        } else {
            setAlert('Erro ao gerar o arquivo ads.txt. Verifique as permissões de escrita.', ALERT_ERROR);
        }
        
        // Redireciona para evitar reenvio do formulário
        redirect('admin/config-tracking.php');
        
    } elseif ($action === 'check_robots_txt') {
        $success = false;
        
        if (function_exists('checkRobotsTxt')) {
            $success = checkRobotsTxt();
        } else {
            // Implementação básica se a função não existir
            $robotsPath = BASE_PATH . '/robots.txt';
            
            if (!file_exists($robotsPath)) {
                $siteUrl = defined('SITE_URL') ? SITE_URL : 'https://example.com';
                $content = "# Arquivo robots.txt gerado automaticamente\n";
                $content .= "# Última atualização: " . date('Y-m-d H:i:s') . "\n\n";
                $content .= "User-agent: *\n";
                $content .= "Allow: /\n\n";
                $content .= "# Sitemaps\n";
                $content .= "Sitemap: " . rtrim($siteUrl, '/') . "/sitemap.xml\n";
                
                $success = file_put_contents($robotsPath, $content) !== false;
            }
        }
        
        if ($success) {
            setAlert('Arquivo robots.txt criado com sucesso.', ALERT_SUCCESS);
        } else {
            setAlert('O arquivo robots.txt já existe ou não foi possível criá-lo.', ALERT_INFO);
        }
        
        // Redireciona para evitar reenvio do formulário
        redirect('admin/config-tracking.php');
    }
}

// Incluir o header
require_once 'inc/header.php';
?>

<style>
    :root {
        --primary-color: #4F46E5;
        --secondary-color: #7C3AED;
        --accent-color: #EC4899;
        --dark-color: #1F2937;
        --light-color: #F8FAFC;
        --text-color: #1F2937;
        --border-color: #E5E7EB;
        --gradient: linear-gradient(135deg, var(--primary-color), var(--secondary-color));
    }

    body {
        font-family: 'Poppins', sans-serif;
        background: #f5f7fa;
        color: var(--text-color);
    }

    .container-fluid {
        max-width: 1400px;
    }

    .card {
        border-radius: 15px;
        box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
        border: none;
        background: white;
        animation: fadeInUp 0.5s ease-out forwards;
    }

    .card-body {
        padding: 2rem;
    }

    .stat-card {
        border-radius: 15px;
        background: white;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .stat-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    }

    .icon-circle {
        width: 50px;
        height: 50px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: transform 0.3s ease;
    }

    .stat-card:hover .icon-circle {
        transform: scale(1.1);
    }

    .nav-tabs {
        border-bottom: 1px solid var(--border-color);
        margin-bottom: 2rem;
    }

    .nav-tabs .nav-link {
        border: none;
        border-radius: 8px 8px 0 0;
        color: var(--text-color);
        font-weight: 500;
        padding: 0.75rem 1.5rem;
        transition: all 0.3s ease;
    }

    .nav-tabs .nav-link.active {
        background: var(--primary-color);
        color: white;
    }

    .nav-tabs .nav-link:hover {
        background: rgba(79, 70, 229, 0.1);
        color: var(--primary-color);
    }

    .form-label {
        font-weight: 500;
        color: var(--dark-color);
        font-size: 0.9rem;
        margin-bottom: 0.5rem;
    }

    .form-control, .form-select {
        border-radius: 8px;
        padding: 0.75rem 1rem;
        border: 1px solid var(--border-color);
        background: #F9FAFB;
        font-size: 0.95rem;
        transition: all 0.3s ease;
    }

    .form-control:focus, .form-select:focus {
        border-color: var(--primary-color);
        box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
        background: white;
    }

    .btn {
        border-radius: 8px;
        padding: 0.75rem 1.5rem;
        font-weight: 500;
        transition: all 0.3s ease;
    }

    .btn-primary {
        background: var(--gradient);
        border: none;
    }

    .btn-primary:hover {
        background: linear-gradient(135deg, #4338CA, #6D28D9);
        transform: translateY(-2px);
        box-shadow: 0 5px 15px rgba(79, 70, 229, 0.4);
    }

    .btn-outline-primary {
        border-color: var(--primary-color);
        color: var(--primary-color);
    }

    .btn-outline-primary:hover {
        background: var(--primary-color);
        color: white;
    }

    .alert {
        border-radius: 10px;
        padding: 1rem;
        font-weight: 500;
    }

    .badge {
        padding: 0.5em 1em;
        font-weight: 500;
        border-radius: 8px;
    }

    @keyframes fadeInUp {
        from { opacity: 0; transform: translateY(20px); }
        to { opacity: 1; transform: translateY(0); }
    }

    /* Responsividade */
    @media (max-width: 768px) {
        .container-fluid {
            padding: 1rem;
        }

        .card-body {
            padding: 1.5rem;
        }

        .btn {
            width: 100%;
            margin-bottom: 0.5rem;
        }
    }
</style>

<div class="container-fluid py-4">
    <!-- Cards de Status -->
    <div class="row g-4 mb-4">
        <div class="col-lg-3 col-md-6">
            <div class="card stat-card border-0 shadow-sm">
                <div class="card-body p-4">
                    <div class="d-flex justify-content-between align-items-center">
                        <div>
                            <h5 class="card-title text-muted mb-2">Google Analytics</h5>
                            <?php if (isset($trackingStatus['ga']) && $trackingStatus['ga']): ?>
                            <div class="badge bg-success bg-opacity-10 text-success py-2 px-3">Configurado</div>
                            <?php else: ?>
                            <div class="badge bg-warning bg-opacity-10 text-warning py-2 px-3">Não configurado</div>
                            <?php endif; ?>
                        </div>
                        <div class="icon-circle bg-primary bg-opacity-10">
                            <i class="fas fa-chart-line text-primary fs-4"></i>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="col-lg-3 col-md-6">
            <div class="card stat-card border-0 shadow-sm">
                <div class="card-body p-4">
                    <div class="d-flex justify-content-between align-items-center">
                        <div>
                            <h5 class="card-title text-muted mb-2">Search Console</h5>
                            <?php if (isset($trackingStatus['gsc']) && $trackingStatus['gsc']): ?>
                            <div class="badge bg-success bg-opacity-10 text-success py-2 px-3">Configurado</div>
                            <?php else: ?>
                            <div class="badge bg-warning bg-opacity-10 text-warning py-2 px-3">Não configurado</div>
                            <?php endif; ?>
                        </div>
                        <div class="icon-circle bg-success bg-opacity-10">
                            <i class="fas fa-search text-success fs-4"></i>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="col-lg-3 col-md-6">
            <div class="card stat-card border-0 shadow-sm">
                <div class="card-body p-4">
                    <div class="d-flex justify-content-between align-items-center">
                        <div>
                            <h5 class="card-title text-muted mb-2">Google AdSense</h5>
                            <?php if (isset($trackingStatus['adsense']) && $trackingStatus['adsense']): ?>
                            <div class="badge bg-success bg-opacity-10 text-success py-2 px-3">Configurado</div>
                            <?php else: ?>
                            <div class="badge bg-warning bg-opacity-10 text-warning py-2 px-3">Não configurado</div>
                            <?php endif; ?>
                        </div>
                        <div class="icon-circle bg-info bg-opacity-10">
                            <i class="fas fa-ad text-info fs-4"></i>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <div class="col-lg-3 col-md-6">
            <div class="card stat-card border-0 shadow-sm">
                <div class="card-body p-4">
                    <div class="d-flex justify-content-between align-items-center">
                        <div>
                            <h5 class="card-title text-muted mb-2">Facebook Pixel</h5>
                            <?php if (isset($trackingStatus['fb_pixel']) && $trackingStatus['fb_pixel']): ?>
                            <div class="badge bg-success bg-opacity-10 text-success py-2 px-3">Configurado</div>
                            <?php else: ?>
                            <div class="badge bg-warning bg-opacity-10 text-warning py-2 px-3">Não configurado</div>
                            <?php endif; ?>
                        </div>
                        <div class="icon-circle bg-warning bg-opacity-10">
                            <i class="fab fa-facebook-f text-warning fs-4"></i>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>

    <!-- Configurações de Rastreamento -->
    <div class="row g-4">
        <div class="col-lg-8">
            <div class="card border-0 shadow-sm">
                <div class="card-header bg-white border-bottom py-3">
                    <h5 class="card-title mb-0 fw-semibold">Configurações de Rastreamento</h5>
                </div>
                <div class="card-body p-4">
                    <form action="" method="post" id="tracking-form">
                        <input type="hidden" name="action" value="update_tracking">
                        
                        <div class="row mb-4">
                            <div class="col-md-6">
                                <div class="form-check form-switch mb-3">
                                    <input class="form-check-input" type="checkbox" id="tracking_enabled" name="tracking_enabled" <?php echo TRACKING_ENABLED ? 'checked' : ''; ?>>
                                    <label class="form-check-label" for="tracking_enabled">Ativar Rastreamento</label>
                                </div>
                                <div class="form-text">Ativa ou desativa todos os serviços de rastreamento ao mesmo tempo.</div>
                            </div>
                        </div>
                        
                        <h6 class="fw-semibold mb-3">Google Analytics</h6>
                        <div class="row mb-4">
                            <div class="col-md-6">
                                <div class="form-check form-switch mb-3">
                                    <input class="form-check-input" type="checkbox" id="ga_enabled" name="ga_enabled" <?php echo GA_ENABLED ? 'checked' : ''; ?>>
                                    <label class="form-check-label" for="ga_enabled">Ativar Google Analytics</label>
                                </div>
                                <div class="mb-3">
                                    <label for="ga_measurement_id" class="form-label">ID de Medição (GA4)</label>
                                    <input type="text" class="form-control" id="ga_measurement_id" name="ga_measurement_id" value="<?php echo htmlspecialchars(GA_MEASUREMENT_ID); ?>" placeholder="G-XXXXXXXXXX">
                                    <div class="form-text">Ex: G-XXXXXXXXXX</div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="alert alert-info">
                                    <h6 class="alert-heading fw-semibold">Como encontrar seu ID de Medição?</h6>
                                    <p class="mb-0">Acesse o Google Analytics, vá para Administrador &gt; Propriedade &gt; Fluxos de dados &gt; Web e copie o ID de medição (G-XXXXXXXXXX).</p>
                                </div>
                            </div>
                        </div>
                        
                        <h6 class="fw-semibold mb-3">Google Search Console</h6>
                        <div class="row mb-4">
                            <div class="col-md-6">
                                <div class="form-check form-switch mb-3">
                                    <input class="form-check-input" type="checkbox" id="gsc_enabled" name="gsc_enabled" <?php echo GSC_ENABLED ? 'checked' : ''; ?>>
                                    <label class="form-check-label" for="gsc_enabled">Ativar Google Search Console</label>
                                </div>
                                <div class="mb-3">
                                    <label for="gsc_verification_id" class="form-label">ID de Verificação</label>
                                    <input type="text" class="form-control" id="gsc_verification_id" name="gsc_verification_id" value="<?php echo htmlspecialchars(GSC_VERIFICATION_ID); ?>" placeholder="XXXXXXXXXXXXXXXXXXXX">
                                    <div class="form-text">Código da meta tag de verificação</div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="alert alert-info">
                                    <h6 class="alert-heading fw-semibold">Como verificar seu site?</h6>
                                    <p class="mb-0">Acesse o Google Search Console, adicione sua propriedade e escolha o método de verificação "Tag HTML". Copie apenas o valor do atributo "content".</p>
                                </div>
                            </div>
                        </div>
                        
                        <h6 class="fw-semibold mb-3">Google AdSense</h6>
                        <div class="row mb-4">
                            <div class="col-md-6">
                                <div class="form-check form-switch mb-3">
                                    <input class="form-check-input" type="checkbox" id="adsense_enabled" name="adsense_enabled" <?php echo ADSENSE_ENABLED ? 'checked' : ''; ?>>
                                    <label class="form-check-label" for="adsense_enabled">Ativar Google AdSense</label>
                                </div>
                                <div class="mb-3">
                                    <label for="adsense_client_id" class="form-label">ID do Cliente</label>
                                    <input type="text" class="form-control" id="adsense_client_id" name="adsense_client_id" value="<?php echo htmlspecialchars(ADSENSE_CLIENT_ID); ?>" placeholder="ca-pub-XXXXXXXXXXXXXXXX">
                                    <div class="form-text">Ex: ca-pub-XXXXXXXXXXXXXXXX</div>
                                </div>
                                <div class="mb-3">
                                    <label for="adsense_ads_txt" class="form-label">Conteúdo do ads.txt</label>
                                    <textarea class="form-control" id="adsense_ads_txt" name="adsense_ads_txt" rows="3"><?php echo htmlspecialchars(ADSENSE_ADS_TXT); ?></textarea>
                                    <div class="form-text">Linha para o arquivo ads.txt</div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="alert alert-info">
                                    <h6 class="alert-heading fw-semibold">Como encontrar seu ID de Cliente?</h6>
                                    <p>Acesse sua conta do Google AdSense, vá para Configurações &gt; Configurações da conta &gt; Informações da conta. O ID do editor é o seu ID de cliente.</p>
                                    <hr>
                                    <p class="mb-0">Para obter o conteúdo do ads.txt, vá para Configurações &gt; Arquivos de site &gt; ads.txt.</p>
                                </div>
                            </div>
                        </div>
                        
                        <h6 class="fw-semibold mb-3">Facebook Pixel</h6>
                        <div class="row mb-4">
                            <div class="col-md-6">
                                <div class="form-check form-switch mb-3">
                                    <input class="form-check-input" type="checkbox" id="fb_pixel_enabled" name="fb_pixel_enabled" <?php echo FB_PIXEL_ENABLED ? 'checked' : ''; ?>>
                                    <label class="form-check-label" for="fb_pixel_enabled">Ativar Facebook Pixel</label>
                                </div>
                                <div class="mb-3">
                                    <label for="fb_pixel_id" class="form-label">ID do Pixel</label>
                                    <input type="text" class="form-control" id="fb_pixel_id" name="fb_pixel_id" value="<?php echo htmlspecialchars(FB_PIXEL_ID); ?>" placeholder="XXXXXXXXXXXXXXX">
                                    <div class="form-text">Ex: 123456789012345</div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="alert alert-info">
                                    <h6 class="alert-heading fw-semibold">Como encontrar seu ID do Pixel?</h6>
                                    <p class="mb-0">Acesse o Facebook Business Manager, vá para Eventos &gt; Pixels e encontre seu ID do Pixel.</p>
                                </div>
                            </div>
                        </div>
                        
                        <div class="d-grid">
                            <button type="submit" class="btn btn-primary">
                                <i class="fas fa-save me-2"></i>Salvar Configurações
                            </button>
                        </div>
                    </form>
                </div>
            </div>
        </div>
        
        <div class="col-lg-4">
            <!-- Arquivos do Site -->
            <div class="card border-0 shadow-sm mb-4">
                <div class="card-header bg-white border-bottom py-3">
                    <h5 class="card-title mb-0 fw-semibold">Arquivos do Site</h5>
                </div>
                <div class="card-body p-4">
                    <div class="mb-4">
                        <h6 class="fw-semibold">ads.txt</h6>
                        <p class="text-muted mb-3">O arquivo ads.txt é necessário para o Google AdSense verificar que você é o proprietário legítimo do site.</p>
                        <div class="d-flex align-items-center mb-2">
                            <div class="me-3">
                                <?php if (isset($trackingStatus['ads_txt']) && $trackingStatus['ads_txt']): ?>
                                <span class="badge bg-success"><i class="fas fa-check me-1"></i>Existe</span>
                                <?php else: ?>
                                <span class="badge bg-danger"><i class="fas fa-times me-1"></i>Não existe</span>
                                <?php endif; ?>
                            </div>
                            <form action="" method="post" class="ms-auto">
                                <input type="hidden" name="action" value="generate_ads_txt">
                                <button type="submit" class="btn btn-sm btn-outline-primary">
                                    <i class="fas fa-file-circle-plus me-1"></i>Gerar ads.txt
                                </button>
                            </form>
                        </div>
                        <?php if (isset($trackingStatus['ads_txt']) && $trackingStatus['ads_txt']): ?>
                        <div class="d-flex align-items-center">
                            <small class="text-muted">Última atualização: <?php echo date('d/m/Y H:i:s', filemtime(BASE_PATH . '/ads.txt')); ?></small>
                            <a href="<?php echo SITE_URL; ?>/ads.txt" target="_blank" class="btn btn-sm btn-link ms-auto">Ver arquivo</a>
                        </div>
                        <?php endif; ?>
                    </div>
                    
                    <div>
                        <h6 class="fw-semibold">robots.txt</h6>
                        <p class="text-muted mb-3">O arquivo robots.txt dá instruções aos robôs de busca sobre como rastrear seu site.</p>
                        <div class="d-flex align-items-center mb-2">
                            <div class="me-3">
                                <?php if (isset($trackingStatus['robots_txt']) && $trackingStatus['robots_txt']): ?>
                                <span class="badge bg-success"><i class="fas fa-check me-1"></i>Existe</span>
                                <?php else: ?>
                                <span class="badge bg-danger"><i class="fas fa-times me-1"></i>Não existe</span>
                                <?php endif; ?>
                            </div>
                            <form action="" method="post" class="ms-auto">
                                <input type="hidden" name="action" value="check_robots_txt">
                                <button type="submit" class="btn btn-sm btn-outline-primary">
                                    <i class="fas fa-file-circle-plus me-1"></i>Verificar/Criar robots.txt
                                </button>
                            </form>
                        </div>
                        <?php if (isset($trackingStatus['robots_txt']) && $trackingStatus['robots_txt']): ?>
                        <div class="d-flex align-items-center">
                            <small class="text-muted">Última atualização: <?php echo date('d/m/Y H:i:s', filemtime(BASE_PATH . '/robots.txt')); ?></small>
                            <a href="<?php echo SITE_URL; ?>/robots.txt" target="_blank" class="btn btn-sm btn-link ms-auto">Ver arquivo</a>
                        </div>
                        <?php endif; ?>
                    </div>
                </div>
            </div>
            
            <!-- Códigos de Exemplo -->
            <div class="card border-0 shadow-sm mb-4">
                <div class="card-header bg-white border-bottom py-3">
                    <h5 class="card-title mb-0 fw-semibold">Códigos de Exemplo</h5>
                </div>
                <div class="card-body p-4">
                    <p class="text-muted mb-3">Veja abaixo como os códigos de rastreamento ficarão no seu site:</p>
                    
                    <div class="nav nav-tabs mb-3" id="code-tabs" role="tablist">
                        <button class="nav-link active" id="ga-tab" data-bs-toggle="tab" data-bs-target="#ga-code" type="button" role="tab">Analytics</button>
                        <button class="nav-link" id="gsc-tab" data-bs-toggle="tab" data-bs-target="#gsc-code" type="button" role="tab">Search Console</button>
                        <button class="nav-link" id="adsense-tab" data-bs-toggle="tab" data-bs-target="#adsense-code" type="button" role="tab">AdSense</button>
                        <button class="nav-link" id="pixel-tab" data-bs-toggle="tab" data-bs-target="#pixel-code" type="button" role="tab">FB Pixel</button>
                    </div>
                    
                    <div class="tab-content" id="code-tab-content">
                        <div class="tab-pane fade show active" id="ga-code" role="tabpanel">
                            <div class="code-block bg-light p-3 rounded">
                                <pre class="mb-0"><code><?php echo htmlspecialchars(getGoogleAnalyticsCode()); ?></code></pre>
                            </div>
                        </div>
                        <div class="tab-pane fade" id="gsc-code" role="tabpanel">
                            <div class="code-block bg-light p-3 rounded">
                                <pre class="mb-0"><code><?php echo htmlspecialchars(getGoogleSearchConsoleCode()); ?></code></pre>
                            </div>
                        </div>
                        <div class="tab-pane fade" id="adsense-code" role="tabpanel">
                            <div class="code-block bg-light p-3 rounded">
                                <pre class="mb-0"><code><?php echo htmlspecialchars(getGoogleAdSenseCode()); ?></code></pre>
                            </div>
                        </div>
                        <div class="tab-pane fade" id="pixel-code" role="tabpanel">
                            <div class="code-block bg-light p-3 rounded">
                                <pre class="mb-0"><code><?php echo htmlspecialchars(getFacebookPixelCode()); ?></code></pre>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Ajuda -->
            <div class="card border-0 shadow-sm">
                <div class="card-header bg-white border-bottom py-3">
                    <h5 class="card-title mb-0 fw-semibold">Ajuda</h5>
                </div>
                <div class="card-body p-4">
                    <div class="accordion" id="helpAccordion">
                        <div class="accordion-item border-0 mb-2">
                            <h2 class="accordion-header">
                                <button class="accordion-button collapsed bg-light rounded" type="button" data-bs-toggle="collapse" data-bs-target="#help1">
                                    Como adicionar anúncios em meus artigos?
                                </button>
                            </h2>
                            <div id="help1" class="accordion-collapse collapse" data-bs-parent="#helpAccordion">
                                <div class="accordion-body pt-0">
                                    <p>Para adicionar anúncios AdSense em seus artigos, use a função <code>getAdSenseAdUnit()</code>:</p>
                                    <pre class="bg-light p-2 rounded"><code>&lt;?php echo getAdSenseAdUnit('1234567890'); ?&gt;</code></pre>
                                    <p>Substitua <code>1234567890</code> pelo ID do seu bloco de anúncios.</p>
                                </div>
                            </div>
                        </div>
                        
                        <div class="accordion-item border-0 mb-2">
                            <h2 class="accordion-header">
                                <button class="accordion-button collapsed bg-light rounded" type="button" data-bs-toggle="collapse" data-bs-target="#help2">
                                    Como rastrear eventos personalizados?
                                </button>
                            </h2>
                            <div id="help2" class="accordion-collapse collapse" data-bs-parent="#helpAccordion">
                                <div class="accordion-body pt-0">
                                    <p>Para rastrear eventos personalizados no Google Analytics, adicione o seguinte código JavaScript:</p>
                                    <pre class="bg-light p-2 rounded"><code>gtag('event', 'nome_do_evento', {
  'parametro1': 'valor1',
  'parametro2': 'valor2'
});</code></pre>
                                </div>
                            </div>
                        </div>
                        
                        <div class="accordion-item border-0">
                            <h2 class="accordion-header">
                                <button class="accordion-button collapsed bg-light rounded" type="button" data-bs-toggle="collapse" data-bs-target="#help3">
                                    Como monitorar o desempenho de SEO?
                                </button>
                            </h2>
                            <div id="help3" class="accordion-collapse collapse" data-bs-parent="#helpAccordion">
                                <div class="accordion-body pt-0">
                                    <p>Para monitorar o desempenho de SEO do seu site:</p>
                                    <ol>
                                        <li>Configure o Google Search Console</li>
                                        <li>Envie seu sitemap.xml através da interface do GSC</li>
                                        <li>Verifique regularmente os relatórios de desempenho</li>
                                        <li>Analise erros de rastreamento e indexação</li>
                                    </ol>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function() {
    // Função para mostrar/ocultar os campos com base nas checkboxes
    function toggleFields() {
        const trackingEnabled = document.getElementById('tracking_enabled').checked;
        const gaEnabled = document.getElementById('ga_enabled').checked;
        const gscEnabled = document.getElementById('gsc_enabled').checked;
        const adsenseEnabled = document.getElementById('adsense_enabled').checked;
        const fbPixelEnabled = document.getElementById('fb_pixel_enabled').checked;
        
        // Desabilita/habilita os campos baseado no status do rastreamento principal
        document.getElementById('ga_enabled').disabled = !trackingEnabled;
        document.getElementById('gsc_enabled').disabled = !trackingEnabled;
        document.getElementById('adsense_enabled').disabled = !trackingEnabled;
        document.getElementById('fb_pixel_enabled').disabled = !trackingEnabled;
        
        // Desabilita/habilita os campos baseado no status de cada serviço
        document.getElementById('ga_measurement_id').disabled = !trackingEnabled || !gaEnabled;
        document.getElementById('gsc_verification_id').disabled = !trackingEnabled || !gscEnabled;
        document.getElementById('adsense_client_id').disabled = !trackingEnabled || !adsenseEnabled;
        document.getElementById('adsense_ads_txt').disabled = !trackingEnabled || !adsenseEnabled;
        document.getElementById('fb_pixel_id').disabled = !trackingEnabled || !fbPixelEnabled;
    }
    
    // Adiciona event listeners às checkboxes
    document.getElementById('tracking_enabled').addEventListener('change', toggleFields);
    document.getElementById('ga_enabled').addEventListener('change', toggleFields);
    document.getElementById('gsc_enabled').addEventListener('change', toggleFields);
    document.getElementById('adsense_enabled').addEventListener('change', toggleFields);
    document.getElementById('fb_pixel_enabled').addEventListener('change', toggleFields);
    
    // Executa a função no carregamento da página
    toggleFields();
    
    // Valida o formulário antes de enviar
    document.getElementById('tracking-form').addEventListener('submit', function(event) {
        const trackingEnabled = document.getElementById('tracking_enabled').checked;
        const gaEnabled = document.getElementById('ga_enabled').checked;
        const gscEnabled = document.getElementById('gsc_enabled').checked;
        const adsenseEnabled = document.getElementById('adsense_enabled').checked;
        const fbPixelEnabled = document.getElementById('fb_pixel_enabled').checked;
        
        let isValid = true;
        let errorMessage = '';
        
        if (trackingEnabled) {
            if (gaEnabled && document.getElementById('ga_measurement_id').value.trim() === 'G-XXXXXXXXXX') {
                errorMessage += '- ID de Medição do Google Analytics é obrigatório quando ativado.\n';
                isValid = false;
            }
            
            if (gscEnabled && document.getElementById('gsc_verification_id').value.trim() === 'XXXXXXXXXXXXXXXXXXXX') {
                errorMessage += '- ID de Verificação do Google Search Console é obrigatório quando ativado.\n';
                isValid = false;
            }
            
            if (adsenseEnabled && document.getElementById('adsense_client_id').value.trim() === 'ca-pub-XXXXXXXXXXXXXXXX') {
                errorMessage += '- ID do Cliente AdSense é obrigatório quando ativado.\n';
                isValid = false;
            }
            
            if (fbPixelEnabled && document.getElementById('fb_pixel_id').value.trim() === 'XXXXXXXXXXXXXXX') {
                errorMessage += '- ID do Facebook Pixel é obrigatório quando ativado.\n';
                isValid = false;
            }
        }
        
        if (!isValid) {
            event.preventDefault();
            alert('Por favor, corrija os seguintes erros:\n\n' + errorMessage);
        }
    });
});
</script>

<?php require_once 'inc/footer.php'; ?>