MediaWiki REL1_30
|
Base class for different kinds of blacklists. More...
Public Member Functions | |
__construct ( $settings=[]) | |
Constructor. | |
buildSharedBlacklists () | |
clearCache () | |
Clear all primary blacklist cache keys. | |
filter (array $links, Title $title, $preventLog=false) | |
getArticleText ( $wiki, $article) | |
Fetch an article from this or another local MediaWiki database. | |
getBlacklists () | |
Fetch local and (possibly cached) remote blacklists. | |
getHttpText ( $fileName) | |
getLocalBlacklists () | |
Returns the local blacklist. | |
getRegexEnd ( $batchSize) | |
Returns the end of the regex for matches. | |
getRegexStart () | |
Returns the start of the regex for matches. | |
getSharedBlacklists () | |
Fetch (possibly cached) remote blacklists. | |
getWhitelists () | |
Returns the (local) whitelist. | |
warmCachesForFilter (Title $title, array $entries) | |
Static Public Member Functions | |
static | addBlacklistType ( $type, $class) |
Adds a blacklist class to the registry. | |
static | getBlacklistTypes () |
Return the array of blacklist types currently defined. | |
static | getInstance ( $type) |
Returns an instance of the given blacklist. | |
static | getTypeFromTitle (Title $title) |
Returns the type of blacklist from the given title. | |
static | isLocalSource (Title $title) |
Check if the given local page title is a spam regex source. | |
Public Attributes | |
int | $expiryTime = 900 |
array | $files = [] |
Array of blacklist sources. | |
int | $warningChance = 100 |
Chance of receiving a warning when the filter is hit. | |
int | $warningTime = 600 |
Protected Member Functions | |
getBlacklistType () | |
Returns the code for the blacklist implementation. | |
Protected Attributes | |
bool array | $regexes = false |
Array containing regexes to test against. | |
Static Private Attributes | |
static array | $blacklistTypes |
Array containing blacklists that extend BaseBlacklist. | |
static array | $instances = [] |
Array of blacklist instances. | |
Base class for different kinds of blacklists.
Definition at line 6 of file BaseBlacklist.php.
BaseBlacklist::__construct | ( | $settings = [] | ) |
Constructor.
array | $settings |
Definition at line 60 of file BaseBlacklist.php.
References $value.
|
static |
Adds a blacklist class to the registry.
$type | string |
$class | string |
Definition at line 80 of file BaseBlacklist.php.
References $type.
BaseBlacklist::buildSharedBlacklists | ( | ) |
Definition at line 301 of file BaseBlacklist.php.
References $matches, $regexes, files, getArticleText(), getBlacklistType(), getHttpText(), SpamRegexBatch\regexesFromText(), and wfDebugLog().
BaseBlacklist::clearCache | ( | ) |
Clear all primary blacklist cache keys.
Definition at line 290 of file BaseBlacklist.php.
References $cache, getBlacklistType(), wfDebugLog(), and wfMemcKey().
|
abstract |
BaseBlacklist::getArticleText | ( | $wiki, | |
$article ) |
Fetch an article from this or another local MediaWiki database.
This is probably very fragile, and shouldn't be used perhaps.
string | $wiki | |
string | $article |
Definition at line 367 of file BaseBlacklist.php.
References DB_SLAVE, ContentHandler\getContentText(), Revision\newFromRow(), Revision\selectFields(), Revision\selectPageFields(), Revision\selectTextFields(), wfDebugLog(), and wfGetDB().
Referenced by buildSharedBlacklists().
BaseBlacklist::getBlacklists | ( | ) |
Fetch local and (possibly cached) remote blacklists.
Will be cached locally across multiple invocations.
Definition at line 204 of file BaseBlacklist.php.
References $regexes, getLocalBlacklists(), and getSharedBlacklists().
Referenced by EmailBlacklist\checkUser(), and SpamBlacklist\filter().
|
abstractprotected |
Returns the code for the blacklist implementation.
Reimplemented in EmailBlacklist, and SpamBlacklist.
Referenced by buildSharedBlacklists(), clearCache(), getHttpText(), getLocalBlacklists(), getSharedBlacklists(), and getWhitelists().
|
static |
Return the array of blacklist types currently defined.
Definition at line 89 of file BaseBlacklist.php.
References $blacklistTypes.
Referenced by SpamBlacklistHooks\pageSaveContent().
BaseBlacklist::getHttpText | ( | $fileName | ) |
Definition at line 329 of file BaseBlacklist.php.
References $messageMemc, $wgDBname, getBlacklistType(), and wfDebugLog().
Referenced by buildSharedBlacklists().
|
static |
Returns an instance of the given blacklist.
$type | string Code for the blacklist |
Exception |
Definition at line 100 of file BaseBlacklist.php.
References $type.
Referenced by SpamBlacklistHooks\abortNewAccount(), ApiSpamBlacklist\execute(), SpamBlacklistHooks\filterMergedContent(), SpamBlacklistHooks\onArticleDelete(), SpamBlacklistHooks\onArticleDeleteComplete(), SpamBlacklistHooks\onParserOutputStashForEdit(), SpamBlacklistHooks\onUploadVerifyUpload(), SpamBlacklistHooks\pageSaveContent(), SpamBlacklistTest\setUp(), SpamBlacklistPreAuthenticationProvider\testForAccountCreation(), SpamBlacklistHooks\userCanSendEmail(), and SpamBlacklistHooks\validate().
BaseBlacklist::getLocalBlacklists | ( | ) |
Returns the local blacklist.
Definition at line 218 of file BaseBlacklist.php.
References $type, getBlacklistType(), SpamRegexBatch\regexesFromMessage(), and wfMemcKey().
Referenced by getBlacklists().
BaseBlacklist::getRegexEnd | ( | $batchSize | ) |
Returns the end of the regex for matches.
$batchSize |
Reimplemented in SpamBlacklist.
Definition at line 411 of file BaseBlacklist.php.
Referenced by SpamRegexBatch\buildRegexes().
BaseBlacklist::getRegexStart | ( | ) |
Returns the start of the regex for matches.
Reimplemented in SpamBlacklist.
Definition at line 401 of file BaseBlacklist.php.
Referenced by SpamRegexBatch\buildRegexes().
BaseBlacklist::getSharedBlacklists | ( | ) |
Fetch (possibly cached) remote blacklists.
Definition at line 253 of file BaseBlacklist.php.
References $regexes, files, getBlacklistType(), wfDebugLog(), and wfMemcKey().
Referenced by getBlacklists().
|
static |
Returns the type of blacklist from the given title.
Title | $title |
Definition at line 186 of file BaseBlacklist.php.
References $wgContLang.
Referenced by BaseBlacklistTest\testGetTypeFromTitle(), and SpamBlacklistHooks\validate().
BaseBlacklist::getWhitelists | ( | ) |
Returns the (local) whitelist.
Definition at line 236 of file BaseBlacklist.php.
References $type, getBlacklistType(), SpamRegexBatch\regexesFromMessage(), and wfMemcKey().
Referenced by EmailBlacklist\checkUser(), and SpamBlacklist\filter().
|
static |
Check if the given local page title is a spam regex source.
Title | $title |
Definition at line 133 of file BaseBlacklist.php.
References $files, $matches, $type, $wgDBname, PROTO_HTTP, and wfExpandUrl().
Referenced by SpamBlacklistHooks\pageSaveContent(), and SpamBlacklistHooks\validate().
BaseBlacklist::warmCachesForFilter | ( | Title | $title, |
array | $entries ) |
Title | $title | |
string[] | $entries |
Reimplemented in SpamBlacklist.
Definition at line 419 of file BaseBlacklist.php.
|
staticprivate |
Array containing blacklists that extend BaseBlacklist.
Definition at line 43 of file BaseBlacklist.php.
Referenced by getBlacklistTypes().
int BaseBlacklist::$expiryTime = 900 |
Definition at line 36 of file BaseBlacklist.php.
array BaseBlacklist::$files = [] |
Array of blacklist sources.
Definition at line 12 of file BaseBlacklist.php.
Referenced by isLocalSource().
|
staticprivate |
Array of blacklist instances.
Definition at line 53 of file BaseBlacklist.php.
|
protected |
Array containing regexes to test against.
Definition at line 19 of file BaseBlacklist.php.
Referenced by buildSharedBlacklists(), getBlacklists(), and getSharedBlacklists().
int BaseBlacklist::$warningChance = 100 |
Chance of receiving a warning when the filter is hit.
Definition at line 26 of file BaseBlacklist.php.
int BaseBlacklist::$warningTime = 600 |
Definition at line 31 of file BaseBlacklist.php.