Merge pull request #205 from skipperbent/v2

V2
This commit is contained in:
Simon Sessingø
2016-11-28 14:14:38 +01:00
committed by GitHub
@@ -113,10 +113,6 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
$url = '//' . $this->getGroup()->getDomains()[0] . $url; $url = '//' . $this->getGroup()->getDomains()[0] . $url;
} }
if($parameters !== null) {
$params = array_merge($this->getParameters(), $parameters);
/* Contains parameters that aren't recognized and will be appended at the end of the url */ /* Contains parameters that aren't recognized and will be appended at the end of the url */
$unknownParams = []; $unknownParams = [];
@@ -128,15 +124,16 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
/* Replace any {parameter} in the url with the correct value */ /* Replace any {parameter} in the url with the correct value */
$params = $this->getParameters();
$max = count($params) - 1; $max = count($params) - 1;
$keys = array_keys($params); $keys = array_keys($params);
for ($i = $max; $i >= 0; $i--) { for ($i = $max; $i >= 0; $i--) {
$param = $keys[$i]; $param = $keys[$i];
$value = $value = isset($parameters[$param]) ? $parameters[$param] : $params[$param]; $value = $value = ($parameters !== null && array_key_exists($param, $parameters)) ? $parameters[$param] : $params[$param];
/* If parameter is specifically set to null - use the original-defined value */ /* If parameter is specifically set to null - use the original-defined value */
if (array_key_exists($param, $parameters) && $parameters[$param] === null && isset($this->originalParameters[$param])) { if ($value === null && isset($this->originalParameters[$param])) {
$value = $this->originalParameters[$param]; $value = $this->originalParameters[$param];
} }
@@ -150,7 +147,7 @@ abstract class LoadableRoute extends Route implements ILoadableRoute
$url .= join('/', $unknownParams); $url .= join('/', $unknownParams);
}
return rtrim($url, '/') . '/'; return rtrim($url, '/') . '/';
} }