MediaWiki REL1_33
MediaWiki\Revision\RevisionStoreCacheRecord Class Reference

A cached RevisionStoreRecord. More...

Inheritance diagram for MediaWiki\Revision\RevisionStoreCacheRecord:
Collaboration diagram for MediaWiki\Revision\RevisionStoreCacheRecord:

Public Member Functions

 __construct ( $callback, Title $title, UserIdentity $user, CommentStoreComment $comment, $row, RevisionSlots $slots, $wikiId=false)
 
 getUser ( $audience=self::FOR_PUBLIC, User $user=null)
 Overridden to ensure that we return a fresh value and not a cached one.
 
 getVisibility ()
 Overridden to ensure that we return a fresh value and not a cached one.
 
- Public Member Functions inherited from MediaWiki\Revision\RevisionStoreRecord
 __construct (Title $title, UserIdentity $user, CommentStoreComment $comment, $row, RevisionSlots $slots, $wikiId=false)
 
 getComment ( $audience=self::FOR_PUBLIC, User $user=null)
 
 getId ()
 
 getSha1 ()
 
 getSize ()
 
 getTimestamp ()
 
 isCurrent ()
 MCR migration note: this replaces Revision::isCurrent.
 
 isDeleted ( $field)
 MCR migration note: this replaces Revision::isDeleted.
 
 isReadyForInsertion ()
 
- Public Member Functions inherited from MediaWiki\Revision\RevisionRecord
 __construct (Title $title, RevisionSlots $slots, $wikiId=false)
 
 __sleep ()
 Implemented to defy serialization.
 
 audienceCan ( $field, $audience, User $user=null)
 Check that the given audience has access to the given field.
 
 getContent ( $role, $audience=self::FOR_PUBLIC, User $user=null)
 Returns the Content of the given slot of this revision.
 
 getInheritedSlots ()
 Returns slots inherited from some previous revision.
 
 getOriginalSlots ()
 Returns the slots that originate in this revision.
 
 getPageAsLinkTarget ()
 Returns the title of the page this revision is associated with as a LinkTarget object.
 
 getPageId ()
 Get the page ID.
 
 getParentId ()
 Get parent revision ID (the original previous page revision).
 
 getSlot ( $role, $audience=self::FOR_PUBLIC, User $user=null)
 Returns meta-data for the given slot.
 
 getSlotRoles ()
 Returns the slot names (roles) of all slots present in this revision.
 
 getSlots ()
 Returns the slots defined for this revision.
 
 getWikiId ()
 Get the ID of the wiki this revision belongs to.
 
 hasSameContent (RevisionRecord $rec)
 
 hasSlot ( $role)
 Returns whether the given slot is defined in this revision.
 
 isMinor ()
 MCR migration note: this replaces Revision::isMinor.
 

Private Member Functions

 loadFreshRow ()
 Load a fresh row from the database to ensure we return updated information.
 

Private Attributes

callable $mCallback
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\Revision\RevisionRecord
static userCanBitfield ( $bitfield, $field, User $user, Title $title=null)
 Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted.
 
- Public Attributes inherited from MediaWiki\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 Member Functions inherited from MediaWiki\Revision\RevisionStoreRecord
 userCan ( $field, User $user)
 Determine if the current user is allowed to view a particular field of this revision, if it's marked as deleted.
 
- Protected Attributes inherited from MediaWiki\Revision\RevisionStoreRecord
bool $mCurrent = false
 
- Protected Attributes inherited from MediaWiki\Revision\RevisionRecord
CommentStoreComment null $mComment
 
int $mDeleted = 0
 using the DELETED_XXX and SUPPRESSED_XXX flags
 
int null $mId
 
bool $mMinorEdit = false
 
int $mPageId
 
int null $mParentId
 
string null $mSha1
 
int null $mSize
 
RevisionSlots $mSlots
 
string null $mTimestamp
 
Title $mTitle
 
UserIdentity null $mUser
 
string $mWiki = false
 Wiki ID; false means the current wiki.
 

Detailed Description

A cached RevisionStoreRecord.

Ensures that changes performed "behind the back" of the cache do not cause the revision record to deliver stale data.

Since
1.33

Definition at line 38 of file RevisionStoreCacheRecord.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Revision\RevisionStoreCacheRecord::__construct ( $callback,
Title $title,
UserIdentity $user,
CommentStoreComment $comment,
$row,
RevisionSlots $slots,
$wikiId = false )
Note
Avoid calling this constructor directly. Use the appropriate methods in RevisionStore instead.
Parameters
callable$callbackCallback for loading data. Signature: function ( $id ): object
Title$titleThe title of the page this Revision is associated with.
UserIdentity$user
CommentStoreComment$comment
object$rowA row from the revision table. Use RevisionStore::getQueryInfo() to build a query that yields the required fields.
RevisionSlots$slotsThe slots of this revision.
bool | string$wikiIdthe wiki ID of the site this Revision belongs to, or false for the local site.

Definition at line 59 of file RevisionStoreCacheRecord.php.

Member Function Documentation

◆ getUser()

MediaWiki\Revision\RevisionStoreCacheRecord::getUser ( $audience = self::FOR_PUBLIC,
User $user = null )

Overridden to ensure that we return a fresh value and not a cached one.

Parameters
int$audience
User | null$user
Returns
UserIdentity The identity of the revision author, null if access is forbidden.

Reimplemented from MediaWiki\Revision\RevisionStoreRecord.

Definition at line 92 of file RevisionStoreCacheRecord.php.

References MediaWiki\Revision\RevisionStoreCacheRecord\loadFreshRow().

◆ getVisibility()

MediaWiki\Revision\RevisionStoreCacheRecord::getVisibility ( )

Overridden to ensure that we return a fresh value and not a cached one.

Returns
int

Reimplemented from MediaWiki\Revision\RevisionRecord.

Definition at line 77 of file RevisionStoreCacheRecord.php.

References MediaWiki\Revision\RevisionStoreCacheRecord\loadFreshRow().

◆ loadFreshRow()

MediaWiki\Revision\RevisionStoreCacheRecord::loadFreshRow ( )
private

Load a fresh row from the database to ensure we return updated information.

Exceptions
RevisionAccessExceptionif the row could not be loaded

Definition at line 104 of file RevisionStoreCacheRecord.php.

References and(), User\newFromAnyId(), and wfWarn().

Referenced by MediaWiki\Revision\RevisionStoreCacheRecord\getUser(), and MediaWiki\Revision\RevisionStoreCacheRecord\getVisibility().

Member Data Documentation

◆ $mCallback

callable MediaWiki\Revision\RevisionStoreCacheRecord::$mCallback
private

Definition at line 43 of file RevisionStoreCacheRecord.php.


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