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

$pdo = getConexaoAtiva(); // Banco Principal (Xtream ou XUI)
$pdo_int = getConexaoInterna(); // Banco Local (Configs e Saldos)

$pdo->exec("SET NAMES utf8mb4");
$pdo_int->exec("SET NAMES utf8mb4");

// ====================================================================
// INTELIGÊNCIA ARTIFICIAL: DETECTA SE É XUI ONE OU XTREAM UI
// ====================================================================
$modo_ativo = 'interno';
try {
    $modo_ativo = $pdo_int->query("SELECT modo_ativo FROM configuracoes LIMIT 1")->fetchColumn() ?: 'interno';
} catch (Exception $e) {}

// O XUI One usa a tabela de séries no plural (streams_series)
$tabela_series = ($modo_ativo === 'xui') ? '`streams_series`' : '`series`';

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

try {
    // Busca as configs sempre no BANCO INTERNO
    $tabela_existe = $pdo_int->query("SHOW TABLES LIKE 'painel_config'")->rowCount() > 0;
    if ($tabela_existe) {
        $config_painel = $pdo_int->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'];

// Busca saldo sempre no BANCO INTERNO
try { 
    $user_credits = $pdo_int->query("SELECT credits FROM reg_users WHERE id = " . intval($user_id_logado))->fetchColumn() ?: 0; 
} catch (Exception $e) { $user_credits = 0; }

// ==============================================================================
// 1. BUSCA OS TOTAIS DO SERVIDOR (COMPATÍVEL COM XUI E XTREAM)
// ==============================================================================
$total_canais = $pdo->query("SELECT COUNT(id) FROM streams WHERE type = 1")->fetchColumn() ?: 0;
$total_filmes = $pdo->query("SELECT COUNT(id) FROM streams WHERE type = 2")->fetchColumn() ?: 0;
$total_series = $pdo->query("SELECT COUNT(id) FROM $tabela_series")->fetchColumn() ?: 0;

// ==============================================================================
// 2. BUSCA OS 10 ÚLTIMOS ADICIONADOS
// ==============================================================================
// Últimos 10 Canais
$ultimos_canais = $pdo->query("SELECT stream_display_name, stream_icon, added FROM streams WHERE type = 1 ORDER BY id DESC LIMIT 10")->fetchAll(PDO::FETCH_ASSOC);

// Últimos 10 Filmes
$ultimos_filmes = $pdo->query("SELECT stream_display_name, stream_icon, added FROM streams WHERE type = 2 ORDER BY id DESC LIMIT 10")->fetchAll(PDO::FETCH_ASSOC);

// Últimas 10 Séries (Puxa da tabela inteligente)
$ultimas_series = $pdo->query("SELECT title as stream_display_name, cover as stream_icon, last_modified as added FROM $tabela_series ORDER BY id DESC LIMIT 10")->fetchAll(PDO::FETCH_ASSOC);

?>
<!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>Últimos Adicionados - <?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: #0f1114; 
            --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; }

        /* CSS OBRIGATÓRIO PARA A LOGO E MENU */
        .sidebar { width: 260px; background-color: var(--bg-sidebar); border-right: 1px solid var(--border-color); display: flex; flex-direction: column; transition: 0.3s; flex-shrink: 0; z-index: 1001;}
        .sidebar-header { padding: 25px 20px; text-align: center; font-size: 22px; font-weight: bold; color: white; border-bottom: 1px solid var(--border-color); }
        .sidebar-logo { width: 100%; max-width: 180px; height: auto; max-height: 60px; object-fit: contain; display: block; margin: 0 auto; }
        .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-category { padding: 20px 20px 8px; font-size: 11px; text-transform: uppercase; color: var(--text-muted); font-weight: bold; letter-spacing: 1px; }
        .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: 15px; 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); }
        .logout-btn { padding: 15px; background-color: #dc3545; color: white; text-align: center; text-decoration: none; font-weight: bold; margin-top: auto; }
        .sidebar-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1000; }

        /* MAIN CONTENT */
        .main { 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); }
        .content-area { padding: 25px; flex: 1; max-width: 1200px; margin: 0 auto; width: 100%; box-sizing: border-box; }
        .mode-badge { padding: 6px 15px; background: rgba(243, 156, 18, 0.15); color: var(--warning); border-radius: 20px; font-size: 12px; font-weight: bold; border: 1px solid var(--warning); white-space: nowrap; display: inline-block; }

        /* CARDS DE TOTAL */
        .grid-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-bottom: 30px; }
        .app-card { background-color: var(--bg-card); border-radius: 8px; padding: 20px; display: flex; justify-content: space-between; align-items: center; border: 1px solid var(--border-color); transition: 0.2s; position: relative; overflow: hidden; }
        .app-card:hover { transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0,0,0,0.3); border-color: var(--accent); }
        .card-icon { font-size: 40px; opacity: 0.8; }
        .card-data { text-align: right; }
        .card-number { font-size: 30px; font-weight: 900; color: white; line-height: 1; display: block; margin-bottom: 5px; }
        .card-label { font-size: 12px; text-transform: uppercase; color: var(--text-muted); font-weight: bold; display: block; }
        
        .section-header { display: flex; align-items: center; margin: 30px 0 15px 0; font-size: 18px; font-weight: bold; color: white; border-bottom: 2px solid var(--border-color); padding-bottom: 10px; }
        .section-header i { margin-right: 10px; font-size: 20px; color: var(--accent); }

        /* GRID DE POSTERS (FILMES E SÉRIES) */
        .poster-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 15px; margin-bottom: 20px; }
        .poster-card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; text-align: center; transition: 0.3s; position: relative; }
        .poster-card:hover { transform: scale(1.05); border-color: var(--accent); z-index: 2; box-shadow: 0 10px 20px rgba(0,0,0,0.5); }
        .poster-img { width: 100%; height: 230px; object-fit: cover; background: #000; border-bottom: 1px solid var(--border-color); }
        .poster-title { padding: 10px 10px 5px 10px; font-size: 13px; font-weight: bold; color: white; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .poster-date { font-size: 11px; color: var(--success); padding-bottom: 10px; font-weight: bold; }
        .badge-new { position: absolute; top: 10px; right: 10px; background: var(--danger); color: white; font-size: 10px; padding: 3px 8px; border-radius: 4px; font-weight: bold; box-shadow: 0 2px 5px rgba(0,0,0,0.5); }

        /* GRID DE CANAIS (MENORZINHA) */
        .channel-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 15px; margin-bottom: 20px; }
        .channel-card { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; text-align: center; transition: 0.3s; position: relative; padding-top: 15px; }
        .channel-card:hover { transform: scale(1.05); border-color: var(--accent); z-index: 2; box-shadow: 0 10px 20px rgba(0,0,0,0.5); }
        .channel-img { width: 80px; height: 80px; object-fit: contain; margin: 0 auto; border-radius: 50%; background: rgba(0,0,0,0.2); padding: 5px; }
        .channel-title { padding: 10px 10px 5px 10px; font-size: 12px; font-weight: bold; color: white; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

        .menu-toggle { display: none; background: none; border: none; color: white; font-size: 24px; cursor: pointer; padding: 5px; }

        @media (max-width: 768px) {
            .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; }
            .menu-toggle { display: block; margin-right: 15px; }
            .topbar { padding: 15px 20px; justify-content: flex-start; }
            .topbar-right { margin-left: auto; }
            .content-area { padding: 15px; }
            .poster-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
            .poster-img { height: 190px; }
        }
    </style>
</head>
<body>

    <div class="sidebar-overlay" id="overlay"></div>

    <?php include 'sidebar.php'; ?>

    <div class="main">
        <header class="topbar">
            <div style="display: flex; align-items: center;">
                <button class="menu-toggle" id="btn-menu"><i class="fas fa-bars"></i></button>
                <h2 style="margin:0; color: white;">Últimos Adicionados</h2>
            </div>
            <div class="topbar-right">
                <span class="mode-badge"><i class="fas fa-star"></i> NOVIDADES DO SERVIDOR</span>
            </div>
        </header>

        <div class="content-area">
            
            <div class="grid-cards">
                <div class="app-card" style="border-left: 4px solid #0ea5e9;">
                    <div class="card-icon" style="color: #0ea5e9;"><i class="fas fa-broadcast-tower"></i></div>
                    <div class="card-data">
                        <span class="card-number"><?php echo number_format($total_canais, 0, '', '.'); ?></span>
                        <span class="card-label">Canais de TV</span>
                    </div>
                </div>
                
                <div class="app-card" style="border-left: 4px solid #2ecc71;">
                    <div class="card-icon" style="color: #2ecc71;"><i class="fas fa-film"></i></div>
                    <div class="card-data">
                        <span class="card-number"><?php echo number_format($total_filmes, 0, '', '.'); ?></span>
                        <span class="card-label">Filmes (VOD)</span>
                    </div>
                </div>
                
                <div class="app-card" style="border-left: 4px solid #8b5cf6;">
                    <div class="card-icon" style="color: #8b5cf6;"><i class="fas fa-video"></i></div>
                    <div class="card-data">
                        <span class="card-number"><?php echo number_format($total_series, 0, '', '.'); ?></span>
                        <span class="card-label">Séries Adicionadas</span>
                    </div>
                </div>
            </div>

            <div class="section-header"><i class="fas fa-film" style="color: #2ecc71;"></i> Top 10 Filmes Recentes</div>
            <?php if (empty($ultimos_filmes)): ?>
                <p style="color: var(--text-muted);">Nenhum filme encontrado.</p>
            <?php else: ?>
                <div class="poster-grid">
                    <?php foreach ($ultimos_filmes as $item): 
                        $capa = $item['stream_icon'] ?: 'https://via.placeholder.com/300x450/1e2227/d1d5da?text=SEM+CAPA';
                        $data_add = $item['added'] ? date('d/m/Y', $item['added']) : 'Recente';
                    ?>
                    <div class="poster-card">
                        <div class="badge-new">NOVO</div>
                        <img src="<?php echo htmlspecialchars($capa); ?>" class="poster-img" loading="lazy">
                        <div class="poster-title" title="<?php echo htmlspecialchars($item['stream_display_name']); ?>">
                            <?php echo htmlspecialchars($item['stream_display_name']); ?>
                        </div>
                        <div class="poster-date"><i class="far fa-calendar-alt"></i> <?php echo $data_add; ?></div>
                    </div>
                    <?php endforeach; ?>
                </div>
            <?php endif; ?>

            <div class="section-header"><i class="fas fa-video" style="color: #8b5cf6;"></i> Top 10 Séries Recentes</div>
            <?php if (empty($ultimas_series)): ?>
                <p style="color: var(--text-muted);">Nenhuma série encontrada.</p>
            <?php else: ?>
                <div class="poster-grid">
                    <?php foreach ($ultimas_series as $item): 
                        $capa = $item['stream_icon'] ?: 'https://via.placeholder.com/300x450/1e2227/d1d5da?text=SEM+CAPA';
                        $data_add = $item['added'] ? date('d/m/Y', $item['added']) : 'Recente';
                    ?>
                    <div class="poster-card">
                        <div class="badge-new" style="background: #8b5cf6;">NOVO</div>
                        <img src="<?php echo htmlspecialchars($capa); ?>" class="poster-img" loading="lazy">
                        <div class="poster-title" title="<?php echo htmlspecialchars($item['stream_display_name']); ?>">
                            <?php echo htmlspecialchars($item['stream_display_name']); ?>
                        </div>
                        <div class="poster-date" style="color: #8b5cf6;"><i class="far fa-calendar-alt"></i> <?php echo $data_add; ?></div>
                    </div>
                    <?php endforeach; ?>
                </div>
            <?php endif; ?>

            <div class="section-header"><i class="fas fa-broadcast-tower" style="color: #0ea5e9;"></i> Top 10 Canais Adicionados</div>
            <?php if (empty($ultimos_canais)): ?>
                <p style="color: var(--text-muted);">Nenhum canal encontrado.</p>
            <?php else: ?>
                <div class="channel-grid">
                    <?php foreach ($ultimos_canais as $item): 
                        $capa = $item['stream_icon'] ?: 'https://via.placeholder.com/150/1e2227/d1d5da?text=TV';
                        $data_add = $item['added'] ? date('d/m/Y', $item['added']) : 'Recente';
                    ?>
                    <div class="channel-card">
                        <img src="<?php echo htmlspecialchars($capa); ?>" class="channel-img" loading="lazy">
                        <div class="channel-title" title="<?php echo htmlspecialchars($item['stream_display_name']); ?>">
                            <?php echo htmlspecialchars($item['stream_display_name']); ?>
                        </div>
                        <div class="poster-date" style="color: #0ea5e9;"><i class="far fa-clock"></i> <?php echo $data_add; ?></div>
                    </div>
                    <?php endforeach; ?>
                </div>
            <?php endif; ?>

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

    <script>
        // Lógica do Menu Lateral
        const btnMenu = document.getElementById('btn-menu');
        const sidebar = document.getElementById('sidebar');
        const overlay = document.getElementById('overlay');
        
        function toggleMenu() { 
            sidebar.classList.toggle('active'); 
            overlay.classList.toggle('active'); 
        }
        
        if (btnMenu) btnMenu.onclick = toggleMenu;
        if (overlay) 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>