<?php
// SiteMapDBGenerator
// Данный скрипт поможет вам сгенерировать карту на автомате с учетом добавления последнего вашего контента
// Автор: Пиминов Никита (pimnik98)
// https://vk.com/piminov_remont
class SiteMapGenerator{
public function __construct($DOMAIN){
$this->domain = $DOMAIN;
$this->modify = false;
$this->priority = 0.80;
$this->sitemap = false;
}
/**
* @param int $time
* Преобразует из Unix Time в валидное значение
*/
public function timeModify($time=false){
return date("c",($time==false?time():$time));
}
/**
* @param varchar $loc
* @param int $modify
* @param float $priority
* Добавляет одну позицию в карту сайта
*/
public function addItemMap($loc=false,$modify=false,$priority=false){
$this->sitemap[] = [
'loc' => $loc==false?$this->domain:$this->domain.$loc,
'lastmod' => $modify==false?$this->timeModify(time()):$this->timeModify($modify),
'priority' => $priority==false?$this->priority:$priority,
];
}
/**
* Генерирует карту сайта
*/
public function ViewMap(){
$xml = new SimpleXMLElement('<urlset></urlset>');
$urlset = $xml;
$urlset->addAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$urlset->addAttribute('xmlns:xsi', 'http://www.w3.org/2001/XMLSchema-instance');
$urlset->addAttribute('xsi:schemaLocation', 'http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd');
foreach ($this->sitemap as &$sitemap){
$url = $urlset->addChild('url');
$url->addChild('loc', $sitemap['loc']);
$url->addChild('lastmod', $sitemap['lastmod']);
$url->addChild('priority', $sitemap['priority']);
}
header('Content-type: text/xml');
print($xml->asXML());
exit();
}
}
?>