<?php

$isoLastModifiedSite = "";
$newLine = "\n";
$indent = " ";
if (!$rootUrl) $rootUrl = "http://beta.gailshannon.com";

$xmlHeader = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>$newLine";


$urlsetOpen = "<urlset xmlns=\"http://www.google.com/schemas/sitemap/0.84\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://www.google.com/schemas/sitemap/0.84
http://www.google.com/schemas/sitemap/0.84/sitemap.xsd\">$newLine";
//$urlsetValue = "";
$urlsetClose = "</urlset>$newLine";

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

header('Content-type: application/xml; charset="utf-8"',true);
print "$xmlHeader
    $urlsetOpen
    ";
print "$urlsetValue
    ";
include_once($_SERVER['DOCUMENT_ROOT'].'/index.php');


function sitemapListPage($page) {

     switch($page->template){
	  case 'course_section':
	       break;
	  case 'gridItem':
	       print makeUrlTag ($page->linkUrl, $page->modified, 'daily', '0.8')."
";
	       break;
	  default:
	       print makeUrlTag ($page->httpUrl, $page->modified, 'daily', '0.8')."
";
	       break;
     }

     if($page->numChildren) {
	  foreach($page->children as $child) {
	       sitemapListPage($child);
	  }
     }
}

sitemapListPage($wire->pages->get("/"));

print "$urlsetClose
    ";
?>