Web\Url: small fixes, allow override queryString

This commit is contained in:
Thomas Gelf 2014-06-20 12:41:16 +02:00
parent 5dfd4aedac
commit f498cd0c81
2 changed files with 10 additions and 6 deletions

View File

@ -174,9 +174,7 @@ class Url
}
// TODO: This has been used by former filter implementation, remove it:
if (isset($urlParts['query'])) {
$urlParams = array();
parse_str($urlParts['query'], $urlParams);
$params = array_merge($urlParams, $params);
$params = UrlParams::fromQueryString($urlParts['query'])->addValues($params);
}
$fragment = self::getUrlFragment($url);
@ -312,6 +310,12 @@ class Url
}
}
public function setQueryString($queryString)
{
$this->params = UrlParams::fromQueryString($queryString);
return $this;
}
public function getQueryString()
{
return (string) $this->params;

View File

@ -123,7 +123,7 @@ class UrlParams
*
* @return self
*/
public function add($param, $value)
public function add($param, $value = true)
{
$this->params[] = array($param, $this->cleanupValue($value));
$this->indexLastOne();
@ -145,11 +145,11 @@ class UrlParams
{
if ($values === null && is_array($param)) {
foreach ($param as $k => $v) {
$this->addValue($k, $v);
$this->add($k, $v);
}
} else {
foreach ($values as $value) {
$this->addValue($param, $value);
$this->add($param, $value);
}
}