# HG changeset patch # User Tom Fredrik "BFG" Klaussen # Date 1349377511 -7200 # Node ID 511b6514823f1a54b79884ccc07df6dcefd16131 # Parent 7b19be62ea94319b9e2f7fff26ccd5ec7cccf8c0 Remove more globals. diff -r 7b19be62ea94 -r 511b6514823f Options.inc --- a/Options.inc Thu Oct 04 19:46:11 2012 +0200 +++ b/Options.inc Thu Oct 04 21:05:11 2012 +0200 @@ -7,6 +7,7 @@ private $acceptedLanguages = array(); private $inputDefaults = array(); private $cache; + private $urlParams; function getDefaultLang() { @@ -23,6 +24,16 @@ $this->lang = $lang; } + function setUrlParams($urlParams) + { + $this->urlParams = $urlParams; + } + + function getUrlParams() + { + return $this->urlParams; + } + function setName($name) { $this->name = $name; diff -r 7b19be62ea94 -r 511b6514823f common-functions.inc --- a/common-functions.inc Thu Oct 04 19:46:11 2012 +0200 +++ b/common-functions.inc Thu Oct 04 21:05:11 2012 +0200 @@ -3,71 +3,71 @@ function loadFile($sFilename, $sCharset = 'UTF-8') { - if (floatval(phpversion()) >= 4.3) { - if (!file_exists($sFilename)) return -3; - $sData = file_get_contents($sFilename); - } else { - if (!file_exists($sFilename)) return -3; - $rHandle = fopen($sFilename, 'r'); - if (!$rHandle) return -2; - - $sData = ''; - while(!feof($rHandle)) - $sData .= fread($rHandle, filesize($sFilename)); - fclose($rHandle); + if (floatval(phpversion()) >= 4.3) { + if (!file_exists($sFilename)) + return -3; + $sData = file_get_contents($sFilename); + } + else { + if (!file_exists($sFilename)) + return -3; + $rHandle = fopen($sFilename, 'r'); + if (!$rHandle) + return -2; + + $sData = ''; + while(!feof($rHandle)) + $sData .= fread($rHandle, filesize($sFilename)); + fclose($rHandle); + } + if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) { + if ($sEncoding != 1) { + $sData = mb_convert_encoding($sData, $sCharset, $sEncoding); } - if ($sEncoding = mb_detect_encoding($sData, 'auto', true) != $sCharset) { - if ($sEncoding != 1) { - $sData = mb_convert_encoding($sData, $sCharset, $sEncoding); - } - } - return $sData; + } + return $sData; } -function errorPage($errorText, $errorCode=403) +function errorPage($errorText, $errorCode = 403) { header(StatusCodes::httpHeaderFor($errorCode)); print "

${errorText}

"; exit; } -function genUrl($keys=array()) { - $out="?"; - $first=1; - $URL_PARAMS=$GLOBALS['URL_PARAMS']; - $new_params=array(); - foreach($URL_PARAMS as $param) { - $new_params[$param]=$GLOBALS[$param]; - } - foreach($keys as $param => $val) { - $new_params[$param]=$val; - } - foreach($new_params as $param => $val) { - if($first) - $first=0; - else - $out.="&"; - $out.=urlencode($param).'='.urlencode($val); - } - return $out; +function genUrl($urlParams, $keys = array()) { + $out = "?"; + $first = 1; + $new_params = $urlParams; + foreach($keys as $param => $val) { + $new_params[$param] = $val; + } + foreach($new_params as $param => $val) { + if($first) + $first = 0; + else + $out .= "&"; + $out .= urlencode($param) . '=' . urlencode($val); + } + return $out; } function getElementByTagName($obj, $name) { - $elems=$obj->getElementsByTagName($name); + $elems = $obj->getElementsByTagName($name); if ($elems->length != 1) { exit; } - $elem=$elems->item(0); + $elem = $elems->item(0); return $elem; } function getXmlContent($node) { - $text=$node->ownerDocument->saveXml($node); - $pattern="/^<".$node->tagName."[^>]*>/is"; - $text=preg_replace($pattern, '' , $text); - $pattern='/<\/'.$node->tagName.'[^>]*>$/is'; - $text=preg_replace($pattern, '' , $text); + $text = $node->ownerDocument->saveXml($node); + $pattern = "/^<" . $node->tagName."[^>]*>/is"; + $text = preg_replace($pattern, '' , $text); + $pattern = '/<\/' . $node->tagName . '[^>]*>$/is'; + $text = preg_replace($pattern, '' , $text); return $text; } diff -r 7b19be62ea94 -r 511b6514823f filters.inc --- a/filters.inc Thu Oct 04 19:46:11 2012 +0200 +++ b/filters.inc Thu Oct 04 21:05:11 2012 +0200 @@ -1,52 +1,69 @@ ]*)>/is"; - $replacement = "
  • "; - $output= preg_replace($pattern, $replacement, $input); + $name = $GLOBALS['name']; + $lang = $GLOBALS['lang']; + $pattern = "/
  • ]*)>/is"; + $replacement = "
  • "; + $output = preg_replace($pattern, $replacement, $input); + + $pattern = '/
  • ]*)>(.*?)<\/li>/is'; + $replacement = "
  • \$3
  • "; + + $opt = 'array('; + $start = True; - $pattern = '/
  • ]*)>(.*?)<\/li>/is'; - $replacement = "
  • \$3
  • "; - $output=preg_replace_callback($pattern, + foreach($options->getUrlParams() as $param) { + $value = $GLOBALS[$param]; + if ($start) { + $start = False; + $opt .= "\"${param}\" => \"${value}\""; + } + else { + $opt .= ", \"${param}\" => \"${value}\""; + } + } + $opt .= ')'; + + $output = preg_replace_callback($pattern, create_function( '$matches', - 'return "
  • $matches[1]))."\">$matches[3]
  • ";' + 'return "
  • $matches[1])) . "\">$matches[3]
  • ";' ), $output); - return $output; + return $output; } -function addLangBar($input, $languages) { - $name=$GLOBALS['name']; - $lang=$GLOBALS['lang']; -// $languages = array("no","en"); - $langbar='