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;
}
}