<?php
require_once __DIR__ . '/config/app.php';
require_once __DIR__ . '/config/database.php';

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

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

$staticPages = ['', 'about', 'services', 'portfolio', 'events', 'blog', 'testimonials', 'contact', 'request-quote', 'faq', 'privacy', 'terms'];
foreach ($staticPages as $p) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/' . $p . '</loc>';
    echo '<changefreq>weekly</changefreq>';
    echo '<priority>' . ($p === '' ? '1.0' : '0.8') . '</priority>';
    echo '</url>';
}

$db = Database::getInstance();

$services = $db->fetchAll("SELECT slug, updated_at FROM services WHERE status=1");
foreach ($services as $s) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/services/' . $s['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($s['updated_at'])) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.7</priority>';
    echo '</url>';
}

$posts = $db->fetchAll("SELECT slug, published_at FROM blog_posts WHERE status='published' AND published_at IS NOT NULL");
foreach ($posts as $p) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/blog/' . $p['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($p['published_at'])) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.6</priority>';
    echo '</url>';
}

$events = $db->fetchAll("SELECT slug, updated_at FROM events WHERE status='published'");
foreach ($events as $e) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/events/' . $e['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($e['updated_at'])) . '</lastmod>';
    echo '<changefreq>weekly</changefreq>';
    echo '<priority>0.8</priority>';
    echo '</url>';
}

$portfolio = $db->fetchAll("SELECT slug, updated_at FROM portfolio WHERE status=1");
foreach ($portfolio as $p) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/portfolio/' . $p['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($p['updated_at'])) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.6</priority>';
    echo '</url>';
}

echo '</urlset>';
