summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrey Andreev <narf@bofh.bg>2012-11-08 11:34:38 +0100
committerAndrey Andreev <narf@bofh.bg>2012-11-08 11:34:38 +0100
commitda5562a4bd87ad8ea827298dbe60e850225cfe34 (patch)
treec081e64dbab6b16cc59ee98490ff78310abedce8
parente8b896348dc29a1c1e02d97b06b7497613924ad6 (diff)
-rw-r--r--system/core/Router.php12
1 files changed, 6 insertions, 6 deletions
diff --git a/system/core/Router.php b/system/core/Router.php
index 3ef55cee2..30bf39657 100644
--- a/system/core/Router.php
+++ b/system/core/Router.php
@@ -341,13 +341,8 @@ class CI_Router {
// Does the RegEx match?
if (preg_match('#^'.$key.'$#', $uri, $matches))
{
- // Are we using the default routing method for back-references?
- if (strpos($val, '$') !== FALSE && strpos($key, '(') !== FALSE)
- {
- $val = preg_replace('#^'.$key.'$#', $val, $uri);
- }
// Are we using callbacks to process back-references?
- elseif ( ! is_string($val) && is_callable($val))
+ if ( ! is_string($val) && is_callable($val))
{
// Remove the original string from the matches array.
array_shift($matches);
@@ -384,6 +379,11 @@ class CI_Router {
// Execute the callback using the values in matches as its parameters.
$val = call_user_func_array($val, $matches);
}
+ // Are we using the default routing method for back-references?
+ elseif (strpos($val, '$') !== FALSE && strpos($key, '(') !== FALSE)
+ {
+ $val = preg_replace('#^'.$key.'$#', $val, $uri);
+ }
return $this->_set_request(explode('/', $val));
}