PluXml icon indicating copy to clipboard operation
PluXml copied to clipboard

Gestion de l'échappement lors de l'édition d'un thème

Open a3nm opened this issue 5 years ago • 1 comments

Bonjour,

Je crois avoir remarqué un petit bug : quand on édite un thème dans l'interface d'administration, avec /admin/parametres_edittpl.php, spécifiquement un fichier CSS, l'échappement des backslashes est mal géré. Par exemple en éditant le fichier theme.css par défaut, le fichier contient initialement "content: '\2630'", et quand on sauvegarde ce qui est enregistré est "content: '2630'" sans le ''. (Pour reproduire : sélectionner "theme.css" dans "Theme edit", faire un changement quelconque, sauvegarder, observer que "\2630" est devenu "2630".

Pour contourner le bug il faut doubler à la main les antislash à chaque fois avant de sauvegarder, mais ce serait mieux si cela pouvait être correctement géré.

Merci !

a3nm avatar Apr 12 '20 07:04 a3nm

Bonjour, Le problème avec "content:` '\2630';" vient de l'appel à la fonction plxUtils::unSlash(...) à la ligne n°43 dans le fichier core/admin/preprend.php. (PluXml version 5.8.3 )

Pour régler provisoirement ce problème, modifier la ligne 43 comme suit :

if(
   $_SERVER['REQUEST_METHOD'] == 'POST' and
   basename($_SERVER['PHP_SELF']) !== 'parametres_edittpl.php'
) {
    $_POST = plxUtils::unSlash($_POST);
}

Pour l'instant, je ne sais pas si l'appel à la méthode plxUtils::unSlash() présente un intérêt.

bazooka07 avatar May 25 '20 22:05 bazooka07