<?php
/**
 * Nama File: sitemap.php
 * Deskripsi: Generate sitemap XML otomatis untuk Google Search Console.
 * Update: [2026-02-02] Hardcode Base URL agar sesuai dengan routing .htaccess (Root Domain).
 */

header("Content-Type: application/xml; charset=utf-8");
require_once 'includes/db.php';

// ============================================================
// KONFIGURASI URL (PENTING!)
// Karena kita pakai .htaccess untuk sembunyikan folder,
// kita harus set URL secara manual agar tidak muncul '/sobatut/'
// ============================================================
$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http");
$domain = $_SERVER['HTTP_HOST']; // sobatut.my.id

// FORCE ROOT URL (Jangan pakai dirname lagi)
$base_url = $protocol . "://" . $domain; 

echo '<?xml version="1.0" encoding="UTF-8"?>';
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

    <!-- Halaman Statis Utama -->
    <url>
        <loc><?php echo $base_url; ?>/</loc>
        <changefreq>daily</changefreq>
        <priority>1.0</priority>
    </url>
    <url>
        <loc><?php echo $base_url; ?>/library.php</loc>
        <changefreq>daily</changefreq>
        <priority>0.9</priority>
    </url>
    <url>
        <loc><?php echo $base_url; ?>/auth/register.php</loc>
        <changefreq>monthly</changefreq>
        <priority>0.8</priority>
    </url>

    <!-- Halaman Pencarian Dinamis -->
    <?php
    try {
        $stmt = $pdo->query("SELECT kode, updated_at FROM ref_matkul WHERE file_materi IS NOT NULL AND file_materi != '' ORDER BY updated_at DESC");
        
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
            // URL Bersih tanpa folder fisik
            $url = $base_url . '/library.php?q=' . urlencode($row['kode']);
            $lastmod = !empty($row['updated_at']) ? date('c', strtotime($row['updated_at'])) : date('c');
            ?>
    <url>
        <loc><?php echo $url; ?></loc>
        <lastmod><?php echo $lastmod; ?></lastmod>
        <changefreq>weekly</changefreq>
        <priority>0.7</priority>
    </url>
            <?php
        }
    } catch (PDOException $e) {}
    ?>

</urlset>