A different search pagination fix (see ticket #1333) that doesn't require fixing the upstream code, thus undoing the change made in d64be5108d
This commit is contained in:
parent
66a2f4c64b
commit
2c8f67f6a9
@ -241,12 +241,7 @@ class Net_URL_Mapper_Path
|
|||||||
}
|
}
|
||||||
$path = '/'.trim(Net_URL::resolvePath($path), '/');
|
$path = '/'.trim(Net_URL::resolvePath($path), '/');
|
||||||
if (!empty($qstring)) {
|
if (!empty($qstring)) {
|
||||||
if (!strpos($path, '?')) {
|
$path .= '?'.http_build_query($qstring);
|
||||||
$path .= '?';
|
|
||||||
} else {
|
|
||||||
$path .= '&';
|
|
||||||
}
|
|
||||||
$path .= http_build_query($qstring);
|
|
||||||
}
|
}
|
||||||
if (!empty($anchor)) {
|
if (!empty($anchor)) {
|
||||||
$path .= '#'.ltrim($anchor, '#');
|
$path .= '#'.ltrim($anchor, '#');
|
||||||
|
@ -437,6 +437,16 @@ class Router
|
|||||||
|
|
||||||
if($params!=null)
|
if($params!=null)
|
||||||
common_log(LOG_DEBUG,"generate args:".print_r($args,true));
|
common_log(LOG_DEBUG,"generate args:".print_r($args,true));
|
||||||
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user