<?php
/**
 * 动态生成 Sitemap
 * 访问方式：https://yourdomain.com/sitemap.xml
 * 如需静态文件，可访问 sitemap.xml 后将输出保存为静态文件
 */
header('Content-Type: application/xml; charset=utf-8');

include __DIR__ . '/config.php';

$domain = isset($_SERVER['HTTP_HOST']) ? 'https://' . $_SERVER['HTTP_HOST'] : '';

function esc($str) {
    return htmlspecialchars($str, ENT_XML1 | ENT_QUOTES, 'UTF-8');
}

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- 静态页面 -->
  <url>
    <loc><?php echo esc($domain); ?>/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/about.php</loc>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/products-amusement.php</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/products-iot.php</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/products-mcu.php</loc>
    <changefreq>weekly</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/cases.php</loc>
    <changefreq>weekly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/news.php</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/service.php</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/support.php</loc>
    <changefreq>weekly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc><?php echo esc($domain); ?>/contact.php</loc>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>

<?php
// 动态产品详情页
$result = $db->query("SELECT id, updated_at FROM products WHERE status = 1 ORDER BY id DESC");
if ($result) {
    while ($row = $result->fetch_assoc()) {
        $lastmod = !empty($row['updated_at']) ? date('Y-m-d', strtotime($row['updated_at'])) : date('Y-m-d');
?>
  <url>
    <loc><?php echo esc($domain); ?>/product-detail.php?id=<?php echo $row['id']; ?></loc>
    <lastmod><?php echo $lastmod; ?></lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
<?php
    }
}

// 动态新闻详情页
$result = $db->query("SELECT id, date FROM news WHERE active = 1 ORDER BY id DESC");
if ($result) {
    while ($row = $result->fetch_assoc()) {
        $lastmod = !empty($row['date']) ? $row['date'] : date('Y-m-d');
?>
  <url>
    <loc><?php echo esc($domain); ?>/news-detail.php?id=<?php echo $row['id']; ?></loc>
    <lastmod><?php echo $lastmod; ?></lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
<?php
    }
}

$db->close();
?>
</urlset>
