diff filters.inc @ 33:511b6514823f

Remove more globals.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Thu, 04 Oct 2012 21:05:11 +0200
parents 9dab5b96b789
children ca76d31b7d48
line wrap: on
line diff
--- 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 @@
 <?php
-function activeNav($input)
+function activeNav($input, $options)
 {
-	$name=$GLOBALS['name'];
-	$lang=$GLOBALS['lang'];
-	$pattern = "/<li id=\"${name}\"\s?([^>]*)>/is";
-	$replacement = "<li id=\"${name}\" class=\"active\" $1>";
-	$output= preg_replace($pattern, $replacement, $input);
+  $name = $GLOBALS['name'];
+  $lang = $GLOBALS['lang'];
+  $pattern = "/<li id=\"${name}\"\s?([^>]*)>/is";
+  $replacement = "<li id=\"${name}\" class=\"active\" $1>";
+  $output = preg_replace($pattern, $replacement, $input);
+
+  $pattern = '/<li id="([^"]+)"\s?([^>]*)>(.*?)<\/li>/is';
+  $replacement = "<li id=\"\$1\" \$2><a href=\"%URL-$1%\">\$3</a></li>";
+
+  $opt = 'array(';
+  $start = True;
 
-	$pattern = '/<li id="([^"]+)"\s?([^>]*)>(.*?)<\/li>/is';
-	$replacement = "<li id=\"\$1\" \$2><a href=\"%URL-$1%\">\$3</a></li>";
-	$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 "<li id=\"$matches[1]\" $matches[2]><a href=\"".genUrl(array("name" => $matches[1]))."\">$matches[3]</a></li>";'
+	  'return "<li id=\"$matches[1]\" $matches[2]><a href=\"" . genUrl(' . $opt . ', array("name" => $matches[1])) . "\">$matches[3]</a></li>";'
 	),
 	$output);
 
-	return $output;
+  return $output;
 }
 
-function addLangBar($input, $languages) {
-	 $name=$GLOBALS['name'];
-	 $lang=$GLOBALS['lang'];
-//	 $languages = array("no","en");
-	 $langbar='<ul id="language-select">';
+function addLangBar($input, $languages)
+{
+  $name=$GLOBALS['name'];
+  $lang=$GLOBALS['lang'];
+  //	 $languages = array("no","en");
+  $langbar='<ul id="language-select">';
 
-	 foreach($languages as $l) {
-	   $active=($l == $lang)?0:1;
-	     $langbar.= "
+  foreach($languages as $l) {
+    $active = ($l == $lang) ? 0 : 1;
+    $langbar.= "
 	    <li class=\"${l}\">";
-	    if ($active)
-	    $langbar.='<a href="'.genUrl(array( 'lang' => $l)).'">';
+    if ($active)
+      $langbar .= '<a href="'.genUrl(array( 'lang' => $l)) . '">';
 
-	    $langbar.= "
+    $langbar .= "
 	      <img src=\"http://dev.bfginvest.no/php/flag.php?lang=${l}&amp;active=${active}\" width=\"20\" height=\"16\" alt=\"Norsk versjon - inaktiv\" title=\"Norsk\"/>";
-	    if ($active)
-	    $langbar.="</a>";
+    if ($active)
+      $langbar .= "</a>";
 
-	      $langbar.= "
+    $langbar .= "
 	    </li>
 ";
+	    
+  }
+  $langbar.='</ul>';
+  $pattern = '/<ul id="language-select"\/>/';
+  $replacement = $langbar;
+  $output = preg_replace($pattern, $replacement, $input);
 
-	}
-	$langbar.='</ul>';
-	$pattern = '/<ul id="language-select"\/>/';
-	$replacement = $langbar;
-	$output=preg_replace($pattern, $replacement, $input);
-
-	return $output;
+  return $output;
 }
 ?>
\ No newline at end of file