Page MenuHomeWickedGov Phorge

UltimateAuthority.php
No OneTemporary

Size
2 KB
Referenced Files
None
Subscribers
None

UltimateAuthority.php

<?php
/**
* @license GPL-2.0-or-later
* @file
*/
namespace MediaWiki\Permissions;
use InvalidArgumentException;
use MediaWiki\Block\Block;
use MediaWiki\Page\PageIdentity;
use MediaWiki\User\UserIdentity;
use Wikimedia\Rdbms\IDBAccessObject;
/**
* Represents an authority that has all permissions.
* This is intended for use in maintenance scripts and tests.
*
* @newable
* @since 1.36
*/
class UltimateAuthority implements Authority {
/** @var UserIdentity */
private $actor;
/** @var bool */
private $isTemp;
/**
* @stable to call
* @param UserIdentity $actor
* @param bool $isTemp
*/
public function __construct( UserIdentity $actor, $isTemp = false ) {
$this->actor = $actor;
$this->isTemp = $isTemp;
}
/** @inheritDoc */
public function getUser(): UserIdentity {
return $this->actor;
}
/** @inheritDoc */
public function getBlock( int $freshness = IDBAccessObject::READ_NORMAL ): ?Block {
return null;
}
/** @inheritDoc */
public function isAllowed( string $permission, ?PermissionStatus $status = null ): bool {
return true;
}
/** @inheritDoc */
public function isAllowedAny( ...$permissions ): bool {
if ( !$permissions ) {
throw new InvalidArgumentException( 'At least one permission must be specified' );
}
return true;
}
/** @inheritDoc */
public function isAllowedAll( ...$permissions ): bool {
if ( !$permissions ) {
throw new InvalidArgumentException( 'At least one permission must be specified' );
}
return true;
}
/** @inheritDoc */
public function probablyCan(
string $action,
PageIdentity $target,
?PermissionStatus $status = null
): bool {
return true;
}
/** @inheritDoc */
public function definitelyCan(
string $action,
PageIdentity $target,
?PermissionStatus $status = null
): bool {
return true;
}
/** @inheritDoc */
public function isDefinitelyAllowed( string $action, ?PermissionStatus $status = null ): bool {
return true;
}
/** @inheritDoc */
public function authorizeAction( string $action, ?PermissionStatus $status = null ): bool {
return true;
}
/** @inheritDoc */
public function authorizeRead(
string $action,
PageIdentity $target,
?PermissionStatus $status = null
): bool {
return true;
}
/** @inheritDoc */
public function authorizeWrite(
string $action,
PageIdentity $target,
?PermissionStatus $status = null
): bool {
return true;
}
public function isRegistered(): bool {
return $this->actor->isRegistered();
}
public function isTemp(): bool {
return $this->isTemp;
}
public function isNamed(): bool {
return $this->isRegistered() && !$this->isTemp();
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, Oct 3, 20:47 (4 d, 7 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
93/6a/99615f06a4ad44c8695ff3f72ebc
Default Alt Text
UltimateAuthority.php (2 KB)

Event Timeline