Skip to content

Commit 4dd6417

Browse files
committed
Merge pull request #49 from skipperbent/development
Development
2 parents d4e9ef7 + 3012435 commit 4dd6417

File tree

8 files changed

+33
-24
lines changed

8 files changed

+33
-24
lines changed

src/Pecee/Http/Response.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public function redirect($url) {
2626
}
2727

2828
public function refresh() {
29-
$this->redirect(url());
29+
$this->redirect(Request::getInstance()->getUri());
3030
}
3131

3232
/**

src/Pecee/SimpleRouter/RouterBase.php

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
<?php
22
namespace Pecee\SimpleRouter;
33

4-
use Pecee\ArrayUtil;
54
use Pecee\Http\Middleware\BaseCsrfVerifier;
65
use Pecee\Http\Request;
7-
use Pecee\Url;
86

97
class RouterBase {
108

@@ -42,8 +40,8 @@ protected function processRoutes(array $routes, array $settings = array(), array
4240
// Loop through each route-request
4341

4442
$activeGroup = null;
45-
4643
$routesCount = count($routes);
44+
$mergedSettings = array();
4745

4846
/* @var $route RouterEntry */
4947
for($i = 0; $i < $routesCount; $i++) {
@@ -123,7 +121,7 @@ public function routeRequest() {
123121

124122
$routeMatch = $route->matchRoute($this->request);
125123

126-
if($routeMatch && !($routeMatch instanceof RouterGroup)) {
124+
if($routeMatch) {
127125

128126
if(count($route->getRequestMethods()) && !in_array($this->request->getMethod(), $route->getRequestMethods())) {
129127
$routeNotAllowed = true;
@@ -132,9 +130,9 @@ public function routeRequest() {
132130

133131
$routeNotAllowed = false;
134132

135-
$this->loadedRoute = $routeMatch;
136-
$routeMatch->loadMiddleware($this->request);
137-
$routeMatch->renderRoute($this->request);
133+
$this->loadedRoute = $route;
134+
$route->loadMiddleware($this->request);
135+
$route->renderRoute($this->request);
138136
break;
139137
}
140138
}
@@ -221,6 +219,15 @@ public function setBaseCsrfVerifier(BaseCsrfVerifier $baseCsrfVerifier) {
221219
return $this;
222220
}
223221

222+
protected function getParamsToArray($query) {
223+
$output = array();
224+
if($query[0] === '?') {
225+
$query = substr($query, 1);
226+
}
227+
parse_str($query, $output);
228+
return $output;
229+
}
230+
224231
protected function processUrl($route, $method = null, $parameters = null, $getParams = null) {
225232

226233
$url = '/' . trim($route->getUrl(), '/');
@@ -254,7 +261,7 @@ protected function processUrl($route, $method = null, $parameters = null, $getPa
254261
$url = rtrim($url, '/') . '/';
255262

256263
if($getParams !== null && count($getParams)) {
257-
$url .= '?'.Url::arrayToParams($getParams);
264+
$url .= '?' . $this->getParamsToArray($getParams);
258265
}
259266

260267
return $url;
@@ -328,13 +335,15 @@ public function getRoute($controller = null, $parameters = null, $getParams = nu
328335
$url = array($controller);
329336

330337
if(is_array($parameters)) {
331-
ArrayUtil::append($url, $parameters);
338+
foreach($parameters as $key => $value) {
339+
array_push($url,$value);
340+
}
332341
}
333342

334343
$url = '/' . trim(join('/', $url), '/') . '/';
335344

336345
if(is_array($getParams)) {
337-
$url .= '?' . Url::arrayToParams($getParams);
346+
$url .= '?' . $this->getParamsToArray($getParams);
338347
}
339348

340349
return $url;

src/Pecee/SimpleRouter/RouterController.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public function matchRoute(Request $request) {
6363
// Set callback
6464
$this->setCallback($this->controller . '@' . $this->method);
6565

66-
return $this;
66+
return true;
6767
}
6868
}
6969
return null;

src/Pecee/SimpleRouter/RouterEntry.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ protected function parseParameters($route, $url, $parameterRegex = '[a-z0-9]*?')
304304

305305
$max = count($parameterNames);
306306

307-
if(count($max)) {
307+
if($max) {
308308
for($i = 0; $i < $max; $i++) {
309309
$name = $parameterNames[$i];
310310
$parameterValue = (isset($parameterValues[$name['name']]) && !empty($parameterValues[$name['name']])) ? $parameterValues[$name['name']] : null;
@@ -332,7 +332,7 @@ public function loadMiddleware(Request $request) {
332332
throw new RouterException($middleware . ' must be instance of Middleware');
333333
}
334334

335-
/* @var $class Middleware */
335+
/* @var $class IMiddleware */
336336
$middleware->handle($request);
337337
}
338338
} else {
@@ -341,7 +341,7 @@ public function loadMiddleware(Request $request) {
341341
throw new RouterException($this->getMiddleware() . ' must be instance of Middleware');
342342
}
343343

344-
/* @var $class Middleware */
344+
/* @var $class IMiddleware */
345345
$middleware->handle($request);
346346
}
347347
}

src/Pecee/SimpleRouter/RouterGroup.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ public function __construct() {
1010
parent::__construct();
1111
}
1212

13-
protected function matchDomain() {
13+
protected function matchDomain(Request $request) {
1414
if($this->domain !== null) {
1515

1616
if(is_array($this->domain)) {
@@ -20,7 +20,7 @@ protected function matchDomain() {
2020
for($i = 0; $i < $max; $i++) {
2121
$domain = $this->domain[$i];
2222

23-
$parameters = $this->parseParameters($domain, request()->getHost(), '[^.]*');
23+
$parameters = $this->parseParameters($domain, $request->getHost(), '[^.]*');
2424

2525
if($parameters !== null) {
2626
$this->parameters = $parameters;
@@ -31,7 +31,7 @@ protected function matchDomain() {
3131
return null;
3232
}
3333

34-
$parameters = $this->parseParameters($this->domain, request()->getHost(), '[^.]*');
34+
$parameters = $this->parseParameters($this->domain, $request->getHost(), '[^.]*');
3535

3636
if ($parameters !== null) {
3737
$this->parameters = $parameters;
@@ -60,7 +60,7 @@ public function renderRoute(Request $request) {
6060
throw new RouterException('Method not allowed');
6161
}
6262

63-
if($this->matchDomain() === null) {
63+
if($this->matchDomain($request) === null) {
6464
return null;
6565
}
6666

src/Pecee/SimpleRouter/RouterResource.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public function renderRoute(Request $request) {
4545
protected function call($method, $parameters) {
4646
$this->setCallback($this->controller . '@' . $method);
4747
$this->parameters = $parameters;
48-
return $this;
48+
return true;
4949
}
5050

5151
public function matchRoute(Request $request) {

src/Pecee/SimpleRouter/RouterRoute.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ public function matchRoute(Request $request) {
2626
// Match on custom defined regular expression
2727
if($this->regexMatch) {
2828
$parameters = array();
29-
if(preg_match('/('.$this->regexMatch.')/is', request()->getHost() . $url, $parameters)) {
29+
if(preg_match('/('.$this->regexMatch.')/is', $request->getHost() . $url, $parameters)) {
3030
$this->parameters = (!is_array($parameters[0]) ? array($parameters[0]) : $parameters[0]);
31-
return $this;
31+
return true;
3232
}
3333
return null;
3434
}
@@ -46,7 +46,7 @@ public function matchRoute(Request $request) {
4646
$this->parameters = $parameters;
4747
}
4848

49-
return $this;
49+
return true;
5050
}
5151

5252
return null;

src/Pecee/SimpleRouter/SimpleRouter.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class SimpleRouter {
1919
* @throws RouterException
2020
*/
2121
public static function start($defaultNamespace = null) {
22-
$router = RouterBase::GetInstance();
22+
$router = RouterBase::getInstance();
2323
$router->setDefaultNamespace($defaultNamespace);
2424
$router->routeRequest();
2525
}

0 commit comments

Comments
 (0)