From d3df41c32ceb3e8798865217312f1222a339235d Mon Sep 17 00:00:00 2001 From: Vincent Zanotti Date: Wed, 13 May 2009 00:56:08 +0200 Subject: [PATCH] Coerces the first name and last name of a registering user to what is stored in the database. Previously, a user could register with only parts of her full last name, and the non-hruid email addresses would be computed from that user provided name. Signed-off-by: Vincent Zanotti --- modules/register/register.inc.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/modules/register/register.inc.php b/modules/register/register.inc.php index d16c2cf..256f4e8 100644 --- a/modules/register/register.inc.php +++ b/modules/register/register.inc.php @@ -44,7 +44,7 @@ function user_cmp($prenom, $nom, $_prenom, $_nom) // }}} // {{{ function check_mat -function check_mat($promo, $mat, $nom, $prenom, &$ourmat, &$ourid, &$watch, &$naiss) +function check_mat($promo, $mat, &$nom, &$prenom, &$ourmat, &$ourid, &$watch, &$naiss) { if (!preg_match('/^[0-9][0-9][0-9][0-9][0-9][0-9]$/', $mat)) { return "Le matricule doit comporter 6 chiffres."; @@ -71,6 +71,8 @@ function check_mat($promo, $mat, $nom, $prenom, &$ourmat, &$ourid, &$watch, &$na return "erreur dans l'identification. Réessaie, il y a une erreur quelque part !"; } + $nom = $_nom; + $prenom = $_prenom; $ourid = $uid; return true; } @@ -78,7 +80,7 @@ function check_mat($promo, $mat, $nom, $prenom, &$ourmat, &$ourid, &$watch, &$na // }}} // {{{ function check_old_mat -function check_old_mat($promo, $mat, $nom, $prenom, &$ourmat, &$ourid, &$watch, &$naiss) +function check_old_mat($promo, $mat, &$nom, &$prenom, &$ourmat, &$ourid, &$watch, &$naiss) { $res = XDB::iterRow( 'SELECT user_id, nom, prenom, matricule, FIND_IN_SET(\'watch\', flags), naissance_ini @@ -86,6 +88,8 @@ function check_old_mat($promo, $mat, $nom, $prenom, &$ourmat, &$ourid, &$watch, WHERE promo={?} AND deces=0 AND perms="pending"', $promo); while (list($_uid, $_nom, $_prenom, $_mat, $watch, $naiss) = $res->next()) { if (user_cmp($prenom, $nom, $_prenom, $_nom)) { + $nom = $_nom; + $prenom = $_prenom; $ourid = $_uid; $ourmat = $_mat; return true; @@ -152,7 +156,7 @@ function create_aliases (&$sub) $mailorg = make_username($prenom, $nom); $mailorg2 = $mailorg.sprintf(".%02u", ($promo%100)); - $res = XDB::query("SELECT hruid FROM auth_user_md5 WHERE user_id = {?}", $uid); + $res = XDB::query("SELECT hruid FROM auth_user_md5 WHERE user_id = {?} AND hruid != ''", $uid); if ($res->numRows() == 0) { return "Tu n'as pas d'adresse à vie pré-attribuée.
" . "Envoie un mail à mail->domain}\">" -- 2.1.4