Anything comparable to spam-cleaner, but faster?


So, for reasons, we occasionally want to suddenly hide all of a user's posts, and possibly restore them later. I was advised to try the spam cleaner for this. It... sort of works.

Very sort-of.

On an account with a reasonable number of posts, the spam cleaner took about an hour and ten minutes to run. This is much longer than the PHP timeout, so it looked like it had just died, but actually it was still running, and maintaining a lock on the forum database, for that time. Then it completed.

For science reasons, I went to undo one of the old spam-cleaner runs. It's been going for something like an hour so far. Process is still running, mysql is still showing load. (This time I had the foresight to take the forum down first.)

So, I'm wondering if there's any more efficient way to hide a user. Goal would be, all of their posts disappeared and no longer visible, but restorable later.

(If you're wondering why: Because sometimes the abuser shows up, and we don't want them getting to look through all the stuff said about them.)


XenForo developer
Staff member
That sounds like a very long time, but equally, the spam cleaner isn't really designed for that (or that amount of content). If PHP times out, I'd be surprised that the process actually completed. (Though based on your lock comment, it makes me wonder if you're using MyISAM.)

Short of doing it manually though, there isn't really another option.


MySQL, and yeah, it does take quite a while, but it does actually complete apparently-correctly.

I would sort of love a user or user group flag for "do not display this user's posts".