summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLester Caine <lester@lsces.co.uk>2026-05-21 10:19:45 +0100
committerLester Caine <lester@lsces.co.uk>2026-05-21 10:19:45 +0100
commita828d6d57ed577ed4c58e8b9b6359387377df3ed (patch)
treed2049b7207076ceb7cab7941ad4c08474b45bb63
parent906652278bb77eb33d42726d5bc5f1e2d020c584 (diff)
downloadbitweaver-a828d6d57ed577ed4c58e8b9b6359387377df3ed.tar.gz
bitweaver-a828d6d57ed577ed4c58e8b9b6359387377df3ed.tar.bz2
bitweaver-a828d6d57ed577ed4c58e8b9b6359387377df3ed.zip
Tidy automatic generation of sitemap
-rw-r--r--sitemap.php24
1 files changed, 24 insertions, 0 deletions
diff --git a/sitemap.php b/sitemap.php
new file mode 100644
index 0000000..4e6f62f
--- /dev/null
+++ b/sitemap.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Sitemap index — discovers active packages with a sitemap.php and lists them.
+ * Served via nginx rewrite of /sitemap.xml -> /sitemap.php
+ *
+ * @package kernel
+ */
+
+require_once 'kernel/includes/setup_inc.php';
+
+$gSiteMapIndex = [];
+foreach( $gBitSystem->mPackages as $package ) {
+ if( !empty( $package['active_switch'] ) && file_exists( $package['path'].'sitemap.php' ) ) {
+ $gSiteMapIndex[] = [
+ 'loc' => BIT_BASE_URI . $package['url'] . 'sitemap.php',
+ 'lastmod' => date( 'Y-m-d' ),
+ ];
+ }
+}
+
+$gBitSmarty->assign( 'gSiteMapIndex', $gSiteMapIndex );
+$gBitThemes->setFormatHeader( 'xml' );
+header( 'Content-Type: application/xml; charset=utf-8' );
+$gBitSystem->display( 'bitpackage:kernel/sitemapindex.tpl' );