Fixes a few issues in the process of the broken addresses.
authorStéphane Jacob <sj@m4x.org>
Sun, 8 Nov 2009 14:54:01 +0000 (15:54 +0100)
committerStéphane Jacob <sj@m4x.org>
Sun, 8 Nov 2009 16:49:18 +0000 (17:49 +0100)
modules/email.php
templates/emails/broken_addr.tpl

index b81670e..41c5e8a 100644 (file)
@@ -824,8 +824,8 @@ L'équipe d'administration <support@" . $globals->mail->domain . '>';
                 foreach ($broken_list as $orig_email) {
                     $email = valide_email(trim($orig_email));
                     if (empty($email) || $email == '@') {
-                        $invalid_emails[] = "$orig_email: invalid email";
-                    } else {
+                        $invalid_emails[] = trim($orig_email) . ': invalid email';
+                    } elseif (!in_array($email, $valid_emails)) {
                         $res = XDB::query('SELECT  COUNT(*)
                                              FROM  emails
                                             WHERE  email = {?}', $email);
@@ -917,7 +917,7 @@ L'équipe d'administration <support@" . $globals->mail->domain . '>';
                 header('Cache-Control: no-cache');
 
                 $csv = fopen('php://output', 'w');
-                fputcsv($csv, array('nom', 'prenom', 'alias', 'bounce', 'nbmails', 'url'), ';');
+                fputcsv($csv, array('nom', 'prenom', 'promo', 'alias', 'bounce', 'nbmails', 'url'), ';');
                 foreach ($broken_user_list as $alias => $mails) {
                     $sel = Xdb::query(
                         "SELECT  u.user_id, count(e.email) AS nb_mails, u.nom, u.prenom, u.promo
@@ -930,8 +930,8 @@ L'équipe d'administration <support@" . $globals->mail->domain . '>';
 
                     if ($x = $sel->fetchOneAssoc()) {
                         fputcsv($csv, array($x['nom'], $x['prenom'], $x['promo'], $alias,
-                                            join(',', $mails), $x['nb_mails']),
-                                            'https://www.polytechnique.org/marketing/broken/' . $alias, ';');
+                                            join(',', $mails), $x['nb_mails'],
+                                            'https://www.polytechnique.org/marketing/broken/' . $alias), ';');
                     }
                 }
                 fclose($csv);
index 3fa83fa..51298b5 100644 (file)
 
 <form method="post" action="{$platal->ns}admin/emails/broken" enctype="multipart/form-data">
   {xsrf_token_field}
-  <textarea name="list" cols="60" rows="30">{if $valid_emails || $invalid_emails}{foreach from=$valid_emails item=email}{$email}{/foreach}
+  <textarea name="list" cols="60" rows="30">{if $valid_emails || $invalid_emails}{foreach from=$valid_emails item=email}{$email}
+{/foreach}
 
-{foreach from=$invalid_emails item=email}{$email}{/foreach}{/if}</textarea><br />
+{foreach from=$invalid_emails item=email}{$email}
+{/foreach}{/if}</textarea><br />
   <input type="submit" name="sort_broken"
          value="Trie et supprime les doublons de la liste d'adresses" /><br />
   <input type="submit" name="process_broken"