MediaWiki
master
|
A DatabaseBlock (unlike a SystemBlock) is stored in the database, may give rise to autoblocks and may be tracked with cookies. More...
Public Member Functions | ||||
__construct (array $options=[]) | ||||
Create a new block with specified option parameters on a user, IP or IP range. More... | ||||
appliesToNamespace ( $ns) | ||||
Checks if a block applies to a particular namespace.
| ||||
appliesToPage ( $pageId) | ||||
Checks if a block applies to a particular page.This check does not consider whether $this->isUsertalkEditAllowed returns false, as the identity of the user making the hypothetical edit isn't known here (particularly in the case of IP hardblocks, range blocks, and auto-blocks).
| ||||
appliesToTitle (Title $title) | ||||
Checks if a block applies to a particular title.This check does not consider whether $this->isUsertalkEditAllowed returns false, as the identity of the user making the hypothetical edit isn't known here (particularly in the case of IP hardblocks, range blocks, and auto-blocks).
| ||||
delete () | ||||
Delete the row from the IP blocks table. More... | ||||
doAutoblock ( $autoblockIP) | ||||
Autoblocks the given IP, referring to this block. More... | ||||
equals (DatabaseBlock $block) | ||||
Check if two blocks are effectively equal. More... | ||||
getBlocker () | ||||
Get the user who implemented this block. More... | ||||
getBy () | ||||
Get the user id of the blocking sysop.
| ||||
getByName () | ||||
Get the username of the blocking sysop.
| ||||
getForcedTargetID () | ||||
Get the forcedTargetID if set. More... | ||||
getId () | ||||
Get the block ID.
| ||||
getIdentifier () | ||||
Get the information that identifies this block, such that a user could look up everything that can be found about this block.May be an ID, array of IDs, type, etc.
| ||||
getParentBlockId () | ||||
getRangeEnd () | ||||
Get the IP address at the end of the range in Hex form. More... | ||||
getRangeStart () | ||||
Get the IP address at the start of the range in Hex form. More... | ||||
getRawRestrictions () | ||||
Get restrictions without loading from database if not yet loaded. More... | ||||
getReason () | ||||
Get the reason given for creating the block, as a string.Deprecated, since this gives the caller no control over the language or format, and no access to the comment's data.
| ||||
getRedactedName () | ||||
Get the block name, but with autoblocked IPs hidden as per standard privacy policy. More... | ||||
getRestrictions () | ||||
Getting the restrictions will perform a database query if the restrictions are not already loaded. More... | ||||
getType () | ||||
Get the type of target for this particular block.
| ||||
insert (IDatabase $dbw=null) | ||||
Insert a block into the block table. More... | ||||
isAutoblocking ( $x=null) | ||||
isExpired () | ||||
Has the block expired? More... | ||||
isHardblock ( $x=null) | ||||
Get/set whether the block is a hardblock (affects logged-in users on a given IP/range) More... | ||||
setBlocker ( $user) | ||||
Set the user who implemented (or will implement) this block. More... | ||||
setId ( $blockId) | ||||
Set the block ID. More... | ||||
setRestrictions (array $restrictions) | ||||
update () | ||||
Update a block in the DB with new parameters. More... | ||||
updateTimestamp () | ||||
Update the timestamp on autoblocks. More... | ||||
![]() | ||||
appliesToPasswordReset () | ||||
Check if the block prevents a user from resetting their password. More... | ||||
appliesToRight ( $right) | ||||
Determine whether the block prevents a given right. More... | ||||
appliesToUsertalk (Title $usertalk=null) | ||||
Determine whether the block allows the user to edit their own user talk page. More... | ||||
getExpiry () | ||||
Get the block expiry time. More... | ||||
getHideName () | ||||
Get whether the block hides the target's username. More... | ||||
getPermissionsError (IContextSource $context) | ||||
Get the key and parameters for the corresponding error message. More... | ||||
getReasonComment () | ||||
Get the reason for creating the block. More... | ||||
getTarget () | ||||
Get the target for this particular block. More... | ||||
getTargetAndType () | ||||
Get the target and target type for this particular block. More... | ||||
getTimestamp () | ||||
Get the timestamp indicating when the block was created. More... | ||||
isCreateAccountBlocked ( $x=null) | ||||
Get or set the flag indicating whether this block blocks the target from creating an account. More... | ||||
isEmailBlocked ( $x=null) | ||||
Get or set the flag indicating whether this block blocks the target from sending emails. More... | ||||
isSitewide ( $x=null) | ||||
Indicates that the block is a sitewide block. More... | ||||
isUsertalkEditAllowed ( $x=null) | ||||
Get or set the flag indicating whether this block blocks the target from editing their own user talk page. More... | ||||
setExpiry ( $expiry) | ||||
Set the block expiry time. More... | ||||
setHideName ( $hideName) | ||||
Set whether ths block hides the target's username. More... | ||||
setReason ( $reason) | ||||
Set the reason for creating the block. More... | ||||
setTarget ( $target) | ||||
Set the target for this block, and update $this->type accordingly. More... | ||||
setTimestamp ( $timestamp) | ||||
Set the timestamp indicating when the block was created. More... | ||||
Static Public Member Functions | |
static | chooseBlock (array $blocks, array $ipChain) |
From a list of multiple blocks, find the most exact and strongest block. More... | |
static | getAutoblockExpiry ( $timestamp) |
Get a timestamp of the expiry for autoblocks. More... | |
static | getBlocksForIPList (array $ipChain, $isAnon, $fromMaster=false) |
Get all blocks that match any IP from an array of IP addresses. More... | |
static | getQueryInfo () |
Return the tables, fields, and join conditions to be selected to create a new block object. More... | |
static | getRangeCond ( $start, $end=null) |
Get a set of SQL conditions which will select rangeblocks encompassing a given range. More... | |
static | isWhitelistedFromAutoblocks ( $ip) |
Checks whether a given IP is on the autoblock whitelist. More... | |
static | newFromID ( $id) |
Load a block from the block id. More... | |
static | newFromRow ( $row) |
Create a new DatabaseBlock object from a database row. More... | |
static | newFromTarget ( $specificTarget, $vagueTarget=null, $fromMaster=false) |
Given a target and the target's type, get an existing block object if possible. More... | |
static | newListFromTarget ( $specificTarget, $vagueTarget=null, $fromMaster=false) |
This is similar to DatabaseBlock::newFromTarget, but it returns all the relevant blocks. More... | |
static | purgeExpired () |
Purge expired blocks from the ipblocks table. More... | |
![]() | |
static | parseTarget ( $target) |
From an existing block, get the target and the type of target. More... | |
Public Attributes | |
bool | $mAuto |
int | $mParentBlockId |
![]() | |
string | $mExpiry = '' |
bool | $mHideName = false |
string | $mTimestamp |
const | TYPE_AUTO = 4 |
const | TYPE_ID = 5 |
const | TYPE_IP = 2 |
const | TYPE_RANGE = 3 |
const | TYPE_USER = 1 |
Protected Member Functions | |
initFromRow ( $row) | |
Given a database row from the ipblocks table, initialize member variables. More... | |
Static Protected Member Functions | |
static | chooseMostSpecificBlock (array $blocks) |
Choose the most specific block from some combination of user, IP and IP range blocks. More... | |
static | getIpFragment ( $hex) |
Get the component of an IP address which is certain to be the same between an IP address and a rangeblock containing that IP address. More... | |
static | newLoad ( $specificTarget, $specificType, $fromMaster, $vagueTarget=null) |
Load blocks from the database which target the specific target exactly, or which cover the vague target. More... | |
Private Member Functions | |
findRestriction ( $type, $value) | |
Find Restriction by type and value. More... | |
getBlockRestrictionStore () | |
Get a BlockRestrictionStore instance. More... | |
Private Attributes | |
User | $blocker |
int | $forcedTargetID |
Hack for foreign blocking (CentralAuth) More... | |
bool | $isAutoblocking |
bool | $mFromMaster |
int | $mId |
Restriction[] | $restrictions |
Additional Inherited Members | |
![]() | |
bool | $allowUsertalk = false |
bool | $blockCreateAccount = false |
bool | $isHardblock |
bool | $isSitewide = true |
bool | $mBlockEmail = false |
$mReason | |
CommentStoreComment | $reason |
User string null | $target |
int null | $type |
AbstractBlock::TYPE_ constant. More... | |
A DatabaseBlock (unlike a SystemBlock) is stored in the database, may give rise to autoblocks and may be tracked with cookies.
Such blocks are more customizable than system blocks: they may be hardblocks, and they may be sitewide or partial.
Definition at line 50 of file DatabaseBlock.php.
MediaWiki\Block\DatabaseBlock::__construct | ( | array | $options = [] | ) |
Create a new block with specified option parameters on a user, IP or IP range.
array | $options | Parameters of the block, with options supported by AbstractBlock::__construct , and also:
|
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 101 of file DatabaseBlock.php.
References DB_REPLICA, MediaWiki\Block\DatabaseBlock\isAutoblocking(), MediaWiki\Block\AbstractBlock\isCreateAccountBlocked(), MediaWiki\Block\AbstractBlock\isEmailBlocked(), MediaWiki\Block\AbstractBlock\isSitewide(), MediaWiki\Block\AbstractBlock\isUsertalkEditAllowed(), User\newFromId(), MediaWiki\Block\DatabaseBlock\setBlocker(), MediaWiki\Block\AbstractBlock\setExpiry(), and wfGetDB().
MediaWiki\Block\DatabaseBlock::appliesToNamespace | ( | $ns | ) |
Checks if a block applies to a particular namespace.
int | $ns |
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 1155 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\findRestriction(), MediaWiki\Block\AbstractBlock\isSitewide(), and MediaWiki\Block\Restriction\NamespaceRestriction\TYPE.
MediaWiki\Block\DatabaseBlock::appliesToPage | ( | $pageId | ) |
Checks if a block applies to a particular page.This check does not consider whether $this->isUsertalkEditAllowed
returns false, as the identity of the user making the hypothetical edit isn't known here (particularly in the case of IP hardblocks, range blocks, and auto-blocks).
int | $pageId |
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 1173 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\findRestriction(), MediaWiki\Block\AbstractBlock\isSitewide(), and MediaWiki\Block\Restriction\PageRestriction\TYPE.
MediaWiki\Block\DatabaseBlock::appliesToTitle | ( | Title | $title | ) |
Checks if a block applies to a particular title.This check does not consider whether $this->isUsertalkEditAllowed
returns false, as the identity of the user making the hypothetical edit isn't known here (particularly in the case of IP hardblocks, range blocks, and auto-blocks).
Title | $title |
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 1137 of file DatabaseBlock.php.
References $title, MediaWiki\Block\DatabaseBlock\getRestrictions(), and MediaWiki\Block\AbstractBlock\isSitewide().
|
static |
From a list of multiple blocks, find the most exact and strongest block.
The logic for finding the "best" block is:
array | $blocks | Array of DatabaseBlock objects |
array | $ipChain | List of IPs (strings). This is used to determine how "close" a block is to the server, and if a block matches exactly, or is in a range. The order is furthest from the server to nearest e.g., (Browser, proxy1, proxy2, local-cdn, ...) |
MWException |
Definition at line 979 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\appliesToRight(), MediaWiki\Block\DatabaseBlock\isHardblock(), and wfDeprecated().
|
staticprotected |
Choose the most specific block from some combination of user, IP and IP range blocks.
Decreasing order of specificity: user > IP > narrower IP range > wider IP range. A range that encompasses one IP address is ranked equally to a singe IP.
Note that DatabaseBlock::chooseBlock chooses blocks in a different way.
This is refactored out from DatabaseBlock::newLoad.
DatabaseBlock[] | $blocks | These should not include autoblocks or ID blocks |
Definition at line 343 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\$target.
Referenced by MediaWiki\Block\DatabaseBlock\newFromTarget().
MediaWiki\Block\DatabaseBlock::delete | ( | ) |
Delete the row from the IP blocks table.
MWException |
Definition at line 481 of file DatabaseBlock.php.
References MediaWiki\MediaWikiServices\getInstance().
MediaWiki\Block\DatabaseBlock::doAutoblock | ( | $autoblockIP | ) |
Autoblocks the given IP, referring to this block.
string | $autoblockIP | The IP to autoblock. |
Definition at line 569 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$mId, MediaWiki\Block\DatabaseBlock\getBlocker(), MediaWiki\Block\AbstractBlock\getExpiry(), MediaWiki\Block\AbstractBlock\getHideName(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Block\AbstractBlock\getReasonComment(), MediaWiki\Block\DatabaseBlock\getRestrictions(), MediaWiki\Block\AbstractBlock\getTarget(), MediaWiki\Block\DatabaseBlock\isAutoblocking(), MediaWiki\Block\AbstractBlock\isCreateAccountBlocked(), MediaWiki\Block\AbstractBlock\isSitewide(), MediaWiki\Block\AbstractBlock\isUsertalkEditAllowed(), MediaWiki\Block\DatabaseBlock\newFromTarget(), Hooks\runner(), wfDebug(), wfMessage(), and wfTimestampNow().
Referenced by MediaWiki\Block\DatabaseBlockStore\performRetroactiveAutoblock().
MediaWiki\Block\DatabaseBlock::equals | ( | DatabaseBlock | $block | ) |
Check if two blocks are effectively equal.
Doesn't check irrelevant things like the blocking user or the block timestamp, only things which affect the blocked user
DatabaseBlock | $block |
Definition at line 209 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\getExpiry(), MediaWiki\Block\AbstractBlock\getHideName(), MediaWiki\Block\AbstractBlock\getReasonComment(), MediaWiki\Block\DatabaseBlock\getRestrictions(), MediaWiki\Block\DatabaseBlock\isAutoblocking(), MediaWiki\Block\AbstractBlock\isCreateAccountBlocked(), MediaWiki\Block\AbstractBlock\isEmailBlocked(), MediaWiki\Block\DatabaseBlock\isHardblock(), MediaWiki\Block\AbstractBlock\isSitewide(), and MediaWiki\Block\AbstractBlock\isUsertalkEditAllowed().
|
private |
Find Restriction by type and value.
string | $type | |
int | $value |
Definition at line 1195 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$restrictions, MediaWiki\Block\AbstractBlock\$type, and MediaWiki\Block\DatabaseBlock\getRestrictions().
Referenced by MediaWiki\Block\DatabaseBlock\appliesToNamespace(), and MediaWiki\Block\DatabaseBlock\appliesToPage().
|
static |
Get a timestamp of the expiry for autoblocks.
string | int | $timestamp |
Definition at line 814 of file DatabaseBlock.php.
References $wgAutoblockExpiry, and wfTimestamp().
MediaWiki\Block\DatabaseBlock::getBlocker | ( | ) |
Get the user who implemented this block.
Definition at line 1238 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$blocker.
Referenced by MediaWiki\Block\DatabaseBlock\doAutoblock(), MediaWiki\Block\DatabaseBlockStore\getArrayForAutoblockUpdate(), MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock(), and MediaWiki\Block\DatabaseBlockStore\insertBlock().
|
private |
Get a BlockRestrictionStore instance.
Definition at line 1215 of file DatabaseBlock.php.
References MediaWiki\MediaWikiServices\getInstance().
Referenced by MediaWiki\Block\DatabaseBlock\getRestrictions(), and MediaWiki\Block\DatabaseBlock\setId().
|
static |
Get all blocks that match any IP from an array of IP addresses.
array | $ipChain | List of IPs (strings), usually retrieved from the X-Forwarded-For header of the request |
bool | $isAnon | Exclude anonymous-only blocks if false |
bool | $fromMaster | Whether to query the master or replica DB |
Definition at line 896 of file DatabaseBlock.php.
References DB_MASTER, DB_REPLICA, MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Block\DatabaseBlock\getQueryInfo(), MediaWiki\Block\DatabaseBlock\getRangeCond(), LIST_OR, MediaWiki\Block\DatabaseBlock\newFromRow(), and wfGetDB().
Referenced by MediaWiki\Block\BlockManager\getAdditionalIpBlocks().
MediaWiki\Block\DatabaseBlock::getBy | ( | ) |
Get the user id of the blocking sysop.
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 1222 of file DatabaseBlock.php.
MediaWiki\Block\DatabaseBlock::getByName | ( | ) |
Get the username of the blocking sysop.
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 1229 of file DatabaseBlock.php.
MediaWiki\Block\DatabaseBlock::getForcedTargetID | ( | ) |
Get the forcedTargetID if set.
Definition at line 1248 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$forcedTargetID.
MediaWiki\Block\DatabaseBlock::getId | ( | ) |
Get the block ID.
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 733 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$mId.
Referenced by MediaWiki\Block\DatabaseBlockStore\deleteBlock(), MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock(), MediaWiki\Block\BlockManager\getCookieValue(), MediaWiki\Block\DatabaseBlock\getIdentifier(), MediaWiki\Block\DatabaseBlockStore\insertBlock(), MediaWiki\Block\BlockUser\log(), MediaWiki\Block\DatabaseBlock\setBlocker(), and MediaWiki\Block\DatabaseBlockStore\updateBlock().
MediaWiki\Block\DatabaseBlock::getIdentifier | ( | ) |
Get the information that identifies this block, such that a user could look up everything that can be found about this block.May be an ID, array of IDs, type, etc.
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 1087 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\getId().
|
staticprotected |
Get the component of an IP address which is certain to be the same between an IP address and a rangeblock containing that IP address.
string | $hex | Hexadecimal IP representation |
Definition at line 418 of file DatabaseBlock.php.
References $wgBlockCIDRLimit.
Referenced by MediaWiki\Block\DatabaseBlock\getRangeCond().
MediaWiki\Block\DatabaseBlock::getParentBlockId | ( | ) |
Definition at line 760 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$mParentBlockId.
Referenced by MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock().
|
static |
Return the tables, fields, and join conditions to be selected to create a new block object.
$table
to IDatabase->select()
$vars
to IDatabase->select()
$join_conds
to IDatabase->select()
Definition at line 178 of file DatabaseBlock.php.
References CommentStore\getStore(), and ActorMigration\newMigration().
Referenced by MediaWiki\Block\DatabaseBlock\getBlocksForIPList(), MediaWiki\Block\DatabaseBlock\newFromID(), and MediaWiki\Block\DatabaseBlock\newLoad().
|
static |
Get a set of SQL conditions which will select rangeblocks encompassing a given range.
string | $start | Hexadecimal IP representation |
string | null | $end | Hexadecimal IP representation, or null to use $start = $end |
Definition at line 385 of file DatabaseBlock.php.
References $dbr, DB_REPLICA, MediaWiki\Block\DatabaseBlock\getIpFragment(), LIST_AND, and wfGetDB().
Referenced by MediaWiki\Block\DatabaseBlock\getBlocksForIPList(), and MediaWiki\Block\DatabaseBlock\newLoad().
MediaWiki\Block\DatabaseBlock::getRangeEnd | ( | ) |
Get the IP address at the end of the range in Hex form.
MWException |
Definition at line 705 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\TYPE_IP, MediaWiki\Block\AbstractBlock\TYPE_RANGE, and MediaWiki\Block\AbstractBlock\TYPE_USER.
Referenced by MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock().
MediaWiki\Block\DatabaseBlock::getRangeStart | ( | ) |
Get the IP address at the start of the range in Hex form.
MWException |
Definition at line 686 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\TYPE_IP, MediaWiki\Block\AbstractBlock\TYPE_RANGE, and MediaWiki\Block\AbstractBlock\TYPE_USER.
Referenced by MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock().
MediaWiki\Block\DatabaseBlock::getRawRestrictions | ( | ) |
Get restrictions without loading from database if not yet loaded.
Definition at line 1117 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$restrictions.
Referenced by MediaWiki\Block\DatabaseBlockStore\insertBlock(), and MediaWiki\Block\DatabaseBlockStore\updateBlock().
MediaWiki\Block\DatabaseBlock::getReason | ( | ) |
Get the reason given for creating the block, as a string.Deprecated, since this gives the caller no control over the language or format, and no access to the comment's data.
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 723 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\getType().
MediaWiki\Block\DatabaseBlock::getRedactedName | ( | ) |
Get the block name, but with autoblocked IPs hidden as per standard privacy policy.
Definition at line 796 of file DatabaseBlock.php.
References Html\element(), MediaWiki\Block\AbstractBlock\getTarget(), and wfMessage().
MediaWiki\Block\DatabaseBlock::getRestrictions | ( | ) |
Getting the restrictions will perform a database query if the restrictions are not already loaded.
Definition at line 1098 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$restrictions, and MediaWiki\Block\DatabaseBlock\getBlockRestrictionStore().
Referenced by MediaWiki\Block\DatabaseBlock\appliesToTitle(), MediaWiki\Block\DatabaseBlock\doAutoblock(), MediaWiki\Block\DatabaseBlock\equals(), and MediaWiki\Block\DatabaseBlock\findRestriction().
MediaWiki\Block\DatabaseBlock::getType | ( | ) |
Get the type of target for this particular block.
Autoblocks have whichever type corresponds to their target, so to detect if a block is an autoblock, we have to check the mAuto property instead.
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 1078 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\TYPE_AUTO.
Referenced by MediaWiki\Block\DatabaseBlockStore\doRetroactiveAutoblock(), MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock(), MediaWiki\Block\DatabaseBlock\getReason(), MediaWiki\Block\DatabaseBlock\isAutoblocking(), MediaWiki\Block\DatabaseBlock\isHardblock(), SpecialBlock\maybeAlterFormDefaults(), and MediaWiki\Block\BlockManager\shouldApplyCookieBlock().
|
protected |
Given a database row from the ipblocks table, initialize member variables.
stdClass | $row | A row from the ipblocks table |
Definition at line 432 of file DatabaseBlock.php.
References DB_REPLICA, CommentStore\getStore(), MediaWiki\Block\DatabaseBlock\isAutoblocking(), MediaWiki\Block\AbstractBlock\isCreateAccountBlocked(), MediaWiki\Block\AbstractBlock\isEmailBlocked(), MediaWiki\Block\DatabaseBlock\isHardblock(), MediaWiki\Block\AbstractBlock\isSitewide(), MediaWiki\Block\AbstractBlock\isUsertalkEditAllowed(), User\newFromAnyId(), MediaWiki\Block\DatabaseBlock\setBlocker(), MediaWiki\Block\AbstractBlock\setExpiry(), MediaWiki\Block\AbstractBlock\setReason(), MediaWiki\Block\AbstractBlock\setTarget(), MediaWiki\Block\AbstractBlock\setTimestamp(), wfGetDB(), and wfTimestamp().
Referenced by MediaWiki\Block\DatabaseBlock\newFromRow().
MediaWiki\Block\DatabaseBlock::insert | ( | IDatabase | $dbw = null | ) |
Insert a block into the block table.
Will fail if there is a conflicting block (same name and options) already in the database.
IDatabase | null | $dbw | If you have one available |
Definition at line 496 of file DatabaseBlock.php.
References MediaWiki\MediaWikiServices\getInstance().
MediaWiki\Block\DatabaseBlock::isAutoblocking | ( | $x = null | ) |
null | bool | $x |
Definition at line 782 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\getType(), and wfSetVar().
Referenced by MediaWiki\Block\DatabaseBlock\__construct(), MediaWiki\Block\DatabaseBlock\doAutoblock(), MediaWiki\Block\DatabaseBlockStore\doRetroactiveAutoblock(), MediaWiki\Block\DatabaseBlock\equals(), MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock(), MediaWiki\Block\DatabaseBlock\initFromRow(), MediaWiki\Block\BlockManager\shouldApplyCookieBlock(), and MediaWiki\Block\DatabaseBlockStore\updateBlock().
MediaWiki\Block\DatabaseBlock::isExpired | ( | ) |
Has the block expired?
Definition at line 648 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\getExpiry(), wfDebug(), and wfTimestampNow().
Referenced by MediaWiki\Block\BlockManager\shouldApplyCookieBlock().
MediaWiki\Block\DatabaseBlock::isHardblock | ( | $x = null | ) |
Get/set whether the block is a hardblock (affects logged-in users on a given IP/range)
bool | null | $x |
Reimplemented from MediaWiki\Block\AbstractBlock.
Definition at line 769 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\$isHardblock, MediaWiki\Block\DatabaseBlock\getType(), true, and wfSetVar().
Referenced by MediaWiki\Block\DatabaseBlock\chooseBlock(), MediaWiki\Block\DatabaseBlock\equals(), MediaWiki\Block\DatabaseBlockStore\getArrayForDatabaseBlock(), and MediaWiki\Block\DatabaseBlock\initFromRow().
|
static |
Checks whether a given IP is on the autoblock whitelist.
TODO: this probably belongs somewhere else, but not sure where...
string | $ip | The IP to check |
Definition at line 523 of file DatabaseBlock.php.
References $cache, $line, $lines, DB_REPLICA, Wikimedia\Rdbms\Database\getCacheSetOptions(), MediaWiki\MediaWikiServices\getInstance(), wfDebug(), wfGetDB(), and wfMessage().
|
static |
Load a block from the block id.
int | $id | id to search for |
Definition at line 151 of file DatabaseBlock.php.
References $dbr, $res, DB_REPLICA, MediaWiki\Block\DatabaseBlock\getQueryInfo(), MediaWiki\Block\DatabaseBlock\newFromRow(), and wfGetDB().
Referenced by MediaWiki\Block\BlockManager\getBlockFromCookieValue(), and MediaWiki\Block\DatabaseBlock\newListFromTarget().
|
static |
Create a new DatabaseBlock object from a database row.
stdClass | $row | Row from the ipblocks table |
Definition at line 468 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\initFromRow().
Referenced by MediaWiki\Block\DatabaseBlock\getBlocksForIPList(), MediaWiki\Block\DatabaseBlock\newFromID(), and MediaWiki\Block\DatabaseBlock\newLoad().
|
static |
Given a target and the target's type, get an existing block object if possible.
string | User | int | null | $specificTarget | A block target, which may be one of several types:
|
string | User | 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 | $fromMaster | Whether to use the DB_MASTER database |
Definition at line 849 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\chooseMostSpecificBlock(), and MediaWiki\Block\DatabaseBlock\newListFromTarget().
Referenced by MediaWiki\Block\UnblockUser\__construct(), MediaWiki\Block\DatabaseBlock\doAutoblock(), MediaWiki\Block\BlockUser\placeBlock(), and MediaWiki\Block\BlockUser\placeBlockInternal().
|
static |
This is similar to DatabaseBlock::newFromTarget, but it returns all the relevant blocks.
string | User | int | null | $specificTarget | |
string | User | int | null | $vagueTarget | |
bool | $fromMaster |
Definition at line 863 of file DatabaseBlock.php.
References MediaWiki\Block\AbstractBlock\$target, MediaWiki\Block\AbstractBlock\$type, MediaWiki\Block\DatabaseBlock\newFromID(), MediaWiki\Block\DatabaseBlock\newLoad(), and MediaWiki\Block\AbstractBlock\parseTarget().
Referenced by MediaWiki\Block\BlockManager\getUserBlock(), and MediaWiki\Block\DatabaseBlock\newFromTarget().
|
staticprotected |
Load blocks from the database which target the specific target exactly, or which cover the vague target.
User | string | null | $specificTarget | |
int | null | $specificType | |
bool | $fromMaster | |
User | string | null | $vagueTarget | Also search for blocks affecting this target. Doesn't make any sense to use TYPE_AUTO / TYPE_ID here. Leave blank to skip IP lookups. |
MWException |
Definition at line 243 of file DatabaseBlock.php.
References $res, MediaWiki\Block\AbstractBlock\$target, MediaWiki\Block\AbstractBlock\$type, DB_MASTER, DB_REPLICA, MediaWiki\Block\DatabaseBlock\getQueryInfo(), MediaWiki\Block\DatabaseBlock\getRangeCond(), LIST_OR, MediaWiki\Block\DatabaseBlock\newFromRow(), MediaWiki\Block\AbstractBlock\parseTarget(), MediaWiki\Block\AbstractBlock\TYPE_IP, MediaWiki\Block\AbstractBlock\TYPE_RANGE, MediaWiki\Block\AbstractBlock\TYPE_USER, and wfGetDB().
Referenced by MediaWiki\Block\DatabaseBlock\newListFromTarget().
|
static |
Purge expired blocks from the ipblocks table.
Definition at line 825 of file DatabaseBlock.php.
References MediaWiki\MediaWikiServices\getInstance().
MediaWiki\Block\DatabaseBlock::setBlocker | ( | $user | ) |
Set the user who implemented (or will implement) this block.
Definition at line 1257 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\getId(), MediaWiki\Logger\LoggerFactory\getInstance(), MediaWiki\MediaWikiServices\getInstance(), and User\newFromName().
Referenced by MediaWiki\Block\DatabaseBlock\__construct(), and MediaWiki\Block\DatabaseBlock\initFromRow().
MediaWiki\Block\DatabaseBlock::setId | ( | $blockId | ) |
Set the block ID.
Definition at line 744 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\getBlockRestrictionStore().
Referenced by MediaWiki\Block\DatabaseBlockStore\insertBlock().
MediaWiki\Block\DatabaseBlock::setRestrictions | ( | array | $restrictions | ) |
Restriction[] | $restrictions |
Definition at line 1126 of file DatabaseBlock.php.
References MediaWiki\Block\DatabaseBlock\$restrictions.
MediaWiki\Block\DatabaseBlock::update | ( | ) |
Update a block in the DB with new parameters.
The ID field needs to be loaded first.
Definition at line 510 of file DatabaseBlock.php.
References MediaWiki\MediaWikiServices\getInstance().
MediaWiki\Block\DatabaseBlock::updateTimestamp | ( | ) |
Update the timestamp on autoblocks.
Definition at line 662 of file DatabaseBlock.php.
References DB_MASTER, MediaWiki\Block\AbstractBlock\getTimestamp(), MediaWiki\Block\AbstractBlock\setExpiry(), MediaWiki\Block\AbstractBlock\setTimestamp(), wfGetDB(), and wfTimestamp().
|
private |
Definition at line 79 of file DatabaseBlock.php.
Referenced by MediaWiki\Block\DatabaseBlock\getBlocker().
|
private |
Hack for foreign blocking (CentralAuth)
Definition at line 70 of file DatabaseBlock.php.
Referenced by MediaWiki\Block\DatabaseBlock\getForcedTargetID().
|
private |
Definition at line 73 of file DatabaseBlock.php.
bool MediaWiki\Block\DatabaseBlock::$mAuto |
Definition at line 55 of file DatabaseBlock.php.
|
private |
Definition at line 67 of file DatabaseBlock.php.
|
private |
Definition at line 64 of file DatabaseBlock.php.
Referenced by MediaWiki\Block\DatabaseBlock\doAutoblock(), and MediaWiki\Block\DatabaseBlock\getId().
int MediaWiki\Block\DatabaseBlock::$mParentBlockId |
Definition at line 61 of file DatabaseBlock.php.
Referenced by MediaWiki\Block\DatabaseBlock\getParentBlockId().
|
private |
Definition at line 76 of file DatabaseBlock.php.
Referenced by MediaWiki\Block\DatabaseBlock\findRestriction(), MediaWiki\Block\DatabaseBlock\getRawRestrictions(), MediaWiki\Block\DatabaseBlock\getRestrictions(), and MediaWiki\Block\DatabaseBlock\setRestrictions().