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

Public Member Functions

 __construct (ILoadBalancer $loadBalancer, $wikiId=WikiAwareEntity::LOCAL)
 
 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)
 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
 
string false $wikiId
 
const TYPES_MAP
 Map of all of the restriction types. More...
 

Detailed Description

Definition at line 35 of file BlockRestrictionStore.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Block\BlockRestrictionStore::__construct ( ILoadBalancer  $loadBalancer,
  $wikiId = WikiAwareEntity::LOCAL 
)
Parameters
ILoadBalancer$loadBalancerload balancer for acquiring database connections
string | false$wikiId

Definition at line 60 of file BlockRestrictionStore.php.

References MediaWiki\Block\BlockRestrictionStore\$loadBalancer, and MediaWiki\Block\BlockRestrictionStore\$wikiId.

Member Function Documentation

◆ delete()

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

Delete the restrictions.

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

Definition at line 243 of file BlockRestrictionStore.php.

References $success, and DB_PRIMARY.

◆ 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 273 of file BlockRestrictionStore.php.

References DB_PRIMARY.

◆ 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 290 of file BlockRestrictionStore.php.

References DB_PRIMARY.

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 312 of file BlockRestrictionStore.php.

◆ insert()

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

Inserts the restrictions into the database.

Since
1.33
Parameters
Restriction[]$restrictions
Returns
bool

Definition at line 101 of file BlockRestrictionStore.php.

References DB_PRIMARY.

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

◆ loadByBlockId()

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

Retrieves the restrictions from the database by block id.

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

Definition at line 75 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 407 of file BlockRestrictionStore.php.

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 384 of file BlockRestrictionStore.php.

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 432 of file BlockRestrictionStore.php.

References 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 453 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 357 of file BlockRestrictionStore.php.

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 138 of file BlockRestrictionStore.php.

References $success, DB_PRIMARY, 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 203 of file BlockRestrictionStore.php.

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

Member Data Documentation

◆ $loadBalancer

ILoadBalancer MediaWiki\Block\BlockRestrictionStore::$loadBalancer
private

◆ $wikiId

string false MediaWiki\Block\BlockRestrictionStore::$wikiId
private

◆ TYPES_MAP

const MediaWiki\Block\BlockRestrictionStore::TYPES_MAP
private
Initial value:

Map of all of the restriction types.

Definition at line 40 of file BlockRestrictionStore.php.


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