Extension:Phalanx

Phalanx extension is an integrated special control mechanism. The integrated means that it integrates several (mostly Wikia) extensions into one, ultimate anti-spam tool: BadWords, FilterWords, regexBlock, SpamBlacklist, spamRegex, TextRegex and TitleBlacklist.

Phalanx was originally developed by and for Wikia; this page documents the fork of Phalanx that ShoutWiki uses, which was originally forked in June 2010 and is currently based on r57731 of Wikia's SVN.

Parameters
The  global can be set to   to disable the ContentBlock module (checks related to page content, edit&move summaries).

User rights
Phalanx extension adds three new user rights,,   and.

The  user right is required to access Special:Phalanx and Special:PhalanxStats; to add, modify and remove filters and to view statistics.

Users with  user right are exempt from Phalanx filters.

The  user right is required to view blocked e-mail addresses on Special:Phalanx and Special:PhalanxStats, to block e-mail addresses and to view the log at Special:Log/phalanxemail.

Logging
Filter additions, modifications and deletions are logged at Special:Log/phalanx, which is a private log accessible by users with the phalanx user right.

E-mail address filter additions, modifications and deletions are logged at a separate log, Special:Log/phalanxemail. Accessing this log requires the phalanxemailblock user right.

Testing filters
Users with the phalanx user right can test currently active filters by choosing the "Test Filters" tab on Special:Phalanx, entering text (such as a spam phrase, a username or something else that is or should be blocked in Phalanx) and pressing the button. If there is a match, you'll be informed what filter the text triggers; if there isn't a match (and you know there should be), try changing the options of a block. One of the most common problems is using the "exact" option with text, such as content or summary blocks; you should almost always use the regex option, because the "exact" option is too dumb and it can easily be fooled.

Technical notes

 * See Extension:Phalanx/Writing a new module for information on how to add additional blocking options to the extension
 * Number of i18n messages: 108 (as of 9 August 2012)
 * GUI for Special:Phalanx is in extensions/Phalanx/templates/phalanx.tmpl.php
 * CSS changs:
 * wikia-tabs has been renamed to phalanx-tabs
 * accent → phalanx-accent
 * clearfix styles copied from Monaco's root.css; required for proper GUI display
 * Requires jQuery 1.4.2 or higher
 * Actual blocking classes are in  (for example,  ) and are loaded in   for users who do not have the phalanxexempt right
 * Hooks used by Phalanx specific to the Wikia codebase, and which are not present in MediaWiki core:
 * AutoCreateWiki::checkBadWords
 * ApiCreateMultiplePagesBeforeCreation
 * CreateDefaultQuestionPageFilter
 * CreatePageTitleCheck
 * DefaultQuestion::filterWordsTest
 * ProblemReportsContentCheck
 * SpecialMovepageBeforeMove
 * the functionality hooked into this hook has been moved to ContentBlock module (extensions/Phalanx/blocks/ContentBlock.class.php, function onAbortMove); the hook used is AbortMove