From 115c8e510a0f26fcf91124f75b7607f1a6d2b990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Tue, 1 Mar 2016 22:50:26 +0100 Subject: [PATCH] [BUGFIX] Added urldecode to RouterRessource, RouterRoute and RouterController class to ensure that urls with special letters can be picked up by a custom regular expression (read documentation: match). --- src/Pecee/SimpleRouter/RouterController.php | 2 +- src/Pecee/SimpleRouter/RouterResource.php | 2 +- src/Pecee/SimpleRouter/RouterRoute.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Pecee/SimpleRouter/RouterController.php b/src/Pecee/SimpleRouter/RouterController.php index a6fef1b..b05db29 100644 --- a/src/Pecee/SimpleRouter/RouterController.php +++ b/src/Pecee/SimpleRouter/RouterController.php @@ -43,7 +43,7 @@ class RouterController extends RouterEntry { } public function matchRoute(Request $request) { - $url = parse_url($request->getUri()); + $url = parse_url(urldecode($request->getUri())); $url = rtrim($url['path'], '/') . '/'; if(strtolower($url) == strtolower($this->url) || stripos($url, $this->url) === 0) { diff --git a/src/Pecee/SimpleRouter/RouterResource.php b/src/Pecee/SimpleRouter/RouterResource.php index 71f7fc6..36598d8 100644 --- a/src/Pecee/SimpleRouter/RouterResource.php +++ b/src/Pecee/SimpleRouter/RouterResource.php @@ -46,7 +46,7 @@ class RouterResource extends RouterEntry { } public function matchRoute(Request $request) { - $url = parse_url($request->getUri()); + $url = parse_url(urldecode($request->getUri())); $url = rtrim($url['path'], '/') . '/'; $route = rtrim($this->url, '/') . '/{id?}/{action?}'; diff --git a/src/Pecee/SimpleRouter/RouterRoute.php b/src/Pecee/SimpleRouter/RouterRoute.php index 2c0cc09..9b5fc7d 100644 --- a/src/Pecee/SimpleRouter/RouterRoute.php +++ b/src/Pecee/SimpleRouter/RouterRoute.php @@ -21,7 +21,7 @@ class RouterRoute extends RouterEntry { public function matchRoute(Request $request) { - $url = parse_url($request->getUri()); + $url = parse_url(urldecode($request->getUri())); $url = rtrim($url['path'], '/') . '/'; // Match on custom defined regular expression