X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fauth%2Fauth.inc.php;h=bc4289fda133a23c61ab0b28ef5d7abe0a077bd4;hb=48dba8feba7c3653a925aab5273fc30a6c257240;hp=ef5492e891e60c5f4e1b99f158cde6ee5a657e5e;hpb=03bda5524bd16c5c160a314d42baefe0b3254c62;p=platal.git diff --git a/modules/auth/auth.inc.php b/modules/auth/auth.inc.php index ef5492e..bc4289f 100644 --- a/modules/auth/auth.inc.php +++ b/modules/auth/auth.inc.php @@ -1,6 +1,6 @@ hasProfile()) { - // XXX: Transition table for auth. + /* Transition table for authentification. */ $personnal_data = $user->profile()->data(); $personnal_data['full_promo'] = $personnal_data['promo']; $personnal_data['promo'] = $personnal_data['entry_year']; @@ -48,7 +48,12 @@ function gpex_make($chlg, $privkey, $datafields, $charset) $personnal_data['prenom'] = $personnal_data['firstname']; $personnal_data['flags'] = $user->profile()->isFemale() ? 'femme' : ''; } else { - $personnal_data = array(); + // Missing fields: promo, entry_year, grad_year, ax_id, xorg_id, forlife + $personnal_data = array( + 'lastname' => $user->lastname, + 'firstname' => $user->firstname, + 'sex' => $user->gender + ); } foreach ($fieldarr as $val) { @@ -62,12 +67,11 @@ function gpex_make($chlg, $privkey, $datafields, $charset) } else if (isset($personnal_data[$val])) { $params .= gpex_prepare_param($val, $personnal_data[$val], $tohash, $charset); } else if ($val == 'username') { - $res = XDB::query("SELECT alias - FROM aliases - WHERE uid = {?} AND FIND_IN_SET('bestalias', flags)", - S::i('uid')); - $min_username = $res->fetchOneCell(); - $params .= gpex_prepare_param($val, $min_username, $tohash, $charset); + $min_username = XDB::fetchOneCell('SELECT email + FROM email_source_account + WHERE uid = {?} AND FIND_IN_SET(\'bestalias\', flags)', + S::i('uid')); + $params .= gpex_prepare_param($val, (is_null($min_username) ? '' : $min_username), $tohash, $charset); } else if ($val == 'grpauth') { if (isset($_GET['group'])) { $res = XDB::query("SELECT perms @@ -97,5 +101,5 @@ function gpex_make_params($chlg, $privkey, $datafields, $charset) return $param; } -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>