Commit 55e8a6ca authored by CiaranG's avatar CiaranG Committed by Evan Prodromou

A different search pagination fix (see ticket #1333) that doesn't require...

A different search pagination fix (see ticket #1333) that doesn't require fixing the upstream code, thus undoing the change made in d64be510

Merged.
parent d92926f8
......@@ -241,12 +241,7 @@ class Net_URL_Mapper_Path
}
$path = '/'.trim(Net_URL::resolvePath($path), '/');
if (!empty($qstring)) {
if (!strpos($path, '?')) {
$path .= '?';
} else {
$path .= '&';
}
$path .= http_build_query($qstring);
$path .= '?'.http_build_query($qstring);
}
if (!empty($anchor)) {
$path .= '#'.ltrim($anchor, '#');
......@@ -432,4 +427,4 @@ class Net_URL_Mapper_Path
}
?>
?>
\ No newline at end of file
......@@ -429,6 +429,16 @@ class Router
$args = $action_arg;
}
return $this->m->generate($args, $params, $fragment);
$url = $this->m->generate($args, $params, $fragment);
// Due to a bug in the Net_URL_Mapper code, the returned URL may
// contain a malformed query of the form ?p1=v1?p2=v2?p3=v3. We
// repair that here rather than modifying the upstream code...
$qpos = strpos($url,'?');
if ($qpos !== false) {
$url = substr($url, 0, $qpos+1) .
str_replace('?', '&', substr($url, $qpos+1));
}
return $url;
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment