forked from Adleraci/adlerka.top
		
	Fix
This commit is contained in:
		@@ -1,8 +1,10 @@
 | 
			
		||||
<?php
 | 
			
		||||
require "lib/sitemap.php";
 | 
			
		||||
require "lib/account.php";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
function generateSitemap(): string {
 | 
			
		||||
    global $routerConfig;
 | 
			
		||||
 | 
			
		||||
    $site_dirs = array_diff(scandir($routerConfig["page_dir"]), array('.', '..'));
 | 
			
		||||
 | 
			
		||||
    $sitemap = '<?xml version="1.0" encoding="UTF-8"?>' . 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 .= '<url>' . PHP_EOL;
 | 
			
		||||
            $sitemap .= '<loc>' . htmlspecialchars($page_location) . '</loc>' . PHP_EOL;
 | 
			
		||||
            // You can add other optional tags like lastmod, changefreq, priority here if needed
 | 
			
		||||
            $sitemap .= '</url>' . 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 .= '<url>' . PHP_EOL;
 | 
			
		||||
                $sitemap .= '<loc>' . htmlspecialchars($page_location) . '</loc>' . PHP_EOL;
 | 
			
		||||
                // You can add other optional tags like lastmod, changefreq, priority here if needed
 | 
			
		||||
                $sitemap .= '</url>' . PHP_EOL;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user