Jednak analizując kod jest taka opcja wbudowana. Po prostu szukasz najpierw userów - nic nie zaznaczasz w filtrze:
Potem filtrujesz spamerów:
i usuwasz. To samo z zablokowanymi.
Skąd wiem, że powinno działać? Z kodu:
if( isset( \IPS\Request::i()->filter ) )
{
switch ( \IPS\Request::i()->filter )
{
case 'members_filter_banned':
$where[] = array( 'temp_ban<>0' );
break;
case 'members_filter_locked':
$where[] = array( 'failed_login_count>=' . (int) \IPS\Settings::i()->ipb_bruteforce_attempts );
break;
case 'members_filter_spam':
$where[] = array( \IPS\Db::i()->bitwiseWhere( \IPS\Member::$bitOptions['members_bitoptions'], 'bw_is_spammer' ) );
break;
case 'members_filter_validating':
$where[] = array( '( v.lost_pass=0 AND v.forgot_security=0 AND v.vid IS NOT NULL )' );
$joinValidating = TRUE;
break;
case 'members_filter_administrators':
$where[] = array( '( m.row_id IS NOT NULL OR g.row_id IS NOT NULL )' );
$joinAdmins = TRUE;
break;
}
}