From dce26dab08994b2522ddbc3d305df246e43a714f Mon Sep 17 00:00:00 2001 From: vSchoener Date: Tue, 26 Jun 2012 13:31:17 +0000 Subject: [PATCH] [+] CORE : Add version_compare tools to align version sent with alignVersionNumber method. git-svn-id: http://dev.prestashop.com/svn/v1/branches/1.5.x@16135 b9a71923-0436-4b27-9f14-aed3839534dd --- classes/Tools.php | 16 ++++++++++++++++ classes/module/Module.php | 9 +++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/classes/Tools.php b/classes/Tools.php index cadda0887..b8bb6282a 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -2108,6 +2108,22 @@ FileETag INode MTime Size return $filtered_files; } + + /** + * Align version sent and use internal function + * + * @static + * @param $v1 + * @param $v2 + * @param string $operator + * @return mixed + */ + public static function version_compare($v1, $v2, $operator = '<') + { + Tools::alignVersionNumber($v1, $v2); + return version_compare($v1, $v2, $operator); + } + /** * Align 2 version with the same number of sub version * version_compare will work better for its comparison :) diff --git a/classes/module/Module.php b/classes/module/Module.php index 72822c945..01f05fb9b 100644 --- a/classes/module/Module.php +++ b/classes/module/Module.php @@ -381,9 +381,8 @@ abstract class ModuleCore public static function needUpgrade($module) { self::$modules_cache[$module->name]['upgrade']['upgraded_from'] = $module->database_version; - Tools::alignVersionNumber($module->version, $module->database_version); // Check the version of the module with the registered one and look if any upgrade file exist - return version_compare($module->version, $module->database_version, '>') + return Tools::version_compare($module->version, $module->database_version, '>') && Module::loadUpgradeVersionList($module->name, $module->version, $module->database_version); } @@ -412,12 +411,10 @@ abstract class ModuleCore { $tab = explode('-', $file); $file_version = basename($tab[1], '.php'); - Tools::alignVersionNumber($file_version, $module_version); - Tools::alignVersionNumber($file_version, $registered_version); // Compare version, if minor than actual, we need to upgrade the module if (count($tab) == 2 && - (version_compare($file_version, $module_version, '<=') && - version_compare($file_version, $registered_version, '>'))) + (Tools::version_compare($file_version, $module_version, '<=') && + Tools::version_compare($file_version, $registered_version, '>'))) { $list[] = array( 'file' => $upgrade_path.$file,