<?php
// Sayfanın bir XML dosyası olduğunu tarayıcılara ve Google'a bildiriyoruz
header("Content-Type: application/xml; charset=utf-8");

// Veritabanı bağlantını içeri aktarıyoruz
require_once 'includes/db.php'; 

// NOT: includes/db.php içindeki veritabanı değişkeninin adının $db olduğunu varsayıyorum.
// Eğer değişkenin adı $pdo veya $baglanti ise aşağıdaki $db yazan yerleri ona göre değiştirmelisin.
global $db; 

$baseUrl = "https://www.sinavkocu.tr/magaza/";

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

// 1. Sabit Ana Sayfa Bağlantısı
echo "  <url>\n";
echo "    <loc>" . $baseUrl . "index.php</loc>\n";
echo "    <changefreq>daily</changefreq>\n";
echo "    <priority>1.0</priority>\n";
echo "  </url>\n";

try {
    // 2. Aktif Ürünleri Veritabanından Çekiyoruz (status = 1 olanlar)
    $urunler = $db->query("SELECT slug, created_at FROM products WHERE status = 1")->fetchAll(PDO::FETCH_ASSOC);
    foreach ($urunler as $urun) {
        $tarih = date('c', strtotime($urun['created_at']));
        echo "  <url>\n";
        echo "    <loc>" . $baseUrl . "urun-detay.php?slug=" . htmlspecialchars($urun['slug']) . "</loc>\n";
        echo "    <lastmod>" . $tarih . "</lastmod>\n";
        echo "    <changefreq>weekly</changefreq>\n";
        echo "    <priority>0.8</priority>\n";
        echo "  </url>\n";
    }

    // 3. Aktif Kategorileri Çekiyoruz
    $kategoriler = $db->query("SELECT slug FROM categories WHERE status = 1")->fetchAll(PDO::FETCH_ASSOC);
    foreach ($kategoriler as $kat) {
        echo "  <url>\n";
        echo "    <loc>" . $baseUrl . "urun-kategori.php?kategori=" . htmlspecialchars($kat['slug']) . "</loc>\n";
        echo "    <changefreq>weekly</changefreq>\n";
        echo "    <priority>0.7</priority>\n";
        echo "  </url>\n";
    }

    // 4. Statik Sayfaları Çekiyoruz (Hakkımızda, Sözleşmeler vs.)
    $sayfalar = $db->query("SELECT slug, updated_at FROM pages WHERE status = 1")->fetchAll(PDO::FETCH_ASSOC);
    foreach ($sayfalar as $sayfa) {
        $sayfaTarih = date('c', strtotime($sayfa['updated_at']));
        echo "  <url>\n";
        echo "    <loc>" . $baseUrl . "sayfa.php?slug=" . htmlspecialchars($sayfa['slug']) . "</loc>\n";
        echo "    <lastmod>" . $sayfaTarih . "</lastmod>\n";
        echo "    <changefreq>monthly</changefreq>\n";
        echo "    <priority>0.5</priority>\n";
        echo "  </url>\n";
    }

} catch (PDOException $e) {
    // Veritabanı hatası olursa XML yapısını bozmamak için hatayı arka planda logluyoruz
    error_log("Sitemap Hatası: " . $e->getMessage());
}

echo '</urlset>';
?>