Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F2752434
PageUpdateStatus.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
PageUpdateStatus.php
View Options
<?php
/**
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
* @file
*/
namespace
MediaWiki\Storage
;
use
MediaWiki\Revision\RevisionRecord
;
use
MediaWiki\Status\Status
;
/**
* Status object representing the outcome of a page update.
*
* @see PageUpdater
*
* @since 1.40
* @ingroup Page
* @author Daniel Kinzler
*/
class
PageUpdateStatus
extends
Status
{
/**
* @internal for use by PageUpdater only
* @param bool $newPage
*
* @return PageUpdateStatus
*/
public
static
function
newEmpty
(
bool
$newPage
):
PageUpdateStatus
{
return
static
::
newGood
(
[
'new'
=>
$newPage
,
'revision-record'
=>
null
]
);
}
/**
* @internal for use by PageUpdater only
* @param RevisionRecord $rev
*/
public
function
setNewRevision
(
RevisionRecord
$rev
)
{
$this
->
value
[
'revision-record'
]
=
$rev
;
}
/**
* The revision created by PageUpdater::saveRevision().
*
* Will return null if no revision was created because there was an error,
* or because the content didn't change (null edit or derived slot update).
*
* Call isOK() to distinguish these cases.
*
* @return ?RevisionRecord
*/
public
function
getNewRevision
():
?
RevisionRecord
{
if
(
!
$this
->
isOK
()
)
{
return
null
;
}
return
$this
->
value
[
'revision-record'
]
??
null
;
}
/**
* Whether the update created a revision.
* If this returns false even though isOK() returns true, this means that
* no new revision was created because the content didn't change,
* including updates to derived slots.
*
* @return bool
*/
public
function
wasRevisionCreated
():
bool
{
return
$this
->
getNewRevision
()
!==
null
;
}
/**
* Whether the update created the page.
* @return bool
*/
public
function
wasPageCreated
():
bool
{
return
$this
->
wasRevisionCreated
()
&&
(
$this
->
value
[
'new'
]
??
false
);
}
/**
* Whether the update failed because page creation was required, but the page already exists.
* @return bool
*/
public
function
failedBecausePageExists
():
bool
{
return
!
$this
->
isOK
()
&&
$this
->
hasMessage
(
'edit-already-exists'
);
}
/**
* Whether the update failed because page modification was required, but the page does not exist.
* @return bool
*/
public
function
failedBecausePageMissing
():
bool
{
return
!
$this
->
isOK
()
&&
$this
->
hasMessage
(
'edit-gone-missing'
);
}
/**
* Whether the update failed because a conflicting update happened concurrently.
* @return bool
*/
public
function
failedBecauseOfConflict
():
bool
{
return
!
$this
->
isOK
()
&&
$this
->
hasMessage
(
'edit-conflict'
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Fri, Jul 3, 19:59 (1 d, 13 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
d0/37/33b0d614cfbbed2aefd41c9ef2bf
Default Alt Text
PageUpdateStatus.php (3 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment