diff --git a/classes/Translate.php b/classes/Translate.php index 68e7cbabf..c485c5c41 100644 --- a/classes/Translate.php +++ b/classes/Translate.php @@ -177,13 +177,13 @@ class TranslateCore if ($_MODULES == null) return str_replace('"', '"', $string); - $currentKey = strtolower('<{'.$name.'}'._THEME_NAME_.'>'.$source).'_'.$key; - $defaultKey = strtolower('<{'.$name.'}prestashop>'.$source).'_'.$key; + $current_key = strtolower('<{'.$name.'}'._THEME_NAME_.'>'.$source).'_'.$key; + $default_key = strtolower('<{'.$name.'}prestashop>'.$source).'_'.$key; - if (isset($_MODULES[$currentKey])) - $ret = stripslashes($_MODULES[$currentKey]); - elseif (isset($_MODULES[$defaultKey])) - $ret = stripslashes($_MODULES[$defaultKey]); + if (isset($_MODULES[$current_key])) + $ret = stripslashes($_MODULES[$current_key]); + elseif (isset($_MODULES[$default_key])) + $ret = stripslashes($_MODULES[$default_key]); // if translation was not found in module, look for it in AdminController or Helpers elseif (!empty($_LANGADM)) $ret = Translate::getGenericAdminTranslation($string, $key, $_LANGADM); diff --git a/classes/db/DbMySQLi.php b/classes/db/DbMySQLi.php index bf6a403e3..3ffb5d793 100644 --- a/classes/db/DbMySQLi.php +++ b/classes/db/DbMySQLi.php @@ -45,7 +45,7 @@ class DbMySQLiCore extends Db // Do not use object way for error because this work bad before PHP 5.2.9 if (mysqli_connect_error()) - throw new PrestaShopDatabaseException(Tools::displayError('Link to database cannot be established : '.mysqli_connect_error())); + throw new PrestaShopDatabaseException(sprintf(Tools::displayError('Link to database cannot be established: %s'), mysqli_connect_error())); // UTF-8 support if (!$this->link->query('SET NAMES \'utf8\'')) diff --git a/classes/db/DbPDO.php b/classes/db/DbPDO.php index 916529ca4..01aab42bd 100644 --- a/classes/db/DbPDO.php +++ b/classes/db/DbPDO.php @@ -52,7 +52,7 @@ class DbPDOCore extends Db } catch (PDOException $e) { - throw new PrestaShopDatabaseException(Tools::displayError('Link to database cannot be established. ('.$e->getMessage().')')); + throw new PrestaShopDatabaseException(sprintf(Tools::displayError('Link to database cannot be established: %s'), $e->getMessage())); } // UTF-8 support diff --git a/classes/stock/StockManagerModule.php b/classes/stock/StockManagerModule.php index bfa5a4b16..22904deb0 100644 --- a/classes/stock/StockManagerModule.php +++ b/classes/stock/StockManagerModule.php @@ -42,12 +42,12 @@ abstract class StockManagerModuleCore extends Module $class_file = _PS_MODULE_DIR_.'/'.$this->name.'/'.$this->stock_manager_class.'.php'; if (!isset($this->stock_manager_class) || !file_exists($class_file)) - die(Tools::displayError('Incorrect Stock Manager class ['.$this->stock_manager_class.']')); + die(sprintf(Tools::displayError('Incorrect Stock Manager class [%s]'), $this->stock_manager_class)); require_once($class_file); if (!class_exists($this->stock_manager_class)) - die(Tools::displayError('Stock Manager class not found ['.$this->stock_manager_class.']')); + die(sprintf(Tools::displayError('Stock Manager class not found [%s]'), $this->stock_manager_class)); $class = $this->stock_manager_class; if (call_user_func(array($class, 'isAvailable'))) diff --git a/classes/tax/TaxManagerModule.php b/classes/tax/TaxManagerModule.php index 690b56897..23b379460 100644 --- a/classes/tax/TaxManagerModule.php +++ b/classes/tax/TaxManagerModule.php @@ -39,12 +39,12 @@ abstract class TaxManagerModuleCore extends Module $class_file = _PS_MODULE_DIR_.'/'.$this->name.'/'.$this->tax_manager_class.'.php'; if (!isset($this->tax_manager_class) || !file_exists($class_file)) - die(Tools::displayError('Incorrect Tax Manager class ['.$this->tax_manager_class.']')); + die(sprintf(Tools::displayError('Incorrect Tax Manager class [%s]'), $this->tax_manager_class)); require_once($class_file); if (!class_exists($this->tax_manager_class)) - die(Tools::displayError('Tax Manager class not found ['.$this->tax_manager_class.']')); + die(sprintf(Tools::displayError('Tax Manager class not found [%s]'), $this->tax_manager_class)); $class = $this->tax_manager_class; if (call_user_func(array($class, 'isAvailableForThisAddress'), $args['address'])) @@ -52,5 +52,4 @@ abstract class TaxManagerModuleCore extends Module return false; } -} - +} \ No newline at end of file diff --git a/controllers/admin/AdminTranslationsController.php b/controllers/admin/AdminTranslationsController.php index 34e1f4745..b18b0159a 100644 --- a/controllers/admin/AdminTranslationsController.php +++ b/controllers/admin/AdminTranslationsController.php @@ -772,13 +772,15 @@ class AdminTranslationsControllerCore extends AdminController $directories['php'] = array( _PS_ROOT_DIR_.'/' => scandir(_PS_ROOT_DIR_), _PS_ADMIN_DIR_.'/' => scandir(_PS_ADMIN_DIR_), - _PS_CLASS_DIR_.'/' => scandir(_PS_CLASS_DIR_), _PS_FRONT_CONTROLLER_DIR_ => scandir(_PS_FRONT_CONTROLLER_DIR_), _PS_ADMIN_CONTROLLER_DIR_ => scandir(_PS_ADMIN_CONTROLLER_DIR_), - _PS_OVERRIDE_DIR_.'classes/' => scandir(_PS_OVERRIDE_DIR_.'classes/'), _PS_OVERRIDE_DIR_.'controllers/front/' => scandir(_PS_OVERRIDE_DIR_.'controllers/front/'), _PS_OVERRIDE_DIR_.'controllers/admin/' => scandir(_PS_OVERRIDE_DIR_.'controllers/admin/') ); + + // Get all files for folders classes/ and override/classes/ recursively + $directories['php'] = array_merge($directories['php'], $this->listFiles(_PS_CLASS_DIR_, array(), 'php')); + $directories['php'] = array_merge($directories['php'], $this->listFiles(_PS_OVERRIDE_DIR_.'classes/', array(), 'php')); break; case 'fields': @@ -805,13 +807,16 @@ class AdminTranslationsControllerCore extends AdminController $directories['php'] = array( _PS_FRONT_CONTROLLER_DIR_ => scandir(_PS_FRONT_CONTROLLER_DIR_), _PS_ADMIN_CONTROLLER_DIR_ => scandir(_PS_ADMIN_CONTROLLER_DIR_), - _PS_OVERRIDE_DIR_.'classes/' => scandir(_PS_OVERRIDE_DIR_.'classes/'), _PS_OVERRIDE_DIR_.'controllers/front/' => scandir(_PS_OVERRIDE_DIR_.'controllers/front/'), _PS_OVERRIDE_DIR_.'controllers/admin/' => scandir(_PS_OVERRIDE_DIR_.'controllers/admin/'), - _PS_CLASS_DIR_ => scandir(_PS_CLASS_DIR_), _PS_ADMIN_DIR_.'/' => scandir(_PS_ADMIN_DIR_), _PS_ADMIN_DIR_.'/tabs/' => scandir(_PS_ADMIN_DIR_.'/tabs') ); + + // Get all files for folders classes/ and override/classes/ recursively + $directories['php'] = array_merge($directories['php'], $this->listFiles(_PS_CLASS_DIR_, array(), 'php')); + $directories['php'] = array_merge($directories['php'], $this->listFiles(_PS_OVERRIDE_DIR_.'classes/', array(), 'php')); + $directories['php'] = array_merge($directories['php'], $this->getModulesHasMails()); break; diff --git a/translations/fr/errors.php b/translations/fr/errors.php index 9c97c2307..08c89fc37 100644 --- a/translations/fr/errors.php +++ b/translations/fr/errors.php @@ -13,7 +13,6 @@ $_ERRORS['044ef92a14ceaaba24382a72ca0267ae'] = 'Ce pays requiert la sélection d $_ERRORS['052800f7397d4c12924faa83534c62f0'] = 'Vous ne pouvez pas désactiver ou supprimer le dernier compte administrateur.'; $_ERRORS['059d29a2088bcf0b9bae76a11f3a07e3'] = 'Le service de validation du numéro de TVA est indisponible'; $_ERRORS['05f89c31663a09912af64c539524588f'] = 'Numéro de TVA non valable'; -$_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.'; $_ERRORS['07769d17f9ccd3b90a8d5cb54a5c5609'] = 'Cette catégorie n\'existe pas'; @@ -49,7 +48,6 @@ $_ERRORS['107b871b48c2c55155eb6849e38171c3'] = 'Impossible d\'ouvrir le fichier $_ERRORS['1086ee44ab3d66a33d23308e942067e0'] = 'Le champ %1$s est trop long. (Longueur maximale : %2$d)'; $_ERRORS['109715467b74bd66639faa5673f707c1'] = 'Erreur inconnue.'; $_ERRORS['10d1c684b919604f1e5e353b274160e5'] = 'Une erreur s\'est produite pendant la mise à jour de l\'image.'; -$_ERRORS['10f237be40b3205ba97da9b89d290c30'] = 'La base de données sélectionnée n\'a pas été trouvée.'; $_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'; @@ -73,7 +71,6 @@ $_ERRORS['17a9c6c63fef3a8444a710d1bab0579d'] = 'L\'adresse n\'est pas correct. V $_ERRORS['17e7c6636cffbefd820d9556e18c370a'] = 'Impossible de charger l\'objet du module'; $_ERRORS['19681d28ed1cc72479bc26b7e76ad240'] = 'La clause LIMIT doit comporter des arguments de type numérique.'; $_ERRORS['199ce43a3993a1f7d261c09127b9f2fa'] = 'Client inconnu'; -$_ERRORS['19a99b7aed449fbbedc3ce65483d6a3a'] = 'Onglet non disponible'; $_ERRORS['19f29a24f0ccb9b96b37182473b27d63'] = 'Propriété de devise non valable.'; $_ERRORS['1a7bdc2c01aaa7757d475e204f2bc6f9'] = 'Vous ne pouvez pas utiliser ce bon de réduction avec ce transporteur'; $_ERRORS['1a80f28eca93f30e2e333b6432890c10'] = 'Une erreur est survenue pendant l\'extraction du module (le fichier peut être corrompu).'; @@ -115,7 +112,6 @@ $_ERRORS['28c993bca90a1f5a4510d3a21ca2b705'] = 'Cet état est actuellement utili $_ERRORS['28ca4ab8455ffa19e6f0577aefa9f1c9'] = 'Client introuvable'; $_ERRORS['298883b17e36ee3a18d73e835c0b44fc'] = 'Aucun fichier n\'a été envoyé'; $_ERRORS['29e1ca45338b1e4861bb4a9bdc5d4387'] = 'Cette adresse n\'est pas la vôtre.'; -$_ERRORS['2a0fad646bb2694202cbd53ce9dcf3f8'] = 'Format de date invalide (AAAA-MM-DD)'; $_ERRORS['2ab146a83f61d2896a472f52f353b321'] = 'Format d\'image non reconnu ; les formats autorisés sont : .ico'; $_ERRORS['2af5ce4c568e80f9dc6bbdb0de5e8ec0'] = 'Impossible de modifier les fichiers de configuration.'; $_ERRORS['2b9a5da945495f5101d57abbf2a7083c'] = 'Une erreur est survenue lors du redimensionnement de l\'image \"Aucune image\" dans le dossier des catégories.'; @@ -184,6 +180,7 @@ $_ERRORS['43423b4056880b08f2c9aa50d8670531'] = 'Le panier ne peut pas être char $_ERRORS['4383b950a18d0fd893e237148f5f58ca'] = 'Ce client existe déjà en tant que non-invité.'; $_ERRORS['43bf950e043950e2da10f917b902c131'] = '%1$s (ID: %2$s) ne peux être enregistré'; $_ERRORS['44205a67121fcca5ffa925d1ed77b65e'] = 'L\'archive ne peut être extraite.'; +$_ERRORS['44ec51a3b11e47451c0b4f6dccb20df6'] = 'Vous n\'avez pas la permission de voir ce contenu.'; $_ERRORS['44fb451a35a1c382da79166dc8c78e43'] = 'Aucun produit trouvé'; $_ERRORS['456e77e04e2e26231ee352304627b26d'] = 'Clé invalide'; $_ERRORS['45ebc64529137a007889ee445d64611c'] = 'Impossible de mettre à jour la position.'; @@ -205,10 +202,10 @@ $_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'] = 'Connexion à la page de données impossible.'; $_ERRORS['4a11be1a3905ec59ca2d35a068de6f2e'] = 'Pack corrompu : mauvaise unité de prix.'; $_ERRORS['4a2f5c8a04cc978f1803fe9b68833463'] = 'Veuillez remplir les champs requis'; $_ERRORS['4b198aa15f6cc8f56488d924b18fa888'] = 'Aucun panier avec cet ID :'; +$_ERRORS['4ba47e7f59b1e7932c110237da46b17b'] = 'Le champ %1$s (%2$s) est trop long (%3$d caratères max., HTML inclus).'; $_ERRORS['4c4492297de90e9e2f5665bf87b4e034'] = 'Ce bon de réduction n\'est pas cumulable avec un autre bon de réduction déjà présent dans votre panier :'; $_ERRORS['4c8095bf0e5b08fc403372526a66ad79'] = 'Erreur - Pas de code ISO pour l\'e-mail'; $_ERRORS['4d723acb1f1f9f9550fec2e473a2d874'] = 'L\'entrepôt de destination n\'est pas valable.'; @@ -292,11 +289,11 @@ $_ERRORS['6e659c47c94d1e1dc7121859f43fb2b0'] = 'adresse e-mail invalide'; $_ERRORS['6f03c3be2e1596fff656d9d045f87824'] = 'Date de fin non valable'; $_ERRORS['6f268ac84ce6195ecf4e3dfe437e2aee'] = 'Erreur fatale : pas de client'; $_ERRORS['6f3051c34727f7a4087165563fe08c3e'] = 'Identifiant de commande ou de facture manquant'; +$_ERRORS['6f3455d187a23443796efdcbe044096b'] = 'Aucune taxe'; $_ERRORS['6f775dff2aa88bce2301e5d5309c5f7e'] = 'Aucune devise par défaut'; $_ERRORS['6fc869f783faaa5a5b47bde38fa1055c'] = 'La raison n\'est pas valable.'; $_ERRORS['6fd4e04d113190d915a36b101ac92489'] = 'Cette commande a déjà cet état'; $_ERRORS['700c53d8cec1b1e9cf6c247944126166'] = 'Une erreur est survenue durant la mise à jour de votre panier.'; -$_ERRORS['702f5592024f4a807d5bd1b145c93300'] = 'Format de date invalide (AAAA-MM-DD)'; $_ERRORS['708d2bfb476ba46221602d549f0e7a4d'] = 'Identifiant de catégorie manquant'; $_ERRORS['71754079aaeefc5c6e745ddd59f8a35f'] = 'Commande gratuite'; $_ERRORS['71f4f008985ea6abc73e89a668e15197'] = 'Cet attribut existe déjà.'; @@ -438,6 +435,7 @@ $_ERRORS['b39188d5e26a56bfd489f50435c08785'] = 'La fonction %1$s (Ligne %2$s) es $_ERRORS['b40ad46c25c153a3d2fde078c0e1b0f8'] = 'Veuillez vous connecter'; $_ERRORS['b4816317cad36c53e8b4120c7f2b561a'] = 'La sélection des pays n\'est valable.'; $_ERRORS['b4b3f9faf62c063468f312900c67c863'] = '%s n\'existe pas.'; +$_ERRORS['b55154d2b0151501b0c0b1e9386168b5'] = 'Le champ %1$s est obligatoire au moins en %2$s.'; $_ERRORS['b578824c29b15327203b675dc8d8f5f1'] = 'Paramètre non valable'; $_ERRORS['b58984a6d945e72c33586460ca8f3c61'] = 'Erreur : aucun client trouvé'; $_ERRORS['b5933aa26b566f65c98b8c06ec835cff'] = 'La limite choisie est supérieure à celle du serveur. Vous devez augmenter la limite d\'envoi de votre serveur'; @@ -470,7 +468,7 @@ $_ERRORS['bf94a83d80c2e2090d57dc51a01f6270'] = 'Une erreur s\'est produite lors $_ERRORS['bfd99559857dfcfc40cb0d0e6c8aee1b'] = 'Nom non valable'; $_ERRORS['c07d1d742561121e6abd49450947c187'] = 'le module ne peut être chargé'; $_ERRORS['c0fd3fa468d006d2865c096fa95d34ef'] = 'S\'il vous plaît connectez-vous à votre compte client pour voir cet commande, cette section est réservée aux comptes clients'; -$_ERRORS['c111be82444b7eed2d979636db454ce9'] = 'Accès interdit'; +$_ERRORS['c111be82444b7eed2d979636db454ce9'] = 'Vous n\'avez pas la permission de voir ce contenu.'; $_ERRORS['c19e5b05ad139685b654599fca05394a'] = 'La valeur de la remise est incorrecte'; $_ERRORS['c1a4c1b929c4f5c81f80ece2d7b196aa'] = 'Produit non valable'; $_ERRORS['c1c8a564c10a0efe07bb4e4b20d88cc9'] = 'Identifiant non valable'; @@ -491,7 +489,6 @@ $_ERRORS['c99348e30ef9822b53fce9b9f0c198c9'] = 'Valeur incorrecte pour une quali $_ERRORS['c9a3d4854ab346abbbfdafc0217650e6'] = 'Impossible d\'écrire dans le fichier de langue pour les sujets des emails : \"%s\"'; $_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['cae059a6bd57c0b7d289ce097c060ba6'] = 'Onglet non disponible (fichier introuvable)'; $_ERRORS['cb17b4eeba6f9e864a87b06af9cae29e'] = 'Impossible d\'enregistrer cette note de facture.'; $_ERRORS['cb46295650e6e2a53d528e353546c2a5'] = 'Une erreur s\'est produite pendant la mise à jour de la personnalisation.'; $_ERRORS['cba0b206627d45fbf0ae707e20d4a38f'] = 'mot de passe non valable'; @@ -527,7 +524,6 @@ $_ERRORS['db7a282fcab155c89c9324ff799d8140'] = 'Assignez une page CMS valable si $_ERRORS['db80d36a89df4c527c779b722bb039f8'] = 'Mauvais identifiant de catégorie'; $_ERRORS['dc0c81278849e0f6a297e93c935e465d'] = 'Votre commande n\'atteint pas le montant minimum requis pour utiliser ce bon de réduction'; $_ERRORS['dc4b45d6ded64ffc6cfcec146a2b0bf5'] = 'Contrôleur introuvable'; -$_ERRORS['dce5470e5688d863c4cf0dee501c59b6'] = 'Connexion à la page de données impossible.'; $_ERRORS['dcefb46cb90317f0d55e889b153b995e'] = 'Vous devez sélectionner au moins une catégorie'; $_ERRORS['dd37ba5dbdc5c68498e8dfa8a7bcdd98'] = 'Une erreur est survenue lors de l\'envoi de l\'e-mail au client'; $_ERRORS['dd4d1297d25682ad76576b1fcf4c61ee'] = 'Impossible de générer un remboursement'; @@ -595,7 +591,6 @@ $_ERRORS['f00cdc4a715c763376d8a5063d45aad0'] = 'Le paramètre %1$s dans la fonct $_ERRORS['f0dc0fa07b13965fe5a95fa37166c4e7'] = 'Adresse e-mail manquante'; $_ERRORS['f100c143763d1b027a3e4cb77df9d1b7'] = 'Une erreur s\'est produite pendant la création des champs personnalisés.'; $_ERRORS['f1534de7e6636fdfedf7aea238841b24'] = 'Vous ne pouvez pas supprimer ou désactiver le dernier groupe de boutique.'; -$_ERRORS['f1cdcf26d9787f078f7fc0e0645858d7'] = 'Pas de support de l\'encodage UTF-8, vous devez vérifier la configuration de votre serveur.'; $_ERRORS['f2ee6211fd44afca2f01ee2d1031d0e5'] = 'Merci de vous connecter pour voir les méthodes de paiement'; $_ERRORS['f32c746083382bb54c8c714b1f2db3ce'] = 'Veuillez sélectionner un sujet dans la liste.'; $_ERRORS['f33bca063db69a70ff1910e99db0a9fe'] = 'Aucune zone ne correspond à votre adresse';