HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/keystud.komma-mediadesign.nl/wwwroot/lib/site_map_xml.class.php
<?php
/**
 * site_map_xml.class.php
 * Created by Komma Mediadesign.
 * Author: mike
 * Date: 5/8/13
 */

class Site_Map_Xml
{
    private $_langRoot;

    private $_lang;
    private $_urls;
    private $_Functions;

    public function __construct($lang)
    {

        $LanguageHandler = new LanguageHandler();
        $LanguageHandler->set($lang);

        $this->_lang = $LanguageHandler->get();
        $this->_urls = $LanguageHandler->getUrls();

        $this->_Functions = new Functions();

        $this->_langRoot = $lang . '/';
    }

    public function generate($main,$sub)
    {

        $output = '';
        foreach($main as $name)
        {
            $date = date('Y-m-d');

            if($name == 'home')
            {
                $output .= '<url>
                                <loc>' . BASE_ROOT . '</loc>
                                <lastmod>' . $date . '</lastmod>
                                <changefreq>weekly</changefreq>
                                <priority>0.5</priority>
                            </url>';
            }
            else
            {
                $output .= '<url>
                                <loc>' . BASE_ROOT . $this->_langRoot . $this->_urls[$name] . '</loc>
                                <lastmod>' . $date . '</lastmod>
                                <changefreq>weekly</changefreq>
                                <priority>0.5</priority>
                            </url>';

                if(isset($sub[$name]) && method_exists('Site_Map_Xml',$sub[$name]))
                {
                    $output .= $this->{$sub[$name]}();
                }
            }
        }
        return $output;
    }

    // returns horses as sub list
    private function getHorses()
    {
        $Horse = new Horse_Model();

        $Horse->set(array('name'=>'foals','page_id'=>1));
        $data['foals'] = $Horse->get(array('title'=>''));
        if( ! is_array($data['foals'][key($data['foals'])])) $data['foals'] = array($data['foals']);

        $Horse->set(array('name'=>'mares','page_id'=>2));
        $data['mares'] = $Horse->get(array('title'=>''));
        if( ! is_array($data['mares'][key($data['mares'])])) $data['mares'] = array($data['mares']);

        $Horse->set(array('name'=>'youngsters','page_id'=>3));
        $data['youngsters'] = $Horse->get(array('title'=>''));
        if( ! is_array($data['youngsters'][key($data['youngsters'])])) $data['youngsters'] = array($data['youngsters']);

        $Horse->set(array('name'=>'references','page_id'=>4));
        $data['references'] = $Horse->get(array('title'=>''));
        if( ! is_array($data['references'][key($data['references'])])) $data['references'] = array($data['references']);


        $output = '';
        $date = date('Y-m-d');
        $pages = array('foals','mares','youngsters','references');

        foreach($pages as $page)
        {
            foreach($data[$page] as $d)
            {
                $urlTitle = $this->_Functions->encodeUrl($d['title']);
                $url = BASE_ROOT . $this->_langRoot . $this->_urls[$page] . '/' . $urlTitle;

                $output .= '<url>
                                <loc>' . $url . '</loc>
                                <lastmod>' . $date . '</lastmod>
                                <changefreq>weekly</changefreq>
                                <priority>0.5</priority>
                            </url>';
            }
        }


        return $output;
    }


    // returns years as sub list
    private function getYears()
    {
        // Get all years
        $Horse = new Horse_Model();

        $Horse->set(array('name'=>'foals','page_id'=>1));
        $data['foals'] = $Horse->get(array('birthyear'=>''));
        if( ! is_array($data['foals'][key($data['foals'])])) $data['foals'] = array($data['foals']);

        $Horse->set(array('name'=>'mares','page_id'=>2));
        $data['mares'] = $Horse->get(array('birthyear'=>''));
        if( ! is_array($data['mares'][key($data['mares'])])) $data['mares'] = array($data['mares']);

        $Horse->set(array('name'=>'youngsters','page_id'=>3));
        $data['youngsters'] = $Horse->get(array('birthyear'=>''));
        if( ! is_array($data['youngsters'][key($data['youngsters'])])) $data['youngsters'] = array($data['youngsters']);

        $output = '';
        $date = date('Y-m-d');
        $pages = array('foals','mares','youngsters');

        foreach($pages as $page)
        {
            foreach($data[$page] as $d)
            {
                $urlTitle = $this->_Functions->encodeUrl($d['birthyear']);
                $url = BASE_ROOT . $this->_langRoot . $this->_urls[$page] . '/' . $urlTitle;

                $output .= '<url>
                                <loc>' . $url . '</loc>
                                <lastmod>' . $date . '</lastmod>
                                <changefreq>weekly</changefreq>
                                <priority>0.5</priority>
                            </url>';
            }
        }

        return $output;
    }
}