MediaWiki
master
ImageRedirectConstraint.php
Go to the documentation of this file.
1
<?php
21
namespace
MediaWiki\EditPage\Constraint
;
22
23
use
Content
;
24
use
MediaWiki\Linker\LinkTarget
;
25
use
MediaWiki\Permissions\Authority
;
26
use
StatusValue
;
27
36
class
ImageRedirectConstraint
implements
IEditConstraint
{
37
38
private
Content
$newContent;
39
private
LinkTarget
$title;
40
private
Authority
$performer;
41
private
string
$result;
42
48
public
function
__construct
(
49
Content
$newContent,
50
LinkTarget
$title,
51
Authority
$performer
52
) {
53
$this->newContent = $newContent;
54
$this->title = $title;
55
$this->performer = $performer;
56
}
57
58
public
function
checkConstraint
(): string {
59
// Check isn't simple enough to just repeat when getting the status
60
if
( $this->title->getNamespace() ===
NS_FILE
&&
61
$this->newContent->isRedirect() &&
62
!$this->performer->isAllowed(
'upload'
)
63
) {
64
$this->result = self::CONSTRAINT_FAILED;
65
return
self::CONSTRAINT_FAILED;
66
}
67
68
$this->result = self::CONSTRAINT_PASSED;
69
return
self::CONSTRAINT_PASSED;
70
}
71
72
public
function
getLegacyStatus
():
StatusValue
{
73
$statusValue =
StatusValue
::newGood();
74
75
if
( $this->result === self::CONSTRAINT_FAILED ) {
76
$errorCode = $this->performer->getUser()->isRegistered() ?
77
self::AS_IMAGE_REDIRECT_LOGGED :
78
self::AS_IMAGE_REDIRECT_ANON;
79
$statusValue->
setResult
(
false
, $errorCode );
80
}
81
82
return
$statusValue;
83
}
84
85
}
NS_FILE
const NS_FILE
Definition
Defines.php:71
if
if(!defined('MW_SETUP_CALLBACK'))
Definition
WebStart.php:81
MediaWiki\EditPage\Constraint\ImageRedirectConstraint
Verify user permissions: If creating a redirect in the file namespace, must have upload rights.
Definition
ImageRedirectConstraint.php:36
MediaWiki\EditPage\Constraint\ImageRedirectConstraint\checkConstraint
checkConstraint()
Definition
ImageRedirectConstraint.php:58
MediaWiki\EditPage\Constraint\ImageRedirectConstraint\__construct
__construct(Content $newContent, LinkTarget $title, Authority $performer)
Definition
ImageRedirectConstraint.php:48
MediaWiki\EditPage\Constraint\ImageRedirectConstraint\getLegacyStatus
getLegacyStatus()
Get the legacy status for failure (or success)
Definition
ImageRedirectConstraint.php:72
StatusValue
Generic operation result class Has warning/error list, boolean status and arbitrary value.
Definition
StatusValue.php:49
StatusValue\setResult
setResult( $ok, $value=null)
Change operation result.
Definition
StatusValue.php:190
Content
Base interface for representing page content.
Definition
Content.php:37
MediaWiki\EditPage\Constraint\IEditConstraint
Interface for all constraints that can prevent edits.
Definition
IEditConstraint.php:33
MediaWiki\Linker\LinkTarget
Represents the target of a wiki link.
Definition
LinkTarget.php:33
MediaWiki\Permissions\Authority
This interface represents the authority associated with the current execution context,...
Definition
Authority.php:37
MediaWiki\EditPage\Constraint
Definition
AccidentalRecreationConstraint.php:21
includes
editpage
Constraint
ImageRedirectConstraint.php
Generated on Fri Jul 26 2024 22:23:06 for MediaWiki by
1.10.0