<?php
require __DIR__.'/enter.php';

// params to change
//$site_root = 'http://xn----8sbjfjkdjnslt7af.xn--p1ai'; // without last '/'
$site_root = 'https://'.$_SERVER['HTTP_HOST'];
$excluded_modes = array('login');


$excluded_modes[] = 'index';

if (!function_exists('e')) {
    function e($text) {
        if($text==null) {
            return '';
        }
        return htmlspecialchars($text, ENT_QUOTES, 'utf-8');
    }
}

/**
 * @param $path
 * @param array $params ('priority' between 0 and 1, 'lastmod' like '2006-11-18', 'changefreq' from [always, hourly, daily, weekly, monthly, yearly, never]
 */
function createUrl($path, $params = null) {
    global $site_root;
    if ($path[0] != '/') {
        $path = '/'.$path;
    }
    ?>
    <url>
        <loc><?php echo e($site_root).e($path) ?></loc>
        <?php if (!empty($params['priority'])): ?>
            <priority><?php echo $params['priority'] ?></priority>
        <?php endif; ?>
        <?php if (!empty($params['lastmod'])): ?>
            <lastmod><?php echo date('Y-m-d', $params['lastmod']) ?></lastmod>
        <?php endif; ?>
        <?php if (!empty($params['changefreq'])): ?>
            <changefreq><?php echo $params['changefreq'] ?></changefreq>
        <?php endif; ?>
    </url>
<?php
}

$news_exists = false;
$gallery_exists = false;
$documents_exists = false;
$catalog_exists = false;
header('Content-Type: application/xml');
?>
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
    <?php
    createUrl('/');

    $r_modes = mysql_query("SELECT * FROM divisions") or die('could not query "divisions"');
    $n_modes = mysql_num_rows($r_modes);
    for($i = 0; $i < $n_modes; $i++) {
        $row = mysql_fetch_assoc($r_modes);

        if ($row['alias'] == 'news') {
            $news_exists = true;
        } else if ($row['alias'] == 'gallery') {
            $gallery_exists = true;
        } else if ($row['alias'] == 'documents') {
            $documents_exists = true;
        } else if ($row['alias'] == 'catalog') {
            $catalog_exists = true;
        }

        if (array_search($row['alias'], $excluded_modes) === false) {
            if ($row['alias'] == 'news') {
                createUrl('?mode='.$row['alias'], array('changefreq'=>'weekly'));
            } else {
                createUrl('?mode='.$row['alias']);
            }

        }
    }

    if ($news_exists) {
        $r_news = mysql_query("SELECT * FROM news WHERE pubdate < $now ORDER BY id ASC") or die('could not query "news"');
        $n_news = mysql_num_rows($r_news);
        for($i = 0; $i < $n_news; $i++) {
            $row = mysql_fetch_assoc($r_news);
            createUrl('?mode=news&id='.$row['id'], array('lastmod' => $row['pubdate']));
        }
    }

    if ($gallery_exists) {
        $r_gallery = mysql_query("SELECT * FROM gallery WHERE type = 1") or die('could not query "gallery"');
        $n_gallery = mysql_num_rows($r_gallery);
        for ($i = 0; $i < $n_gallery; $i++) {
            $row = mysql_fetch_assoc($r_gallery);
            createUrl('?mode=gallery&level='.$row['id']);
        }
    }

    if ($documents_exists) {
        $r_documents = mysql_query("SELECT * FROM documents WHERE type = 1") or die('could not query "documents"');
        $n_documents = mysql_num_rows($r_documents);
        for ($i = 0; $i < $n_documents; $i++) {
            $row = mysql_fetch_assoc($r_documents);
            createUrl('?mode=documents&level='.$row['id']);
        }
    }

    if ($catalog_exists) {
        $r_groups = mysql_query("SELECT * FROM categories") or die('could not query "groups"');
        $n_groups = mysql_num_rows($r_groups);
        for ($i = 0; $i < $n_groups; $i++) {
            $row = mysql_fetch_assoc($r_groups);
            createUrl('?mode=catalog&category='.$row['id']);
        }
/*
        $r_items = mysql_query("SELECT * FROM items WHERE hidden <> 1") or die('could not query "items"');
        $n_items = mysql_num_rows($r_items);
        for ($i = 0; $i < $n_items; $i++) {
            $row = mysql_fetch_assoc($r_items);
            createUrl('?mode=catalog&id='.$row['id']);
        }
*/
    }
    ?>
</urlset>