[Corrigé 3.1.20] Apatrophe dans mail LDAP

Vous avez trouvé un bug dans l'application (dernière version stable ou bêta): Décrivez le ici afin que la correction soit intégrée a la prochaine version.
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Essayer de remplacer le bloc de la ligne 425 par celui la:

Code : Tout sélectionner

//create GestSup account
							//escape special char for SQL query
							$samaccountname = $db->quote($samaccountname); 
							$givenname = $db->quote($givenname); 
							$sn = $db->quote($sn); 
							$streetaddress = $db->quote($streetaddress); 
							$company= $db->quote($company); 
							$title= $db->quote($title); 
							$l= $db->quote($l);
							$mail= $db->quote($mail);
							$telephonenumber= $db->quote($telephonenumber);
							$postalcode= $db->quote($postalcode);
							$fax= $db->quote($fax);
							$cnt_create=$cnt_create+1;
						if($_GET['action']=='run') {
							echo '<i class="icon-plus-sign green bigger-130"></i><font color="green"> '.T_('Utilisateur').' <b>'.$givenname.' '.$sn.'</b> ('.$samaccountname.') '.T_('à été crée').'.</font><br />';
							$db->exec("INSERT INTO tusers (login,firstname,lastname,profile,mail,phone,address1,zip,city,company,fax) VALUES ($samaccountname,$givenname,$sn,'2',$mail,$telephonenumber,$streetaddress,$postalcode,$l,$company,$fax)");
						} else {
							echo '<i class="icon-plus-sign green bigger-130"></i><font color="green"> '.T_('Création de l\'utilisateur').' <b>'.$givenname.' '.$sn.'</b> ('.$samaccountname.').</font><br />';
						}
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
sabrinac
Gsup LEVEL 3
Messages : 86
Enregistré le : mar. 25 avr. 2017 11:11

avez-vous une solution?
puis-je le zappé de la synchro en mettant une exclusion par exemple?
GestSup 3.1.33 Prod W2012 Wamp64 3.1.3 / Apache 2.4.27 /MySQL 5.7.14 / PHP 7.1.8
GestSup 3.1.34Test
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Flox a écrit :Essayer de remplacer le bloc de la ligne 425 par celui la:

Code : Tout sélectionner

//create GestSup account
							//escape special char for SQL query
							$samaccountname = $db->quote($samaccountname); 
							$givenname = $db->quote($givenname); 
							$sn = $db->quote($sn); 
							$streetaddress = $db->quote($streetaddress); 
							$company= $db->quote($company); 
							$title= $db->quote($title); 
							$l= $db->quote($l);
							$mail= $db->quote($mail);
							$telephonenumber= $db->quote($telephonenumber);
							$postalcode= $db->quote($postalcode);
							$fax= $db->quote($fax);
							$cnt_create=$cnt_create+1;
						if($_GET['action']=='run') {
							echo '<i class="icon-plus-sign green bigger-130"></i><font color="green"> '.T_('Utilisateur').' <b>'.$givenname.' '.$sn.'</b> ('.$samaccountname.') '.T_('à été crée').'.</font><br />';
							$db->exec("INSERT INTO tusers (login,firstname,lastname,profile,mail,phone,address1,zip,city,company,fax) VALUES ($samaccountname,$givenname,$sn,'2',$mail,$telephonenumber,$streetaddress,$postalcode,$l,$company,$fax)");
						} else {
							echo '<i class="icon-plus-sign green bigger-130"></i><font color="green"> '.T_('Création de l\'utilisateur').' <b>'.$givenname.' '.$sn.'</b> ('.$samaccountname.').</font><br />';
						}
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
sabrinac
Gsup LEVEL 3
Messages : 86
Enregistré le : mar. 25 avr. 2017 11:11

la création est passée
Merci pour votre réactivité
GestSup 3.1.33 Prod W2012 Wamp64 3.1.3 / Apache 2.4.27 /MySQL 5.7.14 / PHP 7.1.8
GestSup 3.1.34Test
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Nous intégrons la correction dans la version 3.1.20.

J'ignorai qu'une adresse mail pouvais contenir des apostrophes, mais c'est le cas: http://www.faqs.org/rfcs/rfc1738.html.
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
sabrinac
Gsup LEVEL 3
Messages : 86
Enregistré le : mar. 25 avr. 2017 11:11

on en apprend tous les jours :)
GestSup 3.1.33 Prod W2012 Wamp64 3.1.3 / Apache 2.4.27 /MySQL 5.7.14 / PHP 7.1.8
GestSup 3.1.34Test
tidadou
Gsup LEVEL 0
Messages : 2
Enregistré le : ven. 21 juil. 2017 18:33

Bonjour,

Ne faudrait-il pas aussi gérer le cas pour la mise à jour ?
Actuellement avec la version 3.1.21, j'ai du modifier /core/ldap.php comme suis pour que ca fonctionne:

ligne 253

Code : Tout sélectionner

								if($g_mail!=$mail) 
								{
									$update=T_('de l\'adresse mail').' "'.$mail.'"';
									if($_GET['action']=='run') {
										$mail= $db->quote($mail);
										$db->exec("UPDATE tusers SET mail=$mail WHERE login='$samaccountname'");
									}
								}
tidadou
Gsup LEVEL 0
Messages : 2
Enregistré le : ven. 21 juil. 2017 18:33

petit hors sujet pour dire que j'ai également du modifier la ligne 171

Code : Tout sélectionner

$mail=$data[$i]['mail'][0];
remplacée par

Code : Tout sélectionner

$mail=utf8_encode($data[$i]['mail'][0]);
Car j'avais des caractères accentués dans les mails qui du coup étaient mal enregistrés dans la base de données ("é" devenant "?").
Il y avait donc une mise à jour systématique des utilisateurs LDAP concernés.
Avatar du membre
Flox
Administrateur du site
Messages : 9436
Enregistré le : jeu. 21 juin 2012 19:00

Bonjour,

les deux modifications seront intégré dans la version 3.1.24.

cdt
GestSup: 3.2.47 | Debian: 12 | Apache: 2.4.59 | MariaDB: 11.5.2 | PHP: 8.3.12 | https://doc.gestsup.fr/
Répondre