[BUGFIX] Fixed get params warning.

This commit is contained in:
Simon Sessingø
2015-12-11 18:21:00 +01:00
parent cede827a45
commit 77ba9f165e
+23 -11
View File
@@ -1,10 +1,8 @@
<?php <?php
namespace Pecee\SimpleRouter; namespace Pecee\SimpleRouter;
use Pecee\ArrayUtil;
use Pecee\Http\Middleware\BaseCsrfVerifier; use Pecee\Http\Middleware\BaseCsrfVerifier;
use Pecee\Http\Request; use Pecee\Http\Request;
use Pecee\Url;
class RouterBase { class RouterBase {
@@ -42,8 +40,8 @@ class RouterBase {
// Loop through each route-request // Loop through each route-request
$activeGroup = null; $activeGroup = null;
$routesCount = count($routes); $routesCount = count($routes);
$mergedSettings = array();
/* @var $route RouterEntry */ /* @var $route RouterEntry */
for($i = 0; $i < $routesCount; $i++) { for($i = 0; $i < $routesCount; $i++) {
@@ -123,7 +121,7 @@ class RouterBase {
$routeMatch = $route->matchRoute($this->request); $routeMatch = $route->matchRoute($this->request);
if($routeMatch && !($routeMatch instanceof RouterGroup)) { if($routeMatch) {
if(count($route->getRequestMethods()) && !in_array($this->request->getMethod(), $route->getRequestMethods())) { if(count($route->getRequestMethods()) && !in_array($this->request->getMethod(), $route->getRequestMethods())) {
$routeNotAllowed = true; $routeNotAllowed = true;
@@ -132,9 +130,9 @@ class RouterBase {
$routeNotAllowed = false; $routeNotAllowed = false;
$this->loadedRoute = $routeMatch; $this->loadedRoute = $route;
$routeMatch->loadMiddleware($this->request); $route->loadMiddleware($this->request);
$routeMatch->renderRoute($this->request); $route->renderRoute($this->request);
break; break;
} }
} }
@@ -221,6 +219,18 @@ class RouterBase {
return $this; return $this;
} }
public function arrayToParams(array $getParams = null, $includeEmpty = true) {
if(is_array($getParams) && count($getParams) > 0) {
foreach($getParams as $key=>$val) {
if(!empty($val) || empty($val) && $includeEmpty) {
$getParams[$key] = $key.'='.$val;
}
}
return join('&', $getParams);
}
return '';
}
protected function processUrl($route, $method = null, $parameters = null, $getParams = null) { protected function processUrl($route, $method = null, $parameters = null, $getParams = null) {
$url = '/' . trim($route->getUrl(), '/'); $url = '/' . trim($route->getUrl(), '/');
@@ -254,7 +264,7 @@ class RouterBase {
$url = rtrim($url, '/') . '/'; $url = rtrim($url, '/') . '/';
if($getParams !== null && count($getParams)) { if($getParams !== null && count($getParams)) {
$url .= '?'.Url::arrayToParams($getParams); $url .= '?' . $this->arrayToParams($getParams);
} }
return $url; return $url;
@@ -328,13 +338,15 @@ class RouterBase {
$url = array($controller); $url = array($controller);
if(is_array($parameters)) { if(is_array($parameters)) {
ArrayUtil::append($url, $parameters); foreach($parameters as $key => $value) {
array_push($url,$value);
}
} }
$url = '/' . trim(join('/', $url), '/') . '/'; $url = '/' . trim(join('/', $url), '/') . '/';
if(is_array($getParams)) { if($getParams !== null && count($getParams)) {
$url .= '?' . Url::arrayToParams($getParams); $url .= '?' . $this->arrayToParams($getParams);
} }
return $url; return $url;