MediaWiki  master
WikiPage Class Reference

Class representing a MediaWiki article and history. More...

Inheritance diagram for WikiPage:
Collaboration diagram for WikiPage:

Public Member Functions

 __clone ()
 Makes sure that the mTitle object is cloned to the newly cloned WikiPage. More...
 
 __construct (PageIdentity $pageIdentity)
 
 __toString ()
 Returns an informative human readable unique representation of the page identity, for use as a cache key and for logging and debugging.
Returns
string
More...
 
 __wakeup ()
 Ensure consistency when unserializing. More...
 
 canExist ()
 
 checkFlags ( $flags)
 Check flags and add EDIT_NEW or EDIT_UPDATE to them as needed. More...
 
 checkTouched ()
 Loads page_touched and returns a value indicating if it should be used. More...
 
 clear ()
 Clear the object. More...
 
 clearPreparedEdit ()
 Clear the mPreparedEdit cache field, as may be needed by mutable content types. More...
 
 doDeleteArticleBatched ( $reason, $suppress, UserIdentity $deleter, $tags, $logsubtype, $immediate=false, $webRequestId=null)
 Back-end article deletion. More...
 
 doDeleteArticleReal ( $reason, UserIdentity $deleter, $suppress=false, $u1=null, &$error='', $u2=null, $tags=[], $logsubtype='delete', $immediate=false)
 Back-end article deletion Deletes the article with database consistency, writes logs, purges caches. More...
 
 doDeleteUpdates ( $id, Content $content=null, RevisionRecord $revRecord=null, UserIdentity $user=null)
 Do some database updates after deletion. More...
 
 doEditContent (Content $content, $summary, $flags=0, $originalRevId=false, Authority $performer=null, $serialFormat=null, $tags=[], $undidRevId=0)
 Change an existing article or create a new article. More...
 
 doEditUpdates (RevisionRecord $revisionRecord, UserIdentity $user, array $options=[])
 Do standard deferred updates after page edit. More...
 
 doPurge ()
 Perform the actions of a page purging. More...
 
 doSecondaryDataUpdates (array $options=[])
 Do secondary data updates (such as updating link tables). More...
 
 doUpdateRestrictions (array $limit, array $expiry, &$cascade, $reason, UserIdentity $user, $tags=null)
 Update the article's restriction field, and leave a log entry. More...
 
 doUserEditContent (Content $content, Authority $performer, $summary, $flags=0, $originalRevId=false, $tags=[], $undidRevId=0)
 Change an existing article or create a new article. More...
 
 doViewUpdates (Authority $performer, $oldid=0)
 Do standard deferred updates after page view (existing or missing page) More...
 
 exists ()
 
 followRedirect ()
 Get the Title object or URL this page redirects to. More...
 
 getActionOverrides ()
 
 getAutoDeleteReason (&$hasHistory)
 Auto-generates a deletion reason. More...
 
 getCategories ()
 Returns a list of categories this page is a member of. More...
 
 getComment ( $audience=RevisionRecord::FOR_PUBLIC, Authority $performer=null)
 
 getContent ( $audience=RevisionRecord::FOR_PUBLIC, Authority $performer=null)
 Get the content of the current revision. More...
 
 getContentHandler ()
 Returns the ContentHandler instance to be used to deal with the content of this WikiPage. More...
 
 getContentModel ()
 Returns the page's content model id (see the CONTENT_MODEL_XXX constants). More...
 
 getContributors ()
 Get a list of users who have edited this article, not including the user who made the most recent revision, which you can get from $article->getUser() if you want it. More...
 
 getCreator ( $audience=RevisionRecord::FOR_PUBLIC, Authority $performer=null)
 Get the User object of the user who created the page. More...
 
 getDBkey ()
 Get the page title in DB key form.This should always return a valid DB key.
Returns
string
More...
 
 getDeletionUpdates ( $rev=null)
 Returns a list of updates to be performed when this page is deleted. More...
 
 getHiddenCategories ()
 Returns a list of hidden categories this page is a member of. More...
 
 getId ( $wikiId=self::LOCAL)
 
 getLanguage ()
 
 getLatest ( $wikiId=self::LOCAL)
 Get the page_latest field. More...
 
 getLinksTimestamp ()
 Get the page_links_updated field. More...
 
 getMinorEdit ()
 Returns true if last revision was marked as "minor edit". More...
 
 getMutableCacheKeys (WANObjectCache $cache)
 
 getNamespace ()
 Returns the page's namespace number.The value returned by this method should represent a valid namespace, but this cannot be guaranteed in all cases.
Returns
int
More...
 
 getPageIsRedirectField ()
 Get the value of the page_is_redirect field in the DB. More...
 
 getParserOutput (ParserOptions $parserOptions, $oldid=null, $noCache=false)
 Get a ParserOutput for the given ParserOptions and revision ID. More...
 
 getRedirectTarget ()
 If this page is a redirect, get its target. More...
 
 getRedirectURL ( $rt)
 Get the Title object or URL to use for a redirect. More...
 
 getRevisionRecord ()
 Get the latest revision. More...
 
 getSourceURL ()
 Get the source URL for the content on this page, typically the canonical URL, but may be a remote link if the content comes from another site. More...
 
 getTimestamp ()
 
 getTitle ()
 Get the title object of the article. More...
 
 getTouched ()
 Get the page_touched field. More...
 
 getUser ( $audience=RevisionRecord::FOR_PUBLIC, Authority $performer=null)
 
 getUserText ( $audience=RevisionRecord::FOR_PUBLIC, Authority $performer=null)
 
 getWikiDisplayName ()
 The display name for the site this content come from. More...
 
 getWikiId ()
 
 hasViewableContent ()
 Check if this page is something we're going to be showing some sort of sensible content for. More...
 
 insertNullProtectionRevision (string $revCommentMsg, array $limit, array $expiry, bool $cascade, string $reason, UserIdentity $user)
 Insert a new null revision for this page. More...
 
 insertOn ( $dbw, $pageId=null)
 Insert a new empty page record for this article. More...
 
 insertRedirect ()
 Insert an entry for this page into the redirect table if the content is a redirect. More...
 
 insertRedirectEntry (Title $rt, $oldLatest=null)
 Insert or update the redirect table entry for this page to indicate it redirects to $rt. More...
 
 isBatchedDelete ( $safetyMargin=0)
 Determines if deletion of this page would be batched (executed over time by the job queue) or not (completed in the same request as the delete call). More...
 
 isCountable ( $editInfo=false)
 Determine whether a page would be suitable for being counted as an article in the site_stats table based on the title & its content. More...
 
 isLocal ()
 Whether this content displayed on this page comes from the local database. More...
 
 isNew ()
 Tests if the page is new (only has one revision). More...
 
 isRedirect ()
 Is the page a redirect, according to secondary tracking tables? If this is true, getRedirectTarget() will return a Title. More...
 
 isSamePageAs (PageReference $other)
 Checks whether the given PageReference refers to the same page as this PageReference.Two PageReference instances are considered to refer to the same page if they belong to the same wiki, and have the same namespace and DB key.
Parameters
PageReference$other
Returns
bool
More...
 
 loadFromRow ( $data, $from)
 Load the object from a database row. More...
 
 loadPageData ( $from='fromdb')
 Load the object from a given source by title. More...
 
 lockAndGetLatest ()
 Lock the page row for this title+id and return page_latest (or 0) More...
 
 makeParserOptions ( $context)
 Get parser options suitable for rendering the primary article wikitext. More...
 
 newPageUpdater ( $performer, RevisionSlotsUpdate $forUpdate=null)
 Returns a PageUpdater for creating new revisions on this page (or creating the page). More...
 
 pageDataFromId ( $dbr, $id, $options=[])
 Fetch a page record matching the requested ID. More...
 
 pageDataFromTitle ( $dbr, $title, $options=[])
 Fetch a page record matching the Title object's namespace and title using a sanitized title string. More...
 
 prepareContentForEdit (Content $content, RevisionRecord $revision=null, UserIdentity $user=null, $serialFormat=null, $useCache=true)
 Prepare content which is about to be saved. More...
 
 protectDescription (array $limit, array $expiry)
 Builds the description to serve as comment for the edit. More...
 
 protectDescriptionLog (array $limit, array $expiry)
 Builds the description to serve as comment for the log entry. More...
 
 replaceSectionAtRev ( $sectionId, Content $sectionContent, $sectionTitle='', $baseRevId=null)
 
 replaceSectionContent ( $sectionId, Content $sectionContent, $sectionTitle='', $edittime=null)
 
 setTimestamp ( $ts)
 Set the page timestamp (use only to avoid DB queries) More...
 
 shouldCheckParserCache (ParserOptions $parserOptions, $oldId)
 Should the parser cache be used? More...
 
 supportsSections ()
 Returns true if this page's content model supports sections. More...
 
 toPageRecord ()
 Returns the page represented by this WikiPage as a PageStoreRecord. More...
 
 triggerOpportunisticLinksUpdate (ParserOutput $parserOutput)
 Opportunistically enqueue link update jobs after a fresh parser output was generated. More...
 
 updateCategoryCounts (array $added, array $deleted, $id=0)
 Update all the appropriate counts in the category table, given that we've added the categories $added and deleted the categories $deleted. More...
 
 updateParserCache (array $options=[])
 Update the parser cache. More...
 
 updateRedirectOn ( $dbw, $redirectTitle, $lastRevIsRedirect=null)
 Add row to the redirect table if this is a redirect, remove otherwise. More...
 
 updateRevisionOn ( $dbw, RevisionRecord $revision, $lastRevision=null, $lastRevIsRedirect=null)
 Update the page record to point to a newly saved revision. More...
 
 wasLoadedFrom ( $from)
 Checks whether the page data was loaded using the given database access mode (or better). 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 convertSelectType ( $type)
 Convert 'fromdb', 'fromdbmaster' and 'forupdate' to READ_* constants. More...
 
static factory (PageIdentity $pageIdentity)
 Create a WikiPage object of the appropriate class for the given PageIdentity. More...
 
static getQueryInfo ()
 Return the tables, fields, and join conditions to be selected to create a new page object. More...
 
static hasDifferencesOutsideMainSlot (RevisionRecord $a, RevisionRecord $b)
 Helper method for checking whether two revisions have differences that go beyond the main slot. More...
 
static newFromID ( $id, $from='fromdb')
 Constructor from a page id. More...
 
static newFromRow ( $row, $from='fromdb')
 Constructor from a database row. More...
 
static onArticleCreate (Title $title)
 The onArticle*() functions are supposed to be a kind of hooks which should be called whenever any of the specified actions are done. More...
 
static onArticleDelete (Title $title)
 Clears caches when article is deleted. More...
 
static onArticleEdit (Title $title, RevisionRecord $revRecord=null, $slotsChanged=null)
 Purge caches on page update etc. More...
 

Public Attributes

bool $mDataLoaded = false
 
int false $mLatest = false
 False means "not loaded". More...
 
PreparedEdit false $mPreparedEdit = false
 Map of cache fields (text, parser output, ect) for a proposed/new edit. More...
 
Title $mTitle
 
- Public Attributes inherited from IDBAccessObject
const READ_NONE = -1
 Constants for object loading bitfield flags (higher => higher QoS) More...
 

Protected Member Functions

 clearCacheFields ()
 Clear the object cache fields. More...
 
 formatExpiry ( $expiry)
 
 loadLastEdit ()
 Loads everything except the text This isn't necessary for all uses, so it's only done if needed. More...
 
 pageData ( $dbr, $conditions, $options=[])
 Fetch a page record with the given conditions. More...
 

Protected Attributes

int $mDataLoadedFrom = self::READ_NONE
 One of the READ_* constants. More...
 
int $mId = null
 
string null $mLanguage = null
 
string $mLinksUpdated = '19700101000000'
 
Title $mRedirectTarget = null
 The cache of the redirect target. More...
 
string $mTimestamp = ''
 Timestamp of the current revision or empty string if not loaded. More...
 
string $mTouched = '19700101000000'
 

Private Member Functions

 getContentHandlerFactory ()
 
 getDBLoadBalancer ()
 
 getDerivedDataUpdater (UserIdentity $forUser=null, RevisionRecord $forRevision=null, RevisionSlotsUpdate $forUpdate=null, $forEdit=false)
 Returns a DerivedPageDataUpdater for use with the given target revision or new content. More...
 
 getPageUpdaterFactory ()
 
 getRevisionStore ()
 
 setLastEdit (RevisionRecord $revRecord)
 Set the latest revision. More...
 

Static Private Member Functions

static purgeInterwikiCheckKey (Title $title)
 #- More...
 

Private Attributes

DerivedPageDataUpdater null $derivedDataUpdater = null
 
bool null $mHasRedirectTarget = null
 Boolean if the redirect status is definitively known. More...
 
bool $mIsNew = false
 
bool $mIsRedirect = false
 
RevisionRecord null $mLastRevision = null
 
bool $mPageIsRedirectField = false
 A cache of the page_is_redirect field, loaded with page data. More...
 

Detailed Description

Class representing a MediaWiki article and history.

Some fields are public only for backwards-compatibility. Use accessors. In the past, this class was part of Article.php and everything was public.

Definition at line 60 of file WikiPage.php.

Constructor & Destructor Documentation

◆ __construct()

WikiPage::__construct ( PageIdentity  $pageIdentity)
Parameters
PageIdentity$pageIdentity

Definition at line 169 of file WikiPage.php.

References $title, MediaWiki\DAO\WikiAwareEntity\assertWiki(), and Title\castFromPageIdentity().

Member Function Documentation

◆ __clone()

WikiPage::__clone ( )

Makes sure that the mTitle object is cloned to the newly cloned WikiPage.

Definition at line 185 of file WikiPage.php.

References $mTitle.

◆ __toString()

WikiPage::__toString ( )

Returns an informative human readable unique representation of the page identity, for use as a cache key and for logging and debugging.

Returns
string

Since
1.36

Implements Page\PageReference.

Definition at line 3321 of file WikiPage.php.

◆ __wakeup()

WikiPage::__wakeup ( )

Ensure consistency when unserializing.

Note
WikiPage objects should never be serialized in the first place. But some extensions like AbuseFilter did (see T213006), and we need to be able to read old data (see T187153).

Definition at line 3276 of file WikiPage.php.

References clear().

◆ canExist()

WikiPage::canExist ( )
Returns
true
Since
1.36

Implements Page\ProperPageIdentity.

Definition at line 3313 of file WikiPage.php.

◆ checkFlags()

WikiPage::checkFlags (   $flags)

Check flags and add EDIT_NEW or EDIT_UPDATE to them as needed.

Deprecated:
since 1.32, use exists() instead, or simply omit the EDIT_UPDATE and EDIT_NEW flags. To protect against race conditions, use PageUpdater::grabParentRevision.
Parameters
int$flags
Returns
int Updated $flags

Definition at line 1655 of file WikiPage.php.

References EDIT_NEW, EDIT_UPDATE, and exists().

◆ checkTouched()

WikiPage::checkTouched ( )

Loads page_touched and returns a value indicating if it should be used.

Returns
bool True if this page exists and is not a redirect

Definition at line 710 of file WikiPage.php.

References exists(), and isRedirect().

◆ clear()

WikiPage::clear ( )

Clear the object.

Returns
void

Definition at line 319 of file WikiPage.php.

References clearCacheFields(), and IDBAccessObject\READ_NONE.

Referenced by __wakeup().

◆ clearCacheFields()

WikiPage::clearCacheFields ( )
protected

Clear the object cache fields.

Returns
void

Definition at line 330 of file WikiPage.php.

Referenced by clear(), and loadFromRow().

◆ clearPreparedEdit()

WikiPage::clearPreparedEdit ( )

Clear the mPreparedEdit cache field, as may be needed by mutable content types.

Returns
void
Since
1.23

Definition at line 354 of file WikiPage.php.

◆ convertSelectType()

static WikiPage::convertSelectType (   $type)
static

Convert 'fromdb', 'fromdbmaster' and 'forupdate' to READ_* constants.

Parameters
stdClass | string | int$type
Returns
mixed

Definition at line 241 of file WikiPage.php.

References $type.

Referenced by loadFromRow(), loadPageData(), Page\WikiPageFactory\newFromID(), and wasLoadedFrom().

◆ doDeleteArticleBatched()

WikiPage::doDeleteArticleBatched (   $reason,
  $suppress,
UserIdentity  $deleter,
  $tags,
  $logsubtype,
  $immediate = false,
  $webRequestId = null 
)

Back-end article deletion.

Only invokes batching via the job queue if necessary per $wgDeleteRevisionsBatchSize. Deletions can often be completed inline without involving the job queue.

Potentially called many times per deletion operation for pages with many revisions.

Deprecated:
since 1.37 No external caller besides DeletePageJob should use this.
Parameters
string$reason
bool$suppress
UserIdentity$deleter
string[]$tags
string$logsubtype
bool$immediate
string | null$webRequestId
Returns
Status

Definition at line 2698 of file WikiPage.php.

References getTitle(), and wfEscapeWikiText().

◆ doDeleteArticleReal()

WikiPage::doDeleteArticleReal (   $reason,
UserIdentity  $deleter,
  $suppress = false,
  $u1 = null,
$error = '',
  $u2 = null,
  $tags = [],
  $logsubtype = 'delete',
  $immediate = false 
)

Back-end article deletion Deletes the article with database consistency, writes logs, purges caches.

Since
1.19
1.35 Signature changed, user moved to second parameter to prepare for requiring a user to be passed
1.36 User second parameter is required
Deprecated:
since 1.37 Use DeletePage instead. Calling ::deleteIfAllowed and letting DeletePage handle permission checks is preferred over doing permission checks yourself and then calling ::deleteUnsafe. Note that DeletePage returns a good status with false value in case of scheduled deletion, instead of a status with a warning. Also, the new method doesn't have an $error parameter, since any error is added to the returned Status.
Parameters
string$reasonDelete reason for deletion log
UserIdentity$deleterThe deleting user
bool$suppressSuppress all revisions and log the deletion in the suppression log instead of the deletion log
bool | null$u1Unused
array | string&$errorArray of errors to append to
mixed$u2Unused
string[] | null$tagsTags to apply to the deletion action
string$logsubtype
bool$immediatefalse allows deleting over time via the job queue
Returns
Status Status object; if successful, $status->value is the log_id of the deletion log entry. If the page couldn't be deleted because it wasn't found, $status is a non-fatal 'cannotdelete' error
Exceptions
FatalError
MWException

Definition at line 2654 of file WikiPage.php.

References getTitle(), and wfEscapeWikiText().

◆ doDeleteUpdates()

WikiPage::doDeleteUpdates (   $id,
Content  $content = null,
RevisionRecord  $revRecord = null,
UserIdentity  $user = null 
)

Do some database updates after deletion.

Deprecated:
since 1.37 With no replacement.
Parameters
int$idThe page_id value of the page being deleted
Content | null$contentPage content to be used when determining the required updates. This may be needed because $this->getContent() may already return null when the page proper was deleted.
RevisionRecord | null$revRecordThe current page revision at the time of deletion, used when determining the required updates. This may be needed because $this->getRevisionRecord() may already return null when the page proper was deleted.
UserIdentity | null$userThe user that caused the deletion

Definition at line 2758 of file WikiPage.php.

References getId(), and wfDeprecated().

◆ doEditContent()

WikiPage::doEditContent ( Content  $content,
  $summary,
  $flags = 0,
  $originalRevId = false,
Authority  $performer = null,
  $serialFormat = null,
  $tags = [],
  $undidRevId = 0 
)

Change an existing article or create a new article.

Updates RC and all necessary caches, optionally via the deferred update array.

Deprecated:
since 1.32, use PageUpdater::saveRevision instead. Note that the new method expects callers to take care of checking EDIT_MINOR against the minoredit right, and to apply the autopatrol right as appropriate. Hard deprecated since 1.37
Note
since 1.36 ::doUserEditContent is available as an interim replacement
Parameters
Content$contentNew content
string | CommentStoreComment$summaryEdit summary
int$flagsBitfield: EDIT_NEW Article is known or assumed to be non-existent, create a new one EDIT_UPDATE Article is known or assumed to be pre-existing, update it EDIT_MINOR Mark this edit minor, if the user is allowed to do so EDIT_SUPPRESS_RC Do not log the change in recentchanges EDIT_FORCE_BOT Mark the edit a "bot" edit regardless of user rights EDIT_AUTOSUMMARY Fill in blank summaries with generated text where possible EDIT_INTERNAL Signal that the page retrieve/save cycle happened entirely in this request.

If neither EDIT_NEW nor EDIT_UPDATE is specified, the status of the article will be detected. If EDIT_UPDATE is specified and the article doesn't exist, the function will return an edit-gone-missing error. If EDIT_NEW is specified and the article does exist, an edit-already-exists error will be returned. These two conditions are also possible with auto-detection due to MediaWiki's performance-optimised locking strategy.

Parameters
bool | int$originalRevId,The ID of an original revision that the edit restores or repeats. This is used with reverts and with dummy "null" revisions which are created to record things like page moves. The new revision does not have to have the exact same content as the given original revision, an additional check is made to determine whether these edits really match. In case they don't, $originalRevId is set to false by this method.
Authority | null$performerThe user doing the edit
string | null$serialFormatIGNORED.
array | null$tagsChange tags to apply to this edit Callers are responsible for permission checks (with ChangeTags::canAddTagsAccompanyingChange)
int$undidRevIdId of the last revision that was undone or 0
Exceptions
MWException
Returns
Status Possible errors: edit-hook-aborted: The ArticleSave hook aborted the edit but didn't set the fatal flag of $status. edit-gone-missing: In update mode, but the article didn't exist. edit-conflict: In update mode, the article changed unexpectedly. edit-no-change: Warning that the text was the same as before. edit-already-exists: In creation mode, but the article already exists.

Extensions may define additional errors.

$return->value will contain an associative array with members as follows: new: Boolean indicating if the function attempted to create a new article. revision-record: The RevisionRecord object for the inserted revision, or null.

Since
1.21
Exceptions
MWException

Definition at line 1836 of file WikiPage.php.

References doUserEditContent(), StubGlobalUser\getRealUser(), and wfDeprecated().

◆ doEditUpdates()

WikiPage::doEditUpdates ( RevisionRecord  $revisionRecord,
UserIdentity  $user,
array  $options = [] 
)

Do standard deferred updates after page edit.

Update links tables, site stats, search index and message cache. Purges pages that include this page if the text was changed here. Every 100th edit, prune the recent changes table.

Deprecated:
since 1.32 (soft), use DerivedPageDataUpdater::doUpdates instead.
Parameters
RevisionRecord$revisionRecord(Switched from the old Revision class to RevisionRecord since 1.35)
UserIdentity$userUser object that did the revision
array$optionsArray of options, following indexes are used:
  • changed: bool, whether the revision changed the content (default true)
  • created: bool, whether the revision created the page (default false)
  • moved: bool, whether the page was moved (default false)
  • restored: bool, whether the page was undeleted (default false)
  • oldrevision: RevisionRecord object for the pre-update revision (default null)
  • oldcountable: bool, null, or string 'no-change' (default null):
    • bool: whether the page was counted as an article before that revision, only used in changed is true and created is false
    • null: if created is false, don't update the article count; if created is true, do update the article count
    • 'no-change': don't update the article count, ever

Definition at line 2089 of file WikiPage.php.

References getDerivedDataUpdater(), and MediaWiki\User\UserIdentity\getName().

◆ doPurge()

WikiPage::doPurge ( )

Perform the actions of a page purging.

Returns
bool
Note
In 1.28 (and only 1.28), this took a $flags parameter that controlled how much purging was done.

Reimplemented in WikiFilePage.

Definition at line 1327 of file WikiPage.php.

References getContent(), and NS_MEDIAWIKI.

◆ doSecondaryDataUpdates()

WikiPage::doSecondaryDataUpdates ( array  $options = [])

Do secondary data updates (such as updating link tables).

Secondary data updates are only a small part of the updates needed after saving a new revision; normally PageUpdater::doUpdates should be used instead (which includes secondary data updates). This method is provided for partial purges.

Note
This is a temporary workaround until there is a proper data updater class. It will become deprecated soon.
Parameters
array$options
  • recursive (bool, default true): whether to do a recursive update (update pages that depend on this page, e.g. transclude it). This will set the $recursive parameter of Content::getSecondaryDataUpdates. Typically this should be true unless the update was something that did not really change the page, such as a null edit.
  • triggeringUser: The user triggering the update (UserIdentity, defaults to the user who created the revision)
  • causeAction: an arbitrary string identifying the reason for the update. See DataUpdate::getCauseAction(). (default 'unknown')
  • causeAgent: name of the user who caused the update (string, default 'unknown')
  • defer: one of the DeferredUpdates constants, or false to run immediately (default: false). Note that even when this is set to false, some updates might still get deferred (as some update might directly add child updates to DeferredUpdates).
  • known-revision-output: a combined canonical ParserOutput for the revision, perhaps from some cache. The caller is responsible for ensuring that the ParserOutput indeed matched the $rev and $options. This mechanism is intended as a temporary stop-gap, for the time until caches have been changed to store RenderedRevision states instead of ParserOutput objects. (default: null) (since 1.33)
Since
1.32

Definition at line 2163 of file WikiPage.php.

References getDerivedDataUpdater(), and getRevisionRecord().

◆ doUpdateRestrictions()

WikiPage::doUpdateRestrictions ( array  $limit,
array  $expiry,
$cascade,
  $reason,
UserIdentity  $user,
  $tags = null 
)

Update the article's restriction field, and leave a log entry.

This works for protection both existing and non-existing pages.

Parameters
array$limitSet of restriction keys
array$expiryPer restriction type expiration
int&$cascadeSet to false if cascading protection isn't allowed.
string$reason
UserIdentity$userThe user updating the restrictions
string | string[] | null$tagsChange tags to add to the pages and protection log entries ($user should be able to add the specified tags before this is called)
Returns
Status Status object; if action is taken, $status->value is the log_id of the protection log entry.

Definition at line 2193 of file WikiPage.php.

References $wgCascadingRestrictionLevels, DB_PRIMARY, getId(), MediaWiki\User\UserIdentity\getId(), getLatest(), CommentStore\getStore(), insertNullProtectionRevision(), InfoAction\invalidateCache(), loadPageData(), StatusValue\newFatal(), StatusValue\newGood(), protectDescriptionLog(), Title\purgeExpiredRestrictions(), wfGetDB(), wfMessage(), wfReadOnly(), and wfReadOnlyReason().

◆ doUserEditContent()

WikiPage::doUserEditContent ( Content  $content,
Authority  $performer,
  $summary,
  $flags = 0,
  $originalRevId = false,
  $tags = [],
  $undidRevId = 0 
)

Change an existing article or create a new article.

Updates RC and all necessary caches, optionally via the deferred update array.

Deprecated:
since 1.36, use PageUpdater::saveRevision instead. Note that the new method expects callers to take care of checking EDIT_MINOR against the minoredit right, and to apply the autopatrol right as appropriate.
Parameters
Content$contentNew content
Authority$performerdoing the edit
string | CommentStoreComment$summaryEdit summary
int$flagsBitfield: EDIT_NEW Article is known or assumed to be non-existent, create a new one EDIT_UPDATE Article is known or assumed to be pre-existing, update it EDIT_MINOR Mark this edit minor, if the user is allowed to do so EDIT_SUPPRESS_RC Do not log the change in recentchanges EDIT_FORCE_BOT Mark the edit a "bot" edit regardless of user rights EDIT_AUTOSUMMARY Fill in blank summaries with generated text where possible EDIT_INTERNAL Signal that the page retrieve/save cycle happened entirely in this request.

If neither EDIT_NEW nor EDIT_UPDATE is specified, the status of the article will be detected. If EDIT_UPDATE is specified and the article doesn't exist, the function will return an edit-gone-missing error. If EDIT_NEW is specified and the article does exist, an edit-already-exists error will be returned. These two conditions are also possible with auto-detection due to MediaWiki's performance-optimised locking strategy.

Parameters
bool | int$originalRevId,The ID of an original revision that the edit restores or repeats. The new revision is expected to have the exact same content as the given original revision. This is used with rollbacks and with dummy "null" revisions which are created to record things like page moves.
array | null$tagsChange tags to apply to this edit Callers are responsible for permission checks (with ChangeTags::canAddTagsAccompanyingChange)
int$undidRevIdId of revision that was undone or 0
Exceptions
MWException
Returns
Status Possible errors: edit-hook-aborted: The ArticleSave hook aborted the edit but didn't set the fatal flag of $status. edit-gone-missing: In update mode, but the article didn't exist. edit-conflict: In update mode, the article changed unexpectedly. edit-no-change: Warning that the text was the same as before. edit-already-exists: In creation mode, but the article already exists.

Extensions may define additional errors.

$return->value will contain an associative array with members as follows: new: Boolean indicating if the function attempted to create a new article. revision-record: The revision record object for the inserted revision, or null.

Since
1.36

Definition at line 1914 of file WikiPage.php.

References $content, $wgUseNPPatrol, $wgUseRCPatrol, MediaWiki\Permissions\Authority\authorizeWrite(), EDIT_MINOR, exists(), MediaWiki\Permissions\Authority\isAllowed(), newPageUpdater(), CommentStoreComment\newUnsavedComment(), RecentChange\PRC_AUTOPATROLLED, and setLastEdit().

Referenced by ContentModelChange\doContentModelChange(), and doEditContent().

◆ doViewUpdates()

WikiPage::doViewUpdates ( Authority  $performer,
  $oldid = 0 
)

Do standard deferred updates after page view (existing or missing page)

Parameters
Authority$performerThe viewing user
int$oldidRevision id being viewed; if not given or 0, latest revision is assumed

Definition at line 1299 of file WikiPage.php.

References DeferredUpdates\addCallableUpdate(), and wfReadOnly().

◆ exists()

◆ factory()

static WikiPage::factory ( PageIdentity  $pageIdentity)
static

Create a WikiPage object of the appropriate class for the given PageIdentity.

The PageIdentity must represent a proper page that can exist on the wiki, that is, not a special page or media link or section link or interwiki link.

Parameters
PageIdentity$pageIdentity
Exceptions
MWException
Returns
WikiPage|WikiCategoryPage|WikiFilePage
Deprecated:
since 1.36, use WikiPageFactory::newFromTitle instead

Definition at line 200 of file WikiPage.php.

Referenced by ApiBase\getTitleOrPageId(), ApiPageSet\loadRedirectTargets(), and MessageCache\refreshAndReplaceInternal().

◆ followRedirect()

WikiPage::followRedirect ( )

Get the Title object or URL this page redirects to.

Returns
bool|Title|string False, Title of in-wiki target, or string with URL

Reimplemented in WikiFilePage.

Definition at line 1147 of file WikiPage.php.

References getRedirectTarget(), and getRedirectURL().

◆ formatExpiry()

WikiPage::formatExpiry (   $expiry)
protected
Parameters
string$expiry14-char timestamp or "infinity", or false if the input was invalid
Returns
string

Definition at line 2522 of file WikiPage.php.

References wfMessage().

Referenced by protectDescription(), and protectDescriptionLog().

◆ getActionOverrides()

WikiPage::getActionOverrides ( )
Todo:
Move this UI stuff somewhere else
See also
ContentHandler::getActionOverrides
Returns
array

Reimplemented in WikiFilePage.

Definition at line 289 of file WikiPage.php.

References getContentHandler().

◆ getAutoDeleteReason()

WikiPage::getAutoDeleteReason ( $hasHistory)

Auto-generates a deletion reason.

Parameters
bool&$hasHistoryWhether the page has a history
Returns
string|bool String containing deletion reason or empty string, or boolean false if no revision occurred

Definition at line 3014 of file WikiPage.php.

References getContentHandler(), and getTitle().

Referenced by ApiDelete\delete().

◆ getCategories()

WikiPage::getCategories ( )

Returns a list of categories this page is a member of.

Results will include hidden categories

Returns
TitleArray

Definition at line 2961 of file WikiPage.php.

References $dbr, $res, DB_REPLICA, getId(), TitleArray\newFromResult(), NS_CATEGORY, and wfGetDB().

◆ getComment()

WikiPage::getComment (   $audience = RevisionRecord::FOR_PUBLIC,
Authority  $performer = null 
)
Parameters
int$audienceOne of: RevisionRecord::FOR_PUBLIC to be displayed to all users RevisionRecord::FOR_THIS_USER to be displayed to the given user RevisionRecord::RAW get the text regardless of permissions
Authority | null$performerobject to check for, only if FOR_THIS_USER is passed to the $audience parameter (since 1.36, if using FOR_THIS_USER and not specifying a user no fallback is provided and the RevisionRecord method will throw an error)
Returns
string|null Comment stored for the last article revision, or null if the specified audience does not have access to the comment.

Definition at line 937 of file WikiPage.php.

References loadLastEdit().

◆ getContent()

WikiPage::getContent (   $audience = RevisionRecord::FOR_PUBLIC,
Authority  $performer = null 
)

Get the content of the current revision.

No side-effects...

Parameters
int$audienceOne of: RevisionRecord::FOR_PUBLIC to be displayed to all users RevisionRecord::FOR_THIS_USER to be displayed to the given user RevisionRecord::RAW get the text regardless of permissions
Authority | null$performerobject to check for, only if FOR_THIS_USER is passed to the $audience parameter
Returns
Content|null The content of the current revision
Since
1.21

Definition at line 837 of file WikiPage.php.

References loadLastEdit().

Referenced by doPurge(), ContentHandler\getDataForSearchIndex(), TextContentHandler\getDataForSearchIndex(), ApiParse\getParsedContent(), EditPage\getPreloadedContent(), insertRedirect(), isCountable(), and replaceSectionAtRev().

◆ getContentHandler()

WikiPage::getContentHandler ( )

Returns the ContentHandler instance to be used to deal with the content of this WikiPage.

Shorthand for ContentHandler::getForModelID( $this->getContentModel() );

Returns
ContentHandler
Since
1.21

Definition at line 302 of file WikiPage.php.

References getContentHandlerFactory(), and getContentModel().

Referenced by getActionOverrides(), getAutoDeleteReason(), replaceSectionAtRev(), shouldCheckParserCache(), and supportsSections().

◆ getContentHandlerFactory()

WikiPage::getContentHandlerFactory ( )
private
Returns
IContentHandlerFactory

Definition at line 272 of file WikiPage.php.

Referenced by getContentHandler().

◆ getContentModel()

WikiPage::getContentModel ( )

Returns the page's content model id (see the CONTENT_MODEL_XXX constants).

Will use the revisions actual content model if the page exists, and the page's default if the page doesn't exist yet.

Returns
string
Since
1.21

Definition at line 671 of file WikiPage.php.

References $cache, exists(), and getRevisionRecord().

Referenced by getContentHandler().

◆ getContributors()

WikiPage::getContributors ( )

Get a list of users who have edited this article, not including the user who made the most recent revision, which you can get from $article->getUser() if you want it.

Returns
UserArrayFromResult

Definition at line 1199 of file WikiPage.php.

References $dbr, $res, DB_REPLICA, getId(), getUser(), getUserText(), User\newFromId(), User\newFromName(), ActorMigration\newMigration(), and wfGetDB().

◆ getCreator()

WikiPage::getCreator (   $audience = RevisionRecord::FOR_PUBLIC,
Authority  $performer = null 
)

Get the User object of the user who created the page.

Parameters
int$audienceOne of: RevisionRecord::FOR_PUBLIC to be displayed to all users RevisionRecord::FOR_THIS_USER to be displayed to the given user RevisionRecord::RAW get the text regardless of permissions
Authority | null$performerobject to check for, only if FOR_THIS_USER is passed to the $audience parameter (since 1.36, if using FOR_THIS_USER and not specifying a user no fallback is provided and the RevisionRecord method will throw an error)
Returns
UserIdentity|null

Definition at line 897 of file WikiPage.php.

References getRevisionStore(), and getTitle().

◆ getDBkey()

WikiPage::getDBkey ( )

Get the page title in DB key form.This should always return a valid DB key.

Returns
string

Since
1.36

Implements Page\ProperPageIdentity.

Definition at line 3297 of file WikiPage.php.

References getTitle().

Referenced by lockAndGetLatest().

◆ getDBLoadBalancer()

WikiPage::getDBLoadBalancer ( )
private
Returns
ILoadBalancer

Definition at line 279 of file WikiPage.php.

Referenced by loadPageData(), and replaceSectionContent().

◆ getDeletionUpdates()

WikiPage::getDeletionUpdates (   $rev = null)

Returns a list of updates to be performed when this page is deleted.

The updates should remove any information about this page from secondary data stores such as links tables.

Deprecated:
since 1.37 With no replacement.
Parameters
RevisionRecord | Content | null$revThe revision being deleted. Also accepts a Content object for backwards compatibility.
Returns
DeferrableUpdate[]

Definition at line 3187 of file WikiPage.php.

References getId(), getRevisionRecord(), wfDebug(), and wfDeprecated().

◆ getDerivedDataUpdater()

WikiPage::getDerivedDataUpdater ( UserIdentity  $forUser = null,
RevisionRecord  $forRevision = null,
RevisionSlotsUpdate  $forUpdate = null,
  $forEdit = false 
)
private

Returns a DerivedPageDataUpdater for use with the given target revision or new content.

This method attempts to re-use the same DerivedPageDataUpdater instance for subsequent calls. The parameters passed to this method are used to ensure that the DerivedPageDataUpdater returned matches that caller's expectations, allowing an existing instance to be re-used if the given parameters match that instance's internal state according to DerivedPageDataUpdater::isReusableFor(), and creating a new instance of the parameters do not match the existing one.

If neither $forRevision nor $forUpdate is given, a new DerivedPageDataUpdater is always created, replacing any DerivedPageDataUpdater currently cached.

MCR migration note: this replaces WikiPage::prepareContentForEdit.

Since
1.32
Parameters
UserIdentity | null$forUserThe user that will be used for, or was used for, PST.
RevisionRecord | null$forRevisionThe revision created by the edit for which to perform updates, if the edit was already saved.
RevisionSlotsUpdate | null$forUpdateThe new content to be saved by the edit (pre PST), if the edit was not yet saved.
bool$forEditOnly re-use if the cached DerivedPageDataUpdater has the current revision as the edit's parent revision. This ensures that the same DerivedPageDataUpdater cannot be re-used for two consecutive edits.
Returns
DerivedPageDataUpdater

Definition at line 1694 of file WikiPage.php.

References $derivedDataUpdater, and getPageUpdaterFactory().

Referenced by doEditUpdates(), doSecondaryDataUpdates(), newPageUpdater(), prepareContentForEdit(), and updateParserCache().

◆ getHiddenCategories()

WikiPage::getHiddenCategories ( )

Returns a list of hidden categories this page is a member of.

Uses the page_props and categorylinks tables.

Returns
Title[]

Definition at line 2983 of file WikiPage.php.

References $dbr, $res, DB_REPLICA, getId(), Title\makeTitle(), NS_CATEGORY, and wfGetDB().

◆ getId()

◆ getLanguage()

WikiPage::getLanguage ( )
Returns
?string language code for the page

Implements Page\PageRecord.

Definition at line 728 of file WikiPage.php.

References $mLanguage, and loadLastEdit().

◆ getLatest()

WikiPage::getLatest (   $wikiId = self::LOCAL)

Get the page_latest field.

Parameters
bool$wikiId
Returns
int The rev_id of current revision

Implements Page\PageRecord.

Definition at line 752 of file WikiPage.php.

References $mLatest, MediaWiki\DAO\WikiAwareEntity\assertWiki(), and loadPageData().

Referenced by doUpdateRestrictions(), ApiParse\getParsedContent(), insertRedirect(), loadLastEdit(), InfoAction\pageCounts(), and shouldCheckParserCache().

◆ getLinksTimestamp()

WikiPage::getLinksTimestamp ( )

Get the page_links_updated field.

Returns
string|null Containing GMT timestamp

Definition at line 740 of file WikiPage.php.

References $mLinksUpdated, and loadPageData().

Referenced by RefreshLinksJob\isAlreadyRefreshed(), and triggerOpportunisticLinksUpdate().

◆ getMinorEdit()

WikiPage::getMinorEdit ( )

Returns true if last revision was marked as "minor edit".

Returns
bool Minor edit indicator for the last article revision.

Definition at line 952 of file WikiPage.php.

References loadLastEdit().

◆ getMutableCacheKeys()

WikiPage::getMutableCacheKeys ( WANObjectCache  $cache)
Parameters
WANObjectCache$cache
Returns
string[]
Since
1.28

Definition at line 3264 of file WikiPage.php.

References $cache, and getTitle().

◆ getNamespace()

WikiPage::getNamespace ( )

Returns the page's namespace number.The value returned by this method should represent a valid namespace, but this cannot be guaranteed in all cases.

Returns
int

Since
1.36

Implements Page\PageReference.

Definition at line 3289 of file WikiPage.php.

References getTitle().

Referenced by lockAndGetLatest(), updateCategoryCounts(), and updateRedirectOn().

◆ getPageIsRedirectField()

WikiPage::getPageIsRedirectField ( )

Get the value of the page_is_redirect field in the DB.

This is probably not what you want. Use WikiPage::isRedirect() to test if the page is a redirect. Use Title::isRedirect() for a fast check for the purposes of linking to a page.

Since
1.36
Returns
bool

Definition at line 638 of file WikiPage.php.

References $mPageIsRedirectField, and loadPageData().

Referenced by getRedirectTarget().

◆ getPageUpdaterFactory()

WikiPage::getPageUpdaterFactory ( )
private
Returns
PageUpdaterFactory

Definition at line 258 of file WikiPage.php.

Referenced by getDerivedDataUpdater(), and newPageUpdater().

◆ getParserOutput()

WikiPage::getParserOutput ( ParserOptions  $parserOptions,
  $oldid = null,
  $noCache = false 
)

Get a ParserOutput for the given ParserOptions and revision ID.

The parser cache will be used if possible. Cache misses that result in parser runs are debounced with PoolCounter.

XXX merge this with updateParserCache()?

Since
1.19
Parameters
ParserOptions$parserOptionsParserOptions to use for the parse operation
null | int$oldidRevision ID to get the text from, passing null or 0 will get the current revision (default value)
bool$noCacheDo not read from or write to caches.
Returns
bool|ParserOutput ParserOutput or false if the revision was not found or is not public

Definition at line 1273 of file WikiPage.php.

References getRevisionRecord(), getRevisionStore(), and getTitle().

Referenced by ApiParse\getPageParserOutput(), and DifferenceEngine\getParserOutput().

◆ getQueryInfo()

static WikiPage::getQueryInfo ( )
static

Return the tables, fields, and join conditions to be selected to create a new page object.

Since
1.31
Returns
array With three keys:
  • tables: (string[]) to include in the $table to IDatabase->select()
  • fields: (string[]) to include in the $vars to IDatabase->select()
  • joins: (array) to include in the $join_conds to IDatabase->select()

Definition at line 367 of file WikiPage.php.

References $wgPageLanguageUseDB.

Referenced by Title\getLinksFrom(), Page\WikiPageFactory\newFromID(), and pageData().

◆ getRedirectTarget()

WikiPage::getRedirectTarget ( )

If this page is a redirect, get its target.

The target will be fetched from the redirect table if possible. If this page doesn't have an entry there, call insertRedirect()

Returns
Title|null Title object, or null if this page is not a redirect

Reimplemented in WikiFilePage.

Definition at line 1023 of file WikiPage.php.

References $dbr, $mRedirectTarget, DB_REPLICA, getId(), getPageIsRedirectField(), insertRedirect(), Title\makeTitleSafe(), NS_FILE, NS_MEDIA, and wfGetDB().

Referenced by followRedirect(), and EditPage\getPreloadedContent().

◆ getRedirectURL()

WikiPage::getRedirectURL (   $rt)

Get the Title object or URL to use for a redirect.

We use Title objects for same-wiki, non-special redirects and URLs for everything else.

Parameters
Title$rtRedirect target
Returns
bool|Title|string False, Title object of local target, or string with URL

Definition at line 1158 of file WikiPage.php.

References $source.

Referenced by followRedirect().

◆ getRevisionRecord()

◆ getRevisionStore()

WikiPage::getRevisionStore ( )
private

◆ getSourceURL()

WikiPage::getSourceURL ( )

Get the source URL for the content on this page, typically the canonical URL, but may be a remote link if the content comes from another site.

Since
1.28
Returns
string

Reimplemented in WikiFilePage.

Definition at line 3255 of file WikiPage.php.

References getTitle().

◆ getTimestamp()

WikiPage::getTimestamp ( )
Returns
string MW timestamp of last article revision

Definition at line 848 of file WikiPage.php.

References loadLastEdit().

Referenced by CreditsAction\getAuthor(), and InfoAction\pageCounts().

◆ getTitle()

◆ getTouched()

WikiPage::getTouched ( )

Get the page_touched field.

Returns
string Containing GMT timestamp

Implements Page\PageRecord.

Definition at line 718 of file WikiPage.php.

References $mTouched, and loadPageData().

Referenced by RefreshLinksJob\getParserOutputFromCache(), and triggerOpportunisticLinksUpdate().

◆ getUser()

WikiPage::getUser (   $audience = RevisionRecord::FOR_PUBLIC,
Authority  $performer = null 
)
Parameters
int$audienceOne of: RevisionRecord::FOR_PUBLIC to be displayed to all users RevisionRecord::FOR_THIS_USER to be displayed to the given user RevisionRecord::RAW get the text regardless of permissions
Authority | null$performerobject to check for, only if FOR_THIS_USER is passed to the $audience parameter (since 1.36, if using FOR_THIS_USER and not specifying a user no fallback is provided and the RevisionRecord method will throw an error)
Returns
int User ID for the user that made the last article revision

Definition at line 876 of file WikiPage.php.

References loadLastEdit().

Referenced by getContributors().

◆ getUserText()

WikiPage::getUserText (   $audience = RevisionRecord::FOR_PUBLIC,
Authority  $performer = null 
)
Parameters
int$audienceOne of: RevisionRecord::FOR_PUBLIC to be displayed to all users RevisionRecord::FOR_THIS_USER to be displayed to the given user RevisionRecord::RAW get the text regardless of permissions
Authority | null$performerobject to check for, only if FOR_THIS_USER is passed to the $audience parameter (since 1.36, if using FOR_THIS_USER and not specifying a user no fallback is provided and the RevisionRecord method will throw an error)
Returns
string Username of the user that made the last article revision

Definition at line 916 of file WikiPage.php.

References loadLastEdit().

Referenced by CreditsAction\getAuthor(), and getContributors().

◆ getWikiDisplayName()

WikiPage::getWikiDisplayName ( )

The display name for the site this content come from.

If a subclass overrides isLocal(), this could return something other than the current site name

Since
1.28
Returns
string

Reimplemented in WikiFilePage.

Definition at line 3242 of file WikiPage.php.

References $wgSitename.

◆ getWikiId()

WikiPage::getWikiId ( )
Returns
false self::LOCAL
Since
1.36

Implements Page\ProperPageIdentity.

Definition at line 3305 of file WikiPage.php.

References getTitle().

◆ hasDifferencesOutsideMainSlot()

static WikiPage::hasDifferencesOutsideMainSlot ( RevisionRecord  $a,
RevisionRecord  $b 
)
static

Helper method for checking whether two revisions have differences that go beyond the main slot.

MCR migration note: this method should go away!

Deprecated:
Use only as a stop-gap before refactoring to support MCR.
Parameters
RevisionRecord$a
RevisionRecord$b
Returns
bool

Definition at line 1534 of file WikiPage.php.

References MediaWiki\Revision\RevisionRecord\getSlots().

Referenced by EditPage\edit(), and EditPage\getContentObject().

◆ hasViewableContent()

WikiPage::hasViewableContent ( )

Check if this page is something we're going to be showing some sort of sensible content for.

If we return false, page views (plain action=view) will return an HTTP 404 response, so spiders and robots can know they're following a bad link.

Returns
bool

Reimplemented in WikiCategoryPage.

Definition at line 611 of file WikiPage.php.

◆ insertNullProtectionRevision()

WikiPage::insertNullProtectionRevision ( string  $revCommentMsg,
array  $limit,
array  $expiry,
bool  $cascade,
string  $reason,
UserIdentity  $user 
)

Insert a new null revision for this page.

Since
1.35
Parameters
string$revCommentMsgComment message key for the revision
array$limitSet of restriction keys
array$expiryPer restriction type expiration
bool$cascadeSet to false if cascading protection isn't allowed.
string$reason
UserIdentity$userUser to attribute to
Returns
RevisionRecord|null Null on error

Definition at line 2462 of file WikiPage.php.

References $revStore, DB_PRIMARY, MediaWiki\User\UserIdentity\getName(), getRevisionStore(), getTitle(), CommentStoreComment\newUnsavedComment(), protectDescription(), updateRevisionOn(), wfGetDB(), and wfMessage().

Referenced by doUpdateRestrictions().

◆ insertOn()

WikiPage::insertOn (   $dbw,
  $pageId = null 
)

Insert a new empty page record for this article.

This must be followed up by creating a revision and running $this->updateRevisionOn( ... ); or else the record will be left in a funky state. Best if all done inside a transaction.

Todo:
Factor out into a PageStore service, to be used by PageUpdater.
Parameters
IDatabase$dbw
int | null$pageIdCustom page ID that will be used for the insert statement
Returns
bool|int The newly created page_id key; false if the row was not inserted, e.g. because the title already existed or because the specified page ID is already in use.

Definition at line 1362 of file WikiPage.php.

References wfRandom().

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

◆ insertRedirect()

WikiPage::insertRedirect ( )

Insert an entry for this page into the redirect table if the content is a redirect.

The database update will be deferred via DeferredUpdates

Don't call this function directly unless you know what you're doing.

Returns
Title|null Title object or null if not a redirect

Definition at line 1076 of file WikiPage.php.

References $content, DeferredUpdates\addCallableUpdate(), DB_PRIMARY, getContent(), getLatest(), insertRedirectEntry(), and wfGetDB().

Referenced by getRedirectTarget().

◆ insertRedirectEntry()

WikiPage::insertRedirectEntry ( Title  $rt,
  $oldLatest = null 
)

Insert or update the redirect table entry for this page to indicate it redirects to $rt.

Parameters
Title$rtRedirect target
int | null$oldLatestPrior page_latest for check and set
Returns
bool Success

Definition at line 1102 of file WikiPage.php.

References $success, DB_PRIMARY, Title\getDBkey(), Title\getFragment(), getId(), Title\getInterwiki(), Title\getNamespace(), Title\isValidRedirectTarget(), lockAndGetLatest(), and wfGetDB().

Referenced by insertRedirect(), and updateRedirectOn().

◆ isBatchedDelete()

WikiPage::isBatchedDelete (   $safetyMargin = 0)

Determines if deletion of this page would be batched (executed over time by the job queue) or not (completed in the same request as the delete call).

It is unlikely but possible that an edit from another request could push the page over the batching threshold after this function is called, but before the caller acts upon the return value. Callers must decide for themselves how to deal with this. $safetyMargin is provided as an unreliable but situationally useful help for some common cases.

Deprecated:
since 1.37 Use DeletePage::isBatchedDelete instead.
Parameters
int$safetyMarginAdded to the revision count when checking for batching
Returns
bool True if deletion would be batched, false otherwise

Definition at line 2614 of file WikiPage.php.

References $dbr, $wgDeleteRevisionsBatchSize, DB_REPLICA, getId(), getRevisionStore(), and wfGetDB().

◆ isCountable()

WikiPage::isCountable (   $editInfo = false)

Determine whether a page would be suitable for being counted as an article in the site_stats table based on the title & its content.

Parameters
PreparedEdit | bool$editInfo(false): object returned by prepareTextForEdit(), if false, the current database state will be used
Returns
bool

Definition at line 969 of file WikiPage.php.

References $content, $wgArticleCountMethod, DB_REPLICA, getContent(), getId(), and wfGetDB().

Referenced by MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision().

◆ isLocal()

WikiPage::isLocal ( )

Whether this content displayed on this page comes from the local database.

Since
1.28
Returns
bool

Reimplemented in WikiFilePage.

Definition at line 3229 of file WikiPage.php.

◆ isNew()

WikiPage::isNew ( )

Tests if the page is new (only has one revision).

May produce false negatives for some old pages.

Since
1.36
Returns
bool

Implements Page\PageRecord.

Definition at line 653 of file WikiPage.php.

References $mIsNew, and loadPageData().

◆ isRedirect()

WikiPage::isRedirect ( )

Is the page a redirect, according to secondary tracking tables? If this is true, getRedirectTarget() will return a Title.

Returns
bool

Implements Page\PageRecord.

Reimplemented in WikiFilePage.

Definition at line 621 of file WikiPage.php.

References $mIsRedirect, and loadPageData().

Referenced by checkTouched(), EditPage\getPreloadedContent(), and MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision().

◆ isSamePageAs()

WikiPage::isSamePageAs ( PageReference  $other)

Checks whether the given PageReference refers to the same page as this PageReference.Two PageReference instances are considered to refer to the same page if they belong to the same wiki, and have the same namespace and DB key.

Parameters
PageReference$other
Returns
bool

Since
1.36
Parameters
PageReference$other
Returns
bool

Implements Page\PageReference.

Definition at line 3332 of file WikiPage.php.

References Page\PageReference\getDBkey(), Page\PageReference\getNamespace(), and Page\PageReference\getWikiId().

◆ loadFromRow()

WikiPage::loadFromRow (   $data,
  $from 
)

Load the object from a database row.

Since
1.20
Parameters
stdClass | bool$dataDB row containing fields returned by getQueryInfo() or false
string | int$fromOne of the following:
  • "fromdb" or WikiPage::READ_NORMAL if the data comes from a replica DB
  • "fromdbmaster" or WikiPage::READ_LATEST if the data comes from the primary DB
  • "forupdate" or WikiPage::READ_LOCKING if the data comes from the primary DB using SELECT FOR UPDATE

Definition at line 537 of file WikiPage.php.

References clearCacheFields(), and convertSelectType().

Referenced by loadPageData().

◆ loadLastEdit()

WikiPage::loadLastEdit ( )
protected

Loads everything except the text This isn't necessary for all uses, so it's only done if needed.

Definition at line 765 of file WikiPage.php.

References getId(), getLatest(), getRevisionStore(), getTitle(), and setLastEdit().

Referenced by getComment(), getContent(), getLanguage(), getMinorEdit(), getRevisionRecord(), getTimestamp(), getUser(), and getUserText().

◆ loadPageData()

WikiPage::loadPageData (   $from = 'fromdb')

Load the object from a given source by title.

Parameters
stdClass | string | int$fromOne of the following:
  • A DB query result object.
  • "fromdb" or WikiPage::READ_NORMAL to get from a replica DB.
  • "fromdbmaster" or WikiPage::READ_LATEST to get from the primary DB.
  • "forupdate" or WikiPage::READ_LOCKING to get from the primary DB using SELECT FOR UPDATE.
Returns
void

Definition at line 466 of file WikiPage.php.

References convertSelectType(), DB_REPLICA, getDBLoadBalancer(), DBAccessObjectUtils\getDBOptions(), loadFromRow(), and pageDataFromTitle().

Referenced by doUpdateRestrictions(), exists(), getId(), getLatest(), getLinksTimestamp(), getPageIsRedirectField(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), getTouched(), MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision(), isNew(), isRedirect(), ContentHandler\latestRevision(), and toPageRecord().

◆ lockAndGetLatest()

WikiPage::lockAndGetLatest ( )

Lock the page row for this title+id and return page_latest (or 0)

Returns
int Returns 0 if no row was found with this title+id
Since
1.27

Definition at line 2728 of file WikiPage.php.

References DB_PRIMARY, getDBkey(), getId(), getNamespace(), getTitle(), and wfGetDB().

Referenced by MediaWiki\Storage\PageUpdater\doModify(), and insertRedirectEntry().

◆ makeParserOptions()

WikiPage::makeParserOptions (   $context)

Get parser options suitable for rendering the primary article wikitext.

See also
ParserOptions::newCanonical
Parameters
IContextSource | UserIdentity | string$contextOne of the following:
  • IContextSource: Use the User and the Language of the provided context
  • UserIdentity: Use the provided UserIdentity object and $wgLang for the language, so use an IContextSource object if possible.
  • 'canonical': Canonical options (anonymous user with default preferences and content language).
Returns
ParserOptions

Definition at line 1996 of file WikiPage.php.

References getTitle(), and ParserOptions\newCanonical().

Referenced by CategoryMembershipChangeJob\getCategoriesAtRev(), RefreshLinksJob\getParserOutput(), DifferenceEngine\getParserOutput(), ContentHandler\getParserOutputForIndexing(), RefreshLinksJob\getParserOutputFromCache(), and ApiParse\makeParserOptions().

◆ newFromID()

static WikiPage::newFromID (   $id,
  $from = 'fromdb' 
)
static

Constructor from a page id.

Parameters
int$idArticle ID to load
string | int$fromOne of the following values:
  • "fromdb" or WikiPage::READ_NORMAL to select from a replica DB
  • "fromdbmaster" or WikiPage::READ_LATEST to select from the primary database
Returns
WikiPage|null
Deprecated:
since 1.36, use WikiPageFactory::newFromID instead

Definition at line 215 of file WikiPage.php.

Referenced by ApiBase\getTitleOrPageId().

◆ newFromRow()

static WikiPage::newFromRow (   $row,
  $from = 'fromdb' 
)
static

Constructor from a database row.

Since
1.20
Parameters
stdClass$rowDatabase row containing at least fields returned by getQueryInfo().
string | int$fromSource of $data:
  • "fromdb" or WikiPage::READ_NORMAL: from a replica DB
  • "fromdbmaster" or WikiPage::READ_LATEST: from the primary DB
  • "forupdate" or WikiPage::READ_LOCKING: from the primary DB using SELECT FOR UPDATE
Returns
WikiPage
Deprecated:
since 1.36, use WikiPageFactory::newFromRow instead

Definition at line 231 of file WikiPage.php.

◆ newPageUpdater()

WikiPage::newPageUpdater (   $performer,
RevisionSlotsUpdate  $forUpdate = null 
)

Returns a PageUpdater for creating new revisions on this page (or creating the page).

The PageUpdater can also be used to detect the need for edit conflict resolution, and to protected such conflict resolution from concurrent edits using a check-and-set mechanism.

Since
1.32
Note
Once extensions no longer rely on WikiPage to get access to the state of an ongoing edit via prepareContentForEdit() and WikiPage::getCurrentUpdate(), this method should be deprecated and callers should be migrated to using PageUpdaterFactory::newPageUpdater() instead.
Parameters
Authority | UserIdentity$performer
RevisionSlotsUpdate | null$forUpdateIf given, allows any cached ParserOutput that may already have been returned via getDerivedDataUpdater to be re-used.
Returns
PageUpdater

Definition at line 1756 of file WikiPage.php.

References getDerivedDataUpdater(), and getPageUpdaterFactory().

Referenced by doUserEditContent().

◆ onArticleCreate()

static WikiPage::onArticleCreate ( Title  $title)
static

The onArticle*() functions are supposed to be a kind of hooks which should be called whenever any of the specified actions are done.

This is a good place to put code to clear caches, for instance.

This is called on page move and undelete, as well as edit

Parameters
Title$title

Definition at line 2793 of file WikiPage.php.

References $job, $title, HTMLCacheUpdateJob\newForBacklinks(), Category\newFromTitle(), NS_CATEGORY, and JobQueueGroup\singleton().

Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), and MovePage\moveToInternal().

◆ onArticleDelete()

static WikiPage::onArticleDelete ( Title  $title)
static

◆ onArticleEdit()

static WikiPage::onArticleEdit ( Title  $title,
RevisionRecord  $revRecord = null,
  $slotsChanged = null 
)
static

Purge caches on page update etc.

Parameters
Title$title
RevisionRecord | null$revRecordrevision that was just saved, may be null
string[] | null$slotsChangedThe role names of the slots that were changed. If not given, all slots are assumed to have changed.

Definition at line 2885 of file WikiPage.php.

References $title, DeferredUpdates\addCallableUpdate(), InfoAction\invalidateCache(), HTMLCacheUpdateJob\newForBacklinks(), purgeInterwikiCheckKey(), and JobQueueGroup\singleton().

Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().

◆ pageData()

WikiPage::pageData (   $dbr,
  $conditions,
  $options = [] 
)
protected

Fetch a page record with the given conditions.

Parameters
IDatabase$dbr
array$conditions
array$options
Returns
stdClass|false Database result resource, or false on failure

Definition at line 403 of file WikiPage.php.

References $dbr, and getQueryInfo().

Referenced by pageDataFromId(), pageDataFromTitle(), and updateRevisionOn().

◆ pageDataFromId()

WikiPage::pageDataFromId (   $dbr,
  $id,
  $options = [] 
)

Fetch a page record matching the requested ID.

Parameters
IDatabase$dbr
int$id
array$options
Returns
stdClass|false Database result resource, or false on failure

Definition at line 450 of file WikiPage.php.

References $dbr, and pageData().

◆ pageDataFromTitle()

WikiPage::pageDataFromTitle (   $dbr,
  $title,
  $options = [] 
)

Fetch a page record matching the Title object's namespace and title using a sanitized title string.

Parameters
IDatabase$dbr
Title$title
array$options
Returns
stdClass|false Database result resource, or false on failure

Definition at line 432 of file WikiPage.php.

References $dbr, $title, and pageData().

Referenced by loadPageData().

◆ prepareContentForEdit()

WikiPage::prepareContentForEdit ( Content  $content,
RevisionRecord  $revision = null,
UserIdentity  $user = null,
  $serialFormat = null,
  $useCache = true 
)

Prepare content which is about to be saved.

Prior to 1.30, this returned a stdClass.

Deprecated:
since 1.32, use getDerivedDataUpdater instead.
Note
Calling without a UserIdentity is separately deprecated since 1.37
Parameters
Content$content
RevisionRecord | null$revisionUsed with vary-revision or vary-revision-id.
UserIdentity | null$user
string | null$serialFormatIGNORED
bool$useCacheCheck shared prepared edit cache
Returns
PreparedEdit
Since
1.21

Definition at line 2027 of file WikiPage.php.

References $content, getDerivedDataUpdater(), StubGlobalUser\getRealUser(), and wfDeprecated().

Referenced by MediaWiki\Storage\PageEditStash\parseAndCache().

◆ protectDescription()

WikiPage::protectDescription ( array  $limit,
array  $expiry 
)

Builds the description to serve as comment for the edit.

Parameters
array$limitSet of restriction keys
array$expiryPer restriction type expiration
Returns
string

Definition at line 2544 of file WikiPage.php.

References formatExpiry(), and wfMessage().

Referenced by insertNullProtectionRevision().

◆ protectDescriptionLog()

WikiPage::protectDescriptionLog ( array  $limit,
array  $expiry 
)

Builds the description to serve as comment for the log entry.

Some bots may parse IRC lines, which are generated from log entries which contain plain protect description text. Keep them in old format to avoid breaking compatibility. TODO: Fix protection log to store structured description and format it on-the-fly.

Parameters
array$limitSet of restriction keys
array$expiryPer restriction type expiration
Returns
string

Definition at line 2586 of file WikiPage.php.

References formatExpiry().

Referenced by doUpdateRestrictions().

◆ purgeInterwikiCheckKey()

static WikiPage::purgeInterwikiCheckKey ( Title  $title)
staticprivate

#-

Purge the check key for cross-wiki cache entries referencing this page

Parameters
Title$title

Definition at line 2933 of file WikiPage.php.

References $cache, $title, $wgEnableScaryTranscluding, DeferredUpdates\addCallableUpdate(), and WikiMap\getCurrentWikiDbDomain().

Referenced by onArticleDelete(), and onArticleEdit().

◆ replaceSectionAtRev()

WikiPage::replaceSectionAtRev (   $sectionId,
Content  $sectionContent,
  $sectionTitle = '',
  $baseRevId = null 
)
Parameters
string | int | null | bool$sectionIdSection identifier as a number or string (e.g. 0, 1 or 'T-1'), null/false or an empty string for the whole page or 'new' for a new section.
Content$sectionContentNew content of the section.
string$sectionTitleNew section's subject, only if $section is "new".
int | null$baseRevId
Exceptions
MWException
Returns
Content|null New complete article content, or null if error.
Since
1.24

Definition at line 1609 of file WikiPage.php.

References getContent(), getContentHandler(), getId(), getRevisionStore(), supportsSections(), and wfDebug().

Referenced by replaceSectionContent().

◆ replaceSectionContent()

WikiPage::replaceSectionContent (   $sectionId,
Content  $sectionContent,
  $sectionTitle = '',
  $edittime = null 
)
Parameters
string | int | null | bool$sectionIdSection identifier as a number or string (e.g. 0, 1 or 'T-1'), null/false or an empty string for the whole page or 'new' for a new section.
Content$sectionContentNew content of the section.
string$sectionTitleNew section's subject, only if $section is "new".
string$edittimeRevision timestamp or null to use the current revision.
Exceptions
MWException
Returns
Content|null New complete article content, or null if error.
Since
1.21
Deprecated:
since 1.24, use replaceSectionAtRev instead

Definition at line 1570 of file WikiPage.php.

References getDBLoadBalancer(), getRevisionStore(), and replaceSectionAtRev().

◆ setLastEdit()

WikiPage::setLastEdit ( RevisionRecord  $revRecord)
private

Set the latest revision.

Parameters
RevisionRecord$revRecord

Definition at line 804 of file WikiPage.php.

References MediaWiki\Revision\RevisionRecord\getId(), and MediaWiki\Revision\RevisionRecord\getTimestamp().

Referenced by doUserEditContent(), loadLastEdit(), and updateRevisionOn().

◆ setTimestamp()

WikiPage::setTimestamp (   $ts)

Set the page timestamp (use only to avoid DB queries)

Parameters
string$tsMW timestamp of last article revision
Returns
void

Definition at line 862 of file WikiPage.php.

◆ shouldCheckParserCache()

WikiPage::shouldCheckParserCache ( ParserOptions  $parserOptions,
  $oldId 
)

Should the parser cache be used?

Parameters
ParserOptions$parserOptionsParserOptions to check
int$oldId
Returns
bool

Definition at line 1250 of file WikiPage.php.

References exists(), getContentHandler(), and getLatest().

◆ supportsSections()

WikiPage::supportsSections ( )

Returns true if this page's content model supports sections.

Returns
bool
Todo:
The skin should check this and not offer section functionality if sections are not supported.
Todo:
The EditPage should check this and not offer section functionality if sections are not supported.

Definition at line 1552 of file WikiPage.php.

References getContentHandler().

Referenced by replaceSectionAtRev().

◆ toPageRecord()

WikiPage::toPageRecord ( )

Returns the page represented by this WikiPage as a PageStoreRecord.

The PageRecord returned by this method is guaranteed to be immutable.

It is preferred to use this method rather than using the WikiPage as a PageIdentity directly.

Since
1.36
Exceptions
PreconditionExceptionif the page does not exist.
Returns
ExistingPageRecord

Definition at line 3358 of file WikiPage.php.

References exists(), getId(), and loadPageData().

◆ triggerOpportunisticLinksUpdate()

WikiPage::triggerOpportunisticLinksUpdate ( ParserOutput  $parserOutput)

Opportunistically enqueue link update jobs after a fresh parser output was generated.

This method should only be called by PoolWorkArticleViewCurrent, after a page view experienced a miss from the ParserCache, and a new ParserOutput was generated. Specifically, for load reasons, this method must not get called during page views that use a cached ParserOutput.

Since
1.25
Access: internal
For use by PoolWorkArticleViewCurrent
Parameters
ParserOutput$parserOutputCurrent version page output

Definition at line 3119 of file WikiPage.php.

References $cache, CacheTime\getCacheExpiry(), CacheTime\getCacheTime(), getId(), getLinksTimestamp(), ObjectCache\getLocalClusterInstance(), RequestContext\getMain(), getTouched(), ParserOutput\hasReducedExpiry(), RefreshLinksJob\newDynamic(), RefreshLinksJob\newPrioritized(), JobQueueGroup\singleton(), and wfReadOnly().

◆ updateCategoryCounts()

WikiPage::updateCategoryCounts ( array  $added,
array  $deleted,
  $id = 0 
)

Update all the appropriate counts in the category table, given that we've added the categories $added and deleted the categories $deleted.

This should only be called from deferred updates or jobs to avoid contention.

Parameters
string[]$addedThe names of categories that were added
string[]$deletedThe names of categories that were deleted
int$idPage ID (this should be the original deleted page ID)

Definition at line 3028 of file WikiPage.php.

References $type, DeferredUpdates\addCallableUpdate(), DB_PRIMARY, getId(), getNamespace(), getTitle(), Category\newFromName(), and wfGetDB().

◆ updateParserCache()

WikiPage::updateParserCache ( array  $options = [])

Update the parser cache.

Note
This is a temporary workaround until there is a proper data updater class. It will become deprecated soon.
Parameters
array$options
  • causeAction: an arbitrary string identifying the reason for the update. See DataUpdate::getCauseAction(). (default 'edit-page')
  • causeAgent: name of the user who caused the update (string, defaults to the user who created the revision)
Since
1.32

Definition at line 2119 of file WikiPage.php.

References getDerivedDataUpdater(), and getRevisionRecord().

◆ updateRedirectOn()

WikiPage::updateRedirectOn (   $dbw,
  $redirectTitle,
  $lastRevIsRedirect = null 
)

Add row to the redirect table if this is a redirect, remove otherwise.

Parameters
IDatabase$dbw
Title | null$redirectTitleTitle object pointing to the redirect target, or NULL if this is not a redirect
null | bool$lastRevIsRedirectIf given, will optimize adding and removing rows in redirect table.
Returns
bool True on success, false on failure
Access: internal

Definition at line 1495 of file WikiPage.php.

References $success, getId(), getNamespace(), getTitle(), insertRedirectEntry(), and NS_FILE.

Referenced by updateRevisionOn().

◆ updateRevisionOn()

WikiPage::updateRevisionOn (   $dbw,
RevisionRecord  $revision,
  $lastRevision = null,
  $lastRevIsRedirect = null 
)

Update the page record to point to a newly saved revision.

Todo:
Factor out into a PageStore service, or move into PageUpdater.
Parameters
IDatabase$dbw
RevisionRecord$revisionFor ID number, and text used to set length and redirect status fields.
int | null$lastRevisionIf given, will not overwrite the page field when different from the currently set value. Giving 0 indicates the new page flag should be set on.
bool | null$lastRevIsRedirectIf given, will optimize adding and removing rows in redirect table.
Returns
bool Success; false if the page row was missing or page_latest changed

Definition at line 1407 of file WikiPage.php.

References $content, MediaWiki\Revision\RevisionRecord\getContent(), getId(), MediaWiki\Revision\RevisionRecord\getId(), MediaWiki\Revision\RevisionRecord\getSlot(), MediaWiki\Revision\RevisionRecord\getTimestamp(), pageData(), setLastEdit(), and updateRedirectOn().

Referenced by MediaWiki\Storage\PageUpdater\doCreate(), MediaWiki\Storage\PageUpdater\doModify(), and insertNullProtectionRevision().

◆ wasLoadedFrom()

WikiPage::wasLoadedFrom (   $from)

Checks whether the page data was loaded using the given database access mode (or better).

Since
1.32
Parameters
string | int$fromOne of the following:
  • "fromdb" or WikiPage::READ_NORMAL to get from a replica DB.
  • "fromdbmaster" or WikiPage::READ_LATEST to get from the primary DB.
  • "forupdate" or WikiPage::READ_LOCKING to get from the primary DB using SELECT FOR UPDATE.
Returns
bool

Definition at line 511 of file WikiPage.php.

References convertSelectType().

Member Data Documentation

◆ $derivedDataUpdater

DerivedPageDataUpdater null WikiPage::$derivedDataUpdater = null
private

Definition at line 164 of file WikiPage.php.

Referenced by getDerivedDataUpdater().

◆ $mDataLoaded

bool WikiPage::$mDataLoaded = false
Todo:
make protected
Note
for access by subclasses only

Definition at line 79 of file WikiPage.php.

◆ $mDataLoadedFrom

int WikiPage::$mDataLoadedFrom = self::READ_NONE
protected

One of the READ_* constants.

Definition at line 134 of file WikiPage.php.

◆ $mHasRedirectTarget

bool null WikiPage::$mHasRedirectTarget = null
private

Boolean if the redirect status is definitively known.

If this is true, getRedirectTarget() must return non-null.

Definition at line 93 of file WikiPage.php.

◆ $mId

int WikiPage::$mId = null
protected

Definition at line 129 of file WikiPage.php.

Referenced by getId().

◆ $mIsNew

bool WikiPage::$mIsNew = false
private

Definition at line 105 of file WikiPage.php.

Referenced by isNew().

◆ $mIsRedirect

bool WikiPage::$mIsRedirect = false
private

Definition at line 110 of file WikiPage.php.

Referenced by isRedirect().

◆ $mLanguage

string null WikiPage::$mLanguage = null
protected

Definition at line 154 of file WikiPage.php.

Referenced by getLanguage().

◆ $mLastRevision

RevisionRecord null WikiPage::$mLastRevision = null
private

Definition at line 139 of file WikiPage.php.

Referenced by getRevisionRecord().

◆ $mLatest

int false WikiPage::$mLatest = false

False means "not loaded".

Todo:
make protected
Note
for access by subclasses only

Definition at line 117 of file WikiPage.php.

Referenced by getLatest().

◆ $mLinksUpdated

string WikiPage::$mLinksUpdated = '19700101000000'
protected

Definition at line 159 of file WikiPage.php.

Referenced by getLinksTimestamp().

◆ $mPageIsRedirectField

bool WikiPage::$mPageIsRedirectField = false
private

A cache of the page_is_redirect field, loaded with page data.

Definition at line 85 of file WikiPage.php.

Referenced by getPageIsRedirectField().

◆ $mPreparedEdit

PreparedEdit false WikiPage::$mPreparedEdit = false

Map of cache fields (text, parser output, ect) for a proposed/new edit.

Todo:
make protected
Note
for access by subclasses only

Definition at line 124 of file WikiPage.php.

◆ $mRedirectTarget

Title WikiPage::$mRedirectTarget = null
protected

The cache of the redirect target.

Definition at line 100 of file WikiPage.php.

Referenced by WikiFilePage\getRedirectTarget(), and getRedirectTarget().

◆ $mTimestamp

string WikiPage::$mTimestamp = ''
protected

Timestamp of the current revision or empty string if not loaded.

Definition at line 144 of file WikiPage.php.

◆ $mTitle

Title WikiPage::$mTitle
Todo:
make protected
Note
for access by subclasses only

Definition at line 72 of file WikiPage.php.

Referenced by __clone(), WikiFilePage\getForeignCategories(), and getTitle().

◆ $mTouched

string WikiPage::$mTouched = '19700101000000'
protected

Definition at line 149 of file WikiPage.php.

Referenced by getTouched().


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