<?php
// sitemap.xml - Dynamic XML Sitemap Generator
// Place this file at the root of your Hunarz installation

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

require_once __DIR__ . '/config/app.php';
require_once __DIR__ . '/includes/db.php';

$db = Database::getInstance();

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

// Base URLs
$baseUrls = [
    '/',
    '/about.php',
    '/contact.php',
    '/faq.php',
    '/pricing.php',
    '/terms.php',
    '/privacy-policy.php',
    '/cookie-policy.php',
    '/modules/learn/',
    '/modules/learn/skills.php',
    '/modules/learn/courses.php',
    '/modules/learn/trainers.php',
    '/modules/earn/',
    '/modules/jobs/',
    '/modules/business/',
    '/modules/insights/'
];

foreach ($baseUrls as $url) {
    echo '<url>';
    echo '<loc>' . APP_URL . $url . '</loc>';
    echo '<changefreq>weekly</changefreq>';
    echo '<priority>0.8</priority>';
    echo '</url>';
}

// Skills
$skills = $db->query("SELECT slug, updated_at FROM skills WHERE status = 'active'")->fetchAll();
foreach ($skills as $skill) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/modules/learn/skill.php?slug=' . $skill['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($skill['updated_at'] ?? 'now')) . '</lastmod>';
    echo '<changefreq>weekly</changefreq>';
    echo '<priority>0.7</priority>';
    echo '</url>';
}

// Courses
$courses = $db->query("SELECT slug, updated_at FROM courses WHERE status = 'published'")->fetchAll();
foreach ($courses as $course) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/modules/learn/course.php?slug=' . $course['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($course['updated_at'] ?? 'now')) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.7</priority>';
    echo '</url>';
}

// Jobs
$jobs = $db->query("SELECT slug, created_at FROM jobs WHERE status = 'active'")->fetchAll();
foreach ($jobs as $job) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/modules/jobs/job.php?slug=' . $job['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($job['created_at'])) . '</lastmod>';
    echo '<changefreq>weekly</changefreq>';
    echo '<priority>0.6</priority>';
    echo '</url>';
}

// Businesses
$businesses = $db->query("SELECT slug, updated_at FROM businesses WHERE status = 'active'")->fetchAll();
foreach ($businesses as $business) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/modules/business/business.php?slug=' . $business['slug'] . '</loc>';
    echo '<lastmod>' . date('Y-m-d', strtotime($business['updated_at'] ?? 'now')) . '</lastmod>';
    echo '<changefreq>monthly</changefreq>';
    echo '<priority>0.6</priority>';
    echo '</url>';
}

// Cities
$cities = $db->query("SELECT slug FROM cities")->fetchAll();
foreach ($cities as $city) {
    echo '<url>';
    echo '<loc>' . APP_URL . '/city/' . $city['slug'] . '</loc>';
    echo '<changefreq>weekly</changefreq>';
    echo '<priority>0.5</priority>';
    echo '</url>';
}

echo '</urlset>';
?>