|
MediaWiki master
|
Public Member Functions | |
| __construct (ServiceOptions $options, LoggerInterface $logger, ActorStoreFactory $actorStoreFactory, BlockRestrictionStore $blockRestrictionStore, CommentStore $commentStore, HookContainer $hookContainer, IConnectionProvider $dbProvider, ReadOnlyMode $readOnlyMode, UserFactory $userFactory, TempUserConfig $tempUserConfig, BlockTargetFactory $blockTargetFactory, AutoblockExemptionList $autoblockExemptionList, SessionManagerInterface $sessionManager, string|false $wikiId=DatabaseBlock::LOCAL) | |
Public Attributes | |
| const | AUTO_ALL = 'all' |
| Load all autoblocks. | |
| const | AUTO_NONE = 'none' |
| Do not load autoblocks. | |
| const | AUTO_SPECIFIED = 'specified' |
| Load only autoblocks specified by ID. | |
| const | CONSTRUCTOR_OPTIONS |
Database read methods | |
| newFromID ( $id, $fromPrimary=false, $includeExpired=false) | |
| Load a block from the block ID. | |
| getQueryInfo () | |
| Return the tables, fields, and join conditions to be selected to create a new block object. | |
| getConditionForRanges (array $ranges) | |
| Get a set of SQL conditions which select range blocks encompassing the given ranges. | |
| getRangeCond ( $start, $end) | |
| Get a set of SQL conditions which select range blocks encompassing a given range. | |
| newFromRow (IReadableDatabase $db, $row) | |
| Create a new DatabaseBlock object from a database row. | |
| newFromTarget ( $specificTarget, $vagueTarget=null, $fromPrimary=false, $auto=self::AUTO_ALL) | |
| Given a target and the target's type, get an existing block object if possible. | |
| newListFromTarget ( $specificTarget, $vagueTarget=null, $fromPrimary=false, $auto=self::AUTO_ALL) | |
| This is similar to DatabaseBlockStore::newFromTarget, but it returns all the relevant blocks. | |
| newListFromIPs (array $addresses, $applySoftBlocks, $fromPrimary=false) | |
| Get all blocks that match any IP from an array of IP addresses. | |
| newListFromConds ( $conds, $fromPrimary=false, $includeExpired=false) | |
| Construct an array of blocks from database conditions. | |
Database write methods | |
| newUnsaved (array $options) | |
| Create a DatabaseBlock representing an unsaved block. | |
| purgeExpiredBlocks () | |
| Delete expired blocks from the block table. | |
| deleteBlocksMatchingConds (array $conds, $limit=null) | |
| Delete all blocks matching the given conditions. | |
| insertBlock (DatabaseBlock $block, $expectedTargetCount=0) | |
| Insert a block into the block table. | |
| insertBlockWithParams (array $params) | |
| Create a block with an array of parameters and immediately insert it. | |
| updateBlock (DatabaseBlock $block) | |
| Update a block in the DB with new parameters. | |
| updateTarget (DatabaseBlock $block, $newTarget) | |
| Update the target in the specified object and in the database. | |
| deleteBlock (DatabaseBlock $block) | |
| Delete a DatabaseBlock from the database. | |
| doAutoblock (DatabaseBlock $parentBlock, $autoblockIP) | |
| Autoblocks the given IP, referring to the specified block. | |
| updateTimestamp (DatabaseBlock $block) | |
| Update the timestamp on autoblocks. | |
| getAutoblockExpiry ( $timestamp, ?string $parentExpiry=null) | |
| Get the expiry timestamp for an autoblock created at the given time. | |
Definition at line 45 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::__construct | ( | ServiceOptions | $options, |
| LoggerInterface | $logger, | ||
| ActorStoreFactory | $actorStoreFactory, | ||
| BlockRestrictionStore | $blockRestrictionStore, | ||
| CommentStore | $commentStore, | ||
| HookContainer | $hookContainer, | ||
| IConnectionProvider | $dbProvider, | ||
| ReadOnlyMode | $readOnlyMode, | ||
| UserFactory | $userFactory, | ||
| TempUserConfig | $tempUserConfig, | ||
| BlockTargetFactory | $blockTargetFactory, | ||
| AutoblockExemptionList | $autoblockExemptionList, | ||
| SessionManagerInterface | $sessionManager, | ||
| string|false | $wikiId = DatabaseBlock::LOCAL ) |
Definition at line 80 of file DatabaseBlockStore.php.
References MediaWiki\Config\ServiceOptions\assertRequiredOptions().
| MediaWiki\Block\DatabaseBlockStore::deleteBlock | ( | DatabaseBlock | $block | ) |
Delete a DatabaseBlock from the database.
| DatabaseBlock | $block |
Definition at line 1296 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::deleteBlocksMatchingConds | ( | array | $conds, |
| $limit = null ) |
Delete all blocks matching the given conditions.
| array | $conds | An associative array mapping the field name to the matched value. |
| int | null | $limit | The maximum number of blocks to delete |
Definition at line 688 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::doAutoblock | ( | DatabaseBlock | $parentBlock, |
| $autoblockIP ) |
Autoblocks the given IP, referring to the specified block.
| DatabaseBlock | $parentBlock | |
| string | $autoblockIP | The IP to autoblock. |
Definition at line 1509 of file DatabaseBlockStore.php.
References MediaWiki\DAO\WikiAwareEntity\assertWiki(), MediaWiki\Block\DatabaseBlock\getBlocker(), MediaWiki\Block\AbstractBlock\getExpiry(), MediaWiki\Block\AbstractBlock\getHideName(), MediaWiki\Block\DatabaseBlock\getId(), MediaWiki\Block\DatabaseBlock\getRestrictions(), MediaWiki\Block\DatabaseBlock\isAutoblocking(), MediaWiki\Block\AbstractBlock\isCreateAccountBlocked(), MediaWiki\Block\AbstractBlock\isSitewide(), MediaWiki\Block\AbstractBlock\isUsertalkEditAllowed(), and wfTimestampNow().
| MediaWiki\Block\DatabaseBlockStore::getAutoblockExpiry | ( | $timestamp, | |
| ?string | $parentExpiry = null ) |
Get the expiry timestamp for an autoblock created at the given time.
If the parent block expiry is specified, the return value will be earlier than or equal to the parent block expiry.
| string | int | $timestamp | |
| string | null | $parentExpiry |
Definition at line 1632 of file DatabaseBlockStore.php.
References wfTimestamp().
| MediaWiki\Block\DatabaseBlockStore::getConditionForRanges | ( | array | $ranges | ) |
Get a set of SQL conditions which select range blocks encompassing the given ranges.
For each range that is really a single IP (start=end), it will also select single IP blocks with that IP.
| string[][] | $ranges | List of elements with [ start, end ], where start and end are hexadecimal IP representation, and end can be null to use end = start. |
Definition at line 359 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::getQueryInfo | ( | ) |
Return the tables, fields, and join conditions to be selected to create a new block object.
$table to IDatabase->select() or SelectQueryBuilder::tables$vars to IDatabase->select() or SelectQueryBuilder::fields$join_conds to IDatabase->select() or SelectQueryBuilder::joinConds Definition at line 149 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::getRangeCond | ( | $start, | |
| $end ) |
Get a set of SQL conditions which select range blocks encompassing a given range.
If the given range is a single IP with start=end, it will also select single IP blocks with that IP.
| string | $start | Hexadecimal IP representation |
| string | null | $end | Hexadecimal IP representation, or null to use $start = $end |
Definition at line 403 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::insertBlock | ( | DatabaseBlock | $block, |
| $expectedTargetCount = 0 ) |
Insert a block into the block table.
Will fail if there is a conflicting block (same name and options) already in the database.
| DatabaseBlock | $block | |
| int | null | $expectedTargetCount | The expected number of existing blocks on the specified target. If this is zero but there is an existing block, the insertion will fail. |
Definition at line 842 of file DatabaseBlockStore.php.
References MediaWiki\DAO\WikiAwareEntity\assertWiki(), MediaWiki\Block\DatabaseBlock\getBlocker(), MediaWiki\Block\DatabaseBlock\getId(), MediaWiki\Block\AbstractBlock\getTargetUserIdentity(), and MediaWiki\Block\AbstractBlock\getTimestamp().
| MediaWiki\Block\DatabaseBlockStore::insertBlockWithParams | ( | array | $params | ) |
Create a block with an array of parameters and immediately insert it.
Throw an exception on failure. This is a convenience method for testing.
Duplicate blocks for a given target are allowed by default.
| array | $params | Parameters for newUnsaved(), and also:
|
Definition at line 923 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::newFromID | ( | $id, | |
| $fromPrimary = false, | |||
| $includeExpired = false ) |
Load a block from the block ID.
| int | $id | ID to search for |
| bool | $fromPrimary | Whether to use the DB_PRIMARY database (since 1.44) |
| bool | $includeExpired | Whether to include expired blocks (since 1.44) |
Definition at line 128 of file DatabaseBlockStore.php.
References MediaWiki\Block\DatabaseBlockStore\newListFromConds().
| MediaWiki\Block\DatabaseBlockStore::newFromRow | ( | IReadableDatabase | $db, |
| $row ) |
Create a new DatabaseBlock object from a database row.
| IReadableDatabase | $db | The database you got the row from |
| stdClass | $row | Row from the block table |
Definition at line 433 of file DatabaseBlockStore.php.
References Wikimedia\Rdbms\Platform\ISQLPlatform\decodeExpiry().
| MediaWiki\Block\DatabaseBlockStore::newFromTarget | ( | $specificTarget, | |
| $vagueTarget = null, | |||
| $fromPrimary = false, | |||
| $auto = self::AUTO_ALL ) |
Given a target and the target's type, get an existing block object if possible.
| BlockTarget | string | UserIdentity | int | null | $specificTarget | A block target, which may be one of several types:
|
| BlockTarget | string | UserIdentity | int | null | $vagueTarget | As above, but we will search for any block which affects that target (so for an IP address, get ranges containing that IP; and also get any relevant autoblocks). Leave empty or blank to skip IP-based lookups. |
| bool | $fromPrimary | Whether to use the DB_PRIMARY database |
| string | $auto | Since 1.44. One of the self::AUTO_* constants:
|
Definition at line 486 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::newListFromConds | ( | $conds, | |
| $fromPrimary = false, | |||
| $includeExpired = false ) |
Construct an array of blocks from database conditions.
| array | $conds | Query conditions, given as an associative array mapping field names to values. |
| bool | $fromPrimary | |
| bool | $includeExpired |
Definition at line 595 of file DatabaseBlockStore.php.
Referenced by MediaWiki\Block\DatabaseBlockStore\newFromID().
| MediaWiki\Block\DatabaseBlockStore::newListFromIPs | ( | array | $addresses, |
| $applySoftBlocks, | |||
| $fromPrimary = false ) |
Get all blocks that match any IP from an array of IP addresses.
| string[] | $addresses | Validated list of IP addresses |
| bool | $applySoftBlocks | Include soft blocks (anonymous-only blocks). These should only block anonymous and temporary users. |
| bool | $fromPrimary | Whether to query the primary or replica DB |
Definition at line 545 of file DatabaseBlockStore.php.
References LIST_OR.
| MediaWiki\Block\DatabaseBlockStore::newListFromTarget | ( | $specificTarget, | |
| $vagueTarget = null, | |||
| $fromPrimary = false, | |||
| $auto = self::AUTO_ALL ) |
This is similar to DatabaseBlockStore::newFromTarget, but it returns all the relevant blocks.
| BlockTarget | string | UserIdentity | int | null | $specificTarget | |
| BlockTarget | string | UserIdentity | int | null | $vagueTarget | |
| bool | $fromPrimary | |
| string | $auto | Since 1.44. One of the self::AUTO_* constants:
|
Definition at line 509 of file DatabaseBlockStore.php.
Referenced by MediaWiki\Logging\LogEventsList\getBlockLogWarningBox().
| MediaWiki\Block\DatabaseBlockStore::newUnsaved | ( | array | $options | ) |
Create a DatabaseBlock representing an unsaved block.
Pass the returned object to insertBlock().
| array | $options | Options as documented in DatabaseBlock and AbstractBlock, and additionally:
|
Definition at line 632 of file DatabaseBlockStore.php.
| MediaWiki\Block\DatabaseBlockStore::purgeExpiredBlocks | ( | ) |
Delete expired blocks from the block table.
Definition at line 655 of file DatabaseBlockStore.php.
References Wikimedia\Rdbms\IReadableDatabase\expr(), Wikimedia\Rdbms\IReadableDatabase\newSelectQueryBuilder(), and Wikimedia\Rdbms\Platform\ISQLPlatform\timestamp().
| MediaWiki\Block\DatabaseBlockStore::updateBlock | ( | DatabaseBlock | $block | ) |
Update a block in the DB with new parameters.
The ID field needs to be loaded first. The target must stay the same.
TODO: remove the possibility of false return. The cases where this happens are exotic enough that they should just be exceptions.
| DatabaseBlock | $block |
Definition at line 1168 of file DatabaseBlockStore.php.
References MediaWiki\DAO\WikiAwareEntity\assertWiki(), MediaWiki\Block\DatabaseBlock\getId(), MediaWiki\Block\DatabaseBlock\getRawRestrictions(), MediaWiki\Block\AbstractBlock\getTimestamp(), MediaWiki\Block\DatabaseBlock\isAutoblocking(), MediaWiki\Block\AbstractBlock\setTimestamp(), and wfTimestamp().
| MediaWiki\Block\DatabaseBlockStore::updateTarget | ( | DatabaseBlock | $block, |
| $newTarget ) |
Update the target in the specified object and in the database.
The block ID must be set.
This is an unusual operation, currently used only by the UserMerge extension.
| DatabaseBlock | $block | |
| BlockTarget | UserIdentity | string | $newTarget |
Definition at line 1249 of file DatabaseBlockStore.php.
References MediaWiki\Block\DatabaseBlock\getId(), MediaWiki\Block\AbstractBlock\getTarget(), and MediaWiki\Block\AbstractBlock\setTarget().
| MediaWiki\Block\DatabaseBlockStore::updateTimestamp | ( | DatabaseBlock | $block | ) |
Update the timestamp on autoblocks.
| DatabaseBlock | $block |
Definition at line 1597 of file DatabaseBlockStore.php.
References MediaWiki\DAO\WikiAwareEntity\assertWiki(), MediaWiki\Block\AbstractBlock\getExpiry(), MediaWiki\Block\DatabaseBlock\getId(), MediaWiki\Block\AbstractBlock\getTimestamp(), MediaWiki\Block\DatabaseBlock\getType(), MediaWiki\Block\AbstractBlock\setExpiry(), MediaWiki\Block\AbstractBlock\setTimestamp(), and wfTimestamp().
| const MediaWiki\Block\DatabaseBlockStore::AUTO_ALL = 'all' |
Load all autoblocks.
Definition at line 47 of file DatabaseBlockStore.php.
| const MediaWiki\Block\DatabaseBlockStore::AUTO_NONE = 'none' |
Do not load autoblocks.
Definition at line 51 of file DatabaseBlockStore.php.
| const MediaWiki\Block\DatabaseBlockStore::AUTO_SPECIFIED = 'specified' |
Load only autoblocks specified by ID.
Definition at line 49 of file DatabaseBlockStore.php.
| const MediaWiki\Block\DatabaseBlockStore::CONSTRUCTOR_OPTIONS |
Definition at line 56 of file DatabaseBlockStore.php.