<?php
// ============================================================
// 溪源宫官网 · 统一入口（front controller）
// 线上 Nginx：try_files $uri $uri/ /index.php?$args
// 本地：php -S 127.0.0.1:8080 router.php
// ============================================================
require_once __DIR__ . '/includes/util.php';
require_once __DIR__ . '/includes/db.php';
ensure_schema();

// 任何输出之前启动会话并预生成 CSRF token（否则 Set-Cookie 来不及发出）
session_start_once();
csrf_token();

$GLOBALS['xyg'] = ['title' => '', 'active' => ''];

$r = preg_replace('/[^a-z]/', '', (string)($_GET['r'] ?? 'home'));
$routes = ['home', 'page', 'column', 'article', 'event', 'gallery', 'events', 'reserve', 'contact', 'downloads', 'search', 'faq', 'charity', 'guide', 'privacy', 'disclaimer', 'finance', 'donate', 'account', 'certificates'];
if (!in_array($r, $routes, true)) {
    http_response_code(404);
    $r = 'page';
    $_GET['slug'] = '404';
}

$file = __DIR__ . '/pages/' . $r . '.php';
if (!is_file($file)) {
    http_response_code(404);
    require __DIR__ . '/pages/page.php';
    $_GET['slug'] = '404';
    render_page();
    exit;
}
require $file;
$fn = "render_$r";
if (function_exists($fn)) {
    $fn();
} else {
    http_response_code(404);
    echo '页面未定义';
}
