// Init SQLs
initSqls();
- // Init exclusion list
- // @TODO Rewrite these if() blocks to a filter
- $excludeUserids = '';
- if (isValidUserId(getDefRefid())) $excludeUserids .= ' AND `userid` != {?def_refid?}';
-
- // Check for more extensions
- if (isExtensionActive('beg')) $excludeUserids .= ' AND `userid` != {?beg_userid?}';
- if (isExtensionActive('bonus')) $excludeUserids .= ' AND `userid` != {?bonus_userid?}';
- if (isExtensionActive('doubler')) $excludeUserids .= ' AND `userid` != {?doubler_userid?}';
+ // Init userid exclusion
+ $excludeSql = '';
+ $excludedUserids = runFilterChain('config_userid_exclusion_sql', array());
+ if (count($excludedUserids) > 0) {
+ // Exclude all
+ $excludeSql = ' AND `userid` NOT IN (' . implode(', ', $excludedUserids) . ')';
+ } // END - if
// Check for new holiday extension
if (isExtensionInstalledAndNewer('holiday', '0.1.3')) {
// Include only users with no active holiday
- $excludeUserids .= " AND `holiday_active`='N'";
+ $excludeSql .= " AND `holiday_active`='N'";
} // END - if
// Check for all accounts
" . runFilterChain('user_exclusion_sql', ' ') . " AND
(UNIX_TIMESTAMP() - `joined`) >= {?ap_inactive_since?} AND
(UNIX_TIMESTAMP() - `last_online`) >= {?ap_inactive_since?} AND
- (UNIX_TIMESTAMP() - `ap_notified`) >= {?ap_inactive_since?}
- " . $excludeUserids . "
+ (UNIX_TIMESTAMP() - `ap_notified`) >= {?ap_inactive_since?} AND
+ " . $excludeSql . "
ORDER BY
`userid` ASC", __FILE__, __LINE__);
$content['userids'] = implode(PHP_EOL, $userids);
// Send mail notification to admin
- sendAdminNotification('{--ADMIN_AUTOPURGE_INACTIVE_SUBJECT--}', 'admin_autopurge_inactive', $content);
+ sendAdminNotification('{--ADMIN_AUTOPURGE_INACTIVE_SUBJECT--}', 'admin_purge_inactive', $content);
} // END - if
// Free memory
SQL_FREERESULT($result_inactive);
- // Now let's have a look for inactive accounts we want to delete we newly use the same exclude list
- // here for e.g. excluding holiday users
+ /*
+ * Now let's have a look for inactive accounts for deletion. Use the newly
+ * added exclude list here for e.g. excluding holiday users, test users et
+ * cetera.
+ */
$result_inactive = SQL_QUERY("SELECT
`userid`,
`email`,
(UNIX_TIMESTAMP() - `last_online`) >= {?ap_inactive_since?} AND
(UNIX_TIMESTAMP() - `ap_notified`) >= {?ap_inactive_time?} AND
`ap_notified` > 0
-" . $excludeUserids . "
+ " . $excludeSql . "
ORDER BY
`userid` ASC", __FILE__, __LINE__);
// Send mail notification to admin
if (getConfig('ap_in_notify') == 'Y') {
- sendAdminNotification('{--ADMIN_AUTOPURGE_DELETE_SUBJECT--}', 'admin_autopurge_delete', $useridsContent);
+ sendAdminNotification('{--ADMIN_AUTOPURGE_DELETE_SUBJECT--}', 'admin_purge_delete', $useridsContent);
} // END - if
} // END - if