MediaWiki
master
|
A handle for managing updates for derived page data on edit, import, purge, etc. More...
Public Member Functions | |
__construct (WikiPage $wikiPage, RevisionStore $revisionStore, RevisionRenderer $revisionRenderer, SlotRoleRegistry $slotRoleRegistry, ParserCache $parserCache, JobQueueGroup $jobQueueGroup, MessageCache $messageCache, Language $contLang, ILBFactory $loadbalancerFactory, IContentHandlerFactory $contentHandlerFactory, HookContainer $hookContainer, EditResultCache $editResultCache) | |
doParserCacheUpdate () | |
doSecondaryDataUpdates (array $options=[]) | |
Do secondary data updates (e.g. More... | |
doUpdates () | |
Do standard updates after page edit, purge, or import. More... | |
getCanonicalParserOptions () | |
getCanonicalParserOutput () | |
getModifiedSlotRoles () | |
Returns the role names of the slots modified by the new revision, not including removed roles. More... | |
getPreparedEdit () | |
getRawContent ( $role) | |
Returns the content of the given slot, with no audience checks. More... | |
getRawSlot ( $role) | |
Returns the slot, modified or inherited, after PST, with no audience checks applied. More... | |
getRemovedSlotRoles () | |
Returns the role names of the slots removed by the new revision. More... | |
getRenderedRevision () | |
getRevision () | |
Returns the update's target revision - that is, the revision that will be the current revision after the update. More... | |
getSecondaryDataUpdates ( $recursive=false) | |
getSlotParserOutput ( $role, $generateHtml=true) | |
getSlots () | |
Returns the slots of the target revision, after PST. More... | |
getTouchedSlotRoles () | |
Returns the role names of the slots touched by the new revision, including removed roles. More... | |
grabCurrentRevision () | |
Returns the revision that was the page's current revision when grabCurrentRevision() was first called. More... | |
isChange () | |
Whether the edit created, or should create, a new revision (that is, it's not a null-edit). More... | |
isContentDeleted () | |
Whether the content is deleted and thus not visible to the public. More... | |
isContentPrepared () | |
Whether prepareUpdate() or prepareContent() have been called on this instance. More... | |
isCountable () | |
isCreation () | |
Whether the edit creates the page. More... | |
isRedirect () | |
isReusableFor (UserIdentity $user=null, RevisionRecord $revision=null, RevisionSlotsUpdate $slotsUpdate=null, $parentId=null) | |
Checks whether this DerivedPageDataUpdater can be re-used for running updates targeting the given revision. More... | |
isUpdatePrepared () | |
Whether prepareUpdate() has been called on this instance. More... | |
pageExisted () | |
Determines whether the page being edited already existed. More... | |
prepareContent (UserIdentity $user, RevisionSlotsUpdate $slotsUpdate, $useStash=true) | |
Prepare updates based on an update which has not yet been saved. More... | |
prepareUpdate (RevisionRecord $revision, array $options=[]) | |
Prepare derived data updates targeting the given Revision. More... | |
setArticleCountMethod ( $articleCountMethod) | |
setLogger (LoggerInterface $logger) | |
setRcWatchCategoryMembership ( $rcWatchCategoryMembership) | |
wasRedirect () | |
Whether the page was a redirect before the edit. More... | |
Private Member Functions | |
assertHasPageState ( $method) | |
assertHasRevision ( $method) | |
assertPrepared ( $method) | |
assertTransition ( $newStage) | |
Asserts that a transition to the given stage is possible, without performing it. More... | |
doTransition ( $newStage) | |
Transition function for managing the life cycle of this instances. More... | |
getContentHandler ( $role) | |
getContentModel ( $role) | |
Returns the content model of the given slot. More... | |
getPageId () | |
getParentRevision () | |
Returns the parent revision of the new revision wrapped by this update. More... | |
getRevisionSlotsUpdate () | |
Returns the RevisionSlotsUpdate for this updater. More... | |
getTitle () | |
getWikiPage () | |
maybeEnqueueRevertedTagUpdateJob () | |
If the edit was a revert and it is considered "approved", enqueues the RevertedTagUpdateJob for it. More... | |
revisionIsRedirect (RevisionRecord $rev) | |
useMaster () | |
Static Private Member Functions | |
static | toLegacyUser (UserIdentity $user) |
Private Attributes | |
string | $articleCountMethod |
see $wgArticleCountMethod More... | |
IContentHandlerFactory | $contentHandlerFactory |
Language | $contLang |
EditResultCache | $editResultCache |
HookRunner | $hookRunner |
JobQueueGroup | $jobQueueGroup |
ILBFactory | $loadbalancerFactory |
LoggerInterface | $logger |
MessageCache | $messageCache |
$options | |
Stores (most of) the $options parameter of prepareUpdate(). More... | |
array | $pageState = null |
The state of the relevant row in page table before the edit. More... | |
RevisionRecord null | $parentRevision = null |
ParserCache | $parserCache |
bool | $rcWatchCategoryMembership = false |
see $wgRCWatchCategoryMembership More... | |
RenderedRevision | $renderedRevision = null |
RevisionRecord null | $revision = null |
RevisionRenderer | $revisionRenderer |
RevisionStore | $revisionStore |
SlotRoleRegistry | $slotRoleRegistry |
RevisionSlotsUpdate null | $slotsUpdate = null |
string | $stage = 'new' |
A stage identifier for managing the life cycle of this instance. More... | |
UserIdentity null | $user = null |
WikiPage | $wikiPage |
Additional Inherited Members | |
![]() | |
const | READ_NONE = -1 |
Constants for object loading bitfield flags (higher => higher QoS) More... | |
A handle for managing updates for derived page data on edit, import, purge, etc.
DerivedPageDataUpdater instances are designed to be cached inside a WikiPage instance, and re-used by callback code over the course of an update operation. It's a stepping stone on the way to a more complete refactoring of WikiPage.
When using a DerivedPageDataUpdater, the following life cycle must be observed: grabCurrentRevision (optional), prepareContent (optional), prepareUpdate (required for doUpdates). getCanonicalParserOutput, getSlots, and getSecondaryDataUpdates require prepareContent or prepareUpdate to have been called first, to initialize the DerivedPageDataUpdater.
MCR migration note: this replaces the relevant methods in WikiPage, and covers the use cases of PreparedEdit.
Definition at line 104 of file DerivedPageDataUpdater.php.
MediaWiki\Storage\DerivedPageDataUpdater::__construct | ( | WikiPage | $wikiPage, |
RevisionStore | $revisionStore, | ||
RevisionRenderer | $revisionRenderer, | ||
SlotRoleRegistry | $slotRoleRegistry, | ||
ParserCache | $parserCache, | ||
JobQueueGroup | $jobQueueGroup, | ||
MessageCache | $messageCache, | ||
Language | $contLang, | ||
ILBFactory | $loadbalancerFactory, | ||
IContentHandlerFactory | $contentHandlerFactory, | ||
HookContainer | $hookContainer, | ||
EditResultCache | $editResultCache | ||
) |
WikiPage | $wikiPage |
Definition at line 305 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$contentHandlerFactory, MediaWiki\Storage\DerivedPageDataUpdater\$contLang, MediaWiki\Storage\DerivedPageDataUpdater\$editResultCache, MediaWiki\Storage\DerivedPageDataUpdater\$jobQueueGroup, MediaWiki\Storage\DerivedPageDataUpdater\$loadbalancerFactory, MediaWiki\Storage\DerivedPageDataUpdater\$messageCache, MediaWiki\Storage\DerivedPageDataUpdater\$parserCache, MediaWiki\Storage\DerivedPageDataUpdater\$revisionRenderer, MediaWiki\Storage\DerivedPageDataUpdater\$revisionStore, MediaWiki\Storage\DerivedPageDataUpdater\$slotRoleRegistry, and MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage.
|
private |
Definition at line 946 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\pageExisted(), and MediaWiki\Storage\DerivedPageDataUpdater\wasRedirect().
|
private |
Definition at line 963 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doParserCacheUpdate(), and MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates().
|
private |
Definition at line 955 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getPreparedEdit(), MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\getSlots(), MediaWiki\Storage\DerivedPageDataUpdater\isChange(), and MediaWiki\Storage\DerivedPageDataUpdater\isCreation().
|
private |
Asserts that a transition to the given stage is possible, without performing it.
string | $newStage | the new stage |
LogicException | If this instance is not in the expected stage |
Definition at line 380 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doTransition(), MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
MediaWiki\Storage\DerivedPageDataUpdater::doParserCacheUpdate | ( | ) |
Definition at line 1731 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, MediaWiki\Storage\DerivedPageDataUpdater\assertHasRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOptions(), MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOutput(), and MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::doSecondaryDataUpdates | ( | array | $options = [] | ) |
Do secondary data updates (e.g.
updating link tables) or schedule them as deferred updates
MCR note: this method is temporarily exposed via WikiPage::doSecondaryDataUpdates.
array | $options |
|
Definition at line 1695 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$options, MediaWiki\Storage\DerivedPageDataUpdater\$user, DeferredUpdates\addUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\assertHasRevision(), DeferredUpdates\attemptUpdate(), and MediaWiki\Storage\DerivedPageDataUpdater\toLegacyUser().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
|
private |
Transition function for managing the life cycle of this instances.
string | $newStage | the new stage |
LogicException | If a transition to the given stage is not possible in the current stage. |
Definition at line 362 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$stage, and MediaWiki\Storage\DerivedPageDataUpdater\assertTransition().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\prepareContent(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareUpdate().
MediaWiki\Storage\DerivedPageDataUpdater::doUpdates | ( | ) |
Do standard updates after page edit, purge, or import.
Update links tables, site stats, search index, title cache, message cache, etc. Purges pages that depend on this page when appropriate. With a 10% chance, triggers pruning the recent changes table.
MCR migration note: this replaces WikiPage::doEditUpdates.
Definition at line 1475 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$revision, $title, MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, DeferredUpdates\addCallableUpdate(), DeferredUpdates\addUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\assertTransition(), MediaWiki\Storage\DerivedPageDataUpdater\doParserCacheUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\doTransition(), SiteStatsUpdate\factory(), MediaWiki\Storage\DerivedPageDataUpdater\getContentHandler(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Storage\DerivedPageDataUpdater\getPageId(), MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getPreparedEdit(), MediaWiki\Storage\DerivedPageDataUpdater\getRawContent(), MediaWiki\Storage\DerivedPageDataUpdater\getTitle(), MediaWiki\Storage\DerivedPageDataUpdater\getTouchedSlotRoles(), MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage(), ResourceLoaderWikiModule\invalidateModuleCache(), MediaWiki\Storage\DerivedPageDataUpdater\isContentDeleted(), MediaWiki\Storage\DerivedPageDataUpdater\isCountable(), User\isIP(), Revision\SlotRecord\MAIN, MediaWiki\Storage\DerivedPageDataUpdater\maybeEnqueueRevertedTagUpdateJob(), User\newFromName(), ParserOptions\newFromUser(), RecentChangesUpdateJob\newPurgeJob(), CategoryMembershipChangeJob\newSpec(), NS_MEDIAWIKI, NS_USER_TALK, WikiPage\onArticleCreate(), WikiPage\onArticleEdit(), MediaWiki\Storage\DerivedPageDataUpdater\toLegacyUser(), and wfDebug().
MediaWiki\Storage\DerivedPageDataUpdater::getCanonicalParserOptions | ( | ) |
Definition at line 1355 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doParserCacheUpdate(), and MediaWiki\Storage\DerivedPageDataUpdater\getPreparedEdit().
MediaWiki\Storage\DerivedPageDataUpdater::getCanonicalParserOutput | ( | ) |
Definition at line 1348 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doParserCacheUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\isCountable().
|
private |
string | $role | slot role name |
MWUnknownContentModelException |
Definition at line 661 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getContentModel().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
|
private |
Returns the content model of the given slot.
string | $role | slot role name |
Definition at line 652 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRawSlot().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getContentHandler().
MediaWiki\Storage\DerivedPageDataUpdater::getModifiedSlotRoles | ( | ) |
Returns the role names of the slots modified by the new revision, not including removed roles.
Definition at line 1063 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate().
|
private |
Definition at line 602 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
|
private |
Returns the parent revision of the new revision wrapped by this update.
If the update is a null-edit, this will return the parent of the current (and new) revision. This will return null if the revision wrapped by this update created the page. Only defined after calling prepareContent() or prepareUpdate()!
Definition at line 510 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$parentRevision, MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared(), Revision\RevisionRecord\getParentId(), and MediaWiki\Storage\DerivedPageDataUpdater\useMaster().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate(), and MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::getPreparedEdit | ( | ) |
Definition at line 1312 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$slotsUpdate, MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared(), MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOptions(), MediaWiki\Storage\RevisionSlotsUpdate\getModifiedSlot(), MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate(), MediaWiki\Storage\RevisionSlotsUpdate\isModifiedSlot(), and Revision\SlotRecord\MAIN.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::getRawContent | ( | $role | ) |
Returns the content of the given slot, with no audience checks.
PageUpdateException | If the slot is neither set for update nor inherited from the parent revision. |
string | $role | slot role name |
Definition at line 642 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRawSlot().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\isCountable(), and MediaWiki\Storage\DerivedPageDataUpdater\isRedirect().
MediaWiki\Storage\DerivedPageDataUpdater::getRawSlot | ( | $role | ) |
Returns the slot, modified or inherited, after PST, with no audience checks applied.
string | $role | slot role name |
PageUpdateException | If the slot is neither set for update nor inherited from the parent revision. |
Definition at line 630 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getSlots().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getContentModel(), MediaWiki\Storage\DerivedPageDataUpdater\getRawContent(), and MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::getRemovedSlotRoles | ( | ) |
Returns the role names of the slots removed by the new revision.
Definition at line 1072 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::getRenderedRevision | ( | ) |
Definition at line 940 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$renderedRevision, and MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOptions(), MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOutput(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\getSlotParserOutput().
MediaWiki\Storage\DerivedPageDataUpdater::getRevision | ( | ) |
Returns the update's target revision - that is, the revision that will be the current revision after the update.
Definition at line 932 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$revision, and MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared().
|
private |
Returns the RevisionSlotsUpdate for this updater.
Definition at line 1034 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$slotsUpdate, MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared(), MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), and MediaWiki\Storage\RevisionSlotsUpdate\newFromRevisionSlots().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getModifiedSlotRoles(), MediaWiki\Storage\DerivedPageDataUpdater\getPreparedEdit(), MediaWiki\Storage\DerivedPageDataUpdater\getRemovedSlotRoles(), and MediaWiki\Storage\DerivedPageDataUpdater\getTouchedSlotRoles().
MediaWiki\Storage\DerivedPageDataUpdater::getSecondaryDataUpdates | ( | $recursive = false | ) |
bool | $recursive |
Definition at line 1364 of file DerivedPageDataUpdater.php.
References $content, MediaWiki\Storage\DerivedPageDataUpdater\$parentRevision, MediaWiki\Storage\DerivedPageDataUpdater\$renderedRevision, $title, MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, WikiPage\exists(), MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOutput(), MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getRawSlot(), MediaWiki\Storage\DerivedPageDataUpdater\getRemovedSlotRoles(), MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision(), Revision\RevisionRecord\getSlot(), MediaWiki\Storage\DerivedPageDataUpdater\getSlots(), WikiPage\getTitle(), MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage(), MediaWiki\Storage\DerivedPageDataUpdater\isContentDeleted(), WikiPage\loadPageData(), and Revision\RevisionRecord\RAW.
MediaWiki\Storage\DerivedPageDataUpdater::getSlotParserOutput | ( | $role, | |
$generateHtml = true |
|||
) |
string | $role | |
bool | $generateHtml |
Definition at line 1338 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision().
MediaWiki\Storage\DerivedPageDataUpdater::getSlots | ( | ) |
Returns the slots of the target revision, after PST.
Definition at line 1024 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getRawSlot(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\isCountable().
|
private |
Definition at line 475 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\isCountable(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
MediaWiki\Storage\DerivedPageDataUpdater::getTouchedSlotRoles | ( | ) |
Returns the role names of the slots touched by the new revision, including removed roles.
Definition at line 1053 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
|
private |
Definition at line 483 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doParserCacheUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
MediaWiki\Storage\DerivedPageDataUpdater::grabCurrentRevision | ( | ) |
Returns the revision that was the page's current revision when grabCurrentRevision() was first called.
During an edit, that revision will act as the logical parent of the new revision.
Some updates are performed based on the difference between the database state at the moment this method is first called, and the state after the edit.
Definition at line 552 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, MediaWiki\Storage\DerivedPageDataUpdater\assertTransition(), MediaWiki\Storage\DerivedPageDataUpdater\doTransition(), WikiPage\getRevisionRecord(), MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage(), WikiPage\isCountable(), WikiPage\isRedirect(), and WikiPage\loadPageData().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
MediaWiki\Storage\DerivedPageDataUpdater::isChange | ( | ) |
Whether the edit created, or should create, a new revision (that is, it's not a null-edit).
Definition at line 990 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared().
MediaWiki\Storage\DerivedPageDataUpdater::isContentDeleted | ( | ) |
Whether the content is deleted and thus not visible to the public.
Definition at line 612 of file DerivedPageDataUpdater.php.
References Revision\RevisionRecord\DELETED_TEXT.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\isCountable().
MediaWiki\Storage\DerivedPageDataUpdater::isContentPrepared | ( | ) |
Whether prepareUpdate() or prepareContent() have been called on this instance.
Definition at line 584 of file DerivedPageDataUpdater.php.
MediaWiki\Storage\DerivedPageDataUpdater::isCountable | ( | ) |
Definition at line 674 of file DerivedPageDataUpdater.php.
References $content, MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOutput(), MediaWiki\Storage\DerivedPageDataUpdater\getRawContent(), MediaWiki\Storage\DerivedPageDataUpdater\getSlots(), MediaWiki\Storage\DerivedPageDataUpdater\getTitle(), MediaWiki\Storage\DerivedPageDataUpdater\isContentDeleted(), and MediaWiki\Storage\DerivedPageDataUpdater\isRedirect().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::isCreation | ( | ) |
Whether the edit creates the page.
Definition at line 976 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared().
MediaWiki\Storage\DerivedPageDataUpdater::isRedirect | ( | ) |
Definition at line 719 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRawContent(), and Revision\SlotRecord\MAIN.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\isCountable().
MediaWiki\Storage\DerivedPageDataUpdater::isReusableFor | ( | UserIdentity | $user = null , |
RevisionRecord | $revision = null , |
||
RevisionSlotsUpdate | $slotsUpdate = null , |
||
$parentId = null |
|||
) |
Checks whether this DerivedPageDataUpdater can be re-used for running updates targeting the given revision.
UserIdentity | null | $user | The user creating the revision in question |
RevisionRecord | null | $revision | New revision (after save, if already saved) |
RevisionSlotsUpdate | null | $slotsUpdate | New content (before PST) |
null | int | $parentId | Parent revision of the edit (use 0 for page creation) |
Definition at line 397 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$revision, MediaWiki\Storage\DerivedPageDataUpdater\$slotsUpdate, MediaWiki\Storage\DerivedPageDataUpdater\$user, Revision\RevisionRecord\getId(), MediaWiki\User\UserIdentity\getName(), Revision\RevisionRecord\getParentId(), Revision\RevisionRecord\getSlots(), and MediaWiki\Storage\RevisionSlotsUpdate\hasSameUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::isUpdatePrepared | ( | ) |
Whether prepareUpdate() has been called on this instance.
Definition at line 595 of file DerivedPageDataUpdater.php.
|
private |
If the edit was a revert and it is considered "approved", enqueues the RevertedTagUpdateJob for it.
If the edit is not yet approved, the EditResult is persisted in cache for later use.
Definition at line 1656 of file DerivedPageDataUpdater.php.
References RevertedTagUpdateJob\newSpec().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::pageExisted | ( | ) |
Determines whether the page being edited already existed.
Only defined after calling grabCurrentRevision() or prepareContent() or prepareUpdate()!
LogicException | if called before grabCurrentRevision |
Definition at line 495 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertHasPageState().
MediaWiki\Storage\DerivedPageDataUpdater::prepareContent | ( | UserIdentity | $user, |
RevisionSlotsUpdate | $slotsUpdate, | ||
$useStash = true |
|||
) |
Prepare updates based on an update which has not yet been saved.
This may be used to create derived data that is needed when creating a new revision; particularly, this makes available the slots of the new revision via the getSlots() method, after applying PST and slot inheritance.
The derived data prepared for revision creation may then later be re-used by doUpdates(), without the need to re-calculate.
UserIdentity | $user | The user to act as context for pre-save transformation (PST). Type hint should be reduced to UserIdentity at some point. |
RevisionSlotsUpdate | $slotsUpdate | The new content of the slots to be updated by this edit, before PST. |
bool | $useStash | Whether to use stashed ParserOutput |
Definition at line 763 of file DerivedPageDataUpdater.php.
References $content, MediaWiki\Storage\DerivedPageDataUpdater\$parentRevision, MediaWiki\Storage\DerivedPageDataUpdater\$slotsUpdate, $title, MediaWiki\Storage\DerivedPageDataUpdater\$user, MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, MediaWiki\Storage\DerivedPageDataUpdater\assertTransition(), MediaWiki\Storage\DerivedPageDataUpdater\doTransition(), Title\equals(), Revision\RevisionRecord\getComment(), Revision\RevisionRecord\getId(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Storage\RevisionSlotsUpdate\getModifiedRoles(), MediaWiki\Storage\RevisionSlotsUpdate\getModifiedSlot(), MediaWiki\User\UserIdentity\getName(), Revision\RevisionRecord\getPageId(), Revision\RevisionRecord\getParentId(), MediaWiki\Storage\RevisionSlotsUpdate\getRemovedRoles(), Revision\RevisionRecord\getSlots(), Revision\RevisionRecord\getTimestamp(), MediaWiki\Storage\DerivedPageDataUpdater\getTitle(), Revision\RevisionRecord\getUser(), Revision\RevisionRecord\getVisibility(), MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage(), MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision(), Revision\RevisionRecord\hasSameContent(), Revision\RevisionRecord\isMinor(), MediaWiki\Storage\RevisionSlotsUpdate\isModifiedSlot(), Revision\SlotRecord\MAIN, Revision\MutableRevisionRecord\newFromParentRevision(), ParserOptions\newFromUserAndLang(), Revision\SlotRecord\newUnsaved(), Revision\RevisionRecord\RAW, MediaWiki\Storage\DerivedPageDataUpdater\toLegacyUser(), and MediaWiki\Storage\DerivedPageDataUpdater\useMaster().
MediaWiki\Storage\DerivedPageDataUpdater::prepareUpdate | ( | RevisionRecord | $revision, |
array | $options = [] |
||
) |
Prepare derived data updates targeting the given Revision.
Calling this method requires the given revision to be present in the database. This may be right after a new revision has been created, or when re-generating derived data e.g. in ApiPurge, RefreshLinksJob, and the refreshLinks script.
RevisionRecord | $revision | |
array | $options | Array of options, following indexes are used:
|
Definition at line 1130 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$options, MediaWiki\Storage\DerivedPageDataUpdater\$revision, MediaWiki\Storage\DerivedPageDataUpdater\$user, MediaWiki\Storage\DerivedPageDataUpdater\doTransition(), Revision\RevisionRecord\getId(), MediaWiki\User\UserIdentity\getName(), Revision\RevisionRecord\getParentId(), Revision\RevisionRecord\getSlots(), Revision\RevisionRecord\getUser(), Revision\RevisionRecord\RAW, MediaWiki\Storage\DerivedPageDataUpdater\useMaster(), and wfDeprecated().
|
private |
RevisionRecord | $rev |
Definition at line 732 of file DerivedPageDataUpdater.php.
References Revision\RevisionRecord\getContent(), Revision\SlotRecord\MAIN, and Revision\RevisionRecord\RAW.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\wasRedirect().
MediaWiki\Storage\DerivedPageDataUpdater::setArticleCountMethod | ( | $articleCountMethod | ) |
string | $articleCountMethod | "any" or "link". |
Definition at line 460 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$articleCountMethod.
Referenced by WikiPage\newDerivedDataUpdater().
MediaWiki\Storage\DerivedPageDataUpdater::setLogger | ( | LoggerInterface | $logger | ) |
Definition at line 347 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$logger.
Referenced by WikiPage\newDerivedDataUpdater().
MediaWiki\Storage\DerivedPageDataUpdater::setRcWatchCategoryMembership | ( | $rcWatchCategoryMembership | ) |
bool | $rcWatchCategoryMembership |
Definition at line 468 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$rcWatchCategoryMembership.
Referenced by WikiPage\newDerivedDataUpdater().
|
staticprivate |
UserIdentity | $user |
Definition at line 343 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$user, and User\newFromIdentity().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
|
private |
Definition at line 666 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\prepareContent(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareUpdate().
MediaWiki\Storage\DerivedPageDataUpdater::wasRedirect | ( | ) |
Whether the page was a redirect before the edit.
Definition at line 1000 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertHasPageState(), and MediaWiki\Storage\DerivedPageDataUpdater\revisionIsRedirect().
|
private |
see $wgArticleCountMethod
Definition at line 159 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\setArticleCountMethod().
|
private |
Definition at line 286 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 129 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 289 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 149 of file DerivedPageDataUpdater.php.
|
private |
Definition at line 134 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 144 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 154 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\setLogger().
|
private |
Definition at line 139 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Stores (most of) the $options parameter of prepareUpdate().
Definition at line 174 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareUpdate().
|
private |
The state of the relevant row in page table before the edit.
This is determined by the first call to grabCurrentRevision, prepareContent, or prepareUpdate (so it is only accessible in 'knows-current' or a later stage). If pageState was not initialized when prepareUpdate() is called, prepareUpdate() will attempt to emulate the state of the page table before the edit.
Contains the following fields:
Definition at line 213 of file DerivedPageDataUpdater.php.
|
private |
Definition at line 223 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
|
private |
Definition at line 119 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
see $wgRCWatchCategoryMembership
Definition at line 164 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\setRcWatchCategoryMembership().
|
private |
Definition at line 233 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision(), and MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates().
|
private |
Definition at line 228 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\getRevision(), MediaWiki\Storage\DerivedPageDataUpdater\isReusableFor(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareUpdate().
|
private |
Definition at line 238 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 124 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 241 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 218 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getPreparedEdit(), MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\isReusableFor(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
|
private |
A stage identifier for managing the life cycle of this instance.
Possible stages are 'new', 'knows-current', 'has-content', 'has-revision', and 'done'.
Definition at line 251 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doTransition().
|
private |
Definition at line 109 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\isReusableFor(), MediaWiki\Storage\DerivedPageDataUpdater\prepareContent(), MediaWiki\Storage\DerivedPageDataUpdater\prepareUpdate(), and MediaWiki\Storage\DerivedPageDataUpdater\toLegacyUser().
|
private |
Definition at line 114 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct(), MediaWiki\Storage\DerivedPageDataUpdater\doParserCacheUpdate(), MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage(), MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().