From 0ae8cbf5c0b1a198b963490985b7738392ebcb97 Mon Sep 17 00:00:00 2001 From: ahriman Date: Mon, 3 Dec 2018 19:22:25 -0500 Subject: installed dokuwiki, added to navbar, updated news --- wiki/inc/Action/Sitemap.php | 65 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 wiki/inc/Action/Sitemap.php (limited to 'wiki/inc/Action/Sitemap.php') diff --git a/wiki/inc/Action/Sitemap.php b/wiki/inc/Action/Sitemap.php new file mode 100644 index 0000000..025c515 --- /dev/null +++ b/wiki/inc/Action/Sitemap.php @@ -0,0 +1,65 @@ + + * @throws FatalException + * @inheritdoc + */ + public function preProcess() { + global $conf; + + if($conf['sitemap'] < 1 || !is_numeric($conf['sitemap'])) { + throw new FatalException(404, 'Sitemap generation is disabled'); + } + + $sitemap = \Sitemapper::getFilePath(); + if(\Sitemapper::sitemapIsCompressed()) { + $mime = 'application/x-gzip'; + } else { + $mime = 'application/xml; charset=utf-8'; + } + + // Check if sitemap file exists, otherwise create it + if(!is_readable($sitemap)) { + \Sitemapper::generate(); + } + + if(is_readable($sitemap)) { + // Send headers + header('Content-Type: ' . $mime); + header('Content-Disposition: attachment; filename=' . utf8_basename($sitemap)); + + http_conditionalRequest(filemtime($sitemap)); + + // Send file + //use x-sendfile header to pass the delivery to compatible webservers + http_sendfile($sitemap); + + readfile($sitemap); + exit; + } + + throw new FatalException(500, 'Could not read the sitemap file - bad permissions?'); + } + +} -- cgit 1.4.1-2-gfad0