MediaWiki  master
Revision\MutableRevisionRecord Class Reference
Inheritance diagram for Revision\MutableRevisionRecord:
Collaboration diagram for Revision\MutableRevisionRecord:

Public Member Functions

 __construct (PageIdentity $page, $wikiId=self::LOCAL)
 
 applyUpdate (RevisionSlotsUpdate $update)
 Applies the given update to the slots of this revision. More...
 
 getSha1 ()
 Returns the base36 sha1 of this revision. More...
 
 getSize ()
 Returns the nominal size of this revision. More...
 
 getSlots ()
 Returns the slots defined for this revision as a MutableRevisionSlots instance, which can be modified to defined the slots for this revision. More...
 
 inheritSlot (SlotRecord $parentSlot)
 "Inherits" the given slot's content. More...
 
 removeSlot ( $role)
 Removes the slot with the given role from this revision. More...
 
 setComment (CommentStoreComment $comment)
 
 setContent ( $role, Content $content)
 Sets the content for the slot with the given role. More...
 
 setId ( $id)
 Set the revision ID. More...
 
 setMinorEdit ( $minorEdit)
 
 setPageId ( $pageId)
 
 setParentId ( $parentId)
 
 setSha1 ( $sha1)
 Set revision hash, for optimization. More...
 
 setSize ( $size)
 Set nominal revision size, for optimization. More...
 
 setSlot (SlotRecord $slot)
 Sets the given slot. More...
 
 setTimestamp ( $timestamp)
 
 setUser (UserIdentity $user)
 Sets the user identity associated with the revision. More...
 
 setVisibility ( $visibility)
 
- Public Member Functions inherited from Revision\RevisionRecord
 __construct (PageIdentity $page, RevisionSlots $slots, $wikiId=self::LOCAL)
 
 audienceCan ( $field, $audience, Authority $performer=null)
 Check that the given audience has access to the given field. More...
 
 getComment ( $audience=self::FOR_PUBLIC, Authority $performer=null)
 Fetch revision comment, if it's available to the specified audience. More...
 
 getContent ( $role, $audience=self::FOR_PUBLIC, Authority $performer=null)
 Returns the Content of the given slot of this revision. More...
 
 getId ( $wikiId=self::LOCAL)
 Get revision ID. More...
 
 getInheritedSlots ()
 Returns slots inherited from some previous revision. More...
 
 getOriginalSlots ()
 Returns the slots that originate in this revision. More...
 
 getPage ()
 Returns the page this revision belongs to. More...
 
 getPageAsLinkTarget ()
 Returns the title of the page this revision is associated with as a LinkTarget object. More...
 
 getPageId ( $wikiId=self::LOCAL)
 Get the page ID. More...
 
 getParentId ( $wikiId=self::LOCAL)
 Get parent revision ID (the original previous page revision). More...
 
 getPrimarySlots ()
 Returns primary slots (those that are not derived). More...
 
 getSlot ( $role, $audience=self::FOR_PUBLIC, Authority $performer=null)
 Returns meta-data for the given slot. More...
 
 getSlotRoles ()
 Returns the slot names (roles) of all slots present in this revision. More...
 
 getTimestamp ()
 MCR migration note: this replaces Revision::getTimestamp. More...
 
 getUser ( $audience=self::FOR_PUBLIC, Authority $performer=null)
 Fetch revision's author's user identity, if it's available to the specified audience. More...
 
 getVisibility ()
 Get the deletion bitfield of the revision. More...
 
 getWikiId ()
 Get the ID of the wiki this revision belongs to. More...
 
 hasSameContent (RevisionRecord $rec)
 
 hasSlot ( $role)
 Returns whether the given slot is defined in this revision. More...
 
 isCurrent ()
 Checks whether the revision record is a stored current revision. More...
 
 isDeleted ( $field)
 MCR migration note: this replaces Revision::isDeleted. More...
 
 isMinor ()
 MCR migration note: this replaces Revision::isMinor. More...
 
 isReadyForInsertion ()
 Returns whether this RevisionRecord is ready for insertion, that is, whether it contains all information needed to save it to the database. More...
 
 userCan ( $field, Authority $performer)
 Determine if the give authority is allowed to view a particular field of this revision, if it's marked as deleted. More...
 
- Public Member Functions inherited from MediaWiki\DAO\WikiAwareEntity
 assertWiki ( $wikiId)
 Throws if $wikiId is different from the return value of getWikiId(). More...
 

Static Public Member Functions

static newFromParentRevision (RevisionRecord $parent)
 Returns an incomplete MutableRevisionRecord which uses $parent as its parent revision, and inherits all slots form it. More...
 
static newUpdatedRevisionRecord (RevisionRecord $revision, array $slots)
 Returns a MutableRevisionRecord which is an updated version of $revision with $slots added. More...
 
- Static Public Member Functions inherited from Revision\RevisionRecord
static userCanBitfield ( $bitfield, $field, Authority $performer, PageIdentity $page=null)
 Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted. More...
 

Private Member Functions

 resetAggregateValues ()
 Invalidate cached aggregate values such as hash and size. More...
 

Additional Inherited Members

- Public Attributes inherited from Revision\RevisionRecord
const DELETED_COMMENT = 2
 
const DELETED_RESTRICTED = 8
 
const DELETED_TEXT = 1
 
const DELETED_USER = 4
 
const FOR_PUBLIC = 1
 
const FOR_THIS_USER = 2
 
const RAW = 3
 
const SUPPRESSED_ALL
 
const SUPPRESSED_USER = self::DELETED_USER | self::DELETED_RESTRICTED
 
- Protected Attributes inherited from Revision\RevisionRecord
CommentStoreComment null $mComment
 
int $mDeleted = 0
 using the DELETED_XXX and SUPPRESSED_XXX flags More...
 
int null $mId
 
bool $mMinorEdit = false
 
PageIdentity $mPage
 
int $mPageId
 
int null $mParentId
 
string null $mSha1
 
int null $mSize
 
RevisionSlots $mSlots
 
string null $mTimestamp
 
UserIdentity null $mUser
 
string false $wikiId = false
 Wiki ID; false means the current wiki. More...
 

Detailed Description

Definition at line 45 of file MutableRevisionRecord.php.

Constructor & Destructor Documentation

◆ __construct()

Revision\MutableRevisionRecord::__construct ( PageIdentity  $page,
  $wikiId = self::LOCAL 
)
Stability: stable
to call.
Parameters
PageIdentity$pageThe page this Revision is associated with.
false | string$wikiIdRelevant wiki id or self::LOCAL for the current one.
Exceptions
MWException

Definition at line 111 of file MutableRevisionRecord.php.

References Revision\RevisionRecord\$wikiId, and Revision\MutableRevisionRecord\resetAggregateValues().

Member Function Documentation

◆ applyUpdate()

Revision\MutableRevisionRecord::applyUpdate ( RevisionSlotsUpdate  $update)

Applies the given update to the slots of this revision.

Parameters
RevisionSlotsUpdate$update
Returns
self

Definition at line 223 of file MutableRevisionRecord.php.

◆ getSha1()

Revision\MutableRevisionRecord::getSha1 ( )

Returns the base36 sha1 of this revision.

MCR migration note: this replaces Revision::getSha1

Returns
string The revision hash, may be computed on the fly if not yet known.

Reimplemented from Revision\RevisionRecord.

Definition at line 385 of file MutableRevisionRecord.php.

References Revision\RevisionRecord\$mSha1.

◆ getSize()

Revision\MutableRevisionRecord::getSize ( )

Returns the nominal size of this revision.

MCR migration note: this replaces Revision::getSize

Returns
int The nominal size, may be computed on the fly if not yet known.

Reimplemented from Revision\RevisionRecord.

Definition at line 369 of file MutableRevisionRecord.php.

References Revision\RevisionRecord\$mSize.

◆ getSlots()

Revision\MutableRevisionRecord::getSlots ( )

Returns the slots defined for this revision as a MutableRevisionSlots instance, which can be modified to defined the slots for this revision.

Returns
MutableRevisionSlots

Reimplemented from Revision\RevisionRecord.

Definition at line 400 of file MutableRevisionRecord.php.

◆ inheritSlot()

Revision\MutableRevisionRecord::inheritSlot ( SlotRecord  $parentSlot)

"Inherits" the given slot's content.

If a slot with the same role is already present in the revision, it is replaced.

Note
This may cause the slot meta-data for the revision to be lazy-loaded.
Parameters
SlotRecord$parentSlot
Returns
self

Definition at line 171 of file MutableRevisionRecord.php.

◆ newFromParentRevision()

static Revision\MutableRevisionRecord::newFromParentRevision ( RevisionRecord  $parent)
static

Returns an incomplete MutableRevisionRecord which uses $parent as its parent revision, and inherits all slots form it.

If saved unchanged, the new revision will act as a null-revision.

Parameters
RevisionRecord$parent
Returns
MutableRevisionRecord

Definition at line 56 of file MutableRevisionRecord.php.

References Revision\RevisionRecord\getId(), Revision\RevisionRecord\getPage(), Revision\RevisionRecord\getPageId(), Revision\RevisionRecord\getSlot(), Revision\RevisionRecord\getSlotRoles(), and Revision\RevisionRecord\getWikiId().

Referenced by Revision\RevisionStore\newNullRevision(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().

◆ newUpdatedRevisionRecord()

static Revision\MutableRevisionRecord::newUpdatedRevisionRecord ( RevisionRecord  $revision,
array  $slots 
)
static

◆ removeSlot()

Revision\MutableRevisionRecord::removeSlot (   $role)

Removes the slot with the given role from this revision.

This effectively ends the "stream" with that role on the revision's page. Future revisions will no longer inherit this slot, unless it is added back explicitly.

Note
This may cause the slot meta-data for the revision to be lazy-loaded.
Calling this method will cause the revision size and hash to be re-calculated upon the next call to getSize() and getSha1(), respectively.
Parameters
string$role
Returns
self

Definition at line 211 of file MutableRevisionRecord.php.

◆ resetAggregateValues()

Revision\MutableRevisionRecord::resetAggregateValues ( )
private

Invalidate cached aggregate values such as hash and size.

Used as a callback by MutableRevisionSlots.

Definition at line 409 of file MutableRevisionRecord.php.

Referenced by Revision\MutableRevisionRecord\__construct().

◆ setComment()

Revision\MutableRevisionRecord::setComment ( CommentStoreComment  $comment)
Parameters
CommentStoreComment$comment
Returns
self

Definition at line 233 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setContent()

Revision\MutableRevisionRecord::setContent (   $role,
Content  $content 
)

Sets the content for the slot with the given role.

If a slot with the same role is already present in the revision, it is replaced. Calling code that has access to a SlotRecord can use inheritSlot() instead.

Note
This may cause the slot meta-data for the revision to be lazy-loaded.
Calling this method will cause the revision size and hash to be re-calculated upon the next call to getSize() and getSha1(), respectively.
Parameters
string$role
Content$content
Returns
self

Definition at line 192 of file MutableRevisionRecord.php.

References $content.

◆ setId()

Revision\MutableRevisionRecord::setId (   $id)

Set the revision ID.

MCR migration note: this replaces Revision::setId()

Warning
Use this with care, especially when preparing a revision for insertion into the database! The revision ID should only be fixed in special cases like preserving the original ID when restoring a revision.
Parameters
int$id
Returns
self

Definition at line 323 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setMinorEdit()

Revision\MutableRevisionRecord::setMinorEdit (   $minorEdit)
Parameters
bool$minorEdit
Returns
self

Definition at line 303 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setPageId()

Revision\MutableRevisionRecord::setPageId (   $pageId)
Parameters
int$pageId
Returns
self

Definition at line 347 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setParentId()

Revision\MutableRevisionRecord::setParentId (   $parentId)
Parameters
int$parentId
Returns
self

Definition at line 123 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setSha1()

Revision\MutableRevisionRecord::setSha1 (   $sha1)

Set revision hash, for optimization.

Prevents getSha1() from re-calculating the hash.

Note
This should only be used if the calling code is sure that the given hash is correct for the revision's content, and there is no chance of the content being manipulated later. When in doubt, this method should not be called.
Parameters
string$sha1SHA1 hash as a base36 string.
Returns
self

Definition at line 249 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setSize()

Revision\MutableRevisionRecord::setSize (   $size)

Set nominal revision size, for optimization.

Prevents getSize() from re-calculating the size.

Note
This should only be used if the calling code is sure that the given size is correct for the revision's content, and there is no chance of the content being manipulated later. When in doubt, this method should not be called.
Parameters
int$sizenominal size in bogo-bytes
Returns
self

Definition at line 267 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setSlot()

Revision\MutableRevisionRecord::setSlot ( SlotRecord  $slot)

Sets the given slot.

If a slot with the same role is already present in the revision, it is replaced.

Note
This can only be used with a fresh "unattached" SlotRecord. Calling code that has a SlotRecord from another revision should use inheritSlot(). Calling code that has access to a Content object can use setContent().
This may cause the slot meta-data for the revision to be lazy-loaded.
Calling this method will cause the revision size and hash to be re-calculated upon the next call to getSize() and getSha1(), respectively.
Parameters
SlotRecord$slot
Returns
self

Definition at line 147 of file MutableRevisionRecord.php.

References Revision\SlotRecord\getRevision(), and Revision\SlotRecord\hasRevision().

◆ setTimestamp()

Revision\MutableRevisionRecord::setTimestamp (   $timestamp)
Parameters
string$timestampA timestamp understood by MWTimestamp
Returns
self

Definition at line 291 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setUser()

Revision\MutableRevisionRecord::setUser ( UserIdentity  $user)

Sets the user identity associated with the revision.

Parameters
UserIdentity$user
Returns
self

Definition at line 337 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().

◆ setVisibility()

Revision\MutableRevisionRecord::setVisibility (   $visibility)
Parameters
int$visibility
Returns
self

Definition at line 279 of file MutableRevisionRecord.php.

Referenced by Revision\RevisionStore\initializeMutableRevisionFromArray().


The documentation for this class was generated from the following file: