I'd thought I'd throw my two pence into the discussion.
Lately we purchased a commercial license for Akismet to validate our comments... it took a while to get approved so naturally, we have accumulated a few comments.
The only bug bear I have is the "Check Spam" button.
Testing locally, the page will go blank... reasons for this are due to the amount of comments. It tries to check over 10k comments and the page goes blank because:
- MySQL/PHP memory usage is exceeded (pulling tonnes of data of the database)
- PHP execution time is exceeded
I know that our curious/desperate editors are going to click that button and our comments will never get moderated as the page will just timeout.
I checked out the function "function akismet_recheck_queue()".
The problems I see is the SQL query calls ALL comments no approved - then loops a foreach and HTTP call to Akismet.
I wanted to suggest the following:
- Limit the amount of comments fetched e.g. LIMIT 20
- Redirect the browser to same URL until all comments have been checked
That way it would avoid the memory outage and the PHP execution timeout.
You may also want to display an output to show the user how many comments "x out of x" have been checked until it finishes.
Also, someone was confused about the UI of the button - thinking if they checked the comments then hit the button, it would checked the selected comments.
The button is the grey like the filter button, it should probably be blue like the "update/publish" button as it is a different action than the filter button.