MediaWiki  1.34.0
SpamBlacklist Class Reference
Inheritance diagram for SpamBlacklist:
Collaboration diagram for SpamBlacklist:

Public Member Functions

 filter (array $links, Title $title=null, $preventLog=false, $mode='check')
 
 getCurrentLinks (Title $title)
 Look up the links currently in the article, so we can ignore them on a second run. More...
 
 getRegexEnd ( $batchSize)
 Returns the end of the regex for matches. More...
 
 getRegexStart ()
 Returns the start of the regex for matches. More...
 
 logFilterHit ( $title, $url)
 Logs the filter hit to Special:Log if $wgLogSpamBlacklistHits is enabled. More...
 
 warmCachesForFilter (Title $title, array $entries)
 
- Public Member Functions inherited from BaseBlacklist
 __construct ( $settings=[])
 Constructor. More...
 
 clearCache ()
 Clear all primary blacklist cache keys. More...
 
 filter (array $links, Title $title, $preventLog=false)
 
 getBlacklists ()
 Fetch local and (possibly cached) remote blacklists. More...
 
 getLocalBlacklists ()
 Returns the local blacklist. More...
 
 getWhitelists ()
 Returns the (local) whitelist. More...
 

Public Attributes

const STASH_AGE_DYING = 150
 
const STASH_TTL = 180
 
- Public Attributes inherited from BaseBlacklist
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

 antiSpoof ( $text)
 Apply some basic anti-spoofing to the links before they get filtered, see. More...
 
 getBlacklistType ()
 Returns the code for the blacklist implementation. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from BaseBlacklist
static addBlacklistType ( $type, $class)
 Adds a blacklist class to the registry. More...
 
static getBlacklistTypes ()
 Return the array of blacklist types currently defined. More...
 
static getEmailBlacklist ()
 
static getInstance ( $type)
 Returns an instance of the given blacklist. More...
 
static getSpamBlacklist ()
 
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...
 
- Protected Attributes inherited from BaseBlacklist
bool array $regexes = false
 Array containing regexes to test against. More...
 

Detailed Description

Definition at line 6 of file SpamBlacklist.php.

Member Function Documentation

◆ antiSpoof()

SpamBlacklist::antiSpoof (   $text)
protected

Apply some basic anti-spoofing to the links before they get filtered, see.

Parameters
string$text
Returns
string

Definition at line 27 of file SpamBlacklist.php.

◆ filter()

SpamBlacklist::filter ( array  $links,
Title  $title = null,
  $preventLog = false,
  $mode = 'check' 
)
Parameters
string[]$linksAn array of links to check against the blacklist
Title | null$titleThe title of the page to which the filter shall be applied. This is used to load the old links already on the page, so the filter is only applied to links that got added. If not given, the filter is applied to all $links.
bool$preventLogWhether to prevent logging of hits. Set to true when the action is testing the links rather than attempting to save them (e.g. the API spamblacklist action)
string$modeEither 'check' or 'stash'
Returns
string[]|bool Matched text(s) if the edit should not be allowed; false otherwise

Definition at line 45 of file SpamBlacklist.php.

References $cache, $matches, $title, $wgRequest, BaseBlacklist\getBlacklists(), getBlacklistType(), getCurrentLinks(), ObjectCache\getLocalClusterInstance(), BaseBlacklist\getWhitelists(), logFilterHit(), and wfDebugLog().

Referenced by warmCachesForFilter().

◆ getBlacklistType()

SpamBlacklist::getBlacklistType ( )
protected

Returns the code for the blacklist implementation.

Returns
string

Reimplemented from BaseBlacklist.

Definition at line 15 of file SpamBlacklist.php.

Referenced by filter().

◆ getCurrentLinks()

SpamBlacklist::getCurrentLinks ( Title  $title)

Look up the links currently in the article, so we can ignore them on a second run.

WARNING: I can add more of the same link with no problem here.

Parameters
Title$title
Returns
array

Definition at line 167 of file SpamBlacklist.php.

References $cache, $dbr, $title, DB_REPLICA, and wfGetDB().

Referenced by filter().

◆ getRegexEnd()

SpamBlacklist::getRegexEnd (   $batchSize)

Returns the end of the regex for matches.

Parameters
int$batchSize
Returns
string

Reimplemented from BaseBlacklist.

Definition at line 207 of file SpamBlacklist.php.

◆ getRegexStart()

SpamBlacklist::getRegexStart ( )

Returns the start of the regex for matches.

Returns
string

Reimplemented from BaseBlacklist.

Definition at line 197 of file SpamBlacklist.php.

◆ logFilterHit()

SpamBlacklist::logFilterHit (   $title,
  $url 
)

Logs the filter hit to Special:Log if $wgLogSpamBlacklistHits is enabled.

Parameters
Title$title
string$urlURL that the user attempted to add

Definition at line 218 of file SpamBlacklist.php.

References $title, and ExtensionRegistry\getInstance().

Referenced by filter().

◆ warmCachesForFilter()

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

Reimplemented from BaseBlacklist.

Definition at line 188 of file SpamBlacklist.php.

References $title, and filter().

Member Data Documentation

◆ STASH_AGE_DYING

const SpamBlacklist::STASH_AGE_DYING = 150

Definition at line 8 of file SpamBlacklist.php.

◆ STASH_TTL

const SpamBlacklist::STASH_TTL = 180

Definition at line 7 of file SpamBlacklist.php.


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