Depuis le 03-MAI-2019, la version 1.6.1.24 intègre ce patch. Si rien ne vous en empêche, Mettez à jour.
Si vous continuez car vous ne pouvez pas mettre à jour.
Assurez vous d'utiliser un éditeur de source respectueux de l'encodage de caractère.
La méthode la plus simple (1.5.4.1+ à 1.7):
Un script qui fait ça tout seul https://area51.enter-solutions.com/snippets/122 (1.5.4.1+ à 1.7)
Créez une fichier patch122.php dans votre répertoire admin. Copier le contenu ci-dessus dedans.
Lancez le patch. https://votre-domaine.tld/votre-bo/patch122.php
Pour ceux qui veulent tout faire eux-même
Dans votre classes classes/Validate.php - soit dans le code original, soit dans une override, ajoutez cette fonction
public static function isCustomerName($name) { if (preg_match(Tools::cleanNonUnicodeSupport('/www|http/ui'),$name)) { return false; } return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u'), $name); }
Modifiez ensuite dans classes/Customer.php
'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
par
'lastname' => array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32), 'firstname' => array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
Pour les 1.3 et 1.4 c'est ici:
Après avoir patché, Supprimez intégrale le compte client - permettez qu'il se réinscrive
EDIT: Je ne suis plus ce topic. Pour toute demande d'aide le concernant, merci d'utiliser un ticket support.