Revert usage of is_callable() in system/core/CodeIgniter.php
Seems to be causing issues (see #1970).
Also updated the Controller docs, mainly to include an important note related to #1967.
diff --git a/system/core/CodeIgniter.php b/system/core/CodeIgniter.php
index 1cd6403..89081b5 100644
--- a/system/core/CodeIgniter.php
+++ b/system/core/CodeIgniter.php
@@ -295,7 +295,11 @@
}
else
{
- if ( ! is_callable(array($class, $method)))
+ // WARNING: It appears that there are issues with is_callable() even in PHP 5.2!
+ // Furthermore, there are bug reports and feature/change requests related to it
+ // that make it unreliable to use in this context. Please, DO NOT change this
+ // work-around until a better alternative is available.
+ if ( ! in_array(strtolower($method), array_map('strtolower', get_class_methods($class)), TRUE))
{
if (empty($RTR->routes['404_override']))
{