<?php
/**
 * SaaSBonus - Dynamic XML Sitemap
 * Auto-updates when new blog posts are published.
 */
include('db.php');

header('Content-Type: application/xml; charset=utf-8');

$SITE_URL = rtrim(SITEURL, '/');

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . "\n";

// Homepage
echo "  <url>\n";
echo "    <loc>" . $SITE_URL . "/</loc>\n";
echo "    <changefreq>daily</changefreq>\n";
echo "    <priority>1.0</priority>\n";
echo "  </url>\n";

// Blog listing
echo "  <url>\n";
echo "    <loc>" . $SITE_URL . "/blog</loc>\n";
echo "    <changefreq>daily</changefreq>\n";
echo "    <priority>0.9</priority>\n";
echo "  </url>\n";

// Static pages
$static_pages = [
    ['loc' => '/about', 'changefreq' => 'monthly', 'priority' => '0.6'],
    ['loc' => '/contact', 'changefreq' => 'monthly', 'priority' => '0.5'],
    ['loc' => '/privacy-policy', 'changefreq' => 'yearly', 'priority' => '0.3'],
    ['loc' => '/terms-conditions', 'changefreq' => 'yearly', 'priority' => '0.3'],
    ['loc' => '/disclaimer', 'changefreq' => 'yearly', 'priority' => '0.3'],
    ['loc' => '/affiliate-disclosure', 'changefreq' => 'yearly', 'priority' => '0.3'],
    ['loc' => '/cookie-policy', 'changefreq' => 'yearly', 'priority' => '0.3'],
];

foreach ($static_pages as $page) {
    echo "  <url>\n";
    echo "    <loc>" . $SITE_URL . $page['loc'] . "</loc>\n";
    echo "    <changefreq>" . $page['changefreq'] . "</changefreq>\n";
    echo "    <priority>" . $page['priority'] . "</priority>\n";
    echo "  </url>\n";
}

// Blog posts
$blog_qry = mysqli_query($con, "SELECT slug, date FROM news WHERE status='1' ORDER BY date DESC");
if ($blog_qry) {
    while ($blog = mysqli_fetch_assoc($blog_qry)) {
        $lastmod = date('c', strtotime($blog['date']));
        echo "  <url>\n";
        echo "    <loc>" . $SITE_URL . "/blog-details/" . htmlspecialchars($blog['slug']) . "</loc>\n";
        echo "    <lastmod>" . $lastmod . "</lastmod>\n";
        echo "    <changefreq>weekly</changefreq>\n";
        echo "    <priority>0.7</priority>\n";
        echo "  </url>\n";
    }
}

// Category pages
$cat_qry = mysqli_query($con, "SELECT DISTINCT category FROM news WHERE status='1' AND category!=''");
if ($cat_qry) {
    while ($cat = mysqli_fetch_assoc($cat_qry)) {
        $cat_slug = strtolower(str_replace(' ', '-', trim($cat['category'])));
        echo "  <url>\n";
        echo "    <loc>" . $SITE_URL . "/category/" . htmlspecialchars($cat_slug) . "</loc>\n";
        echo "    <changefreq>weekly</changefreq>\n";
        echo "    <priority>0.6</priority>\n";
        echo "  </url>\n";
    }
}

echo "</urlset>\n";
