forked from Adleraci/adlerka.top
		
	Create sitemap
This commit is contained in:
		@@ -18,6 +18,11 @@ if (!isLoggedIn()) {
 | 
			
		||||
    setDefaultSessionData();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if($routerRequest["site_name"] == "sitemap.xml") {
 | 
			
		||||
    require "lib/sitemap.php";
 | 
			
		||||
    return generateSitemap();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if ($routerRequest["type"] == "api") {
 | 
			
		||||
    echo getEndpoint($routerRequest["site_name"]);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -26,6 +26,7 @@ function initRouter(): array
 | 
			
		||||
    if($_SERVER["REQUEST_METHOD"] == "POST"){
 | 
			
		||||
        $routerRequest["type"] = "api";
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if(empty($routerRequest["type"])) {
 | 
			
		||||
        $routerRequest["type"] = "page";
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										29
									
								
								lib/sitemap.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								lib/sitemap.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
<?php
 | 
			
		||||
require "lib/sitemap.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;
 | 
			
		||||
    $sitemap .= '<urlset xmlns="https://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL;
 | 
			
		||||
 | 
			
		||||
    foreach ($site_dirs as $site_dir) {
 | 
			
		||||
        $pages_dir = array_diff(scandir($routerConfig["page_dir"] . $site_dir), array('.', '..'));
 | 
			
		||||
 | 
			
		||||
        foreach ($pages_dir as $page_file) {
 | 
			
		||||
            $page_file_tmp = explode(".", $page_file);
 | 
			
		||||
            $page_basename = $page_file_tmp[0];
 | 
			
		||||
            $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;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    $sitemap .= '</urlset>' . PHP_EOL;
 | 
			
		||||
 | 
			
		||||
    return $sitemap;
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user