* @return string substituted string
*/
function replace_macros($s,$r) {
-
+
$stamp1 = microtime(true);
$a = get_app();
if(! function_exists('notags')) {
/**
- * This is our primary input filter.
+ * This is our primary input filter.
*
* The high bit hack only involved some old IE browser, forget which (IE5/Mac?)
* that had an XSS attack vector due to stripping the high-bit on an 8-bit character
$stripped = str_replace('q=','',$stripped);
$stripped = trim($stripped,'/');
$pagenum = $a->pager['page'];
+
+ if (!strstr($stripped, "?")) {
+ $pos = strpos($stripped, "&");
+ $stripped = substr($stripped, 0, $pos)."?".substr($stripped, $pos + 1);
+ }
+
$url = $a->get_baseurl() . '/' . $stripped;
$data = array();
- function _l(&$d, $name, $url, $text, $class="") {
-
+ function _l(&$d, $name, $url, $text, $class="") {
+
$d[$name] = array('url'=>$url, 'text'=>$text, 'class'=>$class);
}
* @return string html for pagination #FIXME remove html
*/
function paginate(&$a) {
-
+
$data = paginate_data($a);
$tpl = get_markup_template("paginate.tpl");
return replace_macros($tpl, array("pager" => $data));
foreach ($_GET AS $param => $value)
if (($param != "page") AND ($param != "q"))
- $reload_uri .= "&".$param."=".$value;
+ $reload_uri .= "&".$param."=".urlencode($value);
$a->page['htmlhead'] .= <<< EOT
<script type="text/javascript">
'/network?f=&bmark=1', //bookmarked
'/network?f=&spam=1', //spam
);
-
+
// redirect if current selected tab is 'no_active' and
- // last selected tab is _not_ 'all_active'.
+ // last selected tab is _not_ 'all_active'.
// and this isn't a date query
if ($sel_tabs[0] == 'active' && $last_sel_tabs[0]!='active' && (! $is_a_date_query)) {
$k = array_search('active', $last_sel_tabs);
-
+
// merge tab querystring with request querystring
$dest_qa = array();
list($dest_url,$dest_qs) = explode("?", $tab_urls[$k]);
parse_str( $dest_qs, $dest_qa);
$dest_qa = array_merge($query_array, $dest_qa);
$dest_qs = build_querystring($dest_qa);
-
+
// groups filter is in form of "network/nnn". Add it to $dest_url, if it's possible
if ($a->argc==2 && is_numeric($a->argv[1]) && strpos($dest_url, "/",1)===false){
$dest_url .= "/".$a->argv[1];