<?php
// includes/db.php

// 1. DADOS DE CONEXÃO
$host = 'localhost';
$db   = 'officextream';
$user = 'user_officextream';
$pass = 'pass_officextream';
$charset = 'utf8mb4'; // Melhor que utf8 (suporta emojis e caracteres especiais)

// 2. CONFIGURAÇÃO PDO (SEGURANÇA E PERFORMANCE)
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
    PDO::ATTR_ERRMODE            => PDO::ERRMODE_EXCEPTION, // Mostra erros críticos
    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,     // Traz resultados limpos
    PDO::ATTR_EMULATE_PREPARES   => false,                // Proteção extra contra SQL Injection
];

try {
    // 3. TENTA CONECTAR
    $pdo = new PDO($dsn, $user, $pass, $options);

} catch (\PDOException $e) {
    // Se der erro, mata o processo com mensagem simples (para não expor senhas na tela)
    die("Erro Crítico: Não foi possível conectar ao Banco de Dados.");
}

// ====================================================================
// 4. FIREWALL INTEGRADO (PROTEÇÃO TOTAL)
// ====================================================================
// Como o db.php é carregado em todas as páginas (play, login, api),
// colocar o firewall aqui protege o sistema inteiro automaticamente.

// O __DIR__ garante que o PHP procure o firewall na mesma pasta 'includes'
if (file_exists(__DIR__ . '/firewall.php')) {
    require_once __DIR__ . '/firewall.php';
}
// ====================================================================
?>
