view index.php @ 26:d8c7b328899e

Removed globals, and introduced Options object for passing values around. Introduced <accepted_values> tag into master.xml
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Sun, 30 Sep 2012 00:16:58 +0200
parents da86ec2814e2
children ca75a735651e
line wrap: on
line source

<?php
define(DEBUG,0);
define(MAX_RECURSE,50);
define(CACHING,1);

/*
var_dump($_SERVER);
exit;
*/

if (DEBUG) {
  error_reporting(E_ALL);
  ini_set("display_errors", 1);
}

$SCRIPT_FILENAME=$_SERVER['SCRIPT_FILENAME'];
$newest = filemtime($SCRIPT_FILENAME);
$cacheable = true;

include 'php/cache_check.inc';
include_with_mtime('php/Options.inc');
include_with_mtime('php/accept-language.inc');
include_with_mtime('php/common-functions.inc');
include_with_mtime('php/filters.inc');
include_with_mtime('php/inputParser.inc');

$URL_PARAMS=array('name','lang');

$master = new DOMDocument();
$master->load("master.xml");

$options = new Options($master);

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

$name = $_GET['name'];
if($name) {
  $options->setName($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)
  print cache_check($newest);

print $master->saveXml($master);

?>