From 50bd3d613d7a3bd5bf793a6d8302bf1dc416db2a Mon Sep 17 00:00:00 2001 From: djfm Date: Thu, 26 Sep 2013 16:29:40 +0000 Subject: [PATCH] // fix PSCFV-8260, currency format containing spaces and RTL languages --- classes/Tools.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/classes/Tools.php b/classes/Tools.php index 9a68d7685..343eb070b 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -494,6 +494,20 @@ class ToolsCore if (($is_negative = ($price < 0))) $price *= -1; $price = Tools::ps_round($price, $c_decimals); + + /* + * If the language is RTL and the selected currency format contains spaces as thousands separator + * then the number will be printed in reverse since the space is interpreted as separating words. + * To avoid this we replace the currency format containing a space with the one containing a comma (,) as thousand + * separator when the language is RTL. + * + * TODO: This is not ideal, a currency format should probably be tied to a language, not to a currency. + */ + if(($c_format == 2) && ($context->language->is_rtl == 1)) + { + $c_format = 4; + } + switch ($c_format) { /* X 0,000.00 */