summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@devilix.net>2015-08-14 12:48:31 +0200
committerAndrey Andreev <narf@devilix.net>2015-08-14 12:48:31 +0200
commitc2c7cb7e9d869ba8ba8b16a04e5d8300d462d8de (patch)
tree8140d9ed939b4c1e2927701b80d276b266479a44
parent62fe0117ae087ccfb5fd94cc9f83977c86f2452f (diff)
Fix #4052
The bug actually had two instances: - Callback routes with literal matches and HTTP verbs has never worked - The reported issue in #4052, which is a regression introduced in 3.0.1 with abc299b3a234eb7da1b7e3d257b7eba2da649219 Removed the literal matches logic altogether to avoid similar issues in the future and reduce code complexity. The same logic is performed with the regular expressions logic.
-rw-r--r--system/core/Router.php20
-rw-r--r--user_guide_src/source/changelog.rst1
2 files changed, 1 insertions, 20 deletions
diff --git a/system/core/Router.php b/system/core/Router.php
index 0c793e418..eb868cd5b 100644
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -372,26 +372,6 @@ class CI_Router {
// Get HTTP verb
$http_verb = isset($_SERVER['REQUEST_METHOD']) ? strtolower($_SERVER['REQUEST_METHOD']) : 'cli';
- // Is there a literal match? If so we're done
- if (isset($this->routes[$uri]))
- {
- // Is it an HTTP verb-based route?
- if (is_array($this->routes[$uri]))
- {
- $route = array_change_key_case($this->routes[$uri], CASE_LOWER);
- if (isset($route[$http_verb]))
- {
- $this->_set_request(explode('/', $route[$http_verb]));
- return;
- }
- }
- else
- {
- $this->_set_request(explode('/', $this->routes[$uri]));
- return;
- }
- }
-
// Loop through the route array looking for wildcards
foreach ($this->routes as $key => $val)
{
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 971a2341c..061efe8fe 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -15,6 +15,7 @@ Bug fixes for 3.0.2
-------------------
- Fixed a bug (#2284) - :doc:`Database <database/index>` method ``protect_identifiers()`` breaks when :doc:`Query Builder <database/query_builder>` isn't enabled.
+- Fixed a bug (#4052) - :doc:`Routing <general/routing>` with anonymous functions didn't work for routes that don't use regular expressions.
Version 3.0.1
=============