From: Stéphane Jacob Date: Thu, 14 Apr 2011 14:57:53 +0000 (+0200) Subject: Fixes UFC_HasEmailRedirect. X-Git-Tag: xorg/1.1.1~98 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=0702af2967f1dfaae3f13a63e8eabdfd1373a66c;p=platal.git Fixes UFC_HasEmailRedirect. Signed-off-by: Stéphane Jacob --- diff --git a/classes/userfilter.php b/classes/userfilter.php index a98ed75..c67213d 100644 --- a/classes/userfilter.php +++ b/classes/userfilter.php @@ -943,6 +943,16 @@ class UserFilter extends PlFilter return $this->register_optional($this->sa, $email); } + private $with_rf = false; + /** Allows filtering by active redirection. + * @return Suffix to use to access the adequate table. + */ + public function addActiveEmailRedirectFilter($email = null) + { + $this->requireAccounts(); + $this->with_rf = true; + } + protected function emailJoins() { global $globals; @@ -974,6 +984,9 @@ class UserFilter extends PlFilter $joins['sa' . $sub] = PlSqlJoin::left('email_source_account', '$ME.uid = $UID AND $ME.email IN {?}', $emails); } } + if ($this->with_rf) { + $joins['rf'] = PlSqlJoin::left('email_redirect_account', '$ME.uid = $UID AND $ME.type != \'imap\' AND $ME.flags = \'active\'');; + } return $joins; } diff --git a/classes/userfilter/conditions.inc.php b/classes/userfilter/conditions.inc.php index e445d21..c213de6 100644 --- a/classes/userfilter/conditions.inc.php +++ b/classes/userfilter/conditions.inc.php @@ -339,8 +339,8 @@ class UFC_HasEmailRedirect extends UserFilterCondition { public function buildCondition(PlFilter $uf) { - $sub_redirect = $uf->addEmailRedirectFilter(); - return 'ra' . $sub_redirect . '.flags = \'active\''; + $sub_redirect = $uf->addActiveEmailRedirectFilter(); + return 'rf.redirect IS NOT NULL'; } public function export()