diff --git a/admin-dev/themes/default/template/controllers/tax_rules/helpers/form/form.tpl b/admin-dev/themes/default/template/controllers/tax_rules/helpers/form/form.tpl
index 982425c60..8c8e57b15 100644
--- a/admin-dev/themes/default/template/controllers/tax_rules/helpers/form/form.tpl
+++ b/admin-dev/themes/default/template/controllers/tax_rules/helpers/form/form.tpl
@@ -41,9 +41,8 @@
populateStates($(this).val(), '');
});
- {if !isset($smarty.get.create_rule)}
- $('#tax_rule_form').hide();
- {/if}
+ $('#tax_rule_form').hide();
+
$('#desc-tax_rules_group-new').click(function() {
initForm();
$('#tax_rule_form').slideToggle();
diff --git a/classes/Country.php b/classes/Country.php
index ecee0fcd8..8d5724406 100644
--- a/classes/Country.php
+++ b/classes/Country.php
@@ -325,4 +325,21 @@ class CountryCore extends ObjectModel
UPDATE `'._DB_PREFIX_.'country` SET `id_zone` = '.(int)$id_zone.' WHERE `id_country` IN ('.implode(',', $ids_countries).')
');
}
+
+ /**
+ * Replace letters of zip code format And check this format on the zip code
+ * @param $zip_code
+ * @return (bool)
+ */
+ public function checkZipCode($zip_code)
+ {
+ $zip_regexp = '/^'.$this->zip_code_format.'$/ui';
+ $zip_regexp = str_replace(' ', '( |)', $zip_regexp);
+ $zip_regexp = str_replace('-', '(-|)', $zip_regexp);
+ $zip_regexp = str_replace('N', '[0-9]', $zip_regexp);
+ $zip_regexp = str_replace('L', '[a-zA-Z]', $zip_regexp);
+ $zip_regexp = str_replace('C', $this->iso_code, $zip_regexp);
+
+ return (bool)preg_match($zip_regexp, $zip_code);
+ }
}
diff --git a/classes/tax/TaxRule.php b/classes/tax/TaxRule.php
index 685bfbd6d..82ab4e0f6 100644
--- a/classes/tax/TaxRule.php
+++ b/classes/tax/TaxRule.php
@@ -46,8 +46,8 @@ class TaxRuleCore extends ObjectModel
'id_tax_rules_group' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'id_country' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'id_state' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
- 'zipcode_from' => array('type' => self::TYPE_INT, 'validate' => 'isPostCode'),
- 'zipcode_to' => array('type' => self::TYPE_INT, 'validate' => 'isPostCode'),
+ 'zipcode_from' => array('type' => self::TYPE_STRING, 'validate' => 'isPostCode'),
+ 'zipcode_to' => array('type' => self::TYPE_STRING, 'validate' => 'isPostCode'),
'id_tax' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'behavior' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
'description' => array('type' => self::TYPE_STRING, 'validate' => 'isString'),
diff --git a/controllers/admin/AdminTaxRulesGroupController.php b/controllers/admin/AdminTaxRulesGroupController.php
index 71e281cc5..da863e2b7 100644
--- a/controllers/admin/AdminTaxRulesGroupController.php
+++ b/controllers/admin/AdminTaxRulesGroupController.php
@@ -30,13 +30,13 @@ class AdminTaxRulesGroupControllerCore extends AdminController
public $tax_rule;
public $selected_countries = array();
public $selected_states = array();
- public $_errors_tax_rule;
+ public $errors_tax_rule;
public function __construct()
{
- $this->table = 'tax_rules_group';
+ $this->table = 'tax_rules_group';
$this->className = 'TaxRulesGroup';
- $this->lang = false;
+ $this->lang = false;
$this->context = Context::getContext();
@@ -59,7 +59,7 @@ class AdminTaxRulesGroupControllerCore extends AdminController
)
);
- $this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'), 'confirm' => $this->l('Delete selected items?')));
+ $this->bulk_actions = array('delete' => array('text' => $this->l('Delete selected'), 'confirm' => $this->l('Delete selected items?')));
parent::__construct();
}
@@ -74,10 +74,10 @@ class AdminTaxRulesGroupControllerCore extends AdminController
public function initRulesList($id_group)
{
- $this->table = 'tax_rule';
- $this->identifier = 'id_tax_rule';
- $this->className = 'TaxRule';
- $this->lang = false;
+ $this->table = 'tax_rule';
+ $this->identifier = 'id_tax_rule';
+ $this->className = 'TaxRule';
+ $this->lang = false;
$this->list_simple_header = false;
$this->toolbar_btn = null;
$this->list_no_link = true;
@@ -346,38 +346,42 @@ class AdminTaxRulesGroupControllerCore extends AdminController
}
- public function initProcess()
- {
- if (Tools::isSubmit('deletetax_rule'))
- {
- if ($this->tabAccess['delete'] === '1')
- $this->action = 'delete_tax_rule';
- else
- $this->errors[] = Tools::displayError('You do not have permission to delete here.');
- }
- else if (Tools::isSubmit('submitBulkdeletetax_rule'))
- {
- if ($this->tabAccess['delete'] === '1')
- $this->action = 'bulk_delete_tax_rules';
- else
- $this->errors[] = Tools::displayError('You do not have permission to delete here.');
- }
- else if (Tools::getValue('action') == 'create_rule')
- {
- if ($this->tabAccess['add'] === '1')
- $this->action = 'create_rule';
- else
- $this->errors[] = Tools::displayError('You do not have permission to add here.');
- }
- else
- parent::initProcess();
+ public function initProcess()
+ {
+ if (Tools::isSubmit('deletetax_rule'))
+ {
+ if ($this->tabAccess['delete'] === '1')
+ $this->action = 'delete_tax_rule';
+ else
+ $this->errors[] = Tools::displayError('You do not have permission to delete here.');
+ }
+ else if (Tools::isSubmit('submitBulkdeletetax_rule'))
+ {
+ if ($this->tabAccess['delete'] === '1')
+ $this->action = 'bulk_delete_tax_rules';
+ else
+ $this->errors[] = Tools::displayError('You do not have permission to delete here.');
+ }
+ else if (Tools::getValue('action') == 'create_rule')
+ {
+ if ($this->tabAccess['add'] === '1')
+ $this->action = 'create_rule';
+ else
+ $this->errors[] = Tools::displayError('You do not have permission to add here.');
+ }
+ else
+ parent::initProcess();
- }
+ }
protected function processCreateRule()
{
- $zipcode = Tools::getValue('zipcode');
+ $zip_code = Tools::getValue('zipcode');
$id_rule = (int)Tools::getValue('id_tax_rule');
+ $id_tax = (int)Tools::getValue('id_tax');
+ $id_tax_rules_group = (int)Tools::getValue('id_tax_rules_group');
+ $behavior = (int)Tools::getValue('behavior');
+ $description = pSQL(Tools::getValue('description'));
$this->selected_countries = Tools::getValue('country');
$this->selected_states = Tools::getValue('states');
@@ -395,54 +399,83 @@ class AdminTaxRulesGroupControllerCore extends AdminController
if (isset($id_rule))
$tr->id = $id_rule;
- $tr->id_tax = (int)Tools::getValue('id_tax');
- $tr->id_tax_rules_group = (int)Tools::getValue('id_tax_rules_group');
+ $tr->id_tax = $id_tax;
+ $tr->id_tax_rules_group = (int)$id_tax_rules_group;
$tr->id_country = (int)$id_country;
$tr->id_state = (int)$id_state;
- list($tr->zipcode_from, $tr->zipcode_to) = $tr->breakDownZipCode($zipcode);
- $tr->behavior = (int)Tools::getValue('behavior');
- $tr->description = Tools::getValue('description');
+ list($tr->zipcode_from, $tr->zipcode_to) = $tr->breakDownZipCode($zip_code);
+
+ // Construct Object Country
+ $country = new Country((int)$id_country);
+
+ if ($zip_code && $country->need_zip_code)
+ {
+ if ($country->zip_code_format)
+ {
+ foreach (array($tr->zipcode_from, $tr->zipcode_to) as $zip_code)
+ if ($zip_code)
+ if (!$country->checkZipCode($zip_code))
+ {
+ $this->errors[] = sprintf(
+ Tools::displayError('Zip / Postal code is invalid. Must be typed as follows: %s'),
+ str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $country->zip_code_format)))
+ );
+ }
+ }
+ }
+
+ $tr->behavior = (int)$behavior;
+ $tr->description = $description;
$this->tax_rule = $tr;
$_POST['id_state'] = $tr->id_state;
- $this->errors = $this->validateTaxRule($tr);
+
+ $this->errors = array_merge($this->errors, $this->validateTaxRule($tr));
if (count($this->errors) == 0)
+ {
if (!$tr->save())
$this->errors[] = Tools::displayError('An error has occurred: Can\'t save the current tax rule');
- else
- Tools::redirectAdmin(self::$currentIndex.'&'.$this->identifier.'='.$tr->id_tax_rules_group.'&conf=4&update'.$this->table.'&token='.$this->token);
+ else
+ Tools::redirectAdmin(
+ self::$currentIndex.'&'.$this->identifier.'='.$tr->id_tax_rules_group.'&conf=4&update'.$this->table.'&token='.$this->token
+ );
+ }
}
}
if (count($this->errors) == 0)
- Tools::redirectAdmin(self::$currentIndex.'&'.$this->identifier.'='.$tr->id_tax_rules_group.'&conf=4&update'.$this->table.'&token='.$this->token);
- else
- $this->display = 'edit';
+ Tools::redirectAdmin(
+ self::$currentIndex.'&'.$this->identifier.'='.(int)$id_tax_rules_group.'&conf=4&update'.$this->table.'&token='.$this->token
+ );
+ else
+ $this->display = 'edit';
}
- protected function processBulkDeleteTaxRules()
- {
- $this->deleteTaxRule(Tools::getValue('tax_ruleBox'));
- }
+ protected function processBulkDeleteTaxRules()
+ {
+ $this->deleteTaxRule(Tools::getValue('tax_ruleBox'));
+ }
- protected function processDeleteTaxRule()
- {
- $this->deleteTaxRule(array(Tools::getValue('id_tax_rule')));
- }
+ protected function processDeleteTaxRule()
+ {
+ $this->deleteTaxRule(array(Tools::getValue('id_tax_rule')));
+ }
- protected function deleteTaxRule(array $id_tax_rule_list)
- {
- $result = true;
+ protected function deleteTaxRule(array $id_tax_rule_list)
+ {
+ $result = true;
- foreach ($id_tax_rule_list as $id_tax_rule)
- {
- $tax_rule = new TaxRule((int)$id_tax_rule);
- if (Validate::isLoadedObject($tax_rule))
- $result &= $tax_rule->delete();
- }
+ foreach ($id_tax_rule_list as $id_tax_rule)
+ {
+ $tax_rule = new TaxRule((int)$id_tax_rule);
+ if (Validate::isLoadedObject($tax_rule))
+ $result &= $tax_rule->delete();
+ }
- Tools::redirectAdmin(self::$currentIndex.'&'.$this->identifier.'='.(int)$tax_rule->id_tax_rules_group.'&conf=4&update'.$this->table.'&token='.$this->token);
- }
+ Tools::redirectAdmin(
+ self::$currentIndex.'&'.$this->identifier.'='.(int)$tax_rule->id_tax_rules_group.'&conf=4&update'.$this->table.'&token='.$this->token
+ );
+ }
/**
diff --git a/controllers/front/AddressController.php b/controllers/front/AddressController.php
index b64a46ca9..8449dffc3 100644
--- a/controllers/front/AddressController.php
+++ b/controllers/front/AddressController.php
@@ -149,23 +149,19 @@ class AddressControllerCore extends FrontController
{
if (($postcode = Tools::getValue('postcode')) && $zip_code_format)
{
- $zip_regexp = '/^'.$zip_code_format.'$/ui';
- $zip_regexp = str_replace(' ', '( |)', $zip_regexp);
- $zip_regexp = str_replace('-', '(-|)', $zip_regexp);
- $zip_regexp = str_replace('N', '[0-9]', $zip_regexp);
- $zip_regexp = str_replace('L', '[a-zA-Z]', $zip_regexp);
- $zip_regexp = str_replace('C', $country->iso_code, $zip_regexp);
- if (!preg_match($zip_regexp, $postcode))
- $this->errors[] = ''.Tools::displayError('Zip / Postal code').' '
- .Tools::displayError('is invalid.').'
'.Tools::displayError('Must be typed as follows:')
- .' '.str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $zip_code_format)));
+ if (!$country->checkZipCode($postcode))
+ $this->errors[] = sprintf(
+ Tools::displayError('Zip / Postal code is invalid. Must be typed as follows: %s'),
+ str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $country->zip_code_format)))
+ );
}
else if ($zip_code_format)
- $this->errors[] = ''.Tools::displayError('Zip / Postal code').' '.Tools::displayError('is required.');
+ $this->errors[] = Tools::displayError('Zip / Postal code is required.');
else if ($postcode && !preg_match('/^[0-9a-zA-Z -]{4,9}$/ui', $postcode))
- $this->errors[] = ''.Tools::displayError('Zip / Postal code').' '.Tools::displayError('is invalid.')
- .'
'.Tools::displayError('Must be typed as follows:').' '
- .str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $zip_code_format)));
+ $this->errors[] = sprintf(
+ Tools::displayError('Zip / Postal code is invalid. Must be typed as follows: %s'),
+ str_replace('C', $country->iso_code, str_replace('N', '0', str_replace('L', 'A', $country->zip_code_format)))
+ );
}
// Check country DNI
diff --git a/install-dev/data/db_structure.sql b/install-dev/data/db_structure.sql
index bd8b7cb3b..3fb655b39 100644
--- a/install-dev/data/db_structure.sql
+++ b/install-dev/data/db_structure.sql
@@ -1857,8 +1857,8 @@ CREATE TABLE `PREFIX_tax_rule` (
`id_tax_rules_group` int(11) NOT NULL,
`id_country` int(11) NOT NULL,
`id_state` int(11) NOT NULL,
- `zipcode_from` INT NOT NULL,
- `zipcode_to` INT NOT NULL,
+ `zipcode_from` VARCHAR(12) NOT NULL,
+ `zipcode_to` VARCHAR(12) NOT NULL,
`id_tax` int(11) NOT NULL,
`behavior` int(11) NOT NULL,
`description` VARCHAR( 100 ) NOT NULL,
diff --git a/install-dev/upgrade/sql/1.5.0.12.sql b/install-dev/upgrade/sql/1.5.0.12.sql
index b18afbdb1..aaf8bf010 100644
--- a/install-dev/upgrade/sql/1.5.0.12.sql
+++ b/install-dev/upgrade/sql/1.5.0.12.sql
@@ -10,3 +10,5 @@ ALTER TABLE `PREFIX_customer` DROP `account_number`;
/* PHP:move_translations_module_file(); */;
+ALTER TABLE `PREFIX_tax_rule` CHANGE `zipcode_from` `zipcode_from` VARCHAR(12) NOT NULL, CHANGE `zipcode_to` `zipcode_to` VARCHAR(12) NOT NULL;
+
diff --git a/translations/fr/errors.php b/translations/fr/errors.php
index 7eb1d05a2..6dd600d1a 100644
--- a/translations/fr/errors.php
+++ b/translations/fr/errors.php
@@ -6,12 +6,12 @@ $_ERRORS['00569f4db559dc94d9a954a090c22b85'] = 'Impossible d\'écrire';
$_ERRORS['00a787b177245e0a3b230263621fdcae'] = 'La date indiquée n\'est pas valide';
$_ERRORS['00fbde21769ef563a5e3502bcd18c4f2'] = 'La valeur de la remise est incorrecte (un pourcentage est attendu)';
$_ERRORS['01816dd287bcb3b88ad3f63970ce045f'] = 'Quantité non valable';
-$_ERRORS['02869dceeb27a84d524d9982db28a58e'] = 'Le nom de la catégorie doit être une chaîne avec une longueur de moins de 100 caractères.';
$_ERRORS['03552140a267acc27f494dc3ab368067'] = 'Mode de suppression inconnu :';
$_ERRORS['03596501a6ce61f5a66dc0146fbab03e'] = 'Vous n\'avez pas les droits nécessaires pour supprimer un élément.';
$_ERRORS['03c123f62aad70a9533f5049cf3af959'] = 'Une erreur est survenue en liant cette adresse à sa commande.';
$_ERRORS['044ef92a14ceaaba24382a72ca0267ae'] = 'Ce pays requiert la sélection d\'un état.';
$_ERRORS['052800f7397d4c12924faa83534c62f0'] = 'Vous ne pouvez pas désactiver ou supprimer le dernier compte administrateur.';
+$_ERRORS['05f89c31663a09912af64c539524588f'] = 'Le numéro de TVA est invalide';
$_ERRORS['06e3d36fa30cea095545139854ad1fb9'] = 'champ';
$_ERRORS['07523464c7e282675a7f0181c321bdc7'] = 'Vous ne pouvez pas désactiver une URL principale';
$_ERRORS['0773497a933e6c2b618678b02cbdf7a1'] = 'Impossible de créer l\'image \"Aucune image\" dans le dossier des catégories.';
@@ -32,6 +32,7 @@ $_ERRORS['0994872d0fe72d045c0bcaaea1971e7b'] = 'Eléments manquants - nous somme
$_ERRORS['099788460b01d1cfe9997d4c577f7f56'] = 'Un élément de votre panier n\'est plus disponible, vous ne pouvez pas passer cette commande.';
$_ERRORS['09a0fad4c9a9702b2db457f6bff88f3d'] = 'Une erreur est survenue pendant la mise à jour du groupe par défaut';
$_ERRORS['0a2808a7f106b67ab21f6198b7ef5537'] = 'Votre code postal n\'est pas valable.';
+$_ERRORS['0a4ab4b1d9936ff9a5bdbeb76875ff96'] = 'Le code postal est requis.';
$_ERRORS['0ac71c0ec0ed7abefc776619cf8c4842'] = 'Une erreur s\'est produite pendant la suppression du retour produit.';
$_ERRORS['0b85d79bd7e582c805ec82e3b7f6293e'] = 'Cette commande n\'est plus valable';
$_ERRORS['0ba3468276e0637278bc5f5567bb36bc'] = 'Dossier manquant';
@@ -44,7 +45,6 @@ $_ERRORS['0f41d0742e01e4f68e506d9526916ca9'] = 'Le mot de passe n\'est pas le bo
$_ERRORS['107b871b48c2c55155eb6849e38171c3'] = 'Impossible d\'ouvrir le fichier de sauvegarde';
$_ERRORS['109715467b74bd66639faa5673f707c1'] = 'Erreur inconnue.';
$_ERRORS['10d1c684b919604f1e5e353b274160e5'] = 'Une erreur s\'est produite pendant la mise à jour de l\'image.';
-$_ERRORS['10f237be40b3205ba97da9b89d290c30'] = 'Impossible de sélectionner la base de données.';
$_ERRORS['115baa3a6f65bb35be1ee1dde195a51c'] = 'Impossible de mettre à jour les pays associés.';
$_ERRORS['11a257a80f8c8d76132470b171de6795'] = 'Vous n\'avez pas la permission de supprimer ce module.';
$_ERRORS['12218553186d9a9b6709bbe787898e46'] = 'Impossible de charger l\'objet OrderDetail';
@@ -58,7 +58,6 @@ $_ERRORS['13975b1e39be74bce65bba1c562c6d01'] = 'Le champ d\'URL réécrite doit
$_ERRORS['13b5bfe96f3e2fe411c9f66f4a582adf'] = 'en';
$_ERRORS['13fb39e33c882585065d2d636602e96f'] = 'Erreur : le paramètre \"templateVars\" n\'est pas un tableau';
$_ERRORS['144feffe18ad05e8da840b6f4d8a1fe6'] = 'Il y avait une erreur lors de l\'enregistrement des pièces jointes de produits.';
-$_ERRORS['149d8f4f528e3d5bd53ee69c76a11799'] = 'La quantité doit être un entier.';
$_ERRORS['15485607873c994c6f9369b9cb31e25e'] = 'Impossible de décompresser les traductions de la langue :';
$_ERRORS['1555da21cb82e9f383dd1fd5aebf32a7'] = 'est trop long en';
$_ERRORS['16058b10dd523c2bb5af943d84ed7a9a'] = 'Impossible d\'ajouter cette pièce jointe dans la base de données';
@@ -68,7 +67,6 @@ $_ERRORS['176780e430fd1917c37223ceabf05bf8'] = 'Compte employé inexistant, ou m
$_ERRORS['1769b5ab48b8e2ce733fb38663ec853a'] = 'Erreur : serveur ou port SMTP non valable';
$_ERRORS['17a9c6c63fef3a8444a710d1bab0579d'] = 'L\'adresse n\'est pas correct. Vérifiez que les champs requis sont tous remplis.';
$_ERRORS['17e7c6636cffbefd820d9556e18c370a'] = 'Impossible de charger l\'objet du module';
-$_ERRORS['184cee50a48e1bdcc0f8aecef32a7ff9'] = 'Erreur fatale : pas de support UTF-8. Veuillez vérifier la configuration de votre serveur.';
$_ERRORS['199ce43a3993a1f7d261c09127b9f2fa'] = 'Client inconnu';
$_ERRORS['19f29a24f0ccb9b96b37182473b27d63'] = 'Propriété de devise non valable.';
$_ERRORS['1a7bdc2c01aaa7757d475e204f2bc6f9'] = 'Vous ne pouvez pas utiliser ce bon de réduction avec ce transporteur';
@@ -85,7 +83,6 @@ $_ERRORS['1d112c010ef14e32e478b36aca8d3414'] = 'config.xml dans votre dossier de
$_ERRORS['1d744a9ad1dac20645cfc4a36b77323b'] = 'image(s)';
$_ERRORS['1da7939bc143bf9e27d21fa29b13c6f6'] = 'Impossible d\'écrire dans le fichier : %s. Veuillez vérifier les permissions d\'écriture.';
$_ERRORS['1e9066772f1d8ce67df8057fee47e228'] = 'Échec de suppression de l\'attribut.';
-$_ERRORS['1f2d475aaa05700d630e37969e1465fa'] = 'n\'existe pas';
$_ERRORS['1f40f5a173d741074a8a0346d9c20c75'] = 'Impossible d\'ajouter un produit sur une commande déjà livrée';
$_ERRORS['200cb26c2479e770241b1c62ccfb8e08'] = 'Une erreur est survenue lors de la suppression de la personnalisation du produit..';
$_ERRORS['2031a6bfe5f5bed90694c02868ebf2ed'] = 'Le paramètre';
@@ -198,7 +195,6 @@ $_ERRORS['48e045282a1874f04b107ac96258c9f9'] = 'La gestion des factures a été
$_ERRORS['491c8c1d25f97843f6edfdc81d021f4d'] = 'Erreur : la configuration de votre serveur n\'est pas compatible avec le nouveau système de gestion des images. Aucune image n\'a été déplacée';
$_ERRORS['493f8c31f1db1d87ed30ca58b5dd2df8'] = 'Ce fichier \"%s\" est manquant';
$_ERRORS['49acb6ac8b13f5300316a74f21a87a12'] = 'Erreur : aucune devise n\'a été sélectionnée';
-$_ERRORS['49bd922182bd3518641589e3077eacd3'] = 'Impossible de se connecter à la base de données.';
$_ERRORS['4a11be1a3905ec59ca2d35a068de6f2e'] = 'Pack corrompu : mauvaise unité de prix.';
$_ERRORS['4a2f5c8a04cc978f1803fe9b68833463'] = 'Veuillez remplir les champs requis';
$_ERRORS['4a86eb1f2e0779658266fd6a8582dc9a'] = 'dans la fonction';
@@ -295,10 +291,8 @@ $_ERRORS['700c53d8cec1b1e9cf6c247944126166'] = 'Une erreur est survenue durant l
$_ERRORS['708d2bfb476ba46221602d549f0e7a4d'] = 'Identifiant de catégorie manquant';
$_ERRORS['70f4b635847038d056e33959821a7a66'] = 'caractères max';
$_ERRORS['71754079aaeefc5c6e745ddd59f8a35f'] = 'Commande gratuite';
-$_ERRORS['719ea629e7735d79dc0aae4bd80beaed'] = 'Le champ';
$_ERRORS['71f4f008985ea6abc73e89a668e15197'] = 'Cet attribut existe déjà.';
$_ERRORS['72ac7ea6f82331cfc457b95489678119'] = 'Veuillez fournir votre numéro de commande';
-$_ERRORS['72b365c5d95c9a038d20f586e1eee15d'] = 'Le total HT doit être une valeur décimal.';
$_ERRORS['74d93d946c302d8decb44dec33f4b3e6'] = 'La date de début n\'est pas valable (AAAA-MM-JJ)';
$_ERRORS['74efb694173710062ae76c1e9949817e'] = 'Prix/réduction non valable';
$_ERRORS['755b1a1425434ccaece6d0c1306041be'] = 'Impossible de charger l\'objet';
@@ -314,7 +308,6 @@ $_ERRORS['790198fa9161355e1d60a6c42104e430'] = 'Un compte est déjà enregistré
$_ERRORS['79037dcfa176cabd85c98785a5882681'] = 'La devise sélectionnée n\'est pas valable.';
$_ERRORS['798b789aa210cfdc1456cafb9ee30c02'] = 'Vous devez sélectionner un produit';
$_ERRORS['79d834d46e5fcab3dd512961bb70f67c'] = 'La valeur de la remise est supérieure au montant totale de la facture (Facture :';
-$_ERRORS['7acb9c9788e84d843d2f383bab249747'] = 'Le nom doit être une chaîne avec une longueur de moins de 100 caractères.';
$_ERRORS['7b8d91a16afd45d19a7b0997a48b901e'] = 'Vous ne pouvez pas désactiver la dernière boutique.';
$_ERRORS['7ca482310b2e993b9ab1a74d1d4e1582'] = 'Message non valable (le code HTML est interdit)';
$_ERRORS['7edeca37fa1d59ebdbfe10ded0bca2f5'] = 'Il n\'y a pas de compte client associé à cette adresse e-mail';
@@ -323,7 +316,6 @@ $_ERRORS['7f2673e88a2cf04ce4e559cdf1b30277'] = 'une erreur s\'est produite penda
$_ERRORS['7f3f9fec825792f2b728db9d55078e80'] = 'Pas de quantité sélectionnée pour le produit.';
$_ERRORS['7fc1690a703775b672a9e4a202fcd49a'] = 'Les modèles HTML des mails ne peuvent pas contenir du code JavaScript. ';
$_ERRORS['7ff2740917dc8d28db1d97b08257fc8e'] = 'Impossible de trouver l\'image.';
-$_ERRORS['8014d5d92e09a563588869c623bd0abf'] = '%1$s (classe manquante dans %2$s)';
$_ERRORS['804642ef89553dfad79eb3681364ea5e'] = 'Il n\'est pas possible de supprimer la quantité spécifiée, ou une erreur s\'est produite. Aucun stock n\'a été supprimé.';
$_ERRORS['8090f70961e52a44f14dfe73d6e80924'] = 'Extension non valable, le fichier doit avoir l\'une des extensions suivantes :';
$_ERRORS['81349d7b857695302c8a17e4382c5032'] = 'Vous n\'avez pas la permission';
@@ -336,7 +328,6 @@ $_ERRORS['83d41d7e6f25cd9be1e48204697fe0c9'] = 'Le lien réécrit pour';
$_ERRORS['84791cb2d987ad5f5b77e36e27686872'] = 'Commande fournisseur introuvable dans la base de données';
$_ERRORS['84b743161b37970484b524af38ef588a'] = 'Tranche non valable';
$_ERRORS['8562db06e3931e51ac8c456b56088b02'] = 'Ce client n\'existe pas.';
-$_ERRORS['8657f8ff412ea8fc3135946769d64c13'] = 'Tentative de piratage';
$_ERRORS['86de674d7405670db52e79ec1665b0b1'] = 'Une adresse localisée dans un pays contenant des états doit en sélectionner un.';
$_ERRORS['86eb7a8a11e8d60cc214c71970f11c11'] = 'Numéro de commande requis';
$_ERRORS['86f1561c0fbc316654434af6f0c035e8'] = 'Identifiant de prix spécifique non valable';
@@ -355,7 +346,6 @@ $_ERRORS['8e4b5b9003a1e89146ecd623f76f4179'] = 'Veuillez définir une profondeur
$_ERRORS['8eccd648c123a09bcf8520fea052861d'] = 'Une erreur est survenue lors de la suppression du produit.';
$_ERRORS['8ecf4968ba36c1f1424e96a01aa9f4f0'] = 'Une erreur est survenue pendant l\'installation du module :';
$_ERRORS['8f3d9ee281e1abb9111486bcbda6804e'] = 'Erreur : certaines ou toutes les images n\'ont pu être déplacées.';
-$_ERRORS['8f62a26bf441ad698c2c562ec10448c4'] = 'Tous les modules ne peuvent pas être chargés en raison d\'une restriction de mémoire, veuillez augmenter la valeur du memory_limit dans votre configuration serveur';
$_ERRORS['8fd6c902e0a6186ebc62b4c3c65dc528'] = 'Vous ne pouvez pas supprimer ce compte puisqu\'il gère des entrepôts. Veuillez d\'abord vérifier vos entrepôts.';
$_ERRORS['9072e6a7f1693ef1fb211f2f6dc56d02'] = 'Prix requis pour l\'attribut';
$_ERRORS['918eafd2a5ffd2824a394ce7bf1c4df4'] = 'Date de naissance non valable';
@@ -388,7 +378,6 @@ $_ERRORS['9eafdd415e82973f24b7af6580ff15de'] = 'Le montant minimum ne peut être
$_ERRORS['9f0a59f1609218c049435abd2351bd84'] = 'Une erreur est survenue pendant la mise à jour d\'un prix spécifique.';
$_ERRORS['a05b582431bd7063de0623ef76b14c73'] = 'Veuillez préciser les priorités';
$_ERRORS['a0970082de319f78ef90525873cb15d8'] = 'Cette commande a déjà une facture';
-$_ERRORS['a0b8a508d6ca8113e6439f623e7bf7cf'] = 'Le ou les modules suivants n\'ont pu être chargés';
$_ERRORS['a170d84259d851b7ffd392fceb555ac2'] = 'Vous devriez créer au moins une zone';
$_ERRORS['a1a1f5b5c712427b8fdd26d099cae25f'] = 'Une erreur s\'est produite pendant la mise à jour du client.';
$_ERRORS['a258f8e051c4e2508a6cc3ecd39d2807'] = 'Impossible d\'analyser les monnaies du flux XML.';
@@ -402,11 +391,9 @@ $_ERRORS['a478ec266116342449ae1705c79d5cc2'] = 'Type d\'archive inconnu';
$_ERRORS['a551c1b1a24beff63aa3cc70ea172351'] = 'Vous devez indiquer un nom afin de créer un bon de réduction';
$_ERRORS['a56b6c43645970e79a8098df1dfc9746'] = 'Cette adresse ne peut pas être effacée.';
$_ERRORS['a5df8bfce318a15ea55f18082b9b56c0'] = 'Vous n\'avez pas accès à ce produit.';
-$_ERRORS['a5e53ff2eb1ae83b4bf52f10a3022cff'] = 'n\'existe pas';
$_ERRORS['a693c37913e1fac5af61b8247c03b6ca'] = 'Le ou les modules suivants n\'ont pas été correctement mis à jour : %s';
$_ERRORS['a6bff806eca0f27ddc2118218517e690'] = 'Vous devez ajouter';
$_ERRORS['a7642593a28353de8256fc0e4bc3bc40'] = 'Ce module doit être installé pour être mis à jour :';
-$_ERRORS['a78ac92432df02a17a667fdc15764454'] = 'Le moteur de rendu sélectionné n\'est pas disponible.';
$_ERRORS['a7b770c4221d81830ac09059e16083a8'] = 'L\'identifiant du transporteur de cette commande n\'est pas valable';
$_ERRORS['a7eca295291f53a23ab7ba0a9c7fd9de'] = 'Cette fonctionnalité a été désactivée.';
$_ERRORS['a849f0a2ce9308492c70e3b4289e194e'] = 'Cette tranche existe déjà';
@@ -415,10 +402,8 @@ $_ERRORS['a8e7dc5e339c55896c458f14008c3a91'] = 'Impossible de charger l\'objet C
$_ERRORS['a902b4022653cd6f6d874bf596c811b8'] = 'Client non valable';
$_ERRORS['a9104bb09fed44f9e4373207d8fdde6c'] = 'Envoi d\'e-mail impossible';
$_ERRORS['a97f01447ff3a5b2eb13193947a8b09e'] = 'Vous ne pouvez pas désactiver la boutique par défaut.';
-$_ERRORS['a9839ad48cf107667f73bad1d651f2ca'] = 'Aucun template trouvé';
$_ERRORS['a9b036d3e91d53892d6a67c31327e456'] = 'doit avoir les droits d\'écriture';
$_ERRORS['a9b3e2b8011bb175d3b1bcd318584080'] = 'Retour produit non confirmé';
-$_ERRORS['aa1f38ccf41bd58deedfcf55d2f8c340'] = 'Pour ajouter un champ, vous devez définir les validateurs pour vérifier la valeur. Une erreur s\'est produite pour la valeur.';
$_ERRORS['aa2154c174605e6c5bae0daa7ea56352'] = 'Une erreur s\'est produite lors de la copie du logo.';
$_ERRORS['aa99af205bcf9ebf7976064542d58ab6'] = 'Erreur : adresse e-mail non valable';
$_ERRORS['aadb27e7677e4c4c85e4aa747ef7626e'] = 'Pour utiliser Xcache, vous devez installer l\'extension Xcache sur votre serveur.';
@@ -426,7 +411,6 @@ $_ERRORS['ab044c6afbb0298ece38b35deee72dfc'] = 'Une erreur est survenue lors de
$_ERRORS['ae831e16712dd5e3b49c1f10c1d4f3c0'] = 'Une erreur est survenue lors du changement de statut et/ou de l\'envoi de l\'e-mail au client';
$_ERRORS['afca7b7f7b406e557ac1cc09b25dd56b'] = 'L\'extension DOM n\'est pas chargée.';
$_ERRORS['afefca89d2b5614cc55f572c631fd5ba'] = 'Une erreur s\'est produite lors de la suppression de cette ligne de produit';
-$_ERRORS['aff555be0920c3fc12d00553df665840'] = 'Le validateur';
$_ERRORS['affbaec423c130ff4f0c910a41d518fb'] = 'Impossible d\'ouvrir le dossier de sauvegarde.';
$_ERRORS['b046e4164fe05012960e96896b7b0c34'] = 'L\'archive ne peut pas être téléchargée depuis prestashop.com.';
$_ERRORS['b06ce341f078da6f2e891c64a9fa72d1'] = 'Impossible de charger le pack de localisation (à partir de prestashop.com et de votre dossier \"localization\" local)';
@@ -435,6 +419,7 @@ $_ERRORS['b08d3867be98e6fff3233cd40ab8134a'] = 'La création de la commande a é
$_ERRORS['b0accee4a4704ec46d245b722309a8be'] = 'n\'existe pas dans la base de données';
$_ERRORS['b1046eaca37cbbd3b53d17c33299bfab'] = 'Ce produit a été remboursé.';
$_ERRORS['b1367942aa02ea8c9d4aa07cdf5e473c'] = 'Vous devez garder au moins un objet.';
+$_ERRORS['b23ebcd794e36b00ff19996b457c16c0'] = 'Le code postal est invalide. Il doit être saisi comme suit : %s';
$_ERRORS['b2b367f1201bb55f41e0688955f4f1a1'] = 'Date d\'expiration dépassée';
$_ERRORS['b38f15cfb6f5640c4ff55cd72c7575f6'] = 'Ce bon de réduction n\'est pas encore valable';
$_ERRORS['b40ad46c25c153a3d2fde078c0e1b0f8'] = 'Veuillez vous connecter';
@@ -447,7 +432,6 @@ $_ERRORS['b624fe284c163c46bc68eadf90e27248'] = 'L\'objet n\'a pu être chargé.'
$_ERRORS['b627c04399e67e4f544de3635f33c996'] = 'Erreur - Le template d\'e-mail suivant n\'existe pas :';
$_ERRORS['b75318064af89cff0f4d413341cc3833'] = 'Le fabricant n\'existe pas';
$_ERRORS['b75af4f9852325bd359a42c6934628f7'] = 'Une erreur est survenue lors de l\'ajout des produits au pack.';
-$_ERRORS['b7be351a5a41ea3d022dc18f5f16239a'] = 'Le moteur de tableau sélectionné n\'est pas disponible.';
$_ERRORS['b7d99b30df0aade1e4d459fab8c7078f'] = 'Aucun profil';
$_ERRORS['b86d53f8bf21639366f8ed1595e54891'] = 'Veuillez fournir votre adresse e-mail';
$_ERRORS['b903210290c3ee265ddf20dfe4e1f4d2'] = 'La valeur de la remise est supérieure au montant totale de la commande';
@@ -456,7 +440,6 @@ $_ERRORS['b9d252ecdd7f1b8789d7d59728c32f11'] = 'Le fichier d\'onglet %s est intr
$_ERRORS['b9ee8da3131c120480c3e3b36a3562bb'] = 'Erreur lors de la copie de l\'image :';
$_ERRORS['ba2bfa3216ea97ec1e454239610d089a'] = 'Vous n\'avez pas accès à cette catégorie.';
$_ERRORS['baafbb73bdf562b2dcbd2c4b807f758e'] = 'Cette adresse n\'est pas dans une zone valable.';
-$_ERRORS['bb0206fcb5b14bbc6648b05ef05e7c11'] = 'Le SKU doit être une chaîne avec une longueur de moins de 40 caractères.';
$_ERRORS['bbced877c13c763f0141ff906c8ed0e5'] = 'Fichier non valable';
$_ERRORS['bc33aa1314e7dcd3472db72472b909b2'] = 'Une erreur s\'est produite pendant la suppression.';
$_ERRORS['bc54287d97c88a98f594dc488a334e89'] = 'Taille max. :';
@@ -490,7 +473,6 @@ $_ERRORS['c4e7595c4e8f49c80458997b912d749b'] = 'Mauvais identifiants';
$_ERRORS['c569149bbb8ca2ea337fa0a4c6c98409'] = 'Aucun bon de livraison trouvé pour cette période';
$_ERRORS['c6a8757e591d6090eb75d11e8d316f57'] = 'SSL activé. Mais votre adresse IP est autorisée à utiliser le mode non sécurisé (maintenance ou adresse IP locale).';
$_ERRORS['c791e58067fc99ef9fdb95bace661815'] = 'Une erreur est survenue avec votre compte et votre nouveau mot de passe n\'a pas pu être envoyé à votre adresse email. Veuillez nous notifier de ce problème via le formulaire de contact.';
-$_ERRORS['c79cdbd85f7c9e2fc450431ec422dd14'] = 'Pour ajouter un champ, vous devez définir une longueur maximale pour vérifier la valeur. Une erreur s\'est produite pour la valeur.';
$_ERRORS['c7cd7ecd5b19e01f74cad32af30c9ac4'] = 'Vous devez avoir au moins un employé dans le groupe Administrateur.';
$_ERRORS['c9615dc36879116ef8c5f1ab08543191'] = 'Ce fichier n\'existe plus.';
$_ERRORS['c967665b995d9615d9724307c6dbd1b6'] = 'Impossible de désinstaller le module';
@@ -499,13 +481,11 @@ $_ERRORS['c9a3d4854ab346abbbfdafc0217650e6'] = 'Impossible d\'écrire dans le fi
$_ERRORS['ca98aaa49f4b476acc4c8b2c5aa0186c'] = 'La quantité sélectionnée pour ce produit n\'est pas valable.';
$_ERRORS['caad0b7f239f837303526053ee198499'] = 'Vous devez préciser si la quantité de produit est utilisable pour la vente sur les boutiques dans l\'entrepôt source.';
$_ERRORS['cb17b4eeba6f9e864a87b06af9cae29e'] = 'Impossible d\'enregistrer cette note de facture.';
-$_ERRORS['cb20447a4bf5ff9bec717ec68a357a93'] = 'Aucun moteur de rendu sélectionné';
$_ERRORS['cb46295650e6e2a53d528e353546c2a5'] = 'Une erreur s\'est produite pendant la mise à jour de la personnalisation.';
$_ERRORS['cba0b206627d45fbf0ae707e20d4a38f'] = 'mot de passe non valable';
$_ERRORS['cbadeb15d4f321e2fd06a41e46d34fd3'] = 'Vous ne pouvez pas ecrire sur ce fichier : \"%s\"';
$_ERRORS['cc707fac14e2dd34b1ecfbec2a5fa6fc'] = 'images. Veuillez vérifier les droits d\'écriture sur le dossier.';
$_ERRORS['cc7e699f0084632117f35dc294d29f16'] = 'Une erreur s\'est produite pendant la mise à jour de l\'état de l\'objet.';
-$_ERRORS['ccacacd12f75e1ab3f9ce3e234ed5777'] = 'Aucun moteur de tableau sélectionné';
$_ERRORS['cd41badf2abd4a993073f9b5611de271'] = 'Numéro de commande non valable';
$_ERRORS['ce30da82a4a6b974c18780af4597c8ee'] = 'Une erreur est survenue pendant la configuration des priorités.';
$_ERRORS['cf325676512d19d8150c0244327926df'] = 'Ne peut être copié';
@@ -528,7 +508,6 @@ $_ERRORS['d7569980257d11fbd66deb501f5efab8'] = 'Vous n\'avez pas la permission d
$_ERRORS['d814b0ff8722719194d0bfdf3f489a97'] = 'Une erreur s\'est produite pendant l\'envoi du message';
$_ERRORS['d906ff9d856174f452e62e5dbdb83f11'] = 'Impossible d\'afficher le fichier de sauvegarde';
$_ERRORS['d95673a90af51b8d6818c5e5f3fc3b88'] = 'Largeur et hauteur doivent être numériques.';
-$_ERRORS['db0275528fda19c75f79d296ded0c6e7'] = 'Erreur dans le fichier de configuration :';
$_ERRORS['db3f419ede0b78fcf31491509e68db40'] = 'Nom de zone incorrect.';
$_ERRORS['db4c57ec9dc07e5858740dac2954afe0'] = 'Vous pouvez désactiver cette fonction sur cette page';
$_ERRORS['db5bf82f326c6332a2c3dc1b0dd4598e'] = 'a été réécrit en tant que';
@@ -547,6 +526,7 @@ $_ERRORS['de5213079199a0da311533b8654b6723'] = 'Nous ne pouvons pas regénérer
$_ERRORS['de957d11dc5f942a60f31f8ceecf339d'] = 'Une erreur est survenue pendant la désinstallation du module :';
$_ERRORS['dea850f4b2aebd535089e1042c789b7c'] = 'Un montant total minimum de';
$_ERRORS['dea9b328f904f025e4031bf8dfb7b392'] = 'Une erreur s\'est produite pendant la suppression de la sélection.';
+$_ERRORS['deec1d85e431dfa0f76e48cfd764f8d5'] = 'Aucun numéro de TVA';
$_ERRORS['df57550d5051bd670c8de245c15a0ad7'] = 'Vous ne pouvez pas supprimer cette catégorie, parce qu\'une boutique utilise cette catégorie comme catégorie racine.';
$_ERRORS['dfbe69c6d9568ecb0e65e7b32ed92a3a'] = 'Produit introuvable';
$_ERRORS['e07269088946aa33a280b8c05529b46c'] = 'Impossible de récupérer le flux.';
@@ -555,7 +535,6 @@ $_ERRORS['e0d4da0607fb1793b6e1d348c36d52cb'] = 'config.xml est manquant dans le
$_ERRORS['e15178bdef46f76c432f69fd76568223'] = 'Erreur : le paramètre \"fromName\" est corrompu';
$_ERRORS['e15b9d349af7453e81350c8ffd2a7615'] = 'Vous devez saisir un code de bon de réduction';
$_ERRORS['e16d739521610f6bcae4a092380e8370'] = 'Vous avez atteint le nombre maximum de téléchargements autorisés.';
-$_ERRORS['e19a64a663a1cc573ae8cd21b2ab1070'] = 'URI virtuelle déjà utilisée.';
$_ERRORS['e1e95b3cea70730a922b35808ca3dce3'] = 'Statut de commande non valable';
$_ERRORS['e21c3c406358073b38d481fd3d88221c'] = 'Aucune facture trouvée';
$_ERRORS['e22a6ea51eb74bee7acaa4acf2846c7b'] = 'Cette déclinaison existe déjà.';
@@ -592,7 +571,6 @@ $_ERRORS['ecd7aa91bf7a1cf55a0d3dbd8c0c6463'] = 'Le client n\'est pas valable';
$_ERRORS['ecf461f9223d4c59d8c574a1068200a0'] = 'Ce module est déjà greffé sur ce point d\'accroche.';
$_ERRORS['ed438656553986696cdd7b671c3ca4d0'] = 'Impossible d\'utiliser cette facture pour cette commande';
$_ERRORS['ed9b5732158eef63ac4d236e04101d2b'] = 'Aucun mode de devises du module du paiement';
-$_ERRORS['eddeabd79f8ca673d888fa2ffe9cf69a'] = 'Aucun template trouvé pour le module';
$_ERRORS['edeb9e20655b946e4bee4ac44a6c0a7f'] = 'Le serveur ne dispose pas des permissions pour l\'écriture.';
$_ERRORS['edf1f94126dbe21f81874c2f63a64d62'] = 'Pour utiliser le cache APC, vous devez installer l\'extension PECL APC sur votre serveur.';
$_ERRORS['ee659eedee80f24fcff876dd3a39beed'] = 'Impossible de charger les paramètres, une combinaison manque, ou l\'objet ne peut pas être chargé.';
@@ -610,13 +588,11 @@ $_ERRORS['f37bb979ac3abdeb7d1eae339fcb0361'] = 'Mcrypt n\'est pas activé sur ce
$_ERRORS['f3c72e7562dd34e56991a7fb53061d3a'] = 'Nom de la pièce jointe requis';
$_ERRORS['f3d730f13c88df7341776cc883888268'] = 'Ce produit ne peut pas être ajouté au panier';
$_ERRORS['f3fb906c0bd487b3341bc200d23e8faf'] = 'Cette tranche chevauche une autre';
-$_ERRORS['f42d9667c9c87750858f145c466c4875'] = 'Erreur au chargement de Reverso';
$_ERRORS['f55449d53d91aff67bad843f9ab47aee'] = 'Système de cache manquant ';
$_ERRORS['f55cdaa9ea87c6ebeeb7b4acf31635af'] = 'Le message ne doit pas être vide';
$_ERRORS['f59b67acbc1ca8ecad71a742f5e43b09'] = 'Aucune commande avec cet ID :';
$_ERRORS['f5d44b60e38b28d19549bb7a107654ca'] = 'Vous ne pouvez pas supprimer votre propre compte.';
$_ERRORS['f5d5ae2070effc7b3eee52adc882bb6b'] = 'Facture non trouvée';
-$_ERRORS['f64b1506fce2fb36486716933bf11157'] = 'Pour les items';
$_ERRORS['f783b48ba9193ecd51ea751e5a660d05'] = 'Ne peux être enregistré';
$_ERRORS['f787618e514c038851726224d7e4421e'] = 'Aucun fichier sélectionné';
$_ERRORS['f8279a73d35437427d4c77e28828c5fc'] = 'Cette adresse e-mail n\'est pas enregistrée.';
@@ -630,7 +606,6 @@ $_ERRORS['f91076c86d5b061f8de6510676a80842'] = 'Impossible de créer l\'image \"
$_ERRORS['f9330b1b2afa3c4dbc8e31e14a0b150a'] = 'Vous ne pouvez pas utiliser ce bon de réduction avec ces produits';
$_ERRORS['f9895fdc061ef5afa46285b37ac53911'] = 'un dossier de mail existe pour %1$s, mais pas pour l\'anglais dans %2$s';
$_ERRORS['f996dce5bdfb1b1094e41cf996c5fdae'] = 'Veuillez indiquer l\'URL du module';
-$_ERRORS['f9c47597596f7159815c61957f4f8ec2'] = '%1$s (erreur de syntaxe dans %2$s)';
$_ERRORS['f9c7939a8397ee022fefee2bdb3407af'] = 'URL non valable';
$_ERRORS['f9cc33cd720db1551338663f0ed0cc78'] = 'Vous n\'avez pas les droits pour ajouter du stock.';
$_ERRORS['fbd5f59dcc8b961a5e953fafa7238cd3'] = 'Impossible de livrer ce produit à l\'adresse sélectionnée.';