<?php
/**
 * db.php — Ligação central à base de dados
 * Todos os ficheiros devem usar include_once 'db.php' e utilizar $pdo ou $conn.
 */
$host   = 'localhost';
$dbname = 'techcon5_sgla';
$user   = 'techcon5';
$pass   = 'pq0*]CD];uQQo=.5';

// PDO (usado nas páginas de listagem)
try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $user, $pass);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die(json_encode(['error' => 'Erro de ligação: ' . $e->getMessage()]));
}

// MySQLi (usado na index.php para estatísticas)
$conn = new mysqli($host, $user, $pass, $dbname);
$conn->set_charset('utf8mb4');
if ($conn->connect_error) {
    die('Ligação MySQLi falhou: ' . $conn->connect_error);
}

// ── URL helpers (portal público) ─────────────────────────────
if (!defined('SGLA_ADMIN_URL')) {
    // Ajuste para o URL base do sistema CI em produção
    $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') ? 'https' : 'http';
    $host_url  = $protocol . '://' . $_SERVER['HTTP_HOST'];
    $script    = dirname($_SERVER['SCRIPT_NAME']);
    // Remove public portal folder para chegar à raiz do CI
    define('SGLA_ADMIN_URL', rtrim($host_url, '/') . '/');
}
if (!function_exists('site_url')) {
    function site_url(string $path = ''): string {
        return SGLA_ADMIN_URL . ltrim($path, '/');
    }
}
if (!function_exists('base_url')) {
    function base_url(string $path = ''): string {
        return site_url($path);
    }
}
