<?php

$page_priority      = "0.5";		// Default priority for normal pages
$page_home_priority = "1.0";  		// Homepage priority
$page_root_priority = "0.6";  		// Toplevel menu pages priority
$page_frequency     = "weekly";		// Update frequency of your pages. Allowed: always, hourly, daily, weekly, monthly, yearly, never
$exclude            = array();      // Array of unwanted words in the url, eg. array("privat", "do-not-enter", "keep-away")

$module_names[]     = "news";		// Name of the module
$news_priority      = "0.7";		// News posts of the last 4 weeks
$news_old_priority  = "0.5";		// News posts older than 4 weeks
$news_frequency     = "weekly";  	// News posts update frequency

$module_names[]     = "rdg_news_2";		// Name of the module
$news_priority      = "1.0";		// News posts of the last 4 weeks
$news_old_priority  = "0.5";		// News posts older than 4 weeks
$news_frequency     = "weekly";  	// News posts update frequency

$module_names[]     = "rdg_huurboek";		// Name of the module
$huurboek_priority  = "0.5";		// News posts of the last 4 weeks
$huurboek_frequency = "monthly";  	// News posts update frequency

$module_names[]     = "bakery";		// Name of the module
$bakery_priority    = "0.5";		//
$bakery_frequency   = "weekly";  	//

$module_names[]     = "catalogs";	// Name of the module
$catalog_priority   = "0.5";		//
$catalog_frequency  = "weekly";  	// 

$module_names[]     = "portfolio";		// Name of the module
$portfolio_priority    = "0.5";		//
$portfolio_frequency   = "weekly";  	//


require_once(dirname(__FILE__)."/config.php");

if(!defined("WB_PATH")) {
	header("Location: install/index.php");
	exit(0);
}
require_once(WB_PATH."/framework/class.frontend.php");
if(!defined("VERSION")) {
	require_once(ADMIN_PATH."/interface/version.php");
}

$v = explode(".",VERSION);
if ($v[0] < 2 || $v[1] < 7){
	$wb27 = false;   					// To know if news uses published properties. Set false when using < WB 2.7
}else{
	$wb27 = true;   					// To know if news uses published properties. Set false when using < WB 2.7
}		

$query_addons = $database->query("SELECT type, directory FROM ".TABLE_PREFIX."addons WHERE type = 'module'");
if($query_addons->numRows() > 0) {
	while($addons = $query_addons->fetchRow()) {
		$use[$addons['directory']] = true;
	}
}

$wb = new frontend();
$wb->get_website_settings();

$checklink = mysql_query("SELECT 1 FROM `" . TABLE_PREFIX . "mod_menu_link` LIMIT 1");

if (mysql_num_rows($checklink)) {
	$sql = "SELECT `link`, `modified_when`, `parent`, `position` FROM `" . TABLE_PREFIX . "pages` WHERE `visibility` = 'public' AND `page_id` NOT IN (SELECT `page_id` FROM `" . TABLE_PREFIX . "mod_menu_link` WHERE `target_page_id` = '-1') ORDER BY `position` ASC";
} else {
	$sql = "SELECT `link`, `modified_when`, `parent`, `position` FROM `" . TABLE_PREFIX . "pages` WHERE `visibility` = 'public' ORDER BY `position` ASC";
}
$rs = $database->query($sql);

if (isset($use['news'])) {
	if ($wb27) {
		$t = time();
		$sql = "SELECT link,posted_when,published_when FROM " . TABLE_PREFIX . "mod_news_posts WHERE active=1 AND (published_when = '0' OR published_when <= $t) AND (published_until = 0 OR published_until >= $t)";
	} else {
		$sql = "SELECT link,posted_when,title FROM " . TABLE_PREFIX . "mod_news_posts WHERE active=1";
	}
$rs_news = $database->query($sql);
}

if (isset($use['rdg_news_2'])) {
	if ($wb27) {
		$t = time();
		$sql = "SELECT link,posted_when,published_when FROM " . TABLE_PREFIX . "mod_rdg_news_posts WHERE active=1 AND (published_when = '0' OR published_when <= $t) AND (published_until = 0 OR published_until >= $t)";
	} else {
		$sql = "SELECT link,posted_when,title FROM " . TABLE_PREFIX . "mod_rdg_news_posts WHERE active=1";
	}
$rs_news = $database->query($sql);
}

if (isset($use['rdg_huurboek'])) {
		$sql = "SELECT gr, page_id FROM " . TABLE_PREFIX . "mod_rdg_huurboek WHERE gr != ''";
		$rs_huurboek = $database->query($sql);
}

if (isset($use['bakery'])) {
	$sql = "SELECT link,modified_when FROM " . TABLE_PREFIX . "mod_bakery_items WHERE active=1";
	$rs_bakery = $database->query($sql);
}

if (isset($use['catalogs'])) {
	$sql = "SELECT link,modified_when FROM " . TABLE_PREFIX . "mod_catalogs_list WHERE active=1";
	$rs_catalog = $database->query($sql);
}

if (isset($use['portfolio'])) {
	$sql = "SELECT section_id,alt FROM " . TABLE_PREFIX . "mod_portfolio_detail";
	$rs_portfolio = $database->query($sql);
}
@header("Content-Type: application/xml");

?>
<?xml version="1.0" encoding="UTF-8"?>

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php
 	if ($rs && $rs->numRows() > 0) {
		$freq = $page_frequency;
		$unwanted = "\n";
		while($page = $rs->fetchRow()) {
			$thePage = $page['link'];
			// Check for unwanted words in the url
			$wanted = true;
			foreach($exclude as $value) {
				if(strpos($thePage, $value)) {
					$wanted = false;
					$unwanted .= "{$thePage} contains $value and will not show up in the sitemap!\n";
				}
			}
			if(strstr($thePage, '://') == '' && $wanted) {
				$pri = $page_priority;
				if ($page['parent'] == 0) {
					if ($page['position'] == 1) {  
						$pri = $page_home_priority;   // Should be the homepage
						$thePage = WB_URL.'/';
					} else {
						$pri = $page_root_priority;   // Root level pages
					}
				}
?>
<url>
	<loc><?php echo htmlspecialchars($wb->page_link($thePage));  ?></loc>
	<lastmod><?php echo gmdate("Y-m-d", $page['modified_when']+TIMEZONE); ?></lastmod>
	<changefreq><?php echo $freq; ?></changefreq>
	<priority><?php echo $pri; ?></priority>
</url>
<?php
			}
		}
	}

	// News, uses published_when field when used
	if(isset($rs_news) && $rs_news->numRows() > 0) {
		$freq = $news_frequency;
		while($news = $rs_news->fetchRow()){
			$pri = $news_priority;
			if (@$news['link']) {
				$lastweek = time() - (4 * 7 * 24 * 60 * 60);
				if ($news['posted_when'] < $lastweek) { 
					$pri = $news_old_priority;
				}
				if ($wb27 && $news['published_when'] > 0){
					$lastmod = gmdate("Y-m-d", $news['published_when']+TIMEZONE);
				} else {
					$lastmod = gmdate("Y-m-d", $news['posted_when']+TIMEZONE);
				}
?>
<url>
	<loc><?php echo htmlspecialchars($wb->page_link($news['link']));  ?></loc>
	<lastmod><?php echo $lastmod; ?></lastmod>
	<changefreq><?php echo $freq; ?></changefreq>
	<priority><?php echo $pri; ?></priority>
</url>
<?php
		 	}
		}
	}

	// Bakery
	if(isset($rs_bakery) && $rs_bakery->numRows() > 0) {
		$freq = $bakery_frequency;
		while($bakery = $rs_bakery->fetchRow()){
			$pri = $bakery_priority;
			if (@$bakery['link']) {
				// Removes the leading PAGES_DIRECTORY
				$bakery['link'] = preg_replace('/^\\'.PAGES_DIRECTORY.'/', '', $bakery['link'], 1);
?>
<url>
	<loc><?php echo htmlspecialchars($wb->page_link($bakery['link']));  ?></loc>
	<lastmod><?php echo gmdate("Y-m-d", $bakery['modified_when']+TIMEZONE); ?></lastmod>
	<changefreq><?php echo $freq; ?></changefreq>
	<priority><?php echo $pri; ?></priority>
</url>
<?php
		 	}
		}
	}

	// Catalog
	if (isset($rs_catalog) && $rs_catalog->numRows() > 0) {
		$freq = $catalog_frequency;
		while($cat = $rs_catalog->fetchRow()){
			$pri = $catalog_priority;
			if (@$cat['link']) {
?>
<url>
	<loc><?php echo htmlspecialchars($wb->page_link($cat['link']));  ?></loc>
	<lastmod><?php echo gmdate("Y-m-d", $cat['modified_when']+TIMEZONE); ?></lastmod>
	<changefreq><?php echo $freq; ?></changefreq>
	<priority><?php echo $pri; ?></priority>
</url>
<?php
			}
		}
	}
	// Show excluded urls set in the config var $exclude (Uncomment next line for testing)
	// echo "<!-- \n Hidden page URLs of the Google sitemap set in the config var \$exclude:\n".$unwanted." --> \n";
	
	// Portfolio
	if(isset($rs_portfolio) && $rs_portfolio->numRows() > 0) {
		/*SELECT  `link` FROM  `wb_pages` WHERE  `page_id` = (SELECT `page_id` FROM `wb_mod_portfolio_settings` LIMIT 1);*/
		$sql = "SELECT  `link` FROM  `" . TABLE_PREFIX . "pages` WHERE  `page_id` = (SELECT `page_id` FROM `" . TABLE_PREFIX . "mod_portfolio_settings` LIMIT 1);";
		if(!$setting_portfolio = $database->query($sql)) { die(mysql_error()); }
		if($settings_p = $setting_portfolio->fetchRow()) {
			$freq = $portfolio_frequency;
			while($portfolio = $rs_portfolio->fetchRow()){
				$pri = $portfolio_priority;
				if (@$portfolio['section_id']) {
					// Removes the leading PAGES_DIRECTORY
					$portfolio['link'] = htmlspecialchars($wb->page_link(PAGES_DIRECTORY.$settings_p['link'])).'?item='.$portfolio['section_id'];
	?>
<url>
	<loc><?php echo $portfolio['link'];  ?></loc>
	<lastmod><?php echo gmdate("Y-m-d", $bakery['modified_when']+TIMEZONE); ?></lastmod>
	<changefreq><?php echo $freq; ?></changefreq>
	<priority><?php echo $pri; ?></priority>
</url>
<?php
			 	}
			}
		}
	}
?>
<?php
/*		$httphost = getenv('HTTP_HOST');
		$requesturi =  getenv('REQUEST_URI');
		$requesturl = $httphost . $requesturi;
		$pagelink = 'http://' . $httphost;
		$langcode = '';
		$path = getenv('DOCUMENT_ROOT') ;
		$path .= '/media/huurboek/';
		$datafile = $path . 'huurboek' . $langcode . '.txt';
		if( !file_exists($datafile) ) { 
			echo "Er zijn geen producten gevonden. Probeert u het later nog eens.";
			$metafiledata = "."; 
		}
		$img_uri = ''; 											// $img_uri 		= '/media/huurboek/afb/';
		$img_path = 'http://www.infrarent.com' . $img_uri; 	// $img_path 		= '/opt/lampp/htdocs/rdgdesign.nl' . $img_uri;
		$img_httppath = WB_URL; 								// $img_httppath 	= WB_URL . '/media/huurboek/afb/';
		$html_uri = '/media/huurboek/html' . $langcode . '/';
		$html_path = '/var/www/infrarent.com/web' . $html_uri;
		$row = 1;
		$collectedItems = "";
		$countedItems = 0;
		$searchFor = "ja";
		$frequentie = "monthly";
		$prioriteit = "0.5";
		if (($datahandle = fopen($datafile, "r")) !== FALSE) {
			$allItems=array();
			while (($filedata = fgetcsv($datahandle, 0, "	")) !== FALSE) {
				$num = count($filedata);
				$row++;
				$dbdata[$row] = $filedata;
				$generate = false;
				if( strip_tags($dbdata[$row][47]) == $searchFor){ //INF_ACTIVE
					$artikelnr	= $dbdata[$row][0];
					
					$prelink = str_replace(" ", "-", $dbdata[$row][1]);
					$prelink = strtolower($prelink);
					$prelink = str_replace("&auml;", "ae", $prelink);
					$prelink = str_replace("&ouml;", "oe", $prelink);
					$prelink = str_replace("&uuml;", "ue", $prelink);
						
					if($langcode == '-en'){
					
						// nog maken
						if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html")) { 
							$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html"));
			
							
							$link = $pagelink.'/en/rental/'.$prelink.'.php?art='.$dbdata[$row][0];
							$generate = true;
						}else{						
							//$link = '/en/rental/'.$prelink.'.php';
						}
						
					}elseif($langcode == '-de'){
							
						if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0]."-oms.html")) { 
							$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html"));
							echo "test". $moddate;
							
							$link = $pagelink.'/de/mieten/'.$prelink.'.php?art='.$dbdata[$row][0];
							$generate = true;
						}else{						
							//$link = '/de/mieten/'.$prelink.'.php';
						}
						
					}else{
						if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms".$langcode.".html")) { 
							$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms".$langcode.".html"));
							$link = $pagelink.'/nl/huren/'.$prelink.'.php?art='.$dbdata[$row][0];
							$generate = true;
						}else{						
							//$link = '/nl/huren/'.strtolower($dbdata[$row][1]).'.php';
						}
					}
				}
				if($generate == true){
echo "<url>"."\n";
echo "	<loc>". htmlspecialchars($link) ."</loc>"."\n";
echo "	<lastmod>". $moddate ."</lastmod>"."\n";
echo "	<changefreq>". $frequentie ."</changefreq>"."\n";
echo "	<priority>". $prioriteit ."</priority>"."\n";
echo "</url>"."\n";
				}
			}
		}*/
		
		
	//huurboek
	
		if (isset($rs_huurboek) && $rs_huurboek->numRows() > 0) {
			$freq = $huurboek_frequency;
			while($huur = $rs_huurboek->fetchRow()){
				$pri = $huurboek_priority;
				if (@$huur['gr']) {
	
				$pageLangID = $huur['page_id'];
				
				$sql2 = "SELECT `language` FROM `" . TABLE_PREFIX . "pages` WHERE `page_id` = '$pageLangID'";
				$resultaat = $database->query($sql2);
				$resultaat2 = $resultaat->fetchRow();
				$langcode = "-".strtolower($resultaat2[0]);
				if($langcode=='-nl'){$langcode='';}
	
				$httphost = getenv('HTTP_HOST');
				$requesturi =  getenv('REQUEST_URI');
				$requesturl = $httphost . $requesturi;
				$pagelink = 'http://' . $httphost;
				//$langcode = '';
				$path = getenv('DOCUMENT_ROOT') ;
				$path .= '/media/huurboek/';
				$datafile = $path . 'huurboek' . $langcode . '.txt';
				//if( !file_exists($datafile) ) { 
					//echo "Er zijn geen producten gevonden. Probeert u het later nog eens.";
					//$metafiledata = "."; 
				//}
				$html_uri = '/media/huurboek/html/';
				$html_path = '/var/www/infrarent.com/web' . $html_uri;
				$row = 1;
				$collectedItems = "";
				$countedItems = 0;
		
				if (($datahandle = fopen($datafile, "r")) !== FALSE) {
					$allItems=array();
					while (($filedata = fgetcsv($datahandle, 0, "	")) !== FALSE) {
						$num = count($filedata);
						$row++;
						$dbdata[$row] = $filedata;
						$generate = false;
						if( strip_tags(($dbdata[$row][1]) == $huur['gr'])&&($dbdata[$row][47] == "ja")){ //INF_ACTIVE
		
							$artikelnr	= $dbdata[$row][0];
							$prelink = str_replace(" ", "-", $huur['gr']);
							$prelink = strtolower($prelink);
							$prelink = str_replace("&auml;", "ae", $prelink);
							$prelink = str_replace("&ouml;", "oe", $prelink);
							$prelink = str_replace("&uuml;", "ue", $prelink);
								
							if($langcode == '-en'){
								if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html")) { 
									$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html"));
									$link = $pagelink.'/en/rental/'.$prelink.'.php?art='.$dbdata[$row][0];
									$generate = true;
								}
							}elseif($langcode == '-de'){
								if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0]."-oms.html")) { 
									$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html"));
									$link = $pagelink.'/de/mieten/'.$prelink.'.php?art='.$dbdata[$row][0];
									$generate = true;
								}
							}else{
								if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms".$langcode.".html")) { 
									$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms".$langcode.".html"));
									$link = $pagelink.'/nl/huren/'.$prelink.'.php?art='.$dbdata[$row][0];
									$generate = true;
								}
							}
						}
						if($generate == true){
							echo "<url>"."\n";
							echo "	<loc>". htmlspecialchars($link) ."</loc>"."\n";
							echo "	<lastmod>". $moddate ."</lastmod>"."\n";
							echo "	<changefreq>". $freq ."</changefreq>"."\n";
							echo "	<priority>". $pri ."</priority>"."\n";
							echo "</url>"."\n";
						}
					}
				}
		
			}
		}
	}


		/*if (($datahandle = fopen($datafile, "r")) !== FALSE) {
			$allItems=array();
			while (($filedata = fgetcsv($datahandle, 0, "	")) !== FALSE) {
				$num = count($filedata);
				$row++;
				$dbdata[$row] = $filedata;
				$generate = false;
				if( strip_tags($dbdata[$row][47]) == $searchFor){ //INF_ACTIVE
					$artikelnr	= $dbdata[$row][0];
					
					$prelink = str_replace(" ", "-", $dbdata[$row][1]);
					$prelink = strtolower($prelink);
					$prelink = str_replace("&auml;", "ae", $prelink);
					$prelink = str_replace("&ouml;", "oe", $prelink);
					$prelink = str_replace("&uuml;", "ue", $prelink);
						
					if($langcode == 'en'){
					
						// nog maken
						if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html")) { 
							$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html"));
			
							
							$link = $pagelink.'/en/rental/'.$prelink.'.php?art='.$dbdata[$row][0];
							$generate = true;
						}else{						
							//$link = '/en/rental/'.$prelink.'.php';
						}
						
					}elseif($langcode == 'de'){
							
						if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0]."-oms.html")) { 
							$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms.html"));
			
							
							$link = $pagelink.'/de/mieten/'.$prelink.'.php?art='.$dbdata[$row][0];
							$generate = true;
						}else{						
							//$link = '/de/mieten/'.$prelink.'.php';
						}
						
					}else{
						if (file_exists("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms".$langcode.".html")) { 
							$moddate = date ("Y-m-d", filemtime("/var/www/infrarent.com/web/media/huurboek/html/".$dbdata[$row][0] . "-oms".$langcode.".html"));
							$link = $pagelink.'/nl/huren/'.$prelink.'.php?art='.$dbdata[$row][0];
							$generate = true;
						}else{						
							//$link = '/nl/huren/'.strtolower($dbdata[$row][1]).'.php';
						}
					}
				}
				if($generate == true){
echo "<url>"."\n";
echo "	<loc>". htmlspecialchars($link) ."</loc>"."\n";
echo "	<lastmod>". $moddate ."</lastmod>"."\n";
echo "	<changefreq>". $frequentie ."</changefreq>"."\n";
echo "	<priority>". $prioriteit ."</priority>"."\n";
echo "</url>"."\n";
				}
			}
		}*/
		
?>
</urlset>