<?php
header('Content-Type: application/xml; charset=utf-8');
require_once 'includes/config.php';
require_once 'includes/helpers.php';

$base = 'https://effibox.cn';

$urls = [];

// 可见页面
$pages = [
    ''              => ['freq' => 'weekly',  'pri' => '1.0'],
    'excel.php'     => ['freq' => 'weekly',  'pri' => '0.9'],
    'cases.php'     => ['freq' => 'weekly',  'pri' => '0.8'],
    'docs.php'      => ['freq' => 'daily',   'pri' => '0.9'],
    'downloads.php' => ['freq' => 'weekly',  'pri' => '0.7'],
    'about.php'     => ['freq' => 'monthly', 'pri' => '0.6'],
    'contact.php'   => ['freq' => 'monthly', 'pri' => '0.7'],
];

$pageKeyMap = [
    ''              => 'home',
    'excel.php'     => 'excel',
    'cases.php'     => 'portfolio',
    'docs.php'      => 'docs',
    'downloads.php' => 'downloads',
    'about.php'     => 'about',
    'contact.php'   => 'contact',
];

foreach ($pages as $path => $meta) {
    $pageKey = $pageKeyMap[$path];
    if (!isPageVisible($pageKey)) continue;
    $urls[] = ['loc' => "$base/$path", 'freq' => $meta['freq'], 'pri' => $meta['pri']];
}

// 文档详情页
try {
    $db = getDB();
    $docs = $db->query("SELECT slug, updated_at FROM docs WHERE is_active = 1 AND deleted_at IS NULL ORDER BY updated_at DESC LIMIT 200")->fetchAll();
    foreach ($docs as $doc) {
        $urls[] = ['loc' => "$base/docs.php?view=" . urlencode($doc['slug']), 'freq' => 'monthly', 'pri' => '0.6'];
    }
} catch (Exception $e) {}

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php foreach ($urls as $u): ?>
  <url>
    <loc><?= h($u['loc']) ?></loc>
    <changefreq><?= $u['freq'] ?></changefreq>
    <priority><?= $u['pri'] ?></priority>
  </url>
<?php endforeach; ?>
</urlset>
