Fixed Route::withQueryParam() to accept array values

This commit is contained in:
Matias Griese
2018-05-14 12:30:30 +03:00
parent 2c82e15fa1
commit 5ab956a8ec
2 changed files with 5 additions and 5 deletions

View File

@@ -10,6 +10,7 @@
* Added `Grav\Common\Page` interface to allow custom page types in the future
1. [](#bugfix)
* Fixed bug in `ContentBlock` serialization
* Fixed `Route::withQueryParam()` to accept array values
# v1.4.4
## 04/12/2018

View File

@@ -178,7 +178,7 @@ class Route
*/
public function withGravParam($param, $value)
{
return $this->withParam('gravParams', $param, $value);
return $this->withParam('gravParams', $param, null !== $value ? (string)$value : null);
}
/**
@@ -222,17 +222,16 @@ class Route
protected function withParam($type, $param, $value)
{
$oldValue = isset($this->{$type}[$param]) ? $this->{$type}[$param] : null;
$newValue = null !== $value ? (string)$value : null;
if ($oldValue === $newValue) {
if ($oldValue === $value) {
return $this;
}
$new = clone $this;
if ($newValue === null) {
if ($value === null) {
unset($new->{$type}[$param]);
} else {
$new->{$type}[$param] = $newValue;
$new->{$type}[$param] = $value;
}
return $new;