MediaWiki master
MediaWiki\Permissions\PermissionStatus Class Reference

A StatusValue for permission errors. More...

Inherits StatusValue, and StatusValue.

Collaboration diagram for MediaWiki\Permissions\PermissionStatus:

Public Member Functions

 getBlock ()
 Returns the user block that contributed to permissions being denied, if such a block was provided via setBlock().
 
 getPermission ()
 Returns the name of the permission that was being checked.
 
 getReauthOperation ()
 Get the name of the operation the user needs to reauthenticate for, if any.
 
 isBlocked ()
 Returns true when permissions were denied because the user is blocked.
 
 isRateLimitExceeded ()
 Whether the user is over the rate limit for some action.
 
 merge ( $other, $overwriteValue=false)
 
 setBlock (Block $block)
 
 setPermission (string $permission)
 Sets the name of the permission that is being checked.
 
 setRateLimitExceeded ()
 Call this to indicate that the user is over the rate limit for some action.
 
 setReauthOperation (string $operation)
 Call this to indicate the user needs to reauthenticate in order to perform the requested action.
 
 throwErrorPageError ()
 Will throw an appropriate ErrorPageError if isOK() returns false.
 
- Public Member Functions inherited from StatusValue
 __construct ()
 
 __toString ()
 Returns a string representation of the status for debugging.
 
 error ( $message,... $parameters)
 Add an error, do not set fatal flag This can be used for non-fatal errors.
 
 fatal ( $message,... $parameters)
 Add an error and set OK to false, indicating that the operation as a whole was fatal.
 
 getErrors ()
 Get the list of errors.
 
 getErrorsByType ( $type)
 Returns a list of status messages of the given type.
 
 getMessages (?string $type=null)
 Returns a list of error messages, optionally only those of the given type.
 
 getValue ()
 
 hasMessage (string $message)
 Returns true if the specified message is present as a warning or error.
 
 hasMessagesExcept (string ... $messages)
 Returns true if any other message than the specified ones is present as a warning or error.
 
 isGood ()
 Returns whether the operation completed and didn't have any error or warnings.
 
 isOK ()
 Returns whether the operation completed.
 
 replaceMessage (string $source, $dest)
 If the specified source message exists, replace it with the specified destination message, but keep the same parameters as in the original error.
 
 setOK ( $ok)
 Change operation status.
 
 setResult ( $ok, $value=null)
 Change operation result.
 
 splitByErrorType ()
 Splits this StatusValue object into two new StatusValue objects, one which contains only the error messages, and one that contains the warnings, only.
 
 toJsonArray ()
 JSON serializing a StatusValue is possible only if the value and statusData are JSON-serializable, otherwise an InvalidArgumentException will be thrown.
 
 warning ( $message,... $parameters)
 Add a new warning.
 

Static Public Member Functions

static newEmpty ()
 
- Static Public Member Functions inherited from StatusValue
static cast (StatusValue $sv)
 Succinct helper method to wrap a StatusValue in some other specific subclass.
 
static jsonClassHintFor (string $keyName)
 
static newFatal ( $message,... $parameters)
 Factory function for fatal errors.
 
static newFromJsonArray (array $json)
 
static newGood ( $value=null)
 Factory function for good results.
 

Additional Inherited Members

- Public Attributes inherited from StatusValue
int $failCount = 0
 Counter for batch operations.
 
mixed $statusData
 arbitrary extra data about the operation
 
bool[] $success = []
 Map of (key => bool) to indicate success of each part of batch operations.
 
int $successCount = 0
 Counter for batch operations.
 
$value
 
- Protected Member Functions inherited from StatusValue
 getStatusArray ( $type=false)
 Returns a list of status messages of the given type (or all if false)
 
- Protected Attributes inherited from StatusValue
array[] $errors = []
 
bool $ok = true
 

Detailed Description

A StatusValue for permission errors.

This status will never have a value. It's only used to keep track of errors.

Todo
Add compat code for PermissionManager::getPermissionErrors and additional info about user blocks.
Stability: unstable
Since
1.36 <never>

Definition at line 30 of file PermissionStatus.php.

Member Function Documentation

◆ getBlock()

MediaWiki\Permissions\PermissionStatus::getBlock ( )

Returns the user block that contributed to permissions being denied, if such a block was provided via setBlock().

This is intended to be used to provide additional information to the user that allows them to determine the reason for them being denied an action.

Since
1.37
Returns
?Block

Definition at line 88 of file PermissionStatus.php.

◆ getPermission()

MediaWiki\Permissions\PermissionStatus::getPermission ( )

Returns the name of the permission that was being checked.

Returns
string|null The permission, if known
Since
1.41

Definition at line 153 of file PermissionStatus.php.

◆ getReauthOperation()

MediaWiki\Permissions\PermissionStatus::getReauthOperation ( )

Get the name of the operation the user needs to reauthenticate for, if any.

Returns
string|null The name of the operation if reauthentication is required, or null otherwise.

Definition at line 169 of file PermissionStatus.php.

◆ isBlocked()

MediaWiki\Permissions\PermissionStatus::isBlocked ( )

Returns true when permissions were denied because the user is blocked.

Since
1.41
Returns
bool

Definition at line 99 of file PermissionStatus.php.

◆ isRateLimitExceeded()

MediaWiki\Permissions\PermissionStatus::isRateLimitExceeded ( )

Whether the user is over the rate limit for some action.

Since
1.41
Returns
bool True if setRateLimitExceeded() was called.

Definition at line 133 of file PermissionStatus.php.

◆ merge()

MediaWiki\Permissions\PermissionStatus::merge ( $other,
$overwriteValue = false )
Note
Merging two PermissionStatus objects with different permission fields is not advised. If both $this and $other have permission set, the one from $this will be kept and the one from $other will be lost. Merge another status object into this one.

Reimplemented from StatusValue.

Definition at line 49 of file PermissionStatus.php.

Referenced by MediaWiki\Auth\AuthManager\beginAccountLink(), and MediaWiki\Auth\AuthManager\continueAccountLink().

◆ newEmpty()

static MediaWiki\Permissions\PermissionStatus::newEmpty ( )
static

Definition at line 113 of file PermissionStatus.php.

◆ setBlock()

MediaWiki\Permissions\PermissionStatus::setBlock ( Block $block)
Since
1.37
Access: internal
Parameters
Block$block

Definition at line 108 of file PermissionStatus.php.

◆ setPermission()

MediaWiki\Permissions\PermissionStatus::setPermission ( string $permission)

Sets the name of the permission that is being checked.

Since
1.41
Access: internal

Definition at line 143 of file PermissionStatus.php.

◆ setRateLimitExceeded()

MediaWiki\Permissions\PermissionStatus::setRateLimitExceeded ( )

Call this to indicate that the user is over the rate limit for some action.

Since
1.41
Access: internal
Will cause isRateLimitExceeded() to return true.

Definition at line 123 of file PermissionStatus.php.

◆ setReauthOperation()

MediaWiki\Permissions\PermissionStatus::setReauthOperation ( string $operation)

Call this to indicate the user needs to reauthenticate in order to perform the requested action.

Parameters
string$operationThe name of the operation the user needs to reauthenticate for

Definition at line 161 of file PermissionStatus.php.

◆ throwErrorPageError()

MediaWiki\Permissions\PermissionStatus::throwErrorPageError ( )

Will throw an appropriate ErrorPageError if isOK() returns false.

If isOK() returns true, this method does nothing.

This is a convenience method for use in user interaction code, such as subclasses of SpecialPage.

Stability: unstable
Introduced in 1.41, but unstable since the future of ErrorPageError is unclear (T281935).
Exceptions
ErrorPageError
Returns
void

Definition at line 185 of file PermissionStatus.php.


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