view Options.inc @ 35:aec57ed6f5f6

Remove globals from activeNav function.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Thu, 04 Oct 2012 21:18:40 +0200
parents 511b6514823f
children bd82b719a0de
line wrap: on
line source

<?php
class Options
{
  private $defaultLang;
  private $lang;
  private $name;
  private $acceptedLanguages = array();
  private $inputDefaults = array();
  private $cache;
  private $urlParams = array();

  function getDefaultLang()
  {
    return $this->defaultLang;
  }

  function getLang()
  {
    return $this->lang;
  }

  function setLang($lang)
  {
    $this->lang = $lang;
  }

  function setUrlParams($urlParams)
  {
    foreach($urlParams as $key) {
      $value = $_GET[$key];
      if (!$value)
	$value = '';
      $this->urlParams[$key] = $value;
    }
  }

  function getUrlParams()
  {
    return $this->urlParams;
  }

  function setName($name)
  {
    $this->name = $name;
  }

  function getName()
  {
    return $this->name;
  }

  function setCache($cache)
  {
    $this->cache = $cache;
  }

  function getCache()
  {
    return $this->cache;
  }

  function getAcceptedLanguages()
  {
    return $this->acceptedLanguages;
  }

  function getInputDefault($key)
  {
    return $this->inputDefaults[$key];
  }

  function __construct($baseDocument)
  {
    $params = $baseDocument->getElementsByTagName("param");
    foreach ($params as $param) {
      if ($param->getAttribute("type") == "option") {
	$id = $param->getAttribute("id");
	if ($id == "lang") {
	  $this->defaultLang = $param->getAttribute("default");
	  $accepts = $param->getElementsByTagName("accept_value");
	  foreach($accepts as $accept) {
	    foreach($accept->childNodes as $child) {
	      array_push($this->acceptedLanguages, $child->nodeValue);
	    }
	  }
	}
	else {
	  die("Invalid option : $id");
	}
	$parent = $param->parentNode;
	$parent->removeChild($param);
      }
      elseif ($param->getAttribute("type") == "input") {
	$id = $param->getAttribute("id");
	$default = $param->getAttribute("default");
	$this->inputDefaults[$id] = $default;
      }
    }
  }
}
?>