Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4073632
PageRestriction.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
PageRestriction.php
View Options
<?php
/**
* A block restriction object of type 'Page'.
*
* @license GPL-2.0-or-later
* @file
*/
namespace
MediaWiki\Block\Restriction
;
use
MediaWiki\Title\Title
;
class
PageRestriction
extends
AbstractRestriction
{
/**
* @inheritDoc
*/
public
const
TYPE
=
'page'
;
/**
* @inheritDoc
*/
public
const
TYPE_ID
=
1
;
/**
* @var Title|false|null
*/
protected
$title
;
/**
* @inheritDoc
*/
public
function
matches
(
Title
$title
)
{
if
(
!
$this
->
getTitle
()
)
{
return
false
;
}
return
$title
->
equals
(
$this
->
getTitle
()
);
}
/**
* @since 1.33
* @param Title $title
* @return self
*/
public
function
setTitle
(
Title
$title
)
{
$this
->
title
=
$title
;
return
$this
;
}
/**
* @since 1.33
* @return Title|false
*/
public
function
getTitle
()
{
// If the title does not exist, set to false to prevent multiple database
// queries.
$this
->
title
??=
Title
::
newFromID
(
$this
->
value
)
??
false
;
return
$this
->
title
;
}
/**
* @inheritDoc
*/
public
static
function
newFromRow
(
\stdClass
$row
)
{
/** @var self $restriction */
$restriction
=
parent
::
newFromRow
(
$row
);
'@phan-var self $restriction'
;
// If the page_namespace and the page_title were provided, add the title to
// the restriction.
if
(
isset
(
$row
->
page_namespace
)
&&
isset
(
$row
->
page_title
)
)
{
// Clone the row so it is not mutated.
$row
=
clone
$row
;
$row
->
page_id
=
$row
->
ir_value
;
$title
=
Title
::
newFromRow
(
$row
);
$restriction
->
setTitle
(
$title
);
}
return
$restriction
;
}
/**
* @internal
* @since 1.36
* @param string|Title $title
* @return self
*/
public
static
function
newFromTitle
(
$title
)
{
if
(
is_string
(
$title
)
)
{
$title
=
Title
::
newFromText
(
$title
);
}
$restriction
=
new
self
(
0
,
$title
->
getArticleID
()
);
// @phan-suppress-next-line PhanTypeMismatchArgumentNullable Title is always valid
$restriction
->
setTitle
(
$title
);
return
$restriction
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Aug 17 2026, 11:53 (11 w, 14 h ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
00/29/582ceb9954eab81ca757342af60e
Default Alt Text
PageRestriction.php (1 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment