MediaWiki  1.33.0
MediaWiki\Block\BlockRestrictionStore Class Reference
Collaboration diagram for MediaWiki\Block\BlockRestrictionStore:

Public Member Functions

 __construct (ILoadBalancer $loadBalancer)
 
 delete (array $restrictions)
 Delete the restrictions. More...
 
 deleteByBlockId ( $blockId)
 Delete the restrictions by Block ID. More...
 
 deleteByParentBlockId ( $parentBlockId)
 Delete the restrictions by Parent Block ID. More...
 
 equals (array $a, array $b)
 Checks if two arrays of Restrictions are effectively equal. More...
 
 insert (array $restrictions)
 Inserts the restrictions into the database. More...
 
 loadByBlockId ( $blockId, IDatabase $db=null)
 Retrieves the restrictions from the database by block id. More...
 
 setBlockId ( $blockId, array $restrictions)
 Set the blockId on a set of restrictions and return a new set. More...
 
 update (array $restrictions)
 Updates the list of restrictions. More...
 
 updateByParentBlockId ( $parentBlockId, array $restrictions)
 Updates the list of restrictions by parent id. More...
 

Private Member Functions

 restrictionsByBlockId (array $restrictions)
 Converts an array of restrictions to an associative array of restrictions where the keys are the block ids. More...
 
 restrictionsToRemove (array $existing, array $new)
 Get the restrictions that should be removed, which are existing restrictions that are not in the new list of restrictions. More...
 
 resultToRestrictions (IResultWrapper $result)
 Convert an Result Wrapper to an array of restrictions. More...
 
 rowToRestriction (\stdClass $row)
 Convert a result row from the database into a restriction object. More...
 

Private Attributes

ILoadBalancer $loadBalancer
 
 $types
 Map of all of the restriction types. More...
 

Detailed Description

Definition at line 33 of file BlockRestrictionStore.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Block\BlockRestrictionStore::__construct ( ILoadBalancer  $loadBalancer)

Member Function Documentation

◆ delete()

MediaWiki\Block\BlockRestrictionStore::delete ( array  $restrictions)

Delete the restrictions.

Since
1.33
Parameters
Restriction[] | null$restrictions
Exceptions
MWException
Returns
bool

Definition at line 231 of file BlockRestrictionStore.php.

References $success, as, and DB_MASTER.

◆ deleteByBlockId()

MediaWiki\Block\BlockRestrictionStore::deleteByBlockId (   $blockId)

Delete the restrictions by Block ID.

Since
1.33
Parameters
int | array$blockId
Exceptions
MWException
Returns
bool

Definition at line 261 of file BlockRestrictionStore.php.

References DB_MASTER.

◆ deleteByParentBlockId()

MediaWiki\Block\BlockRestrictionStore::deleteByParentBlockId (   $parentBlockId)

Delete the restrictions by Parent Block ID.

Since
1.33
Parameters
int | array$parentBlockId
Exceptions
MWException
Returns
bool

Definition at line 278 of file BlockRestrictionStore.php.

References DB_MASTER.

Referenced by MediaWiki\Block\BlockRestrictionStore\updateByParentBlockId().

◆ equals()

MediaWiki\Block\BlockRestrictionStore::equals ( array  $a,
array  $b 
)

Checks if two arrays of Restrictions are effectively equal.

This is a loose equality check as the restrictions do not have to contain the same block ids.

Since
1.33
Parameters
Restriction[]$a
Restriction[]$b
Returns
bool

Definition at line 300 of file BlockRestrictionStore.php.

References $filter, and captcha-old\count.

◆ insert()

MediaWiki\Block\BlockRestrictionStore::insert ( array  $restrictions)

Inserts the restrictions into the database.

Since
1.33
Parameters
Restriction[]$restrictions
Returns
bool

Definition at line 89 of file BlockRestrictionStore.php.

References $rows, as, and DB_MASTER.

Referenced by MediaWiki\Block\BlockRestrictionStore\update().

◆ loadByBlockId()

MediaWiki\Block\BlockRestrictionStore::loadByBlockId (   $blockId,
IDatabase  $db = null 
)

Retrieves the restrictions from the database by block id.

Since
1.33
Parameters
int | array$blockId
IDatabase | null$db
Returns
Restriction[]

Definition at line 63 of file BlockRestrictionStore.php.

References DB_REPLICA, MediaWiki\Block\BlockRestrictionStore\resultToRestrictions(), and MediaWiki\Block\Restriction\PageRestriction\TYPE_ID.

◆ restrictionsByBlockId()

MediaWiki\Block\BlockRestrictionStore::restrictionsByBlockId ( array  $restrictions)
private

Converts an array of restrictions to an associative array of restrictions where the keys are the block ids.

Parameters
Restriction[]$restrictions
Returns
array

Definition at line 395 of file BlockRestrictionStore.php.

References as.

Referenced by MediaWiki\Block\BlockRestrictionStore\update().

◆ restrictionsToRemove()

MediaWiki\Block\BlockRestrictionStore::restrictionsToRemove ( array  $existing,
array  $new 
)
private

Get the restrictions that should be removed, which are existing restrictions that are not in the new list of restrictions.

Parameters
Restriction[]$existing
Restriction[]$new
Returns
array

Definition at line 372 of file BlockRestrictionStore.php.

References $e, as, and use.

Referenced by MediaWiki\Block\BlockRestrictionStore\update().

◆ resultToRestrictions()

MediaWiki\Block\BlockRestrictionStore::resultToRestrictions ( IResultWrapper  $result)
private

Convert an Result Wrapper to an array of restrictions.

Parameters
IResultWrapper$result
Returns
Restriction[]

Definition at line 420 of file BlockRestrictionStore.php.

References as, and MediaWiki\Block\BlockRestrictionStore\rowToRestriction().

Referenced by MediaWiki\Block\BlockRestrictionStore\loadByBlockId(), and MediaWiki\Block\BlockRestrictionStore\update().

◆ rowToRestriction()

MediaWiki\Block\BlockRestrictionStore::rowToRestriction ( \stdClass  $row)
private

Convert a result row from the database into a restriction object.

Parameters
\\stdClass$row
Returns
Restriction|null

Definition at line 441 of file BlockRestrictionStore.php.

Referenced by MediaWiki\Block\BlockRestrictionStore\resultToRestrictions().

◆ setBlockId()

MediaWiki\Block\BlockRestrictionStore::setBlockId (   $blockId,
array  $restrictions 
)

Set the blockId on a set of restrictions and return a new set.

Since
1.33
Parameters
int$blockId
Restriction[]$restrictions
Returns
Restriction[]

Definition at line 345 of file BlockRestrictionStore.php.

References as.

Referenced by MediaWiki\Block\BlockRestrictionStore\updateByParentBlockId().

◆ update()

MediaWiki\Block\BlockRestrictionStore::update ( array  $restrictions)

Updates the list of restrictions.

This method does not allow removing all of the restrictions. To do that, use ::deleteByBlockId().

Since
1.33
Parameters
Restriction[]$restrictions
Returns
bool

Definition at line 126 of file BlockRestrictionStore.php.

References $success, as, DB_MASTER, MediaWiki\Block\BlockRestrictionStore\insert(), MediaWiki\Block\BlockRestrictionStore\restrictionsByBlockId(), MediaWiki\Block\BlockRestrictionStore\restrictionsToRemove(), and MediaWiki\Block\BlockRestrictionStore\resultToRestrictions().

Referenced by MediaWiki\Block\BlockRestrictionStore\updateByParentBlockId().

◆ updateByParentBlockId()

MediaWiki\Block\BlockRestrictionStore::updateByParentBlockId (   $parentBlockId,
array  $restrictions 
)

Updates the list of restrictions by parent id.

Since
1.33
Parameters
int$parentBlockId
Restriction[]$restrictions
Returns
bool

Definition at line 191 of file BlockRestrictionStore.php.

References $success, as, DB_MASTER, MediaWiki\Block\BlockRestrictionStore\deleteByParentBlockId(), MediaWiki\Block\BlockRestrictionStore\setBlockId(), and MediaWiki\Block\BlockRestrictionStore\update().

Member Data Documentation

◆ $loadBalancer

ILoadBalancer MediaWiki\Block\BlockRestrictionStore::$loadBalancer
private

◆ $types

MediaWiki\Block\BlockRestrictionStore::$types
private
Initial value:

Map of all of the restriction types.

Definition at line 38 of file BlockRestrictionStore.php.


The documentation for this class was generated from the following file:
MediaWiki\Block\Restriction\PageRestriction\TYPE_ID
const TYPE_ID
@inheritDoc
Definition: PageRestriction.php:35
MediaWiki\Block\Restriction\NamespaceRestriction\TYPE_ID
const TYPE_ID
@inheritDoc
Definition: NamespaceRestriction.php:35
class
you have access to all of the normal MediaWiki so you can get a DB use the etc For full docs on the Maintenance class
Definition: maintenance.txt:52