From cb141314f70d2354c86b90d9d435539c39a9d91e Mon Sep 17 00:00:00 2001 From: Karel Wintersky Date: Mon, 28 Jan 2019 17:43:11 +0300 Subject: [PATCH 1/9] Update README.md fix https://github.com/skipperbent/simple-php-router/issues/444 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e5f4f93..82adb72 100644 --- a/README.md +++ b/README.md @@ -484,13 +484,13 @@ SimpleRouter::get('/user/{name}', function ($name) { // ... do stuff -})->where('name', '[A-Za-z]+'); +})->where([ 'name' => '[A-Za-z]+' ]); SimpleRouter::get('/user/{id}', function ($id) { // ... do stuff -})->where('id', '[0-9]+'); +})->where([ 'id' => '[0-9]+' ]); SimpleRouter::get('/user/{id}/{name}', function ($id, $name) { From 2a3238f30a7527b9cc93780e7f4cf4851ad76fbb Mon Sep 17 00:00:00 2001 From: Juan Antonio Tubio Date: Fri, 8 Feb 2019 21:36:58 +0100 Subject: [PATCH 2/9] Update ClassLoader.php Fix 'must be an instance of Closure, array given' error when $closure is a object method. --- src/Pecee/SimpleRouter/ClassLoader/ClassLoader.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Pecee/SimpleRouter/ClassLoader/ClassLoader.php b/src/Pecee/SimpleRouter/ClassLoader/ClassLoader.php index caea1a5..c73c7a8 100644 --- a/src/Pecee/SimpleRouter/ClassLoader/ClassLoader.php +++ b/src/Pecee/SimpleRouter/ClassLoader/ClassLoader.php @@ -53,7 +53,7 @@ class ClassLoader implements IClassLoader * @return mixed * @throws NotFoundHttpException */ - public function loadClosure(\Closure $closure, array $parameters) + public function loadClosure(Callable $closure, array $parameters) { if ($this->useDependencyInjection === true) { $container = $this->getContainer(); @@ -115,4 +115,4 @@ class ClassLoader implements IClassLoader return $this->useDependencyInjection; } -} \ No newline at end of file +} From b21feca1fc291253dc5517a8721d1938614e2df9 Mon Sep 17 00:00:00 2001 From: Juan Antonio Tubio Date: Fri, 8 Feb 2019 21:40:04 +0100 Subject: [PATCH 3/9] Update IClassLoader.php Fix 'must be an instance of Closure, array given' error when $closure is a object method. --- src/Pecee/SimpleRouter/ClassLoader/IClassLoader.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Pecee/SimpleRouter/ClassLoader/IClassLoader.php b/src/Pecee/SimpleRouter/ClassLoader/IClassLoader.php index d978ac1..f9c00a4 100644 --- a/src/Pecee/SimpleRouter/ClassLoader/IClassLoader.php +++ b/src/Pecee/SimpleRouter/ClassLoader/IClassLoader.php @@ -7,6 +7,6 @@ interface IClassLoader public function loadClass(string $class); - public function loadClosure(\Closure $closure, array $parameters); + public function loadClosure(Callable $closure, array $parameters); -} \ No newline at end of file +} From 11df7ca18c63f4c986a09e25b73a6ebdb0a3b107 Mon Sep 17 00:00:00 2001 From: Stefan Warnat Date: Sat, 9 Feb 2019 11:04:07 +0100 Subject: [PATCH 4/9] Fix warning, because of wrong calculated cookie expiration timestamp --- src/Pecee/Http/Security/CookieTokenProvider.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Pecee/Http/Security/CookieTokenProvider.php b/src/Pecee/Http/Security/CookieTokenProvider.php index cb6da8f..c078faa 100644 --- a/src/Pecee/Http/Security/CookieTokenProvider.php +++ b/src/Pecee/Http/Security/CookieTokenProvider.php @@ -63,7 +63,7 @@ class CookieTokenProvider implements ITokenProvider public function setToken(string $token): void { $this->token = $token; - setcookie(static::CSRF_KEY, $token, (time() + 60) * $this->cookieTimeoutMinutes, '/', ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly')); + setcookie(static::CSRF_KEY, $token, time() + (60 * $this->cookieTimeoutMinutes), '/', ini_get('session.cookie_domain'), ini_get('session.cookie_secure'), ini_get('session.cookie_httponly')); } /** From 1c5701a297f2d27a66507632004202dd096e184b Mon Sep 17 00:00:00 2001 From: Stefan Warnat Date: Sun, 19 May 2019 11:02:09 +0200 Subject: [PATCH 5/9] Update compsoer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 5d285cd..d456c98 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "pecee/simple-router", + "name": "RedooNetworks/simple-router", "description": "Simple, fast PHP router that is easy to get integrated and in almost any project. Heavily inspired by the Laravel router.", "keywords": [ "router", From 572ba1695b8cb9d7df6738c38488eb1830d626aa Mon Sep 17 00:00:00 2001 From: Alex Blackham Date: Fri, 21 Jun 2019 10:44:31 +0100 Subject: [PATCH 6/9] The input()->all method will now set every key specified in the filter. If the key doesn't exist it will be set to null. --- src/Pecee/Http/Input/InputHandler.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/Pecee/Http/Input/InputHandler.php b/src/Pecee/Http/Input/InputHandler.php index f05bf10..07c68d1 100644 --- a/src/Pecee/Http/Input/InputHandler.php +++ b/src/Pecee/Http/Input/InputHandler.php @@ -303,13 +303,22 @@ class InputHandler // Append any PHP-input json if (strpos(trim($contents), '{') === 0) { $post = json_decode($contents, true); + if ($post !== false) { $output += $post; } } } - return (\count($filter) > 0) ? array_intersect_key($output, array_flip($filter)) : $output; + $output = (\count($filter) > 0) ? array_intersect_key($output, array_flip($filter)) : $output; + + foreach ($filter as $value) { + if (!array_key_exists($value, $output)) { + $output[$value] = null; + } + } + + return $output; } /** From 93c0622b9da90bc688d26197ffaabd0a14a626be Mon Sep 17 00:00:00 2001 From: Alex Blackham Date: Fri, 21 Jun 2019 10:45:57 +0100 Subject: [PATCH 7/9] Altered variable name in foreach to be less ambiguous. --- src/Pecee/Http/Input/InputHandler.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Pecee/Http/Input/InputHandler.php b/src/Pecee/Http/Input/InputHandler.php index 07c68d1..69690dc 100644 --- a/src/Pecee/Http/Input/InputHandler.php +++ b/src/Pecee/Http/Input/InputHandler.php @@ -312,9 +312,9 @@ class InputHandler $output = (\count($filter) > 0) ? array_intersect_key($output, array_flip($filter)) : $output; - foreach ($filter as $value) { - if (!array_key_exists($value, $output)) { - $output[$value] = null; + foreach ($filter as $filterKey) { + if (!array_key_exists($filterKey, $output)) { + $output[$filterKey] = null; } } From 00c9f9cafd03c09e997b77f435e4104ba9a63c61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Wed, 17 Mar 2021 19:16:08 +0100 Subject: [PATCH 8/9] Update composer.json --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index d456c98..5d285cd 100644 --- a/composer.json +++ b/composer.json @@ -1,5 +1,5 @@ { - "name": "RedooNetworks/simple-router", + "name": "pecee/simple-router", "description": "Simple, fast PHP router that is easy to get integrated and in almost any project. Heavily inspired by the Laravel router.", "keywords": [ "router", From 891c2092eb0ec4f5232c07e9d1c4883ccc06ea1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Simon=20Sessing=C3=B8?= Date: Wed, 17 Mar 2021 19:25:18 +0100 Subject: [PATCH 9/9] Changed codestyle to match the rest --- src/Pecee/Http/Input/InputHandler.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Pecee/Http/Input/InputHandler.php b/src/Pecee/Http/Input/InputHandler.php index 69690dc..6d02116 100644 --- a/src/Pecee/Http/Input/InputHandler.php +++ b/src/Pecee/Http/Input/InputHandler.php @@ -313,7 +313,7 @@ class InputHandler $output = (\count($filter) > 0) ? array_intersect_key($output, array_flip($filter)) : $output; foreach ($filter as $filterKey) { - if (!array_key_exists($filterKey, $output)) { + if (array_key_exists($filterKey, $output) === false) { $output[$filterKey] = null; } } @@ -354,4 +354,4 @@ class InputHandler $this->file[$key] = $item; } -} \ No newline at end of file +}