Development Wiki

PhpBB4/RFC/Moderation system

From phpBB Development Wiki

Proposed Moderation System for phpBB 4

This RFC is for the implementation of a Moderation system that is geared more towards discussion and accountability, while also providing more control over what moderators can and cannot do (globally and locally using permission system), and tools available to the moderators either through core code or in the default package that will decrease time spent performing moderation actions.

This is a rough draft and is open for discussion. All suggestions and comments are welcome.

Most of the features below are currently available in MOD form for Olympus (either in development or released), and together they may provide a more efficient moderation system.



  • Reporting a post will result in a new topic posted in a staff forum
  • The forum to report to should be configurable per forum
  • The resulting topic should contain information such as: the reporter (username/profile link), the reported user (username/profile link), the reported post (title + link; full post quoted), etc. (preferably alterable via ACP using tokens such as {REPORTER}, etc.)
  • This allows moderators to discuss the report -- what the violation or violations are, what action should be taken, given the user's past history

Warning System -> Staff Actions

  • Multiple tiers - called "staff actions" (?) overall and allow admins to name individual actions
  • Point system - one "staff action" (e.g. warning) worth 1 point, whereas an infraction is worth 2 points.
    1. When a user reaches X points, they receive X punishment
  • Allow moderators to issue a custom "staff contact" with custom amount of points or custom punishment for special cases

User/Moderator/Administrator Logging

  • More detailed log entries (username, what action was taken, appropriate links, etc.)
  • All post revisions should be kept for reference (like wiki revisions can be viewed and compared)
  • Posts can be restored to other revisions (similar to SVN revision type stuff)

Post/Topic Deletion

  • Plugins for multiple types of deletion to be enabled/disabled via ACP.
  • Examples of options:
    1. Hard Delete (current tool default in Olympus)
    2. Deletion Queue (posts are marked as deleted and will be pruned after X time; invisible to users, viewable to staff and allows undelete)
    3. Soft Delete (post marked as deleted indefinitely; invisible to users, but viewable by staff; can then be hard deleted, sent to deletion queue, or undeleted)
    4. Trash Bin forum (post physically moved to hidden forum; topic title optionally appended with origin, or maybe undelete link to move it back; self explanatory).


  • Multiple levels of ban; instead of completely denying all access, deny permissions to certain areas/features all the way up to complete access denial
  • "Emergency Ban" feature to combat spam
    1. Permanent ban
    2. Strips profile of user-entered data
    3. Optionally also ban IP and/or email address
    4. Removes all of the user's posts as per deletion method(s) as suggested above.
  • Ban to group
    1. Users are automatically added to group (as default), which restricts their permissions depending on the type of ban.
    2. Users are removed from group when ban is up

Topic Multi-Moderation (similar or as seen in Invision Power Board; free demo available on IPB website)

  • Multiple Moderation actions are performed by selecting a "Multi-Mod" via a drop-down list.
  • "Multi-Mods" are configurable via ACP to do any combination of the following:
    1. Lock Topic
    2. Stick Topic
    3. Move Topic
    4. Copy Topic
    5. Reply to topic (either predefined reply or custom reply when applying "multi-mod")
    6. Apply topic prefix (see below)
  • Local permissions per multi-mod for saying who can use it and where it can be used

Topic Prefixes

  • Can be styled via color, font, size, etc (?)
  • Can contain "token" that is replaced with the applicable information at the time the prefix is applied (i.e. date or username)
  • Can be used in report forums to signify status of report (e.g. "Needs input", "Ready for action", etc.)
  • Local permissions per prefix for saying who can use it and where it can be used