MediaWiki REL1_33
BaseBlacklist Class Reference

Base class for different kinds of blacklists. More...

Inheritance diagram for BaseBlacklist:

Public Member Functions

 __construct ( $settings=[])
 Constructor.
 
 clearCache ()
 Clear all primary blacklist cache keys.
 
 filter (array $links, Title $title, $preventLog=false)
 
 getBlacklists ()
 Fetch local and (possibly cached) remote blacklists.
 
 getLocalBlacklists ()
 Returns the local blacklist.
 
 getRegexEnd ( $batchSize)
 Returns the end of the regex for matches.
 
 getRegexStart ()
 Returns the start of the regex for matches.
 
 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 getEmailBlacklist ()
 
static getInstance ( $type)
 Returns an instance of the given blacklist.
 
static getSpamBlacklist ()
 
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.
 

Private Member Functions

 buildSharedBlacklists ()
 
 getArticleText ( $wiki, $article)
 Fetch an article from this or another local MediaWiki database.
 
 getHttpText ( $fileName)
 
 getSharedBlacklists ()
 Fetch (possibly cached) remote blacklists.
 

Static Private Attributes

static array $blacklistTypes
 Array containing blacklists that extend BaseBlacklist.
 
static array $instances = []
 Array of blacklist instances.
 

Detailed Description

Base class for different kinds of blacklists.

Definition at line 6 of file BaseBlacklist.php.

Constructor & Destructor Documentation

◆ __construct()

BaseBlacklist::__construct ( $settings = [])

Constructor.

Parameters
array$settings

Definition at line 60 of file BaseBlacklist.php.

References $value.

Member Function Documentation

◆ addBlacklistType()

static BaseBlacklist::addBlacklistType ( $type,
$class )
static

Adds a blacklist class to the registry.

Parameters
string$type
string$class

Definition at line 80 of file BaseBlacklist.php.

References $type.

◆ buildSharedBlacklists()

BaseBlacklist::buildSharedBlacklists ( )
private

◆ clearCache()

BaseBlacklist::clearCache ( )

Clear all primary blacklist cache keys.

Note
this method is unused atm

Definition at line 309 of file BaseBlacklist.php.

References $cache, getBlacklistType(), and wfDebugLog().

◆ filter()

BaseBlacklist::filter ( array $links,
Title $title,
$preventLog = false )
abstract
Parameters
array$links
Title$title
bool$preventLog
Returns
mixed

Reimplemented in EmailBlacklist.

◆ getArticleText()

BaseBlacklist::getArticleText ( $wiki,
$article )
private

Fetch an article from this or another local MediaWiki database.

This is probably very fragile, and shouldn't be used perhaps.

Parameters
string$wiki
string$article
Returns
string

Definition at line 386 of file BaseBlacklist.php.

References $article, $revQuery, and(), DB_REPLICA, Revision\getQueryInfo(), Revision\newFromRow(), Revision\selectFields(), Revision\selectPageFields(), Revision\selectTextFields(), wfDebugLog(), and wfGetDB().

Referenced by buildSharedBlacklists().

◆ getBlacklists()

BaseBlacklist::getBlacklists ( )

Fetch local and (possibly cached) remote blacklists.

Will be cached locally across multiple invocations.

Returns
array set of regular expressions, potentially empty.

Definition at line 220 of file BaseBlacklist.php.

References $regexes, and(), getLocalBlacklists(), and getSharedBlacklists().

Referenced by EmailBlacklist\checkUser(), and SpamBlacklist\filter().

◆ getBlacklistType()

BaseBlacklist::getBlacklistType ( )
abstractprotected

Returns the code for the blacklist implementation.

Returns
string

Reimplemented in EmailBlacklist, and SpamBlacklist.

Referenced by buildSharedBlacklists(), clearCache(), getHttpText(), getLocalBlacklists(), getSharedBlacklists(), and getWhitelists().

◆ getBlacklistTypes()

static BaseBlacklist::getBlacklistTypes ( )
static

Return the array of blacklist types currently defined.

Returns
array

Definition at line 89 of file BaseBlacklist.php.

References $blacklistTypes.

Referenced by SpamBlacklistHooks\pageSaveContent().

◆ getEmailBlacklist()

static BaseBlacklist::getEmailBlacklist ( )
static

◆ getHttpText()

BaseBlacklist::getHttpText ( $fileName)
private

Definition at line 348 of file BaseBlacklist.php.

References $messageMemc, $wgDBname, and(), Http\get(), getBlacklistType(), and wfDebugLog().

Referenced by buildSharedBlacklists().

◆ getInstance()

static BaseBlacklist::getInstance ( $type)
static

Returns an instance of the given blacklist.

Deprecated
Use getSpamBlacklist() or getEmailBlacklist() instead
Parameters
string$typeCode for the blacklist
Returns
BaseBlacklist
Exceptions
Exception

Definition at line 115 of file BaseBlacklist.php.

References $type, and and().

Referenced by ApiSpamBlacklist\execute(), getEmailBlacklist(), getSpamBlacklist(), SpamBlacklistHooks\pageSaveContent(), SpamBlacklistTest\setUp(), and SpamBlacklistHooks\validate().

◆ getLocalBlacklists()

BaseBlacklist::getLocalBlacklists ( )

Returns the local blacklist.

Returns
array Regular expressions

Definition at line 234 of file BaseBlacklist.php.

References $cache, $type, and(), function, getBlacklistType(), and SpamRegexBatch\regexesFromMessage().

Referenced by getBlacklists().

◆ getRegexEnd()

BaseBlacklist::getRegexEnd ( $batchSize)

Returns the end of the regex for matches.

Parameters
int$batchSize
Returns
string

Reimplemented in SpamBlacklist.

Definition at line 441 of file BaseBlacklist.php.

Referenced by SpamRegexBatch\buildRegexes().

◆ getRegexStart()

BaseBlacklist::getRegexStart ( )

Returns the start of the regex for matches.

Returns
string

Reimplemented in SpamBlacklist.

Definition at line 431 of file BaseBlacklist.php.

Referenced by SpamRegexBatch\buildRegexes().

◆ getSharedBlacklists()

BaseBlacklist::getSharedBlacklists ( )
private

Fetch (possibly cached) remote blacklists.

Returns
array

Definition at line 271 of file BaseBlacklist.php.

References $cache, $regexes, and(), files, function, getBlacklistType(), and wfDebugLog().

Referenced by getBlacklists().

◆ getSpamBlacklist()

◆ getTypeFromTitle()

static BaseBlacklist::getTypeFromTitle ( Title $title)
static

Returns the type of blacklist from the given title.

Todo
building a regex for this is pretty overkill
Parameters
Title$title
Returns
bool|string

Definition at line 202 of file BaseBlacklist.php.

References $wgContLang, and and().

Referenced by BaseBlacklistTest\testGetTypeFromTitle(), and SpamBlacklistHooks\validate().

◆ getWhitelists()

BaseBlacklist::getWhitelists ( )

Returns the (local) whitelist.

Returns
array Regular expressions

Definition at line 253 of file BaseBlacklist.php.

References $cache, $type, and(), function, getBlacklistType(), and SpamRegexBatch\regexesFromMessage().

Referenced by EmailBlacklist\checkUser(), and SpamBlacklist\filter().

◆ isLocalSource()

static BaseBlacklist::isLocalSource ( Title $title)
static

Check if the given local page title is a spam regex source.

Parameters
Title$title
Returns
bool

Definition at line 148 of file BaseBlacklist.php.

References $files, $matches, $type, $wgDBname, and(), PROTO_HTTP, and wfExpandUrl().

Referenced by SpamBlacklistHooks\pageSaveContent(), and SpamBlacklistHooks\validate().

◆ warmCachesForFilter()

BaseBlacklist::warmCachesForFilter ( Title $title,
array $entries )
Parameters
Title$title
string[]$entries

Reimplemented in SpamBlacklist.

Definition at line 449 of file BaseBlacklist.php.

Member Data Documentation

◆ $blacklistTypes

array BaseBlacklist::$blacklistTypes
staticprivate
Initial value:
= [
'spam' => 'SpamBlacklist',
'email' => 'EmailBlacklist',
]

Array containing blacklists that extend BaseBlacklist.

Definition at line 43 of file BaseBlacklist.php.

Referenced by getBlacklistTypes().

◆ $expiryTime

int BaseBlacklist::$expiryTime = 900

Definition at line 36 of file BaseBlacklist.php.

◆ $files

array BaseBlacklist::$files = []

Array of blacklist sources.

Definition at line 12 of file BaseBlacklist.php.

Referenced by isLocalSource().

◆ $instances

array BaseBlacklist::$instances = []
staticprivate

Array of blacklist instances.

Definition at line 53 of file BaseBlacklist.php.

◆ $regexes

bool array BaseBlacklist::$regexes = false
protected

Array containing regexes to test against.

Definition at line 19 of file BaseBlacklist.php.

Referenced by buildSharedBlacklists(), getBlacklists(), and getSharedBlacklists().

◆ $warningChance

int BaseBlacklist::$warningChance = 100

Chance of receiving a warning when the filter is hit.

Definition at line 26 of file BaseBlacklist.php.

◆ $warningTime

int BaseBlacklist::$warningTime = 600

Definition at line 31 of file BaseBlacklist.php.


The documentation for this class was generated from the following file: