Backport
[platal.git] / bin / newsletter.send.php
index e2466e8..e12c262 100755 (executable)
@@ -1,4 +1,4 @@
-#!/usr/bin/php4 -q
+#!/usr/bin/php5 -q
 <?php
 /***************************************************************************
  *  Copyright (C) 2003-2006 Polytechnique.org                              *
@@ -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);