<?php
// ১. ডাটাবেজ কানেকশন গ্লোবাল চেক
if (!isset($conn)) { 
    require_once 'config.php'; 
}

// ২. সার্ভারের আগের সমস্ত বাফারিং ও ফাঁকা স্পেস জোরপূর্বক মুছে ফেলা
while (ob_get_level()) {
    ob_end_clean();
}
ob_start();

// 三. ব্রাউজার ও সার্চ ইঞ্জিনের জন্য খাঁটি এক্সএমএল হেডার সেট করা
header("Content-Type: application/xml; charset=utf-8");
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Pragma: no-cache");

// 🛠️ ৪. ইউআরএল জেনারেট করার গ্লোবাল ফাংশন
function generate_xml_urls($slug) {
    if (empty($slug)) return;
    $slug = htmlspecialchars(ltrim($slug, '/'));
    
    // এক্সটেনশন ক্লিয়ারিং (যদি স্লাগে ভুল করে .php থেকে থাকে)
    $slug = preg_replace('/\.php$/', '', $slug);
    
    $base_url = "https://www.tradecompiled.com/" . $slug;
    $langs = ['en' => '', 'bn' => '?lang=bn', 'ar' => '?lang=ar', 'hi' => '?lang=hi'];

    // ক) ডিፈል্ট ইংরেজি সংস্করণ
    echo "  <url>\n";
    echo "    <loc>{$base_url}</loc>\n";
    echo "    <changefreq>weekly</changefreq>\n";
    echo "    <priority>0.8</priority>\n";
    foreach($langs as $k => $v) { 
        echo '    <xhtml:link rel="alternate" hreflang="' . $k . '" href="' . $base_url . $v . '" />' . "\n"; 
    }
    echo "  </url>\n";

    // খ) বাংলা, আরবি ও হিন্দি সংস্করণ (স্বয়ংক্রিয় রিটার্ন লিংকসহ)
    foreach (['bn', 'ar', 'hi'] as $l) {
        echo "  <url>\n";
        echo "    <loc>{$base_url}?lang={$l}</loc>\n";
        echo "    <changefreq>weekly</changefreq>\n";
        echo "    <priority>0.7</priority>\n";
        foreach($langs as $k => $v) { 
            echo '    <xhtml:link rel="alternate" hreflang="' . $k . '" href="' . $base_url . $v . '" />' . "\n"; 
        }
        echo "  </url>\n";
    }
}

// ৫. এক্সএমএল এর শুরু
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">' . "\n";

// ৬. ফিক্সড বা স্ট্যাটিক পেজসমূহ অটোমেশন
$static_pages = ['index', 'login', 'signup', 'dashboard'];
foreach ($static_pages as $page) {
    echo "  <url>\n";
    echo "    <loc>https://www.tradecompiled.com/{$page}</loc>\n";
    echo "    <changefreq>daily</changefreq>\n";
    echo "    <priority>1.0</priority>\n";
    echo "  </url>\n";
}

// 🚀 ৭. ডাইনামিক মেনু পেজ অটোমেশন (অ্যাডমিন/লগআউট পেজ ফিল্টার্ড)
$query = mysqli_query($conn, "SELECT DISTINCT url FROM menus WHERE (url LIKE '%.php' OR url LIKE '%slug=%') AND url NOT LIKE '%admin%' AND url NOT LIKE '%logout%' AND url NOT LIKE '%profile%'"); 

if ($query && mysqli_num_rows($query) > 0) {
    while ($row = mysqli_fetch_assoc($query)) {
        $raw_url = $row['url'];
        if (strpos($raw_url, 'page.php?slug=') !== false) {
            $slug = str_replace('page.php?slug=', '', $raw_url);
        } else {
            $slug = ltrim($raw_url, '/');
        }
        generate_xml_urls($slug);
    }
    mysqli_free_result($query);
}

// 🚀 🎯 ৮. আপনার 'pages' টেবিল থেকে আর্টিকাল অটোমেশন ইঞ্জিন (শতভাগ ক্র্যাশ-প্রুফ)
$table_check = mysqli_query($conn, "SHOW TABLES LIKE 'pages'");
if ($table_check && mysqli_num_rows($table_check) > 0) {
    
    // স্ট্যাটিক ৪টি পেজ এবং অ্যাডমিন প্যানেলের কোনো ইন্টারনাল ফাইল যেন ডুপ্লিকেট না হয়, তাই ফিল্টার করা হলো
    $article_query = mysqli_query($conn, "SELECT DISTINCT slug FROM pages WHERE slug NOT IN ('index', 'login', 'signup', 'dashboard') AND slug NOT LIKE '%admin%' AND slug NOT LIKE '%logout%' AND slug IS NOT NULL AND slug != ''");
    
    if ($article_query && mysqli_num_rows($article_query) > 0) {
        while ($art_row = mysqli_fetch_assoc($article_query)) {
            generate_xml_urls($art_row['slug']);
        }
        mysqli_free_result($article_query);
    }
    mysqli_free_result($table_check);
}

// ৯. এক্সএমএল ক্লোজিং ট্যাগ
echo '</urlset>';
exit;