public function postProcess() { global $currentIndex; if (isset($_POST['submitLocalization' . $this->table])) { if ($this->tabAccess['edit'] === '1') { $this->_postConfig($this->_fieldsLocalization); } else { $this->_errors[] = Tools::displayError('You do not have permission to edit here.'); } } elseif (Tools::isSubmit('submitLocalizationPack')) { if (!($pack = @Tools::file_get_contents('http://www.prestashop.com/download/localization/' . Tools::getValue('iso_localization_pack') . '.xml')) and !($pack = @Tools::file_get_contents(dirname(__FILE__) . '/../../localization/' . Tools::getValue('iso_localization_pack') . '.xml'))) { $this->_errors[] = Tools::displayError('Cannot load localization pack (from prestashop.com and from your local folder "localization")'); } elseif (!($selection = Tools::getValue('selection'))) { $this->_errors[] = Tools::displayError('Please select at least one content item to import.'); } else { foreach ($selection as $selected) { if (!Validate::isLocalizationPackSelection($selected)) { $this->_errors[] = Tools::displayError('Invalid selection'); return; } } $localizationPack = new LocalizationPack(); if (!$localizationPack->loadLocalisationPack($pack, $selection)) { $this->_errors = array_merge($this->_errors, $localizationPack->getErrors()); } else { Tools::redirectAdmin($currentIndex . '&conf=23&token=' . $this->token); } } } parent::postProcess(); }
public function postProcess() { if (Tools::isSubmit('submitLocalizationPack')) { $version = str_replace('.', '', _PS_VERSION_); $version = substr($version, 0, 2); if (Validate::isFileName(Tools::getValue('iso_localization_pack'))) { $pack = @Tools::file_get_contents('http://api.prestashop.com/localization/' . $version . '/' . Tools::getValue('iso_localization_pack') . '.xml'); if (!$pack && !($pack = @Tools::file_get_contents(dirname(__FILE__) . '/../../localization/' . Tools::getValue('iso_localization_pack') . '.xml'))) { $this->errors[] = Tools::displayError('Cannot load the localization pack.'); } if (!($selection = Tools::getValue('selection'))) { $this->errors[] = Tools::displayError('Please select at least one item to import.'); } else { foreach ($selection as $selected) { if (!Validate::isLocalizationPackSelection($selected)) { $this->errors[] = Tools::displayError('Invalid selection'); return; } } $localization_pack = new LocalizationPack(); if (!$localization_pack->loadLocalisationPack($pack, $selection)) { $this->errors = array_merge($this->errors, $localization_pack->getErrors()); } else { Tools::redirectAdmin(self::$currentIndex . '&conf=23&token=' . $this->token); } } } } // Remove the module list cache if the default country changed if (Tools::isSubmit('submitOptionsconfiguration') && file_exists(Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST)) { @unlink(Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST); } parent::postProcess(); }
public function postProcess() { if (Tools::isSubmit('submitLocalizationPack')) { $version = str_replace('.', '', _PS_VERSION_); $version = substr($version, 0, 2); if (Validate::isFileName(Tools::getValue('iso_localization_pack'))) { $pack = @Tools::file_get_contents('http://api.prestashop.com/localization/' . $version . '/' . Tools::getValue('iso_localization_pack') . '.xml'); if (!$pack && !($pack = @Tools::file_get_contents(dirname(__FILE__) . '/../../localization/' . Tools::getValue('iso_localization_pack') . '.xml'))) { $this->errors[] = Tools::displayError('Cannot load localization pack (from prestashop.com and from your local folder "localization")'); } if (!($selection = Tools::getValue('selection'))) { $this->errors[] = Tools::displayError('Please select at least one item to import.'); } else { foreach ($selection as $selected) { if (!Validate::isLocalizationPackSelection($selected)) { $this->errors[] = Tools::displayError('Invalid selection'); return; } } $localization_pack = new LocalizationPack(); if (!$localization_pack->loadLocalisationPack($pack, $selection)) { $this->errors = array_merge($this->errors, $localization_pack->getErrors()); } else { Tools::redirectAdmin(self::$currentIndex . '&conf=23&token=' . $this->token); } } } } parent::postProcess(); }
public function postProcess() { if (_PS_MODE_DEMO_) { $this->errors[] = $this->trans('This functionality has been disabled.', array(), 'Admin.Notifications.Error'); return; } if (!extension_loaded('openssl')) { $this->displayWarning($this->l('Importing a new language may fail without the OpenSSL module. Please enable "openssl.so" on your server configuration.')); } if (Tools::isSubmit('submitLocalizationPack')) { $version = str_replace('.', '', _PS_VERSION_); $version = substr($version, 0, 2); if (($iso_localization_pack = Tools::getValue('iso_localization_pack')) && Validate::isFileName($iso_localization_pack)) { if (Tools::getValue('download_updated_pack') == '1' || defined('_PS_HOST_MODE_')) { $pack = @Tools::file_get_contents(_PS_API_URL_ . '/localization/' . $version . '/' . $iso_localization_pack . '.xml'); } else { $pack = false; } if (defined('_PS_HOST_MODE_')) { $path = _PS_CORE_DIR_ . '/localization/' . $iso_localization_pack . '.xml'; } else { $path = _PS_ROOT_DIR_ . '/localization/' . $iso_localization_pack . '.xml'; } if (!$pack && !($pack = @Tools::file_get_contents($path))) { $this->errors[] = $this->trans('Cannot load the localization pack.', array(), 'Admin.International.Notification'); } if (!($selection = Tools::getValue('selection'))) { $this->errors[] = $this->trans('Please select at least one item to import.', array(), 'Admin.International.Notification'); } else { foreach ($selection as $selected) { if (!Validate::isLocalizationPackSelection($selected)) { $this->errors[] = $this->trans('Invalid selection', array(), 'Admin.Notifications.Error'); return; } } $localization_pack = new LocalizationPack(); if (!$localization_pack->loadLocalisationPack($pack, $selection, false, $iso_localization_pack)) { $this->errors = array_merge($this->errors, $localization_pack->getErrors()); } else { Tools::redirectAdmin(self::$currentIndex . '&conf=23&token=' . $this->token); } } } } // Remove the module list cache if the default country changed if (Tools::isSubmit('submitOptionsconfiguration') && file_exists(Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST)) { @unlink(Module::CACHE_FILE_DEFAULT_COUNTRY_MODULES_LIST); } parent::postProcess(); }
public static function import_language($isoCode, $imports, $fromLocalPack = true) { //todo // from localization directory; or from prestashop.com (api ?) if ($imports == 'all') { $selection = array('states', 'taxes', 'currencies', 'languages', 'units', 'groups'); } else { $selection = split(',', $imports); foreach ($selection as $selected) { if (!Validate::isLocalizationPackSelection($selected)) { echo "{$selected} is not a valid selection !\n"; return false; } } } if ($fromLocalPack) { if (defined('_PS_HOST_MODE_')) { $localizationPackFileName = _PS_CORE_DIR_ . '/localization/' . $isoCode . '.xml'; } else { $localizationPackFileName = _PS_ROOT_DIR_ . '/localization/' . $isoCode . '.xml'; } if (!is_readable($localizationPackFileName)) { echo "Could not read localization pack !\n"; return false; } $pack = @Tools::file_get_contents($localizationPackFileName); } else { //todo: get content from prestashop servers $pack = false; } //todo: IN PROGRESS seems this installs the language pack ? $localizationPack = new LocalizationPack(); if (!$localizationPack->loadLocalisationPack($pack, $selection, false, $isoCode)) { echo "Could not load localization pack\n"; return false; } // import lang pack Language::checkAndAddLanguage($isoCode, $localizationPack, false, null); }
public function install() { include dirname(__FILE__) . '/sql-install.php'; foreach ($sql as $s) { if (!Db::getInstance()->Execute($s)) { return false; } } if (!parent::install() || !$this->registerHook('payment') || !$this->registerHook('adminOrder') || !$this->registerHook('paymentReturn') || !$this->registerHook('orderConfirmation')) { return false; } $this->registerHook('displayPayment'); $this->registerHook('rightColumn'); $this->registerHook('extraRight'); $this->registerHook('header'); if (!Configuration::get('KLARNA_PAYMENT_ACCEPTED')) { Configuration::updateValue('KLARNA_PAYMENT_ACCEPTED', $this->addState('Klarna: Payment accepted', '#DDEEFF')); } if (!Configuration::get('KLARNA_PAYMENT_PENDING')) { Configuration::updateValue('KLARNA_PAYMENT_PENDING', $this->addState('Klarna : payment in pending verification', '#DDEEFF')); } /*auto install currencies*/ $currencies = array('Euro' => array('iso_code' => 'EUR', 'iso_code_num' => 978, 'symbole' => '€', 'format' => 2), 'Danish Krone' => array('iso_code' => 'DKK', 'iso_code_num' => 208, 'symbole' => 'DAN kr.', 'format' => 2), 'krone' => array('iso_code' => 'NOK', 'iso_code_num' => 578, 'symbole' => 'NOK kr', 'format' => 2), 'Krona' => array('iso_code' => 'SEK', 'iso_code_num' => 752, 'symbole' => 'SEK kr', 'format' => 2)); $languages = array('Swedish' => array('iso_code' => 'se', 'language_code' => 'sv', 'date_format_lite' => 'Y-m-d', 'date_format_full' => 'Y-m-d H:i:s', 'flag' => 'sweden.png'), 'Deutsch' => array('iso_code' => 'de', 'language_code' => 'de', 'date_format_lite' => 'Y-m-d', 'date_format_full' => 'Y-m-d H:i:s', 'flag' => 'germany.png'), 'Dutch' => array('iso_code' => 'nl', 'language_code' => 'nl', 'date_format_lite' => 'Y-m-d', 'date_format_full' => 'Y-m-d H:i:s', 'flag' => 'netherlands.png'), 'Finnish' => array('iso_code' => 'fi', 'language_code' => 'fi', 'date_format_lite' => 'Y-m-d', 'date_format_full' => 'Y-m-d H:i:s', 'flag' => 'finland.jpg'), 'Norwegian' => array('iso_code' => 'no', 'language_code' => 'no', 'date_format_lite' => 'Y-m-d', 'date_format_full' => 'Y-m-d H:i:s', 'flag' => 'norway.png'), 'Danish' => array('iso_code' => 'da', 'language_code' => 'da', 'date_format_lite' => 'Y-m-d', 'date_format_full' => 'Y-m-d H:i:s', 'flag' => 'denmark.png')); foreach ($currencies as $key => $val) { if (_PS_VERSION_ >= 1.5) { $exists = Currency::exists($val['iso_code_num'], $val['iso_code_num']); } else { $exists = Currency::exists($val['iso_code_num']); } if (!$exists) { $currency = new Currency(); $currency->name = $key; $currency->iso_code = $val['iso_code']; $currency->iso_code_num = $val['iso_code_num']; $currency->sign = $val['symbole']; $currency->conversion_rate = 1; $currency->format = $val['format']; $currency->decimals = 1; $currency->active = true; $currency->add(); } } Currency::refreshCurrencies(); $version = str_replace('.', '', _PS_VERSION_); $version = substr($version, 0, 2); foreach ($languages as $key => $val) { $pack = @Tools::file_get_contents('http://api.prestashop.com/localization/' . $version . '/' . $val['language_code'] . '.xml'); if ($pack || ($pack = @Tools::file_get_contents(dirname(__FILE__) . '/../../localization/' . $val['language_code'] . '.xml'))) { $localizationPack = new LocalizationPack(); $localizationPack->loadLocalisationPack($pack, array('taxes', 'languages')); } if (!Language::getIdByIso($val['language_code'])) { if (_PS_VERSION_ >= 1.5) { Language::checkAndAddLanguage($val['language_code']); } else { $lang = new Language(); $lang->name = $key; $lang->iso_code = $val['iso_code']; $lang->language_code = $val['language_code']; $lang->date_format_lite = $val['date_format_lite']; $lang->date_format_full = $val['date_format_full']; $lang->add(); $insert_id = (int) $lang->id; $pack = Tools::file_get_contents('http://www.prestashop.com/download/localization/' . $val['iso_code'] . '.xml'); $lang_pack = Tools::jsonDecode(Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/get_language_pack.php?version=' . _PS_VERSION_ . '&iso_lang=' . $val['iso_code'])); if ($lang_pack) { $flag = Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/flags/jpeg/' . $val['iso_code'] . '.jpg'); if ($flag != null && !preg_match('/<body>/', $flag)) { $file = fopen(dirname(__FILE__) . '/../../img/l/' . $insert_id . '.jpg', 'w'); if ($file) { fwrite($file, $flag); fclose($file); } } } } } } foreach ($this->countries as $key => $val) { $country = new Country(Country::getByIso($key)); $country->active = true; $country->update(); } return true; }