From 4683f9a73740e1cdce43ea5e834da5ca0ed31ecc Mon Sep 17 00:00:00 2001 From: rMalie Date: Tue, 12 Jun 2012 09:31:01 +0000 Subject: [PATCH] // Fix language switch (equal is not equal to equal equal) --- classes/Tools.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/classes/Tools.php b/classes/Tools.php index 743b47973..ef4ff341e 100644 --- a/classes/Tools.php +++ b/classes/Tools.php @@ -334,9 +334,11 @@ class ToolsCore /* If language does not exist or is disabled, erase it */ if ($cookie->id_lang) { + //echo $cookie->id_lang;exit; $lang = new Language((int)$cookie->id_lang); if (!Validate::isLoadedObject($lang) || !$lang->active || !$lang->isAssociatedToShop()) $cookie->id_lang = null; + } /* Automatically detect language if not already defined */ @@ -379,16 +381,18 @@ class ToolsCore // update language only if new id is different from old id // or if default language changed $cookie_id_lang = $context->cookie->id_lang; - $configuration_id_lang = Configuration::get('PS_LANG_DEFAULT', null, null, $context->shop->id); + $configuration_id_lang = Configuration::get('PS_LANG_DEFAULT'); if ((($id_lang = (int)Tools::getValue('id_lang')) && Validate::isUnsignedId($id_lang) && $cookie_id_lang != (int)$id_lang) - || (($id_lang = $configuration_id_lang) && Validate::isUnsignedId($id_lang) && $id_lang != $cookie_id_lang)) + || (($id_lang == $configuration_id_lang) && Validate::isUnsignedId($id_lang) && $id_lang != $cookie_id_lang)) { $context->cookie->id_lang = $id_lang; $language = new Language($id_lang); if (Validate::isLoadedObject($language)) $context->language = $language; - Tools::redirect($_SERVER['REQUEST_URI']); + $params = $_GET; + unset($params['id_lang']); + Tools::redirect('index.php?'.http_build_query($params)); } }