- // paragraphe rajouté : si la date de naissance dans la base n'existe pas, on l'update
- // avec celle fournie ici en espérant que c'est la bonne
-
- $res = XDB::query(
- "SELECT user_id, naissance
- FROM auth_user_md5 AS u
- INNER JOIN aliases AS a ON (u.user_id=a.id AND type != 'homonyme')
- WHERE a.alias={?} AND u.perms IN ('admin','user') AND u.deces=0", $mailorg);
- list($uid, $naissance) = $res->fetchOneRow();
-
- if ($naissance == $birth) {
- $res = XDB::query("SELECT COUNT(*)
- FROM emails
- WHERE uid = {?} AND flags != 'panne' AND flags != 'filter'", $uid);
- $count = intval($res->fetchOneCell());
- if ($count == 0) {
- $page->assign('no_addr', true);
- return;
- }
+ $profile = Profile::get(Env::t('login'));
+ if (is_null($profile) || $profile->birthdate != $birth) {
+ $page->trigError('Les informations que tu as rentrées ne permettent pas de récupérer ton mot de passe.<br />'.
+ 'Si tu as un homonyme, utilise prenom.nom.promo comme login');
+ return;
+ }
+
+ $user = $profile->owner();
+ if ($user->state != 'active') {
+ $page->trigError('Ton compte n\'est pas activé.');
+ return;
+ }