MediaWiki  master
Revision\RevisionStoreCacheRecord Class Reference

A cached RevisionStoreRecord. More...

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

Public Member Functions

 __construct ( $callback, Title $title, UserIdentity $user, CommentStoreComment $comment, $row, RevisionSlots $slots, $dbDomain=false)
 
 getUser ( $audience=self::FOR_PUBLIC, User $user=null)
 Overridden to ensure that we return a fresh value and not a cached one. More...
 
 getVisibility ()
 Overridden to ensure that we return a fresh value and not a cached one. More...
 
- Public Member Functions inherited from Revision\RevisionStoreRecord
 __construct (Title $title, UserIdentity $user, CommentStoreComment $comment, $row, RevisionSlots $slots, $dbDomain=false)
 
 getComment ( $audience=self::FOR_PUBLIC, User $user=null)
 
 getId ()
 
 getSha1 ()
 
 getSize ()
 
 getTimestamp ()
 
 getUser ( $audience=self::FOR_PUBLIC, User $user=null)
 
 isCurrent ()
 MCR migration note: this replaces Revision::isCurrent. More...
 
 isDeleted ( $field)
 MCR migration note: this replaces Revision::isDeleted. More...
 
 isReadyForInsertion ()
 
- Public Member Functions inherited from Revision\RevisionRecord
 __construct (Title $title, RevisionSlots $slots, $dbDomain=false)
 
 __sleep ()
 Implemented to defy serialization. More...
 
 audienceCan ( $field, $audience, User $user=null)
 Check that the given audience has access to the given field. More...
 
 getComment ( $audience=self::FOR_PUBLIC, User $user=null)
 Fetch revision comment, if it's available to the specified audience. More...
 
 getContent ( $role, $audience=self::FOR_PUBLIC, User $user=null)
 Returns the Content of the given slot of this revision. More...
 
 getId ()
 Get revision ID. More...
 
 getInheritedSlots ()
 Returns slots inherited from some previous revision. More...
 
 getOriginalSlots ()
 Returns the slots that originate in this revision. More...
 
 getPageAsLinkTarget ()
 Returns the title of the page this revision is associated with as a LinkTarget object. More...
 
 getPageId ()
 Get the page ID. More...
 
 getParentId ()
 Get parent revision ID (the original previous page revision). More...
 
 getSha1 ()
 Returns the base36 sha1 of this revision. More...
 
 getSize ()
 Returns the nominal size of this revision, in bogo-bytes. More...
 
 getSlot ( $role, $audience=self::FOR_PUBLIC, User $user=null)
 Returns meta-data for the given slot. More...
 
 getSlotRoles ()
 Returns the slot names (roles) of all slots present in this revision. More...
 
 getSlots ()
 Returns the slots defined for this revision. More...
 
 getTimestamp ()
 MCR migration note: this replaces Revision::getTimestamp. More...
 
 getUser ( $audience=self::FOR_PUBLIC, User $user=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...
 
 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...
 

Private Member Functions

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

Private Attributes

callable $mCallback
 

Additional Inherited Members

- Static Public Member Functions inherited from 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. More...
 
- 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 Member Functions inherited from Revision\RevisionStoreRecord
 userCan ( $field, User $user)
 
- Protected Member Functions inherited from Revision\RevisionRecord
 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. More...
 
- Protected Attributes inherited from Revision\RevisionStoreRecord
bool $mCurrent = false
 
- 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
 
int $mPageId
 
int null $mParentId
 
string null $mSha1
 
int null $mSize
 
RevisionSlots $mSlots
 
string null $mTimestamp
 
Title $mTitle
 
UserIdentity null $mUser
 
string false $mWiki = false
 Wiki ID; false means the current wiki. More...
 

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()

Revision\RevisionStoreCacheRecord::__construct (   $callback,
Title  $title,
UserIdentity  $user,
CommentStoreComment  $comment,
  $row,
RevisionSlots  $slots,
  $dbDomain = 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$dbDomainDB domain of the relevant wiki or false for the current one.

Definition at line 58 of file RevisionStoreCacheRecord.php.

Member Function Documentation

◆ getUser()

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.

Definition at line 91 of file RevisionStoreCacheRecord.php.

References getUser(), and Revision\RevisionStoreCacheRecord\loadFreshRow().

◆ getVisibility()

Revision\RevisionStoreCacheRecord::getVisibility ( )

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

Returns
int

Definition at line 76 of file RevisionStoreCacheRecord.php.

References Revision\RevisionStoreCacheRecord\loadFreshRow().

◆ loadFreshRow()

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 103 of file RevisionStoreCacheRecord.php.

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

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

Member Data Documentation

◆ $mCallback

callable Revision\RevisionStoreCacheRecord::$mCallback
private

Definition at line 43 of file RevisionStoreCacheRecord.php.


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