<?php
// sitemap.php - Save as sitemap.xml
header('Content-Type: application/xml; charset=utf-8');

require_once 'includes/config.php';
require_once 'includes/database.php';

echo '<?xml version="1.0" encoding="UTF-8"?>';
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">';

$pages = [
    '',
    'about',
    'services',
    'portfolio',
    'packages',
    'blog',
    'contact'
];

foreach ($pages as $page) {
    echo '<url>';
    echo '<loc>' . SITE_URL . '/' . ($page ? $page . '.php' : '') . '</loc>';
    echo '<lastmod>' . date('Y-m-d') . '</lastmod>';
    echo '<changefreq>weekly</changefreq>';
    echo '<priority>0.8</priority>';
    echo '</url>';
}

// Dynamic pages
$db = Database::getInstance()->getConnection();

// Services
$result = $db->query("SELECT slug, updated_at FROM services WHERE status = 'active'");
while ($row = $result->fetch_assoc()) {
    echo '<url>';
    echo '<loc>' . SITE_URL . '/services.php?view=' . $row['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($row['updated_at'])) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.7</priority>';
    echo '</url>';
}

// Blog
$result = $db->query("SELECT slug, updated_at FROM blog WHERE status = 'published'");
while ($row = $result->fetch_assoc()) {
    echo '<url>';
    echo '<loc>' . SITE_URL . '/blog.php?post=' . $row['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($row['updated_at'])) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.6</priority>';
    echo '</url>';
}

// Portfolio
$result = $db->query("SELECT slug, updated_at FROM portfolio WHERE status = 'published'");
while ($row = $result->fetch_assoc()) {
    echo '<url>';
    echo '<loc>' . SITE_URL . '/portfolio.php?case=' . $row['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($row['updated_at'])) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.6</priority>';
    echo '</url>';
}

echo '</urlset>';
?>