X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fplatal.php;h=3be5bc15deaa00ef559bc59826ceb22ba4c01aea;hb=5c11ce3d14becb0799434db3f1c6cc37eab3ca0f;hp=940f13bc4f3123d0c4bef535d059da26abcfe4d2;hpb=26ba053e75092d038f571b77eaf3005509da0648;p=platal.git diff --git a/modules/platal.php b/modules/platal.php index 940f13b..3be5bc1 100644 --- a/modules/platal.php +++ b/modules/platal.php @@ -178,11 +178,11 @@ class PlatalModule extends PLModule # FIXME: this code is not multi-domain compatible. We should decide how # carva will extend to users not in the main domain. - $res = XDB::query("SELECT alias - FROM aliases - WHERE uid = {?} AND FIND_IN_SET('bestalias', flags)", - S::user()->id()); - $page->assign('bestalias', $res->fetchOneCell()); + $best = XDB::fetchOneCell('SELECT email + FROM email_source_account + WHERE uid = {?} AND FIND_IN_SET(\'bestalias\', flags)', + S::user()->id()); + $page->assign('bestalias', $best); } function handler_prefs_rss($page) @@ -228,7 +228,6 @@ class PlatalModule extends PLModule } $page->changeTpl('platal/password.tpl'); - $page->addJsLink('password.js'); $page->setTitle('Mon mot de passe'); } @@ -301,35 +300,35 @@ class PlatalModule extends PLModule return; } - $res = XDB::query("SELECT COUNT(*) - FROM emails - WHERE uid = {?} AND flags != 'panne' AND flags != 'filter'", $user->id()); - $count = intval($res->fetchOneCell()); - if ($count == 0) { + if ($user->lost) { $page->assign('no_addr', true); return; } $page->assign('ok', true); - $url = rand_url_id(); + $url = rand_url_id(); XDB::execute('INSERT INTO account_lost_passwords (certificat,uid,created) VALUES ({?},{?},NOW())', $url, $user->id()); - $res = XDB::query('SELECT email - FROM emails - WHERE uid = {?} AND email = {?}', - $user->id(), 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)", $user->id()); - $mails = implode(', ', $res->fetchColumn()); + $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" mail->domain . '>'); - $mymail->addTo($mails); + 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 : {$globals->baseurl}/tmpPWD/$url @@ -387,7 +386,6 @@ Adresse de secours : " . Post::v('email') : "")); $page->changeTpl('platal/tmpPWD.success.tpl'); } else { $page->changeTpl('platal/password.tpl'); - $page->addJsLink('password.js'); } }