MediaWiki  master
MediaWiki\Storage\EditResultBuilder Class Reference

Builder class for the EditResult object. More...

Collaboration diagram for MediaWiki\Storage\EditResultBuilder:

Public Member Functions

 __construct (RevisionStore $revisionStore, array $softwareTags, ServiceOptions $options)
 
 buildEditResult ()
 
 markAsRevert (int $revertMethod, int $newestRevertedRevId, int $revertAfterRevId=null)
 Marks this edit as a revert and applies relevant information. More...
 
 setIsNew (bool $isNew)
 Set whether the edit created a new page. More...
 
 setOriginalRevision ( $originalRevision)
 
 setRevisionRecord (RevisionRecord $revisionRecord)
 Set the revision associated with this edit. More...
 

Public Attributes

const CONSTRUCTOR_OPTIONS
 

Private Member Functions

 detectManualRevert ()
 If this edit was not already marked as a revert using EditResultBuilder::markAsRevert(), tries to establish whether this was a manual revert, i.e. More...
 
 getOriginalRevision ()
 Returns the revision that is being repeated or restored. More...
 
 getRevertTags ()
 Returns an array of revert-related tags that will be applied automatically to this edit. More...
 
 guessOriginalRevisionId ()
 In case we have not got the original revision ID, try to guess. More...
 
 isExactRevert ()
 Whether the edit was an exact revert, i.e. More...
 
 isNullEdit ()
 An edit is a null edit if the original revision is equal to the parent revision. More...
 

Private Attributes

bool $isNew = false
 
int null $newestRevertedRevId = null
 
int null $oldestRevertedRevId = null
 
ServiceOptions $options
 
RevisionRecord null $originalRevision = null
 
int bool $originalRevisionId = false
 
int null $revertAfterRevId = null
 
int null $revertMethod = null
 
RevisionRecord null $revisionRecord = null
 
RevisionStore $revisionStore
 
string[] $softwareTags
 
const REVERT_METHOD_TO_CHANGE_TAG
 A mapping from EditResult's revert methods to relevant change tags. More...
 

Detailed Description

Builder class for the EditResult object.

Access: internal
Only for use by PageUpdater
Since
1.35

Definition at line 38 of file EditResultBuilder.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Storage\EditResultBuilder::__construct ( RevisionStore  $revisionStore,
array  $softwareTags,
ServiceOptions  $options 
)
Parameters
RevisionStore$revisionStore
string[]$softwareTagsArray of currently enabled software change tags. Can be obtained from ChangeTags::getSoftwareTags()
ServiceOptions$optionsOptions for this instance.

Definition at line 93 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\$options, MediaWiki\Storage\EditResultBuilder\$revisionStore, MediaWiki\Storage\EditResultBuilder\$softwareTags, and MediaWiki\Config\ServiceOptions\assertRequiredOptions().

Member Function Documentation

◆ buildEditResult()

◆ detectManualRevert()

MediaWiki\Storage\EditResultBuilder::detectManualRevert ( )
private

If this edit was not already marked as a revert using EditResultBuilder::markAsRevert(), tries to establish whether this was a manual revert, i.e.

someone restored the page to an exact previous state manually.

If successful, mutates the builder accordingly.

Definition at line 217 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\isNullEdit(), MediaWiki\Storage\EditResult\REVERT_MANUAL, and MediaWiki\Storage\EditResultBuilder\setOriginalRevision().

Referenced by MediaWiki\Storage\EditResultBuilder\buildEditResult().

◆ getOriginalRevision()

MediaWiki\Storage\EditResultBuilder::getOriginalRevision ( )
private

Returns the revision that is being repeated or restored.

Returns null if not set for this edit.

Returns
RevisionRecord|null

Definition at line 282 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\$originalRevision.

Referenced by MediaWiki\Storage\EditResultBuilder\guessOriginalRevisionId(), MediaWiki\Storage\EditResultBuilder\isExactRevert(), and MediaWiki\Storage\EditResultBuilder\isNullEdit().

◆ getRevertTags()

MediaWiki\Storage\EditResultBuilder::getRevertTags ( )
private

Returns an array of revert-related tags that will be applied automatically to this edit.

Returns
string[]

Definition at line 332 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\$revertMethod.

Referenced by MediaWiki\Storage\EditResultBuilder\buildEditResult().

◆ guessOriginalRevisionId()

MediaWiki\Storage\EditResultBuilder::guessOriginalRevisionId ( )
private

◆ isExactRevert()

MediaWiki\Storage\EditResultBuilder::isExactRevert ( )
private

Whether the edit was an exact revert, i.e.

the contents of the revert revision and restored revision match

Returns
bool

Definition at line 300 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\getOriginalRevision().

Referenced by MediaWiki\Storage\EditResultBuilder\buildEditResult().

◆ isNullEdit()

MediaWiki\Storage\EditResultBuilder::isNullEdit ( )
private

An edit is a null edit if the original revision is equal to the parent revision.

Returns
bool

Definition at line 318 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\getOriginalRevision().

Referenced by MediaWiki\Storage\EditResultBuilder\buildEditResult(), and MediaWiki\Storage\EditResultBuilder\detectManualRevert().

◆ markAsRevert()

MediaWiki\Storage\EditResultBuilder::markAsRevert ( int  $revertMethod,
int  $newestRevertedRevId,
int  $revertAfterRevId = null 
)

Marks this edit as a revert and applies relevant information.

Parameters
int$revertMethodThe method used to make the revert: REVERT_UNDO, REVERT_ROLLBACK or REVERT_MANUAL
int$newestRevertedRevIdthe revision ID of the latest reverted revision.
int | null$revertAfterRevIdthe revision ID after which revisions are being reverted. Defaults to the revision before the $newestRevertedRevId.

Definition at line 162 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\$newestRevertedRevId, MediaWiki\Storage\EditResultBuilder\$revertAfterRevId, MediaWiki\Storage\EditResultBuilder\$revertMethod, MediaWiki\Storage\EditResult\REVERT_MANUAL, MediaWiki\Storage\EditResult\REVERT_ROLLBACK, and MediaWiki\Storage\EditResult\REVERT_UNDO.

◆ setIsNew()

MediaWiki\Storage\EditResultBuilder::setIsNew ( bool  $isNew)

Set whether the edit created a new page.

Should only be called by PageUpdater when saving an edit.

Parameters
bool$isNew

Definition at line 149 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\$isNew.

◆ setOriginalRevision()

MediaWiki\Storage\EditResultBuilder::setOriginalRevision (   $originalRevision)
Parameters
RevisionRecord | int | bool | null$originalRevisionRevisionRecord or revision ID for the original revision. False or null to unset.

Definition at line 200 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\$originalRevision, and MediaWiki\Revision\RevisionRecord\getId().

Referenced by MediaWiki\Storage\EditResultBuilder\detectManualRevert(), and MediaWiki\Storage\EditResultBuilder\guessOriginalRevisionId().

◆ setRevisionRecord()

MediaWiki\Storage\EditResultBuilder::setRevisionRecord ( RevisionRecord  $revisionRecord)

Set the revision associated with this edit.

Should only be called by PageUpdater when saving an edit.

Parameters
RevisionRecord$revisionRecord

Definition at line 139 of file EditResultBuilder.php.

References MediaWiki\Storage\EditResultBuilder\$revisionRecord.

Member Data Documentation

◆ $isNew

bool MediaWiki\Storage\EditResultBuilder::$isNew = false
private

Definition at line 58 of file EditResultBuilder.php.

Referenced by MediaWiki\Storage\EditResultBuilder\setIsNew().

◆ $newestRevertedRevId

int null MediaWiki\Storage\EditResultBuilder::$newestRevertedRevId = null
private

◆ $oldestRevertedRevId

int null MediaWiki\Storage\EditResultBuilder::$oldestRevertedRevId = null
private

Definition at line 73 of file EditResultBuilder.php.

◆ $options

ServiceOptions MediaWiki\Storage\EditResultBuilder::$options
private

◆ $originalRevision

◆ $originalRevisionId

int bool MediaWiki\Storage\EditResultBuilder::$originalRevisionId = false
private

Definition at line 61 of file EditResultBuilder.php.

◆ $revertAfterRevId

int null MediaWiki\Storage\EditResultBuilder::$revertAfterRevId = null
private

◆ $revertMethod

int null MediaWiki\Storage\EditResultBuilder::$revertMethod = null
private

◆ $revisionRecord

RevisionRecord null MediaWiki\Storage\EditResultBuilder::$revisionRecord = null
private

◆ $revisionStore

RevisionStore MediaWiki\Storage\EditResultBuilder::$revisionStore
private

◆ $softwareTags

string [] MediaWiki\Storage\EditResultBuilder::$softwareTags
private

◆ CONSTRUCTOR_OPTIONS

const MediaWiki\Storage\EditResultBuilder::CONSTRUCTOR_OPTIONS
Initial value:
= [
'ManualRevertSearchRadius',
]

Definition at line 40 of file EditResultBuilder.php.

Referenced by MediaWiki\Storage\PageUpdater\__construct().

◆ REVERT_METHOD_TO_CHANGE_TAG

const MediaWiki\Storage\EditResultBuilder::REVERT_METHOD_TO_CHANGE_TAG
private
Initial value:
= [
EditResult::REVERT_ROLLBACK => 'mw-rollback',
EditResult::REVERT_MANUAL => 'mw-manual-revert'
]

A mapping from EditResult's revert methods to relevant change tags.

For use by getRevertTags()

Definition at line 48 of file EditResultBuilder.php.


The documentation for this class was generated from the following file:
MediaWiki\Storage\EditResult\REVERT_ROLLBACK
const REVERT_ROLLBACK
Definition: EditResult.php:42
MediaWiki\Storage\EditResult\REVERT_UNDO
const REVERT_UNDO
Definition: EditResult.php:41
MediaWiki\Storage\EditResult\REVERT_MANUAL
const REVERT_MANUAL
Definition: EditResult.php:43