Rewrites to use filters instead of mass if() blocks
[mailer.git] / inc / modules / admin / what-list_autopurge.php
index eb76f798e2012836c340c4b0c33ffe878ab02346..769a911165b68280445c870ed0eb31692eca214f 100644 (file)
@@ -44,13 +44,17 @@ if ((!defined('__SECURITY')) || (!isAdmin())) {
 addYouAreHereLink('admin', __FILE__);
 
 // Exclude default referral id if set
-// @TODO Rewrite those lines to filter
-$userExclusionSql = runFilterChain('user_exclusion_sql', ' ');
-if (isValidId(getDefRefid()))                         $userExclusionSql .= ' AND d.userid != {?def_refid?}';
-if (isExtensionActive('beg'))                         $userExclusionSql .= ' AND d.userid != {?beg_userid?}';
-if (isExtensionActive('bonus'))                       $userExclusionSql .= ' AND d.userid != {?bonus_userid?}';
-if (isExtensionActive('doubler'))                     $userExclusionSql .= ' AND d.userid != {?doubler_userid?}';
-if (isExtensionInstalledAndNewer('holiday', '0.1.3')) $userExclusionSql .= " AND `d`.`holiday_active`='N'";
+$userExclusionSql = ' ';
+$excludedUserids = runFilterChain('config_userid_exclusion_sql', array());
+if (count($excludedUserids) > 0) {
+       // Exclude all
+       $userExcludeSql = ' AND `d`.`userid` NOT IN (' . implode(', ', $excludedUserids) . ')';
+} // END - if
+
+// @TODO Rewrite this as a filter
+if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
+       $userExclusionSql .= " AND `d`.`holiday_active`='N'";
+} // END - if
 
 // Check for all accounts
 $result = SQL_QUERY("SELECT
@@ -69,7 +73,7 @@ WHERE
        (UNIX_TIMESTAMP() - `d`.`joined`) >= {?ap_inactive_since?} AND
        (UNIX_TIMESTAMP() - `d`.`last_online`) >= {?ap_inactive_since?} AND
        (UNIX_TIMESTAMP() - `d`.`ap_notified`) >= {?ap_inactive_since?}
-       " . $userExclusionSql . "
+       " . runFilterChain('user_exclusion_sql', $userExcludeSql) . "
 ORDER BY
        `d`.`userid` ASC", __FILE__, __LINE__);