view index.php @ 57:fd3dd497eba6

Documentation cleanup.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Thu, 11 Oct 2012 02:05:09 +0200
parents 0f1e08cdfff2
children 0e157721bbad
line wrap: on
line source

<?php
/**
 * @file
 * Main access point for webpages
 */
include_once 'constants.inc';

$cacheable = true;

include_once 'CacheTimeCheck.inc';

$baseDir = dirname(__FILE__);

$cache = CacheTimeCheck::instance(__FILE__);
$cache->includeOnce('Language.inc', $baseDir);
$cache->includeOnce('Options.inc', $baseDir);
$cache->includeOnce('common-functions.inc', $baseDir);
$cache->includeOnce('filters.inc', $baseDir);
$cache->includeOnce('inputParser.inc', $baseDir);
$cache->includeOnce('logger.inc', $baseDir);

if (DEBUG_LEVEL >= VERBOSITY_DEBUG) {
  var_dump($_SERVER);
}

$master = new DOMDocument();
$masterName = basePath() . "/master.xml";
$cache->cache_time($masterName);
$master->load($masterName);

$options = new Options($master);
$options->setCache($cache);
$options->setBasePath(basePath());

$options->setUrlParams(array('name', 'lang'));

if(array_key_exists('lang', $_GET) && $_GET['lang']) {
  $options->setLang($_GET['lang']);
}
else {
  $options->setLang($options->getDefaultLang());
}

if(array_key_exists('name', $_GET) && $_GET['name']) {
  $options->setName($_GET['name']);
}

$params = $master->getElementsByTagName("param");

foreach ($params as $param) {
  if ($param->getAttribute("type") == "input") {
    $doc = getInput($master, $param, $options);

    $parent = $param->parentNode;
    foreach ($doc->firstChild->childNodes as $child) {
      $clonedChild = $master->importNode($child, true);
      $parent->insertBefore($clonedChild, $param);
    }
    $parent->removeChild($param);
  }
}

if (CACHING && $cacheable)
  $options->getCache()->CheckHttpModified();

print $master->saveXml($master);
//print_r($cache->cacheSet(1));

?>