Displays number of subscribers without any valid redirection.
authorStéphane Jacob <sj@m4x.org>
Wed, 21 Sep 2011 10:42:06 +0000 (12:42 +0200)
committerStéphane Jacob <sj@m4x.org>
Wed, 21 Sep 2011 10:42:06 +0000 (12:42 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
ChangeLog
include/newsletter.inc.php
templates/newsletter/index.tpl

index e4e6b15..f782f94 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,11 @@
 ================================================================================
 VERSION 1.1.4                                                         XX XX XXXX
 
+New:
+
+    * Newsletter:
+        - Displays number of subscribers without any valid redirection     -JAC
+
 Bug/Wish:
 
     * Carnet:
index 2f6ccca..0b521b4 100644 (file)
@@ -407,6 +407,20 @@ class NewsLetter
                                    WHERE  nlid = {?}', $this->id);
     }
 
+    /** Get the count of subscribers with non valid redirection.
+     */
+    public function lostSubscriberCount()
+    {
+        return XDB::fetchOneCell('SELECT  COUNT(DISTINCT(n.uid))
+                                    FROM  newsletter_ins         AS n
+                              INNER JOIN  accounts               AS a ON (n.uid = a.uid)
+                              INNER JOIN  account_types          AS t ON (t.type = a.type)
+                               LEFT JOIN  email_redirect_account AS r ON (r.uid = a.uid AND r.flags = \'active\' AND r.broken_level < 3
+                                                                          AND r.type != \'imap\' AND r.type != \'homonym\')
+                                   WHERE  n.nlid = {?} AND r.redirect IS NULL AND a.state = \'active\' AND FIND_IN_SET(\'mail\', t.perms)',
+                                 $this->id);
+    }
+
     /** Get the number of subscribers to the NL whose last received mailing was $last.
      * @p $last ID of the issue for which subscribers should be counted.
      * @return Number of subscribers
index 6bcb7d5..79da294 100644 (file)
@@ -74,7 +74,7 @@ Tu n'es actuellement pas inscrit à la {$nl->name}.
 </table>
 
 {if $nl->mayEdit()}
-<p>Il y a actuellement {$nl->subscriberCount()} inscrits aux envois.</p>
+<p>Il y a actuellement {$nl->subscriberCount()} inscrits aux envois, parmi lesquels {$nl->lostSubscriberCount()} n'ont aucune redirection active.</p>
 {/if}