Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Annuaire - PHP - Mauvaise stringification #24

Open
benjaminplanche opened this issue Feb 6, 2013 · 6 comments
Open

Annuaire - PHP - Mauvaise stringification #24

benjaminplanche opened this issue Feb 6, 2013 · 6 comments
Assignees

Comments

@benjaminplanche
Copy link
Member

[Merci d'essayer de résoudre ce probleme majeur urgemment, avec, si possible, #10 par la meme occasion.]

Contexte

L'Annuaire repose sur de nombreuses requetes Ajax pour fonctionner : récupération des données ou insertion/modifications de celles-ci.
Des controleurs PHP (dossier annuaire/ajax) assurent le travail coté serveur.

Comportement

Un changement récent dans le PHP semble avoir altéré le comportement des controleurs. Les données textuelles ( string ) renvoyées dans les json sont encadrées par des apostrophes en trop ( ' ) . Ce probleme a 2 conséquences majeures :

  • Ces données servant a préremplir les formulaires lors de modifications, les apostrophes sont également copiées. Si elles ne sont pas supprimées manuellement dans le remplissage du formulaire, elles seront donc enregistrées, et les données se retrouveront donc encadrées par une double paire d'apostrophes (l'ancienne enregistrée et la nouvelle s'ajoutant). Et ainsi de suite si modifications a répétition.
  • Certaines données textuelles sont parsées pour ajouter des effets ergonomiques (ex : icones pour décrire s'il s'agit d'une adresse email privée ou professionnelle), ou sont utilisées comme attributs du DOM (ex: adresses emails cliquables). La présence des apostrophes fausse le tout.

Piste

Ce comportement est récent car :

  • les données ajoutées il y a quelques semaines par l'équipe Entreprise ne sont pas affectées.
  • les données ajoutées il y a peu par Seb le sont.

De cette 1ere observation, on peut a priori en conclure que l'ajout des apostrophes fautives ne se fait pas lors de la récupération des données en BDD, mais lors de leur ajout/modification. En effet, si ce n'était que lors de la récupération, les données plus anciennes devraient aussi etre affectées. Je n'ai pas acces a la BDD pour vérifier la théorie cependant.
Si elle est avérée, le probleme est urgent, car toute donnée ajoutée/modifiée entre temps sera corrompue et devra etre nettoyée apres résolution.

J'ai vérifié les requetes POST émises par le JS pour voir si l'erreur venait du coté client, mais je n'ai a priori pas observé d'erreurs (pas d'apostrophes il semblerait). A vérifier néanmoins si le PHP s'avere non-fautif.

Chose étrange, les controleurs PHP n'ont pas été modifié, sur le repo, depuis début Octobre, et il me semble donc que cette derniere version était déja en ligne. Soit je me trompe (le PHP n'est pas fautif ou le code n'a été mis en prod que récemment), soit 2 possibilités, selon mes yeux novices :

  • Des changements de config du serveur sont responsables (cf par exemple Passage à PHP-FPM #11)
  • Des modifications ont été apportées aux controleurs en prod', sans passer par le repo ( pas bien ).

Désolé, flemme d'ajouter certains accents chers a notre langue, clavier qwerty oblige.

@ghost ghost assigned PandiPanda69 Feb 6, 2013
@benjaminplanche
Copy link
Member Author

Précisions :
J'ai testé les différentes actions et champs possibles. Etrangement, seuls les numéros de téléphone des contacts, leurs adresses emails, et les catégories affectées aux deux, sont concernées.

@benjaminplanche
Copy link
Member Author

Donc comme référencé dans l'issue #13, ce bug d'apostrophes touche aussi la page d'administration des utilisateurs : http://ifaedi.asso.insa-lyon.fr/index.php?page=Administration_Utilisateurs. Vous pourrez ainsi constaté que mon compte en a fait les frais (j'ai voulu testé l'édition pour checker le bug #13).

J'ai perso l'impression que ca confirme la theorie que l'erreur vient du serveur, et affecte donc potentiellement tous les formulaires du site (ca va etre sympa a tout vérifier).

@blackheaven
Copy link
Contributor

ça vient d'une mise à jour de PHP, ça se résoud avec le #19

@blackheaven
Copy link
Contributor

À tester

@bnjbvr
Copy link
Member

bnjbvr commented Feb 14, 2013

Toujours présente: dans l'administration de l'annuaire, voir l'entrée qui commence par un O.
Problèmes d'accents aussi, semblerait-il.

@blackheaven
Copy link
Contributor

je le vois !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants