<?php
require("admin/req/utils.php");
// Подключились к БД
//DB_Connect();
$Setup = LoadSetup();

function CreateLink($tmpParent, $strLink=NULL)
{
	$thm1 = mysql_query("SELECT id_parent,name FROM page WHERE id_page=$tmpParent");
	if($tmpPage = mysql_fetch_array($thm1))
	{
		$strLink = $tmpPage['name']."/".$strLink;
		if($tmpPage['id_parent']) $strLink = CreateLink($tmpPage['id_parent'], $strLink);
	}
	return $strLink;
}

function makeUrlString ($urlString) {
    return htmlentities($urlString, ENT_QUOTES, 'UTF-8');
}

function makeIso8601TimeStamp ($dateTime) {
    if (!$dateTime) {
        $dateTime = date('Y-m-d H:i:s');
    }
    if (is_numeric(substr($dateTime, 11, 1))) {
        $isoTS = substr($dateTime, 0, 10) ."T"
                 .substr($dateTime, 11, 8) ."+00:00";
    }
    else {
        $isoTS = substr($dateTime, 0, 10);
    }


    return $isoTS;
}


function makeUrlTag ($url, $modifiedDateTime, $changeFrequency, $priority) {
    GLOBAL $newLine;
    GLOBAL $indent;
    GLOBAL $isoLastModifiedSite;
    $urlOpen = "$indent<url>$newLine";
    $urlValue = "";
    $urlClose = "$indent</url>$newLine";
    $locOpen = "$indent$indent<loc>";
    $locValue = "";
    $locClose = "</loc>$newLine";
    $lastmodOpen = "$indent$indent<lastmod>";
    $lastmodValue = "";
    $lastmodClose = "</lastmod>$newLine";
    $changefreqOpen = "$indent$indent<changefreq>";
    $changefreqValue = "";
    $changefreqClose = "</changefreq>$newLine";
    $priorityOpen = "$indent$indent<priority>";
    $priorityValue = "";
    $priorityClose = "</priority>$newLine";

    $urlTag = $urlOpen;
    $urlValue     = $locOpen .makeUrlString("$url") .$locClose;
    if ($modifiedDateTime) {
     $urlValue .= $lastmodOpen .makeIso8601TimeStamp($modifiedDateTime) .$lastmodClose;
     if (!$isoLastModifiedSite) { // last modification of web site
         $isoLastModifiedSite = makeIso8601TimeStamp($modifiedDateTime);
     }
    }
    if ($changeFrequency) {
     $urlValue .= $changefreqOpen .$changeFrequency .$changefreqClose;
    }
    if ($priority) {
     $urlValue .= $priorityOpen .$priority .$priorityClose;
    }
    $urlTag .= $urlValue;
    $urlTag .= $urlClose;
    return $urlTag;
}

$isoLastModifiedSite = '';
$newLine = "\n";
$indent =" ";
$xmlHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>$newLine";
$urlsetOpen = "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">$newLine";
$urlsetValue = "";
$urlsetClose = "</urlset>$newLine";

header('Content-type: application/xml; charset="utf-8"',true);

$PATH = array();

$thm = mysql_query("SELECT name, last_mod, priority, changefreq, id_parent  FROM page WHERE visible <> 0");//получаем корневые страницы
while($MyPage=mysql_fetch_assoc($thm))
{

	$MyPage['last_mod'] = ($MyPage['last_mod'] != '0000-00-00 00:00:00') ? $MyPage['last_mod'] : date("Y-m-d H:i:s");
	$MyPage['changefreq'] = ($MyPage['changefreq'])? $MyPage['changefreq'] : $Setup['strPageDefChangefreq'];
	$isoLastModifiedSite = makeIso8601TimeStamp($MyPage['last_mod']);

	// Получили ссылку
	$MyPage['link'] = MAIN_URL.CreateLink($MyPage['id_parent'],$MyPage['name']).'/';
	$MyPage['link'] = ($MyPage['link'] == MAIN_URL.'index/') ? MAIN_URL : $MyPage['link'];

	// Вывели результат
	$urlsetValue .= makeUrlTag ($MyPage['link'], $isoLastModifiedSite, $MyPage['changefreq'], $MyPage['priority']);
}

print "$xmlHeader
$urlsetOpen
$urlsetValue
$urlsetClose
";
?>