Erreur d'affichage caractère accentué

Post Reply
Tungs10
Posts: 4
Joined: 20 Sep 2018, 07:43

Erreur d'affichage caractère accentué

Post by Tungs10 »

Bonjour,

Je constate un problème d'affichage dans le Filtre Utilisateur et le champ nom des fiches utilisateurs.

En effet, lorsque le nom d'un utilisateur contient des accents, le nom de ce dernier n’apparaît pas dans la liste des Utilisateurs dans le Filtre Utilisateur.
Le nom de l'utilisateur n’apparaît pas non plus dans le formulaire de modification de l'utilisateur.
Dans la liste des utilisateurs, c'est bon, ainsi qu'en base de données (contrôle effectué sur la base sur mon installation, et non sur la démo en ligne)
J'ai reproduit le bug sur la démo en ligne, dont voici les Screenshots :

Liste des Utilisateurs :
Image


Fiche de l'utilisateur :
Image


Visualisation de l'utilisateur sur le Filtre Utilisateur :
Image


Ceci qui suit n'est qu'une suggestion. Après une petite analyse du code des TPL (./soplanning/templates/), J'ai remarqué que les caractères ne sont pas échappés / protégés de la même manière :

Pour la liste des utilisateurs :
Template www_user_list.tpl
Ligne 136 :

Code: Select all

<td>{$userTmp.nom|xss_protect}</td>
La proctection / echappement est effectuée avec un xss_protect

Par contre, pour la visualisation filtre et le formulaire utilisateur, il s'agit d'un escape
Template user_form.tpl
Ligne 35 :

Code: Select all

<input id="nom" class="form-control" type="text" value="{$user_form.nom|escape:"html"}" maxlength="100" />
Template www_planning_filtre.tpl
Ligne 229 :

Code: Select all

<option value="{$userCourant.user_id}" {if in_array($userCourant.user_id, $filtreUser)}selected="selected"{/if}>{$userCourant.nom|escape} ({$userCourant.user_id|escape})</option>
Je vous remercie pour la prise en compte de ce bug, et souhaite à toute l'équipe de SOPlanning, ainsi qu'à la communauté de très bonnes fêtes de fin d'année.

Cordialement.
TM
Tungs10
Posts: 4
Joined: 20 Sep 2018, 07:43

Re: Erreur d'affichage caractère accentué

Post by Tungs10 »

Bonjour,

Bonne année 2019 à tous.

Je rajoute des informations complémentaires concernant ce bug.
Cela ne concerne pas que les utilisateurs (comme indiqué dans le post initial), mais l'intégralité des champs et informations qui sont échappées avec "escape".
Je viens de rencontrer le cas sur la modification d'une tâche de planning qui apparaît vide alors qu'elle est correctement renseignée (en base).

Cordialement.
TM
soplanning
Site Admin
Posts: 388
Joined: 31 Aug 2017, 15:58

Re: Erreur d'affichage caractère accentué

Post by soplanning »

Bonjour
Merci pour le retour, en effet on a ce souci qui est apparu avec la dernière version de smarty et la gestion de l'utf8.
On va creuser.
Tungs10
Posts: 4
Joined: 20 Sep 2018, 07:43

Re: Erreur d'affichage caractère accentué

Post by Tungs10 »

Merci beaucoup pour la prise en compte.

Afin de contourner le problème, j'ai modifié les templates de mon installation en supprimant tous les "escape".
Je ferai un autre test dans la journée en remplaçant les "escape" par des "xss_protect" sur mon instance de développement.

Cordialement.
TM
Tungs10
Posts: 4
Joined: 20 Sep 2018, 07:43

Re: Erreur d'affichage caractère accentué

Post by Tungs10 »

Après test, j'ai remplacé toutes les fonctions "escape" dans les templates par "xss_protect" et cela fonctionne correctement.

Toutefois, je n'ai pas appliqué cette modification sur 3 templates en particulier :
  • www_index.tpl (Ligne 12)
  • www_options.tpl (Ligne 52)
  • www_header.tpl (Ligne 10)
Car cela provoquait des affichage de "&eacute;" à la place de la lettre "é"

Pour le reste, pas de problème d'affichage constaté.
Je mets en place ce contournement sur ma Prod, le temps que vous trouviez une solution pérenne.

En vous remerciant encore de la prise en charge de cette problématique.

Cordialement.
TM
Post Reply