From bb0c88a577e67e7537a32f0e63ab00403fe3531c Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Thu, 15 Jan 2015 14:19:56 +0100 Subject: always set url parameters when they are available in the app dispatch prefer url parameters passed into the main method. If they are not present, use the containers urlParameters add space --- lib/private/appframework/http/request.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'lib/private/appframework/http/request.php') diff --git a/lib/private/appframework/http/request.php b/lib/private/appframework/http/request.php index 350694dca81..6012033fe52 100644 --- a/lib/private/appframework/http/request.php +++ b/lib/private/appframework/http/request.php @@ -68,12 +68,12 @@ class Request implements \ArrayAccess, \Countable, IRequest { $this->items['params'] = array(); if(!array_key_exists('method', $vars)) { - $vars['method'] = 'GET'; + $vars['method'] = 'GET'; } foreach($this->allowedKeys as $name) { $this->items[$name] = isset($vars[$name]) - ? $vars[$name] + ? $vars[$name] : array(); } @@ -83,7 +83,7 @@ class Request implements \ArrayAccess, \Countable, IRequest { if(count($params) > 0) { $this->items['params'] = $params; if($vars['method'] === 'POST') { - $this->items['post'] = $params; + $this->items['post'] = $params; } } // Handle application/x-www-form-urlencoded for methods other than GET @@ -91,12 +91,12 @@ class Request implements \ArrayAccess, \Countable, IRequest { } elseif($vars['method'] !== 'GET' && $vars['method'] !== 'POST' && strpos($this->getHeader('Content-Type'), 'application/x-www-form-urlencoded') !== false) { - + parse_str(file_get_contents($this->inputStream), $params); if(is_array($params)) { $this->items['params'] = $params; } - } + } $this->items['parameters'] = array_merge( $this->items['get'], @@ -107,6 +107,14 @@ class Request implements \ArrayAccess, \Countable, IRequest { } + public function setUrlParameters($parameters) { + $this->items['urlParams'] = $parameters; + $this->items['parameters'] = array_merge( + $this->items['parameters'], + $this->items['urlParams'] + ); + } + // Countable method. public function count() { return count(array_keys($this->items['parameters'])); @@ -207,8 +215,8 @@ class Request implements \ArrayAccess, \Countable, IRequest { return $this->items['method']; break; default; - return isset($this[$name]) - ? $this[$name] + return isset($this[$name]) + ? $this[$name] : null; break; } -- cgit v1.2.3