%PDF- %PDF-
Direktori : /www/varak.net/recepty.varak.net/inc/Action/ |
Current File : /www/varak.net/recepty.varak.net/inc/Action/Sitemap.php |
<?php namespace dokuwiki\Action; use dokuwiki\Action\Exception\FatalException; use dokuwiki\Sitemap\Mapper; /** * Class Sitemap * * Generate an XML sitemap for search engines. Do not confuse with Index * * @package dokuwiki\Action */ class Sitemap extends AbstractAction { /** @inheritdoc */ public function minimumPermission() { return AUTH_NONE; } /** * Handle sitemap delivery * * @author Michael Hamann <michael@content-space.de> * @throws FatalException * @inheritdoc */ public function preProcess() { global $conf; if($conf['sitemap'] < 1 || !is_numeric($conf['sitemap'])) { throw new FatalException('Sitemap generation is disabled', 404); } $sitemap = Mapper::getFilePath(); $mime = 'application/xml; charset=utf-8'; // Check if sitemap file exists, otherwise create it if(!is_readable($sitemap)) { Mapper::generate(); } if(is_readable($sitemap)) { // Send headers header('Content-Type: ' . $mime); if(Mapper::sitemapIsCompressed()) header("Content-Encoding: gzip"); //header('Content-Disposition: attachment; filename=' . \dokuwiki\Utf8\PhpString::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('Could not read the sitemap file - bad permissions?'); } }