From f4fa8bd1b18b02b636e45a4eb5817980315b10b9 Mon Sep 17 00:00:00 2001 From: mDeflotte Date: Tue, 24 Jul 2012 13:08:44 +0000 Subject: [PATCH] [-] FO : #PSCFV-3268 - Fix bug with cache cartrule badly fill // This fix is not "clean". It would be intersting to take more time to found a better solution --- classes/CartRule.php | 9 +++++++++ classes/PaymentModule.php | 3 +++ 2 files changed, 12 insertions(+) diff --git a/classes/CartRule.php b/classes/CartRule.php index 4cbc3a0c7..d753fed71 100644 --- a/classes/CartRule.php +++ b/classes/CartRule.php @@ -913,6 +913,15 @@ class CartRuleCore extends ObjectModel return $reduction_value; } + + /** + * Make sure caches are empty + * Must be called before calling multiple time getContextualValue() + */ + public static function cleanCache() + { + self::$only_one_gift = array(); + } protected function getCartRuleCombinations() { diff --git a/classes/PaymentModule.php b/classes/PaymentModule.php index f1b13769b..37c6ec3d1 100644 --- a/classes/PaymentModule.php +++ b/classes/PaymentModule.php @@ -195,6 +195,9 @@ abstract class PaymentModuleCore extends Module foreach ($data['package_list'] as $id_package) $package_list[$id_address][$id_package]['id_carrier'] = $id_carrier; + // Make sure CarRule caches are empty + CartRule::cleanCache(); + foreach ($package_list as $id_address => $packageByAddress) foreach ($packageByAddress as $id_package => $package) {