<?php
/**
 * Dynamic XML sitemap — includes static pages, category and package URLs.
 * Served at /sitemap.xml (via .htaccess rewrite) or /sitemap.php directly.
 */
$APP  = require __DIR__ . '/config/config.php';
$base = rtrim($APP['app']['base_url'], '/');

require_once __DIR__ . '/admin/pages/packages_storage.php';
require_once __DIR__ . '/admin/pages/categories_storage.php';
$packages   = function_exists('load_packages') ? load_packages() : [];
$categories = function_exists('load_categories') ? load_categories() : [];

$urls = [];
$add = function ($loc, $priority = '0.6', $freq = 'weekly') use (&$urls) {
    $urls[] = ['loc' => $loc, 'priority' => $priority, 'changefreq' => $freq];
};

$add($base . '/', '1.0', 'daily');
$add($base . '/packages', '0.9', 'daily');
$add($base . '/about', '0.5', 'monthly');

foreach ($categories as $c) {
    if (!empty($c['slug'])) $add($base . '/packages?category=' . urlencode($c['slug']), '0.7');
}
foreach ($packages as $p) {
    if (!empty($p['slug'])) $add($base . '/package.php?slug=' . urlencode($p['slug']), '0.8');
}

header('Content-Type: application/xml; charset=utf-8');
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";
$today = date('Y-m-d');
foreach ($urls as $u) {
    echo "  <url>\n";
    echo '    <loc>' . htmlspecialchars($u['loc'], ENT_XML1) . "</loc>\n";
    echo "    <lastmod>$today</lastmod>\n";
    echo '    <changefreq>' . $u['changefreq'] . "</changefreq>\n";
    echo '    <priority>' . $u['priority'] . "</priority>\n";
    echo "  </url>\n";
}
echo '</urlset>';
