Skip to content
This repository has been archived by the owner on Jul 22, 2022. It is now read-only.

import user from an UTF-8 LDAP #93

Closed
DanRoche opened this issue Jan 21, 2016 · 14 comments
Closed

import user from an UTF-8 LDAP #93

DanRoche opened this issue Jan 21, 2016 · 14 comments

Comments

@DanRoche
Copy link

user_utf8_ldap_import_patch.txt

Hello,

my ldap ( openDJ) export users in UTF8,
libertempo fail to import user with non ascii name ,
because the database is ISO-8859-1 .

i have made a path to fix this in admin_ajout-user.php
basicaly convert user givenname,name in ISO before inserting in base.

it work well for me , here is the patch (attached), may be useful :

@prytoegrian
Copy link
Member

Hello and thanks for the report (and the diff),

As you may notice, Libertempo is a french application, so, even if it's a good practice to set a charset in UTF-8 for occidental apps., we never really considered changing defaut french charset ISO-8859-1{5} to UTF-8. I think it's a error and it should be considered as a bug.

I really don't know how to proceed. If it's works well for you for now, you won't be able to do any upgrades as long as we don't give a global solution and i am not sure of the impacts.

@wouldsmina can you test this patch with yours ldap / cas users ?

Note : you forgot a « I » in

$sql1=$sql1."u_nom='".addslashes(mb_convert_encoding($tab_new_user['nom'],"UTF-8","SO-8859-15"))."', ";

Why did you pop these two preg_replace ?

I invite you to check our futures changelogs.

I hope i didn't write english mistakes, i'm rusted :-D

@Shadok
Copy link
Contributor

Shadok commented Feb 25, 2016

J'ai un souci d'import d'un utilisateur dont le nom comporte une apostrophe (et aucune erreur php).
Je teste le patch ci-dessus pour voir ce que ça donne.

@Shadok
Copy link
Contributor

Shadok commented Feb 25, 2016

C'est lié au preg_replace qui n'accepte pas les apostrophes.
Je n'ai pas eu besoin du reste du patch (la partie UTF-8).

@wouldsmina
Copy link
Member

@, est ce que tu as des accents dans les login, nom ou prenomprenomk ton ldapldap c'est le cas, aurais tu le temps de tester le patch? J'aimerais savoir si il y a des effets de bord.
Je l'ai testé, mais sans savoir si ça pourrait poser problème. On a choisi de ne mettre aucun caractère spécial ni accent dans notre openldap...
A+

@Shadok
Copy link
Contributor

Shadok commented Mar 2, 2016

Je n'ai pas d'accent dans les logins, ni caractères spéciaux.
J'ai juste une apostrophe dans le nom de famille mais qui ne se retrouve pas dans le login.

Et donc le reste du patch n'est pas testable dans mon cas de figure.

@wouldsmina
Copy link
Member

Chez toi aussi vois êtes pas joueur :p
Merci quand même.

@Shadok
Copy link
Contributor

Shadok commented Mar 2, 2016

Je respecte les normes et bonnes pratiques, nuance ;)

@prytoegrian
Copy link
Member

prytoegrian commented May 17, 2016

Je le mets ici @Shadok parce qu'il faut le mettre quelques part et ta PR va être atomisée ^^

Après en avoir bien discuté, nous avons un énorme problème d'encodage, c'est un fait, mais pour ce qui est de permettre d'importer les utilisateurs utf8 de LDAP dans LT, c'est la BDD qui a tord. Nous devons donc mettre les champs u_nom et u_prenom de conges_users en utf8, puisque de toute façon l'appli elle-même tourne en utf8.

Je crois savoir qu'il y a aussi un problème sur les mails. Dans ce cas, il est nécessaire de :

  • basculer la totalité de la table conges_mail en changeant son charset.
  • faire un $mail->CharSet = 'UTF-8'; dans fonction_conges

Je pense que ça peut faire le job et être les changements suffisants et nécessaires pour corriger le bug. Il y aura beaucoup de vérification à faire mais ça ne devrait pas être éternel.

NB : vu qu'il y aura beaucoup de patches, ne pas oublier les migration des versions antérieures.

@Shadok
Copy link
Contributor

Shadok commented May 17, 2016

Pas de problème, tant que ça marche au final :)

@prytoegrian
Copy link
Member

Au besoin, plus d'infos peut être trouvé sur la meleu du 7.02.17.

@Shadok
Copy link
Contributor

Shadok commented Feb 10, 2017

Gné ?
Tu veux dire le message d'Emmanuel sur la ml du 07/02, celui qui n'a jamais reçu de réponse ?

@wouldsmina
Copy link
Member

bien sur que si qu'il a reçu une réponse!!! il y a 5 minutes :D

@Shadok
Copy link
Contributor

Shadok commented Feb 10, 2017

En cas d'ajout d'un utilisateur en utilisant comme source un annuaire openldap, si le prénom de l'utilisateur contient un accent côté ldap, le fichier dump généré se retrouve, par exemple avec une balise à la place d'un "é" et ça part en cacahuète ensuite au moment de l'insertion (sans log d'erreur d'ailleurs ce qui fait que j'ai mis un moment à comprendre pourquoi ça marchait pour la plupart des users sauf pour celui-ci).

@wouldsmina
Copy link
Member

#368

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

No branches or pull requests

4 participants