<?php
header('Content-Type: application/xml; charset=utf-8');

$baseUrl = 'https://' . $_SERVER['HTTP_HOST'];
$rootDir = __DIR__;

$exclude = [
    'assets',
    'parts',
    'go',
    'go-login',
];

function scanPages(string $dir, string $basePath, array $exclude): array {
    $pages = [];

    if (file_exists($dir . '/index.php')) {
        $pages[] = $basePath . '/';
    }

    $items = scandir($dir);
    foreach ($items as $item) {
        if ($item === '.' || $item === '..') continue;
        if (in_array($item, $exclude)) continue;
        if (!is_dir($dir . '/' . $item)) continue;

        $subPages = scanPages(
            $dir . '/' . $item,
            $basePath . '/' . $item,
            $exclude
        );
        $pages = array_merge($pages, $subPages);
    }

    return $pages;
}

$pages = scanPages($rootDir, '', $exclude);

echo '<?xml version="1.0" encoding="UTF-8"?>';
?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php foreach ($pages as $page): ?>
  <url>
    <loc><?= $baseUrl . $page ?></loc>
  </url>
<?php endforeach; ?>
</urlset>