- $page->assign('ok', true);
-
- $url = rand_url_id();
- XDB::execute('INSERT INTO perte_pass (certificat,uid,created)
- VALUES ({?},{?},NOW())', $url, $uid);
- $res = XDB::query('SELECT email
- FROM emails
- WHERE uid = {?} AND email = {?}',
- $uid, Post::v('email'));
- if ($res->numRows()) {
- $mails = $res->fetchOneCell();
- } else {
- $res = XDB::query('SELECT email
- FROM emails
- WHERE uid = {?} AND NOT FIND_IN_SET("filter", flags)', $uid);
- $mails = implode(', ', $res->fetchColumn());
- }
- $mymail = new PlMailer();
- $mymail->setFrom('"Gestion des mots de passe" <support+password@' . $globals->mail->domain . '>');
- $mymail->addTo($mails);
- $mymail->setSubject('Ton certificat d\'authentification');
- $mymail->setTxtBody("Visite la page suivante qui expire dans six heures :
+ $user = $profile->owner();
+ if ($user->state != 'active') {
+ $page->trigError('Ton compte n\'est pas activé.');
+ return;
+ }
+
+ if ($user->lost) {
+ $page->assign('no_addr', true);
+ return;
+ }
+
+ $page->assign('ok', true);
+
+ $url = rand_url_id();
+ XDB::execute('INSERT INTO account_lost_passwords (certificat,uid,created)
+ VALUES ({?},{?},NOW())', $url, $user->id());
+ $to = XDB::fetchOneCell('SELECT redirect
+ FROM email_redirect_account
+ WHERE uid = {?} AND redirect = {?}',
+ $user->id(), Post::t('email'));
+ if (is_null($to)) {
+ $emails = XDB::fetchColumn('SELECT redirect
+ FROM email_redirect_account
+ WHERE uid = {?} AND flags = \'inactive\' AND type = \'smtp\'',
+ $user->id());
+ $inactives_to = implode(', ', $emails);
+ }
+ $mymail = new PlMailer();
+ $mymail->setFrom('"Gestion des mots de passe" <support+password@' . $globals->mail->domain . '>');
+ if (is_null($to)) {
+ $mymail->addTo($user);
+ $mymail->addTo($inactives_to);
+ } else {
+ $mymail->addTo($to);
+ }
+ $mymail->setSubject("Ton certificat d'authentification");
+ $mymail->setTxtBody("Visite la page suivante qui expire dans six heures :