*/
public function subscriberCount()
{
- return XDB::fetchOneCell('SELECT COUNT(uid)
- FROM newsletter_ins
- WHERE nlid = {?}', $this->id);
+ $uf = new UserFilter(new UFC_NLSubscribed($this->id));
+ return $uf->getTotalCount();
}
/** 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);
+ $uf = new UserFilter(new PFC_And(new UFC_NLSubscribed($this->id), new PFC_Not(new UFC_HasEmailRedirect())));
+ return $uf->getTotalCount();
}
/** Get the number of subscribers to the NL whose last received mailing was $last.