<?php
// FORÇA O PHP E O NAVEGADOR A USAREM UTF-8
header('Content-Type: text/html; charset=utf-8');
session_start();
require_once 'config.php';

$pdo = getConexaoInterna(); 

// --- 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_p = $pdo->query("SELECT * FROM painel_config LIMIT 1")->fetch(PDO::FETCH_ASSOC);
        if ($config_p) {
            $nome_painel = !empty($config_p['nome_painel']) ? $config_p['nome_painel'] : $nome_painel;
            $logo_url = !empty($config_p['logo_url']) ? $config_p['logo_url'] : $logo_url;
            $cor_primaria = !empty($config_p['cor_primaria']) ? $config_p['cor_primaria'] : $cor_primaria;
        }
    }
} catch (Exception $e) {}
// --- FIM: BUSCA DE PERSONALIZAÇÃO DINÂMICA ---

if (!isset($_SESSION['user_id']) || $_SESSION['user_role'] !== 'admin') {
    die("Acesso negado. Apenas administradores podem configurar o servidor.");
}

$nome_usuario = $_SESSION['username'] ?? 'Usuário';
$role = $_SESSION['user_role'] ?? 'admin';

// =========================================================================
// BANCO DE DADOS (AUTO-CRIAÇÃO DAS COLUNAS XUI ONE E XTREAM)
// =========================================================================
try {
    $sql_tabela = "CREATE TABLE IF NOT EXISTS configuracoes (
        id INT(11) AUTO_INCREMENT PRIMARY KEY,
        modo_ativo VARCHAR(20) NOT NULL DEFAULT 'interno',
        int_host VARCHAR(255) NULL DEFAULT 'localhost',
        int_name VARCHAR(255) NULL,
        int_user VARCHAR(255) NULL,
        int_pass VARCHAR(255) NULL,
        ext_host VARCHAR(255) NULL,
        ext_name VARCHAR(255) NULL,
        ext_user VARCHAR(255) NULL,
        ext_pass VARCHAR(255) NULL,
        xui_host VARCHAR(255) NULL,
        xui_name VARCHAR(255) NULL,
        xui_user VARCHAR(255) NULL,
        xui_pass VARCHAR(255) NULL
    )";
    $pdo->exec($sql_tabela);

    $colunas = $pdo->query("SHOW COLUMNS FROM configuracoes")->fetchAll(PDO::FETCH_COLUMN);
    
    // Verifica/Cria colunas do Interno
    if (!in_array('int_host', $colunas)) {
        $pdo->exec("ALTER TABLE configuracoes ADD COLUMN int_host VARCHAR(255) DEFAULT 'localhost' AFTER modo_ativo,
                    ADD COLUMN int_name VARCHAR(255) AFTER int_host,
                    ADD COLUMN int_user VARCHAR(255) AFTER int_name,
                    ADD COLUMN int_pass VARCHAR(255) AFTER int_user");
    }
    
    // Verifica/Cria colunas do XUI One
    if (!in_array('xui_host', $colunas)) {
        $pdo->exec("ALTER TABLE configuracoes 
                    ADD COLUMN xui_host VARCHAR(255) NULL AFTER ext_pass,
                    ADD COLUMN xui_name VARCHAR(255) NULL AFTER xui_host,
                    ADD COLUMN xui_user VARCHAR(255) NULL AFTER xui_name,
                    ADD COLUMN xui_pass VARCHAR(255) NULL AFTER xui_user");
    }

    if ($pdo->query("SELECT COUNT(*) FROM configuracoes")->fetchColumn() == 0) {
        $pdo->exec("INSERT INTO configuracoes (modo_ativo, int_host) VALUES ('interno', 'localhost')");
    }
} catch (PDOException $e) {
    die("Erro no banco: " . $e->getMessage());
}

$mensagem = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $modo = $_POST['modo_ativo'];
    $sql = "UPDATE configuracoes SET 
            modo_ativo = :modo, 
            int_host = :i_host, int_name = :i_name, int_user = :i_user, int_pass = :i_pass,
            ext_host = :e_host, ext_name = :e_name, ext_user = :e_user, ext_pass = :e_pass,
            xui_host = :x_host, xui_name = :x_name, xui_user = :x_user, xui_pass = :x_pass
            WHERE id = 1";
            
    $stmt = $pdo->prepare($sql);
    $stmt->execute([
        ':modo' => $modo, 
        ':i_host' => trim($_POST['int_host']), ':i_name' => trim($_POST['int_name']), ':i_user' => trim($_POST['int_user']), ':i_pass' => trim($_POST['int_pass']),
        ':e_host' => trim($_POST['ext_host']), ':e_name' => trim($_POST['ext_name']), ':e_user' => trim($_POST['ext_user']), ':e_pass' => trim($_POST['ext_pass']),
        ':x_host' => trim($_POST['xui_host'] ?? ''), ':x_name' => trim($_POST['xui_name'] ?? ''), ':x_user' => trim($_POST['xui_user'] ?? ''), ':x_pass' => trim($_POST['xui_pass'] ?? '')
    ]);
    $mensagem = "<div class='alert success'><i class='fas fa-check-circle'></i> Configurações salvas com sucesso!</div>";
}

$atual = $pdo->query("SELECT * FROM configuracoes LIMIT 1")->fetch(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">
    <title>Configurações - <?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; 
        }
        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 CSS (Obrigatório para formatar o include) */
        .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); }
        .sidebar-logo { max-width: 180px; max-height: 55px; object-fit: contain; } /* <--- A CORREÇÃO DA LOGO GIGANTE ESTÁ AQUI */
        .user-info { padding: 20px; text-align: center; border-bottom: 1px solid var(--border-color); }
        .user-info .badge { background: rgba(255, 255, 255, 0.05); 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); }
        
        .submenu { display: none; background: #16191d; list-style: none; padding: 0; margin: 0; }
        .submenu .menu-item { padding-left: 52px; font-size: 14px; border-left: none; }
        .arrow-icon { margin-left: auto; transition: 0.3s; font-size: 12px; }
        .rotate { transform: rotate(180deg); }

        .logout-btn { padding: 15px; background-color: #dc3545; color: white; text-align: center; text-decoration: none; font-weight: bold; }

        /* TOPBAR MOBILE */
        .topbar { background-color: var(--bg-sidebar); padding: 15px 20px; border-bottom: 1px solid var(--border-color); display: flex; align-items: center; justify-content: space-between; }
        .menu-toggle { display: none; background: none; border: none; color: white; font-size: 22px; cursor: pointer; }
        .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-content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; width: 100%; position: relative; }
        .content-area { padding: 30px; }
        .container-box { max-width: 800px; margin: 0 auto; background: var(--bg-card); padding: 30px; border-radius: 12px; border: 1px solid var(--border-color); }
        
        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; color: var(--text-muted); font-size: 13px; font-weight: bold; }
        input, select { width: 100%; padding: 12px; border: 1px solid var(--border-color); background: #121519; color: white; border-radius: 6px; box-sizing: border-box; }
        .btn-salvar { background: var(--accent); color: white; padding: 15px; border: none; border-radius: 6px; cursor: pointer; font-weight: bold; width: 100%; margin-top: 20px; transition: 0.2s; font-size: 15px;}
        .btn-salvar:hover { filter: brightness(1.2); }
        
        .alert { padding: 15px; margin-bottom: 20px; border-radius: 6px; text-align: center; font-weight: bold; background: rgba(40, 167, 69, 0.15); border: 1px solid var(--success); color: var(--success); }
        .config-section { padding: 20px; border-radius: 8px; margin-bottom: 20px; border: 1px solid var(--border-color); background: rgba(255,255,255,0.02); }
        
       
        /* ==================================================================== */
        /* FORÇA A COR AZUL NO ADMINISTRADOR E VERDE NO SALDO */
        /* ==================================================================== */
        .user-info > div:nth-child(2), .user-info .badge { background: rgba(0, 123, 255, 0.2) !important; color: var(--accent) !important; padding: 4px 10px !important; border-radius: 4px !important; font-size: 11px !important; text-transform: uppercase !important; font-weight: bold !important; margin-top: 5px !important; margin-bottom: 5px !important; display: inline-block !important; }
        .user-info > div:nth-child(3), .user-info .credits-badge, .user-info i.fa-coins { color: var(--success) !important; font-weight: bold !important; font-size: 13px !important; display: inline-block !important; }
        .user-info > div:nth-child(3) { margin-top: 8px !important; display: block !important; }

        /* ==================================================================== */
        /* FORÇA OS ÍCONES DA SIDEBAR A FICAREM AZUIS */
        /* ==================================================================== */
        .sidebar i, .sidebar span[class*="icon"], .sidebar .fas, .sidebar .fab { color: var(--accent) !important; }
        .menu-item i:first-child { margin-right: 12px; width: 20px; text-align: center; color: var(--accent) !important; }
        .menu-item:hover, .menu-item.active { background-color: #2c3138 !important; color: white !important; border-left-color: var(--accent) !important; }
        .sidebar .active, .sidebar .menu-item.active, .sidebar li.active > a { border-left-color: var(--accent) !important; color: white !important; background: #24282d !important; }
        .sidebar a:hover, .sidebar .menu-item:hover { border-left-color: var(--accent) !important; color: white !important; background: #2c3138 !important; }
        
      
        h4 { margin-top: 0; color: white; display: flex; align-items: center; gap: 10px; font-size: 16px; }

        @media (max-width: 768px) {
            .topbar { display: flex; }
            .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; }
            .content-area { padding: 15px; }
            .container-box { padding: 20px; }
            .menu-toggle { display: block; }
        }
    </style>
</head>
<body>

    <div class="sidebar-overlay" id="overlay" onclick="toggleMenu()"></div>

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

    <div class="main-content">
        <header class="topbar">
            <div style="display:flex; align-items:center; gap:15px;">
                <button class="menu-toggle" id="btn-menu" onclick="toggleMenu()"><i class="fas fa-bars"></i></button>
                <h2 style="margin:0; font-size: 18px; color:white;">Configurações</h2>
            </div>
        </header>

        <div class="content-area">
            <div class="container-box">
                <h2 style="margin-top:0; border-bottom:1px solid var(--border-color); padding-bottom:15px; color:white;"><i class="fas fa-cogs"></i> Servidor Database</h2>
                <?php echo $mensagem; ?>

                <form method="POST">
                    <div class="form-group" style="margin-bottom: 25px;">
                        <label><b>MODO DE OPERAÇÃO ATIVO:</b></label>
                        <select name="modo_ativo" style="border-color: var(--accent); font-weight: bold; color:var(--accent); font-size:15px;">
                            <option value="interno" <?php echo ($atual['modo_ativo'] == 'interno') ? 'selected' : ''; ?>>MODO INTERNO (Painel Local)</option>
                            <option value="externo" <?php echo ($atual['modo_ativo'] == 'externo') ? 'selected' : ''; ?>>MODO EXTERNO (Xtream UI)</option>
                            <option value="xui" <?php echo ($atual['modo_ativo'] == 'xui') ? 'selected' : ''; ?>>MODO XUI ONE</option>
                        </select>
                    </div>

                    <div class="config-section" style="border-left: 4px solid #6c757d;">
                        <h4><i class="fas fa-database"></i> Banco INTERNO</h4>
                        <div class="form-group"><label>Host</label><input type="text" name="int_host" value="<?php echo htmlspecialchars($atual['int_host']); ?>"></div>
                        <div class="form-group"><label>Banco</label><input type="text" name="int_name" value="<?php echo htmlspecialchars($atual['int_name']); ?>"></div>
                        <div class="form-group"><label>Usuário</label><input type="text" name="int_user" value="<?php echo htmlspecialchars($atual['int_user']); ?>"></div>
                        <div class="form-group"><label>Senha</label><input type="password" name="int_pass" value="<?php echo htmlspecialchars($atual['int_pass']); ?>"></div>
                    </div>

                    <div class="config-section" style="border-left: 4px solid var(--accent);">
                        <h4><i class="fas fa-network-wired"></i> Banco EXTERNO (Xtream UI)</h4>
                        <div class="form-group"><label>IP Servidor</label><input type="text" name="ext_host" value="<?php echo htmlspecialchars($atual['ext_host']); ?>"></div>
                        <div class="form-group"><label>Banco</label><input type="text" name="ext_name" value="<?php echo htmlspecialchars($atual['ext_name']); ?>"></div>
                        <div class="form-group"><label>Usuário</label><input type="text" name="ext_user" value="<?php echo htmlspecialchars($atual['ext_user']); ?>"></div>
                        <div class="form-group"><label>Senha</label><input type="password" name="ext_pass" value="<?php echo htmlspecialchars($atual['ext_pass']); ?>"></div>
                    </div>

                    <div class="config-section" style="border-left: 4px solid #8b5cf6;">
                        <h4 style="color:#8b5cf6;"><i class="fas fa-server"></i> Banco EXTERNO (XUI One)</h4>
                        <div class="form-group"><label>IP Servidor</label><input type="text" name="xui_host" value="<?php echo htmlspecialchars($atual['xui_host'] ?? ''); ?>"></div>
                        <div class="form-group"><label>Banco</label><input type="text" name="xui_name" value="<?php echo htmlspecialchars($atual['xui_name'] ?? ''); ?>"></div>
                        <div class="form-group"><label>Usuário</label><input type="text" name="xui_user" value="<?php echo htmlspecialchars($atual['xui_user'] ?? ''); ?>"></div>
                        <div class="form-group"><label>Senha</label><input type="password" name="xui_pass" value="<?php echo htmlspecialchars($atual['xui_pass'] ?? ''); ?>"></div>
                    </div>

                    <button type="submit" class="btn-salvar"><i class="fas fa-save"></i> SALVAR CONFIGURAÇÕES</button>
                </form>
            </div>
        </div>
        <?php include 'rodape.php'; ?>
    </div>
<script src="tema.js"></script>
</body>
</html>