MediaWiki
1.30.0
|
Base class for different kinds of blacklists. More...
Public Member Functions | |
__construct ( $settings=[]) | |
Constructor. More... | |
buildSharedBlacklists () | |
clearCache () | |
Clear all primary blacklist cache keys. More... | |
filter (array $links, Title $title, $preventLog=false) | |
getArticleText ( $wiki, $article) | |
Fetch an article from this or another local MediaWiki database. More... | |
getBlacklists () | |
Fetch local and (possibly cached) remote blacklists. More... | |
getHttpText ( $fileName) | |
getLocalBlacklists () | |
Returns the local blacklist. More... | |
getRegexEnd ( $batchSize) | |
Returns the end of the regex for matches. More... | |
getRegexStart () | |
Returns the start of the regex for matches. More... | |
getSharedBlacklists () | |
Fetch (possibly cached) remote blacklists. More... | |
getWhitelists () | |
Returns the (local) whitelist. More... | |
warmCachesForFilter (Title $title, array $entries) | |
Static Public Member Functions | |
static | addBlacklistType ( $type, $class) |
Adds a blacklist class to the registry. More... | |
static | getBlacklistTypes () |
Return the array of blacklist types currently defined. More... | |
static | getInstance ( $type) |
Returns an instance of the given blacklist. More... | |
static | getTypeFromTitle (Title $title) |
Returns the type of blacklist from the given title. More... | |
static | isLocalSource (Title $title) |
Check if the given local page title is a spam regex source. More... | |
Public Attributes | |
int | $expiryTime = 900 |
array | $files = [] |
Array of blacklist sources. More... | |
int | $warningChance = 100 |
Chance of receiving a warning when the filter is hit. More... | |
int | $warningTime = 600 |
Protected Member Functions | |
getBlacklistType () | |
Returns the code for the blacklist implementation. More... | |
Protected Attributes | |
bool array | $regexes = false |
Array containing regexes to test against. More... | |
Static Private Attributes | |
static array | $blacklistTypes |
Array containing blacklists that extend BaseBlacklist. More... | |
static array | $instances = [] |
Array of blacklist instances. More... | |
Base class for different kinds of blacklists.
Definition at line 6 of file BaseBlacklist.php.
BaseBlacklist::__construct | ( | $settings = [] | ) |
|
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, as, 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(), ObjectCache\getMainWANInstance(), wfDebugLog(), and wfMemcKey().
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 $article, $title, DB_SLAVE, ContentHandler\getContentText(), Revision\newFromRow(), Title\newFromText(), 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 SpamBlacklist, and EmailBlacklist.
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, Http\get(), getBlacklistType(), global, 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.
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(), ObjectCache\getMainWANInstance(), SpamRegexBatch\regexesFromMessage(), use, 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, captcha-old\count, files, getBlacklistType(), ObjectCache\getMainWANInstance(), use, 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 $title, $wgContLang, and global.
Referenced by BaseBlacklistTest\testGetTypeFromTitle(), and SpamBlacklistHooks\validate().
BaseBlacklist::getWhitelists | ( | ) |
Returns the (local) whitelist.
Definition at line 236 of file BaseBlacklist.php.
References $type, getBlacklistType(), ObjectCache\getMainWANInstance(), SpamRegexBatch\regexesFromMessage(), use, 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, $title, $type, $wgDBname, as, global, NS_MEDIAWIKI, PROTO_HTTP, and wfExpandUrl().
Referenced by SpamBlacklistHooks\pageSaveContent(), and SpamBlacklistHooks\validate().
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.
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.