From 91bcb079115ff998dd0f6a28caa67f5f838f5c4a Mon Sep 17 00:00:00 2001 From: bMancone Date: Thu, 7 Jun 2012 08:29:21 +0000 Subject: [PATCH] // Fixed Division by ZERO ... --- classes/Tools.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/classes/Tools.php b/classes/Tools.php index d7a70a4dd..f0ecf6992 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -503,7 +503,7 @@ class ToolsCore public static function convertPrice($price, $currency = null, $to_currency = true, Context $context = null) { static $default_currency = null; - + if ($default_currency === null) $default_currency = (int)Configuration::get('PS_CURRENCY_DEFAULT'); @@ -550,8 +550,9 @@ class ToolsCore $amount *= $currency_to->conversion_rate; else { + $conversion_rate = ($currency_from->conversion_rate == 0 ? 1 : $currency_from->conversion_rate); // Convert amount to default currency (using the old currency rate) - $amount = Tools::ps_round($amount / $currency_from->conversion_rate, 2); + $amount = Tools::ps_round($amount / $conversion_rate, 2); // Convert to new currency $amount *= $currency_to->conversion_rate; } @@ -1145,7 +1146,7 @@ class ToolsCore public static function ps_round($value, $precision = 0) { static $method = null; - + if ($method == null) $method = (int)Configuration::get('PS_PRICE_ROUND_MODE'); @@ -2125,12 +2126,12 @@ FileETag INode MTime Size { return Tools::apacheModExists('mod_rewrite'); } - + public static function unSerialize($serialized, $object = false) { if (is_string($serialized) && (strpos($serialized, 'O:') === false || !preg_match('/(^|;|{|})O:[0-9]+:"/', $serialized)) && !$object || $object) return @unserialize($serialized); - + return false; } }