summaryrefslogtreecommitdiffstats
path: root/system/core
diff options
context:
space:
mode:
authorEric Barnes <eric@ericlbarnes.com>2011-02-01 19:07:37 +0100
committerEric Barnes <eric@ericlbarnes.com>2011-02-01 19:07:37 +0100
commit5519e3d5d3311275a6fb2aa4962f9cea1626996c (patch)
treeee097e5df48ff214b13778c0777122bbab8f1002 /system/core
parent75f5ff5d99533a423e68686d89889d172c37d98e (diff)
Better logic handling for 404 override
Diffstat (limited to 'system/core')
-rw-r--r--system/core/CodeIgniter.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 0414ffbf1..567e67f65 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -295,6 +295,17 @@
$x = explode('/', $RTR->routes['404_override']);
$class = $x[0];
$method = (isset($x[1]) ? $x[1] : 'index');
+ if ( ! class_exists($class))
+ {
+ if ( ! file_exists(APPPATH.'controllers/'.$class.EXT))
+ {
+ show_404("{$class}/{$method}");
+ }
+
+ include_once(APPPATH.'controllers/'.$class.EXT);
+ unset($CI);
+ $CI = new $class();
+ }
}
else
{