From f68e62cecd6ea42ddae22c58b731e96579f6aa23 Mon Sep 17 00:00:00 2001 From: Rougin Gutib Date: Mon, 21 Oct 2024 23:33:13 +0800 Subject: [PATCH 1/2] Migration - Add backport fix to PHP 5.3 --- src/libraries/Migration.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/libraries/Migration.php b/src/libraries/Migration.php index 9ee92b6..fc9ab9c 100644 --- a/src/libraries/Migration.php +++ b/src/libraries/Migration.php @@ -289,10 +289,22 @@ public function version($target_version) $this->_error_string = sprintf($this->lang->line('migration_class_doesnt_exist'), $class); return FALSE; } - elseif ( ! method_exists($class, $method) OR ! (new ReflectionMethod($class, $method))->isPublic()) + else { - $this->_error_string = sprintf($this->lang->line('migration_missing_'.$method.'_method'), $class); - return FALSE; + $exists = false; + + if (method_exists($class, $method)) + { + $method = new ReflectionMethod($class, $method); + + $exists = $method->isPublic(); + } + + if (! $exists) + { + $this->_error_string = sprintf($this->lang->line('migration_missing_'.$method.'_method'), $class); + return FALSE; + } } $pending[$number] = array($class, $method); From 204be1e80da9f87d7b6508f5f5306f953cac1a3d Mon Sep 17 00:00:00 2001 From: Rougin Gutib Date: Mon, 21 Oct 2024 23:42:08 +0800 Subject: [PATCH 2/2] Migration - Fix logic in checking method --- src/libraries/Migration.php | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libraries/Migration.php b/src/libraries/Migration.php index fc9ab9c..4d06a7a 100644 --- a/src/libraries/Migration.php +++ b/src/libraries/Migration.php @@ -291,12 +291,11 @@ public function version($target_version) } else { - $exists = false; + $exists = method_exists($class, $method); - if (method_exists($class, $method)) + if ($exists) { $method = new ReflectionMethod($class, $method); - $exists = $method->isPublic(); }