Wat we gaan doen is op basis van de zoekresultaten een formulier maken net zoals dat in modcp.php, waardoor we de techniek van modcp lenen door daar de opdracht naar toe te posten. Gebruik je een Mozilla browser? Ga dan naar het Moderator Control Panel en open Page Info. Kijk daarbij naar het tweede formulier onder het tabblaf Forms. De velden die je daar ziet, moeten wij gaan namaken.
De eerste stap zal zijn om in
templates/subSilver/search_results_posts.tpl een extra kolom toe te voegen met checkboxes, waarmee elke post selecteerd kan worden. Hieromheen plaatsen we dan een formulier met als actie
modcp.php. Deze kolom en het formulier moeten omgeven zijn met <!-- switches //-->, zodat ze alleen zichtbaar zijn als er een moderator of administrator is ingelogd. Die switches moeten in
search.php worden toegewezen (
voorbeeld) op basis van
$userdata['user_level'], en moderator gegevens uit de functie auth() (
voorbeeld). Vervolgens hebben we nog een hidden field nodig met het "sid" (
$userdata['session_id']) om te zorgen dat de modcp beveiliging onze gegevens accepteerd, en een submit knopje.
Maar dan! Er is één probleem. We hebben een tweak of workaround nodig om te zorgen dat we posts kunnen laten verwijderen uit meerdere forums. Modcp geeft namelijk één forum_id mee voor alle topics, wat betekent dat alle te verwijderen topics in één forum zouden moeten staan. Op basis van dit ene forum_id worden de permissies in modcp gecontroleerd, wordt er een session_pagestart gegeven, wordt gecontroleerd of het forum bestaat (met anders een message_die als gevolg) en
hier wordt het forum_id meegegeven met de SELECT query voor de te verwijderen posts, iets wat in principe helemaal niet nodig is.