Deletes lost addresses, medals and phones.
[platal.git] / modules / platal.php
index 3ebcd99..3be5bc1 100644 (file)
@@ -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)
@@ -300,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" <support+password@' . $globals->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