MediaWiki  1.34.0
TitleBlacklist Class Reference

Implements a title blacklist for MediaWiki. More...

Collaboration diagram for TitleBlacklist:

Public Member Functions

 getBlacklist ()
 Get the current blacklist. More...
 
 getWhitelist ()
 Get the current whitelist. More...
 
 invalidate ()
 Invalidate the blacklist cache. More...
 
 isBlacklisted ( $title, $action='edit')
 Check whether the blacklist restricts performing a specific action on the given Title. More...
 
 isWhitelisted ( $title, $action='edit')
 Check whether it has been explicitly whitelisted that the current User may perform a specific action on the given Title. More...
 
 load ()
 Load all configured blacklist sources. More...
 
 loadWhitelist ()
 Load local whitelist. More...
 
 userCannot ( $title, $user, $action='edit', $override=true)
 Check whether the blacklist restricts given user performing a specific action on the given Title. More...
 
 validate (array $blacklist)
 Validate a new blacklist. More...
 

Static Public Member Functions

static destroySingleton ()
 Destroy/reset the current singleton instance. More...
 
static parseBlacklist ( $list, $sourceName)
 Parse blacklist from a string. More...
 
static singleton ()
 Get an instance of this class. More...
 
static userCanOverride ( $user, $action)
 Inidcates whether user can override blacklist on certain action. More...
 

Public Attributes

const VERSION = 3
 

Static Protected Attributes

static TitleBlacklist $instance = null
 

Static Private Member Functions

static getBlacklistText ( $source)
 Get the text of a blacklist from a specified source. More...
 
static getHttp ( $url)
 Get the text of a blacklist source via HTTP. More...
 

Private Attributes

TitleBlacklistEntry[] $mBlacklist = null
 
TitleBlacklistEntry[] $mWhitelist = null
 

Detailed Description

Implements a title blacklist for MediaWiki.

Definition at line 19 of file TitleBlacklist.php.

Member Function Documentation

◆ destroySingleton()

static TitleBlacklist::destroySingleton ( )
static

Destroy/reset the current singleton instance.

This is solely for testing and will fail unless MW_PHPUNIT_TEST is defined.

Definition at line 49 of file TitleBlacklist.php.

Referenced by ApiQueryTitleBlacklistTest\setUp(), and ApiQueryTitleBlacklistTest\tearDown().

◆ getBlacklist()

TitleBlacklist::getBlacklist ( )

Get the current blacklist.

Returns
TitleBlacklistEntry[]

Definition at line 264 of file TitleBlacklist.php.

References $mBlacklist, and load().

Referenced by isBlacklisted().

◆ getBlacklistText()

static TitleBlacklist::getBlacklistText (   $source)
staticprivate

Get the text of a blacklist from a specified source.

Parameters
array$sourceA blacklist source from $wgTitleBlacklistSources
Returns
string The content of the blacklist source as a string

Definition at line 117 of file TitleBlacklist.php.

References $source, $title, WikiPage\factory(), ContentHandler\getContentText(), getHttp(), Title\newFromText(), NS_MEDIAWIKI, and wfMessage().

◆ getHttp()

static TitleBlacklist::getHttp (   $url)
staticprivate

Get the text of a blacklist source via HTTP.

Parameters
string$urlURL of the blacklist source
Returns
string The content of the blacklist source as a string

Definition at line 289 of file TitleBlacklist.php.

References $messageMemc, and Http\get().

Referenced by getBlacklistText().

◆ getWhitelist()

TitleBlacklist::getWhitelist ( )

Get the current whitelist.

Returns
TitleBlacklistEntry[]

Definition at line 276 of file TitleBlacklist.php.

References $mWhitelist, and loadWhitelist().

Referenced by isWhitelisted().

◆ invalidate()

TitleBlacklist::invalidate ( )

Invalidate the blacklist cache.

Definition at line 311 of file TitleBlacklist.php.

References $cache.

◆ isBlacklisted()

TitleBlacklist::isBlacklisted (   $title,
  $action = 'edit' 
)

Check whether the blacklist restricts performing a specific action on the given Title.

Parameters
Title$titleTitle to check
string$actionAction to check; 'edit' if unspecified
Returns
TitleBlacklistEntry|bool The corresponding TitleBlacklistEntry if blacklisted; otherwise FALSE

Definition at line 210 of file TitleBlacklist.php.

References $title, getBlacklist(), isWhitelisted(), and Title\newFromText().

Referenced by userCannot().

◆ isWhitelisted()

TitleBlacklist::isWhitelisted (   $title,
  $action = 'edit' 
)

Check whether it has been explicitly whitelisted that the current User may perform a specific action on the given Title.

Parameters
Title$titleTitle to check
string$actionAction to check; 'edit' if unspecified
Returns
bool True if whitelisted; otherwise false

Definition at line 246 of file TitleBlacklist.php.

References $title, getWhitelist(), and Title\newFromText().

Referenced by isBlacklisted().

◆ load()

TitleBlacklist::load ( )

Load all configured blacklist sources.

Definition at line 63 of file TitleBlacklist.php.

References $cache, $mBlacklist, $source, VERSION, and wfDebugLog().

Referenced by getBlacklist().

◆ loadWhitelist()

TitleBlacklist::loadWhitelist ( )

Load local whitelist.

Definition at line 94 of file TitleBlacklist.php.

References $cache, $mWhitelist, parseBlacklist(), VERSION, and wfMessage().

Referenced by getWhitelist().

◆ parseBlacklist()

static TitleBlacklist::parseBlacklist (   $list,
  $sourceName 
)
static

Parse blacklist from a string.

Parameters
string$listText of a blacklist source
string$sourceName
Returns
TitleBlacklistEntry[]

Definition at line 162 of file TitleBlacklist.php.

References $line, $lines, and TitleBlacklistEntry\newFromString().

Referenced by loadWhitelist(), and TitleBlacklistHooks\onValidateBlacklist().

◆ singleton()

◆ userCannot()

TitleBlacklist::userCannot (   $title,
  $user,
  $action = 'edit',
  $override = true 
)

Check whether the blacklist restricts given user performing a specific action on the given Title.

Parameters
Title$titleTitle to check
User$userUser to check
string$actionAction to check; 'edit' if unspecified
bool$overrideIf set to true, overrides work
Returns
TitleBlacklistEntry|bool The corresponding TitleBlacklistEntry if blacklisted; otherwise false

Definition at line 186 of file TitleBlacklist.php.

References $title, and isBlacklisted().

◆ userCanOverride()

static TitleBlacklist::userCanOverride (   $user,
  $action 
)
static

Inidcates whether user can override blacklist on certain action.

Parameters
User$user
string$actionAction
Returns
bool

Definition at line 344 of file TitleBlacklist.php.

Referenced by TitleBlacklistPreAuthenticationProvider\getAuthenticationRequests().

◆ validate()

TitleBlacklist::validate ( array  $blacklist)

Validate a new blacklist.

PhanParamSuspiciousOrder The preg_match() params are in the correct order

Parameters
TitleBlacklistEntry[]$blacklist
Returns
string[] List of invalid entries; empty array means blacklist is valid

Definition at line 323 of file TitleBlacklist.php.

Member Data Documentation

◆ $instance

TitleBlacklist TitleBlacklist::$instance = null
staticprotected

Definition at line 27 of file TitleBlacklist.php.

Referenced by singleton().

◆ $mBlacklist

TitleBlacklistEntry [] TitleBlacklist::$mBlacklist = null
private

Definition at line 21 of file TitleBlacklist.php.

Referenced by getBlacklist(), and load().

◆ $mWhitelist

TitleBlacklistEntry [] TitleBlacklist::$mWhitelist = null
private

Definition at line 24 of file TitleBlacklist.php.

Referenced by getWhitelist(), and loadWhitelist().

◆ VERSION

const TitleBlacklist::VERSION = 3

Definition at line 29 of file TitleBlacklist.php.

Referenced by TitleBlacklistEntry\__construct(), load(), and loadWhitelist().


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