Do not send the NL to people without valid redirection
authorx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Thu, 9 Nov 2006 14:07:11 +0000 (14:07 +0000)
committerx2003bruneau <x2003bruneau@839d8a87-29fc-0310-9880-83ba4fa771e5>
Thu, 9 Nov 2006 14:07:11 +0000 (14:07 +0000)
git-svn-id: svn+ssh://murphy/home/svn/platal/trunk@1065 839d8a87-29fc-0310-9880-83ba4fa771e5

bin/newsletter.send.php

index e2466e8..1a185d3 100755 (executable)
@@ -42,19 +42,21 @@ while(true) {
             "SELECT  ni.user_id, a.alias,
                      u.prenom, IF(u.nom_usage='', u.nom, u.nom_usage),
                      FIND_IN_SET('femme', u.flags),
-                    q.core_mail_fmt AS pref
+                     q.core_mail_fmt AS pref
                FROM  newsletter_ins  AS ni
          INNER JOIN  auth_user_md5   AS u  USING(user_id)
-        INNER JOIN  auth_user_quick AS q  ON(q.user_id = u.user_id)
+         INNER JOIN  auth_user_quick AS q  ON(q.user_id = u.user_id)
          INNER JOIN  aliases         AS a  ON(u.user_id=a.id AND FIND_IN_SET('bestalias',a.flags))
-              WHERE  ni.last<{?}
+          LEFT JOIN  emails          AS e  ON(e.uid=u.user_id AND e.flags='active')
+              WHERE  ni.last<{?} AND e.email IS NOT NULL
+           GROUP BY  ni.user_id
               LIMIT  60", $id);
     if (!$res->total()) { exit; }
 
     $sent = Array();
     while (list($uid, $bestalias, $prenom, $nom, $sexe, $fmt) = $res->next()) {
-       $sent[] = "user_id='$uid'";
-       $nl->sendTo($prenom, $nom, $bestalias, $sexe, $fmt=='html');
+        $sent[] = "user_id='$uid'";
+        $nl->sendTo($prenom, $nom, $bestalias, $sexe, $fmt=='html');
     }
     XDB::execute('UPDATE newsletter_ins SET last={?} WHERE '.implode(' OR ', $sent), $id);
     sleep(60);