<?php
/**
 * 🤖 Gerenciador de Sincronização IBO XC — Edição 2026 Otimizada
 * ✅ Sincronização: TMDB API ↔️ SportsGuide
 * ✅ Foco: Integração global em WebView e Botões de Futebol em todos os temas
 */

// Silenciar erros para produção
ini_set("display_errors", 0);
error_reporting(0);

include "includes/header.php";

// ==============================
// CONFIGURAÇÕES DE CAMINHO
// ==============================
$dbPath = "./api/.db_ads.db";
$dir = dirname($dbPath);

if (!is_dir($dir)) { @mkdir($dir, 0755, true); }

try {
    $db = new SQLite3($dbPath);
    $db->busyTimeout(5000);
} catch (Exception $e) {
    $db = null;
    $alert_output = "<div class='alert alert-danger shadow-sm border-0'>❌ Erro de Banco: Verifique as permissões da pasta /api.</div>";
}

if ($db) {
    $db->exec("CREATE TABLE IF NOT EXISTS adsstatus (id INTEGER PRIMARY KEY, adstype TEXT)");
    if ($db->querySingle("SELECT COUNT(*) FROM adsstatus") == 0) {
        $db->exec("INSERT INTO adsstatus (id, adstype) VALUES (1, 'TMDB')");
    }
}

// ==============================
// LÓGICA DE SINCRONIZAÇÃO OTIMIZADA
// ==============================
$alert_output = "";

if ($_SERVER["REQUEST_METHOD"] === "POST" && $db) {
    
    if (isset($_POST["ad_item"])) {
        $ad_item = $_POST["ad_item"]; 
        
        $stmt = $db->prepare("UPDATE adsstatus SET adstype = :type WHERE id = 1");
        $stmt->bindValue(":type", $ad_item, SQLITE3_TEXT);
        
        if ($stmt->execute()) {
            // Regulação: Sincroniza o arquivo allads.php para injetar as chamadas nos temas
            $src  = "./" . $ad_item . "/allads.php";
            $dest = "./api/allads.php";
            
            if (file_exists($src)) {
                if (file_exists($dest)) { @unlink($dest); }
                
                if (@copy($src, $dest)) {
                    // Lógica de propagação para Temas WebView e Botões de Futebol
                    $alert_output = "
                    <div class='alert alert-success border-0 shadow-sm animated bounceIn'>
                        <i class='fas fa-sync-alt fa-spin me-2'></i> 
                        <strong>$ad_item</strong> Ativado! Chamadas propagadas para WebView e Temas de Futebol.
                    </div>";
                } else {
                    $alert_output = "<div class='alert alert-warning border-0 shadow-sm'>⚠️ Falha ao copiar arquivo. Verifique permissões.</div>";
                }
            } else {
                $alert_output = "<div class='alert alert-danger border-0 shadow-sm'>❌ Erro: O arquivo de integração <strong>$src</strong> não foi encontrado.</div>";
            }
        }
    }
}

$current_ad_type = ($db) ? ($db->querySingle("SELECT adstype FROM adsstatus WHERE id = 1") ?: "TMDB") : "TMDB";
?>

<style>
    @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700;800&display=swap');
    :root {
        --primary: #2E3192;
        --accent: #6366f1;
        --sports: #ef4444;
        --bg-body: #f8fafc;
    }
    body { background-color: var(--bg-body); font-family: 'Inter', sans-serif; color: #1e293b; }
    .card-premium { border: none; border-radius: 24px; background: #fff; box-shadow: 0 20px 50px rgba(0,0,0,0.06); overflow: hidden; margin-top: 2rem; }
    .header-premium { background: linear-gradient(135deg, var(--primary), var(--accent)); padding: 2.5rem 1.5rem; color: white; text-align: center; }
    .option-box { background: #f8fafc; border: 2px solid #e2e8f0; border-radius: 20px; padding: 40px 20px; text-align: center; transition: 0.3s; height: 100%; display: flex; flex-direction: column; justify-content: space-between; }
    .option-box.active { border-color: var(--accent); background: #fff; box-shadow: 0 10px 25px rgba(99,102,241,0.15); }
    .option-box i { font-size: 4rem; margin-bottom: 20px; }
    .btn-sync { color: white; border: none; padding: 16px; border-radius: 14px; font-weight: 800; width: 100%; transition: 0.3s; text-transform: uppercase; letter-spacing: 1px; margin-top: 20px; }
    .btn-tmdb { background: linear-gradient(135deg, #0d253f, #01b4e4); }
    .btn-sports { background: linear-gradient(135deg, #ef4444, #f97316); }
    .btn-sync:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0,0,0,0.1); filter: brightness(1.1); }
</style>

<div class="container py-5">
    <div class="row justify-content-center">
        <div class="col-lg-10 col-xl-8">
            <div id="alert-anchor"><?= $alert_output ?></div>

            <div class="card card-premium">
                <div class="header-premium">
                    <h2 class="fw-bold mb-1">Central de Integração API</h2>
                    <p class="small opacity-75 fw-bold text-uppercase mb-0">Sincronização global de WebView e Eventos Esportivos</p>
                </div>

                <div class="card-body p-4 p-md-5">
                    <div class="row g-4">
                        <div class="col-md-6">
                            <form method="POST">
                                <input type="hidden" name="ad_item" value="TMDB">
                                <div class="option-box <?= ($current_ad_type == 'TMDB') ? 'active' : '' ?>">
                                    <div>
                                        <i class="fas fa-film text-info"></i>
                                        <h4 class="fw-bold">TMDB API</h4>
                                        <p class="text-muted small">Ativa metadados e capas em <strong>todos os temas WebView</strong> automaticamente.</p>
                                    </div>
                                    <button type="submit" class="btn btn-sync btn-tmdb">
                                        <i class="fas fa-play-circle me-2"></i>Ativar TMDB
                                    </button>
                                </div>
                            </form>
                        </div>
                        
                        <div class="col-md-6">
                            <form method="POST">
                                <input type="hidden" name="ad_item" value="SportsGuide">
                                <div class="option-box <?= ($current_ad_type == 'SportsGuide') ? 'active' : '' ?>">
                                    <div>
                                        <i class="fas fa-futbol text-danger"></i>
                                        <h4 class="fw-bold">SPORTS GUIDE</h4>
                                        <p class="text-muted small">Vincula a grade de jogos aos <strong>botões de futebol</strong> de todos os temas.</p>
                                    </div>
                                    <button type="submit" class="btn btn-sync btn-sports">
                                        <i class="fas fa-trophy me-2"></i>Ativar Sports
                                    </button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>

                <div class="card-footer bg-light border-0 py-4 text-center">
                    <span class="text-muted small fw-bold text-uppercase">Status Atual: </span>
                    <span class="badge rounded-pill px-4 py-2 <?= ($current_ad_type == 'TMDB') ? 'bg-dark' : 'bg-danger' ?>">
                        <i class="fas fa-broadcast-tower me-1"></i> <?= strtoupper($current_ad_type) ?> INTEGRADO
                    </span>
                </div>
            </div>
        </div>
    </div>
</div>

<script>
document.addEventListener("DOMContentLoaded", () => {
    setTimeout(() => {
        const alerts = document.querySelectorAll('.alert');
        alerts.forEach(el => {
            el.style.transition = "0.8s opacity";
            el.style.opacity = "0";
            setTimeout(() => el.remove(), 800);
        });
    }, 4000);
});
</script>

<?php
if ($db) $db->close();
include "includes/footer.php";
?>