view filters.inc @ 40:fbbb82ced6de

Fixes for CacheTimeCheck->includeOnce paths.
author Tom Fredrik "BFG" Klaussen <bfg@blenning.no>
date Fri, 05 Oct 2012 00:41:30 +0200
parents da1726860524
children 9bdf3f8b487a
line wrap: on
line source

<?php
function activeNav($input, $options)
{
  $name = $options->getName();
  $lang = $options->getLang();
  $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;

  foreach($options->getUrlParams() as $param => $value) {
    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(' . $opt . ', array("name" => $matches[1])) . "\">$matches[3]</a></li>";'
	),
	$output);

  return $output;
}

function addLangBar($input, $options, $languages)
{
  $name = $options->getName();
  $lang = $options->getLang();
  $langbar='<ul id="language-select">';

  foreach($languages as $l) {
    $active = ($l == $lang) ? 0 : 1;
    $langbar.= "
	    <li class=\"${l}\">";
    if ($active)
      $langbar .= '<a href="'.genUrl(array( 'lang' => $l)) . '">';

    $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>";

    $langbar .= "
	    </li>
";

  }
  $langbar.='</ul>';
  $pattern = '/<ul id="language-select"\/>/';
  $replacement = $langbar;
  $output = preg_replace($pattern, $replacement, $input);

  return $output;
}
?>