diff --git a/lib/sitemap.php b/lib/sitemap.php index f99dd4e..a5f9cb7 100644 --- a/lib/sitemap.php +++ b/lib/sitemap.php @@ -1,8 +1,10 @@ ' . PHP_EOL; @@ -14,12 +16,32 @@ function generateSitemap(): string { foreach ($pages_dir as $page_file) { $page_file_tmp = explode(".", $page_file); $page_basename = $page_file_tmp[0]; + $page_file_path = $routerConfig["page_dir"] . $site_dir . "/" . $page_file; $page_location = "/" . $site_dir . "/" . $page_basename; - $sitemap .= '' . PHP_EOL; - $sitemap .= '' . htmlspecialchars($page_location) . '' . PHP_EOL; - // You can add other optional tags like lastmod, changefreq, priority here if needed - $sitemap .= '' . PHP_EOL; + if ($page_file_tmp[1] == "html") { + $page_tmp = file_get_contents($page_file_path); + + $pageMetadata = parsePageTag($page_tmp); + + if (!empty($pageMetadata["parameters"]["minimal_permission_level"])) { + $page_required_permission = intval($pageMetadata["parameters"]["minimal_permission_level"]); + } else { + $page_required_permission = $routerConfig["page"]["default_permissions"]; + } + } elseif ($page_file_tmp[1] == "php") { + $page_required_permission = getDynamicPermission($page_file_path); + } else { + $page_required_permission = $routerConfig["page"]["default_permissions"]; + } + + // Check if the user is authorized to access the page + if ($page_required_permission <= $_SESSION["privilege_level"]) { + $sitemap .= '' . PHP_EOL; + $sitemap .= '' . htmlspecialchars($page_location) . '' . PHP_EOL; + // You can add other optional tags like lastmod, changefreq, priority here if needed + $sitemap .= '' . PHP_EOL; + } } }