<?php
// Dynamic sitemap generator
require_once __DIR__ . '/includes/config.php';
require_once __DIR__ . '/includes/database.php';
require_once __DIR__ . '/includes/functions.php';

$db = DB::getInstance();
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" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';

// Static pages
$staticPages = [
    '' => ['priority' => '1.0', 'changefreq' => 'weekly'],
    'about' => ['priority' => '0.9', 'changefreq' => 'monthly'],
    'products' => ['priority' => '0.9', 'changefreq' => 'weekly'],
    'services' => ['priority' => '0.9', 'changefreq' => 'monthly'],
    'gallery' => ['priority' => '0.8', 'changefreq' => 'weekly'],
    'blog' => ['priority' => '0.8', 'changefreq' => 'daily'],
    'contact' => ['priority' => '0.9', 'changefreq' => 'monthly'],
];
foreach ($staticPages as $page => $config) {
    $url = SITE_URL . ($page ? $page . '.php' : '');
    echo "<url>";
    echo "<loc>{$url}</loc>";
    echo "<lastmod>" . date('Y-m-d') . "</lastmod>";
    echo "<changefreq>{$config['changefreq']}</changefreq>";
    echo "<priority>{$config['priority']}</priority>";
    echo "</url>";
}

// Location pages
$locations = ['namakkal', 'salem', 'erode', 'karur', 'rasipuram', 'tiruchengode'];
foreach ($locations as $loc) {
    $url = SITE_URL . "cctv-installation-{$loc}";
    echo "<url>";
    echo "<loc>{$url}</loc>";
    echo "<lastmod>" . date('Y-m-d') . "</lastmod>";
    echo "<changefreq>monthly</changefreq>";
    echo "<priority>0.8</priority>";
    echo "</url>";
}

// Products
$products = $db->fetchAll("SELECT slug, updated_at FROM products WHERE status=1 ORDER BY updated_at DESC");
foreach ($products as $p) {
    $lastmod = !empty($p['updated_at']) ? date('Y-m-d', strtotime($p['updated_at'])) : date('Y-m-d');
    echo "<url>";
    echo "<loc>" . SITE_URL . "product-detail.php?slug={$p['slug']}</loc>";
    echo "<lastmod>{$lastmod}</lastmod>";
    echo "<changefreq>weekly</changefreq>";
    echo "<priority>0.8</priority>";
    echo "</url>";
}

// Services
$services = $db->fetchAll("SELECT slug, updated_at FROM services WHERE status=1 ORDER BY updated_at DESC");
foreach ($services as $s) {
    $lastmod = !empty($s['updated_at']) ? date('Y-m-d', strtotime($s['updated_at'])) : date('Y-m-d');
    echo "<url>";
    echo "<loc>" . SITE_URL . "service-detail.php?slug={$s['slug']}</loc>";
    echo "<lastmod>{$lastmod}</lastmod>";
    echo "<changefreq>monthly</changefreq>";
    echo "<priority>0.7</priority>";
    echo "</url>";
}

// Blogs
$blogs = $db->fetchAll("SELECT slug, created_at, updated_at FROM blogs WHERE status=1 ORDER BY created_at DESC");
foreach ($blogs as $b) {
    $lastmod = !empty($b['updated_at']) ? date('Y-m-d', strtotime($b['updated_at'])) : date('Y-m-d', strtotime($b['created_at']));
    echo "<url>";
    echo "<loc>" . SITE_URL . "blog-detail.php?slug={$b['slug']}</loc>";
    echo "<lastmod>{$lastmod}</lastmod>";
    echo "<changefreq>monthly</changefreq>";
    echo "<priority>0.6</priority>";
    echo "</url>";
}

// Categories
$categories = $db->fetchAll("SELECT slug FROM categories WHERE status=1");
foreach ($categories as $c) {
    echo "<url>";
    echo "<loc>" . SITE_URL . "products.php?category={$c['slug']}</loc>";
    echo "<lastmod>" . date('Y-m-d') . "</lastmod>";
    echo "<changefreq>weekly</changefreq>";
    echo "<priority>0.6</priority>";
    echo "</url>";
}

echo '</urlset>';
