diff options
author | Andrey Andreev <narf@devilix.net> | 2021-02-04 16:32:53 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2021-02-04 16:32:53 +0100 |
commit | 0925b5099919300a239909588351a6482c5e792d (patch) | |
tree | 4e0596b489defbba7b7590f7e9402035dc338bc5 /system/libraries | |
parent | 751a2e364131a67ec64f783003866c0fe2df78e0 (diff) |
[ci skip] Fix is_callable()-reliant logic broken by PHP 8
Close #6006, #6007
Diffstat (limited to 'system/libraries')
-rw-r--r-- | system/libraries/Migration.php | 2 | ||||
-rw-r--r-- | system/libraries/Xmlrpcs.php | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/system/libraries/Migration.php b/system/libraries/Migration.php index 1b7808923..915d4e453 100644 --- a/system/libraries/Migration.php +++ b/system/libraries/Migration.php @@ -288,7 +288,7 @@ class CI_Migration { $this->_error_string = sprintf($this->lang->line('migration_class_doesnt_exist'), $class); return FALSE; } - elseif ( ! is_callable(array($class, $method))) + elseif ( ! method_exists($class, $method) OR ! (new ReflectionMethod($class, $method))->isPublic()) { $this->_error_string = sprintf($this->lang->line('migration_missing_'.$method.'_method'), $class); return FALSE; diff --git a/system/libraries/Xmlrpcs.php b/system/libraries/Xmlrpcs.php index ad767eabe..e20bf4836 100644 --- a/system/libraries/Xmlrpcs.php +++ b/system/libraries/Xmlrpcs.php @@ -348,7 +348,7 @@ class CI_Xmlrpcs extends CI_Xmlrpc { return new XML_RPC_Response(0, $this->xmlrpcerr['unknown_method'], $this->xmlrpcstr['unknown_method']); } } - elseif (($objectCall && ! is_callable(array($method_parts[0], $method_parts[1]))) + elseif (($objectCall && ( ! method_exists($method_parts[0], $method_parts[1]) OR ! (new ReflectionMethod($method_parts[0], $method_parts[1]))->isPublic())) OR ( ! $objectCall && ! is_callable($this->methods[$methName]['function'])) ) { |