From 95a2b2a8a8c1bf9017ab46d83a8639217a1da45b Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Wed, 25 Sep 2013 17:07:18 +0200 Subject: [PATCH] [*] BO : improved automatic language creation --- classes/Language.php | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/classes/Language.php b/classes/Language.php index 8aa65596d..e90700112 100644 --- a/classes/Language.php +++ b/classes/Language.php @@ -688,25 +688,24 @@ class LanguageCore extends ObjectModel if (Language::getIdByIso($iso_code)) return true; + // Initialize the language $lang = new Language(); $lang->iso_code = $iso_code; $lang->active = true; + // If the language pack has not been provided, retrieve it from prestashop.com if (!$lang_pack) $lang_pack = Tools::jsonDecode(Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/get_language_pack.php?version='._PS_VERSION_.'&iso_lang='.$iso_code)); + // If a language pack has been found or provided, prefill the language object with the value if ($lang_pack) - { - if (isset($lang_pack->name) - && isset($lang_pack->version) - && isset($lang_pack->iso_code)) - $lang->name = $lang_pack->name; - } - elseif ($params_lang !== null && is_array($params_lang)) + foreach (get_object_vars($lang_pack) as $key => $value) + $lang->$key = $value; + + // Use the values given in parameters to override the data retrieved automatically + if ($params_lang !== null && is_array($params_lang)) foreach ($params_lang as $key => $value) $lang->$key = $value; - else - return false; if (!$lang->add(true, false, $only_add)) return false;