# HG changeset patch # User Tom Fredrik "BFG" Klaussen # Date 1349654529 -7200 # Node ID 6c2c6acba30ce4b4e7c5d17b7615d658b1bc047f # Parent 79f708a48a7c8421a8d2d1f9b283f5f02d7119ac Support for hardcoding parameters. diff -r 79f708a48a7c -r 6c2c6acba30c common-functions.inc --- a/common-functions.inc Mon Oct 08 02:01:04 2012 +0200 +++ b/common-functions.inc Mon Oct 08 02:02:09 2012 +0200 @@ -44,20 +44,35 @@ exit; } -function genUrl($urlParams, $keys = array()) { - $out = "?"; +function genUrl($urlParams, $keys = array(), $nonQueryParams = array()) { + $out = ''; $first = 1; $new_params = $urlParams; foreach($keys as $param => $val) { $new_params[$param] = $val; } + + foreach($nonQueryParams as $nqp) { + if (array_key_exists($nqp, $new_params)) { + $val = $new_params[$nqp]; + if ($val) + $out .= "/${val}"; + unset($new_params[$nqp]); + } + } + foreach($new_params as $param => $val) { - if($first) - $first = 0; - else - $out .= "&"; - $out .= urlencode($param) . '=' . urlencode($val); + if ($val) { + if($first) { + $first = 0; + $out .= "?"; + } + else + $out .= "&"; + $out .= urlencode($param) . '=' . urlencode($val); + } } + return $out; } @@ -81,4 +96,45 @@ return $text; } +function startswith($haystack, $needle) +{ + return strpos($haystack, $needle) === 0; +} + +function endsWith($haystack, $needle) +{ + $l = strlen($haystack) - strlen($needle); + return strrpos($haystack, $needle) === $l; +} + +function getHeaders($url) +{ + $response = http_head($url, array("timeout"=>1), $info); + $headers = array(); + $str = explode("\n", $response); + foreach($str as $kv) { + $p = strpos($kv, ":"); + if ($p) { + $key = substr($kv, 0, $p); + $value = trim(substr($kv, $p + 1)); + $headers[$key] = $value; + } + } + return $headers; +} + +function opttostring($opts) +{ + $str = ''; + foreach (array_keys($opts) as $key) { + $value = $opts[$key]; + if ($str) { + $str .= "&${key}=${value}"; + } + else { + $str = "?${key}=${value}"; + } + } + return $str; +} ?> \ No newline at end of file diff -r 79f708a48a7c -r 6c2c6acba30c filters.inc --- a/filters.inc Mon Oct 08 02:01:04 2012 +0200 +++ b/filters.inc Mon Oct 08 02:02:09 2012 +0200 @@ -29,7 +29,7 @@ $output = preg_replace_callback($pattern, create_function( '$matches', - 'return "
  • $matches[1])) . "\">$matches[3]
  • ";' + 'return "
  • $matches[1]), array("lang") ) . "\">$matches[3]
  • ";' ), $output); @@ -47,7 +47,7 @@ $langbar.= "
  • "; if ($active) - $langbar .= ''; + $langbar .= ''; $langbar .= " \"Norsk";