MediaWiki REL1_34
|
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) | |
doParserCacheUpdate () | |
doSecondaryDataUpdates (array $options=[]) | |
Do secondary data updates (such as updating link tables). | |
doUpdates () | |
Do standard updates after page edit, purge, or import. | |
getCanonicalParserOptions () | |
getCanonicalParserOutput () | |
getModifiedSlotRoles () | |
Returns the role names of the slots modified by the new revision, not including removed roles. | |
getPreparedEdit () | |
getRawContent ( $role) | |
Returns the content of the given slot, with no audience checks. | |
getRawSlot ( $role) | |
Returns the slot, modified or inherited, after PST, with no audience checks applied. | |
getRemovedSlotRoles () | |
Returns the role names of the slots removed by the new revision. | |
getRenderedRevision () | |
getRevision () | |
Returns the update's target revision - that is, the revision that will be the current revision after the update. | |
getSecondaryDataUpdates ( $recursive=false) | |
getSlotParserOutput ( $role, $generateHtml=true) | |
getSlots () | |
Returns the slots of the target revision, after PST. | |
getTouchedSlotRoles () | |
Returns the role names of the slots touched by the new revision, including removed roles. | |
grabCurrentRevision () | |
Returns the revision that was the page's current revision when grabCurrentRevision() was first called. | |
isChange () | |
Whether the edit created, or should create, a new revision (that is, it's not a null-edit). | |
isContentDeleted () | |
Whether the content is deleted and thus not visible to the public. | |
isContentPrepared () | |
Whether prepareUpdate() or prepareContent() have been called on this instance. | |
isCountable () | |
isCreation () | |
Whether the edit creates the page. | |
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. | |
isUpdatePrepared () | |
Whether prepareUpdate() has been called on this instance. | |
pageExisted () | |
Determines whether the page being edited already existed. | |
prepareContent (User $user, RevisionSlotsUpdate $slotsUpdate, $useStash=true) | |
Prepare updates based on an update which has not yet been saved. | |
prepareUpdate (RevisionRecord $revision, array $options=[]) | |
Prepare derived data updates targeting the given Revision. | |
setArticleCountMethod ( $articleCountMethod) | |
setLogger (LoggerInterface $logger) | |
setRcWatchCategoryMembership ( $rcWatchCategoryMembership) | |
wasRedirect () | |
Whether the page was a redirect before the edit. | |
Private Member Functions | |
assertHasPageState ( $method) | |
assertHasRevision ( $method) | |
assertPrepared ( $method) | |
assertTransition ( $newStage) | |
Asserts that a transition to the given stage is possible, without performing it. | |
doTransition ( $newStage) | |
Transition function for managing the life cycle of this instances. | |
getContentHandler ( $role) | |
getContentModel ( $role) | |
Returns the content model of the given slot. | |
getPageId () | |
getParentRevision () | |
Returns the parent revision of the new revision wrapped by this update. | |
getRevisionSlotsUpdate () | |
Returns the RevisionSlotsUpdate for this updater. | |
getTitle () | |
getWikiPage () | |
revisionIsRedirect (RevisionRecord $rev) | |
useMaster () | |
Private Attributes | |
string | $articleCountMethod |
see $wgArticleCountMethod | |
Language | $contLang |
JobQueueGroup | $jobQueueGroup |
ILBFactory | $loadbalancerFactory |
LoggerInterface | $logger |
MessageCache | $messageCache |
$options | |
Stores (most of) the $options parameter of prepareUpdate(). | |
array | $pageState = null |
The state of the relevant row in page table before the edit. | |
RevisionRecord null | $parentRevision = null |
ParserCache | $parserCache |
boolean | $rcWatchCategoryMembership = false |
see $wgRCWatchCategoryMembership | |
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. | |
UserIdentity null | $user = null |
WikiPage | $wikiPage |
Static Private Attributes | |
static array[] | $transitions |
Transition table for managing the life cycle of DerivedPageDateUpdater instances. | |
Additional Inherited Members | |
Public Attributes inherited from IDBAccessObject | |
const | READ_LOCKING = self::READ_LATEST | 2 |
Constants for object loading bitfield flags (higher => higher QoS) | |
const | READ_NONE = -1 |
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 100 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 | ||
) |
WikiPage | $wikiPage |
param RevisionStore $revisionStore
RevisionRenderer | $revisionRenderer | |
SlotRoleRegistry | $slotRoleRegistry | |
ParserCache | $parserCache | |
JobQueueGroup | $jobQueueGroup | |
MessageCache | $messageCache | |
Language | $contLang | |
ILBFactory | $loadbalancerFactory |
Definition at line 281 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$contLang, 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 904 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\pageExisted(), and MediaWiki\Storage\DerivedPageDataUpdater\wasRedirect().
|
private |
Definition at line 921 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doParserCacheUpdate(), and MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates().
|
private |
Definition at line 913 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 340 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 1639 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, MediaWiki\Storage\DerivedPageDataUpdater\assertHasRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOptions(), MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOutput(), WikiPage\getId(), and MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::doSecondaryDataUpdates | ( | array | $options = [] | ) |
Do secondary data updates (such as updating link tables).
MCR note: this method is temporarily exposed via WikiPage::doSecondaryDataUpdates.
array | $options |
|
Definition at line 1599 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$options, MediaWiki\Storage\DerivedPageDataUpdater\$user, MediaWiki\Storage\DerivedPageDataUpdater\assertHasRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), and User\newFromIdentity().
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 322 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 1412 of file DerivedPageDataUpdater.php.
References $title, MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, 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(), User\newFromIdentity(), User\newFromName(), RecentChangesUpdateJob\newPurgeJob(), CategoryMembershipChangeJob\newSpec(), NS_MEDIAWIKI, NS_USER_TALK, MWCallableUpdate\setTransactionRoundRequirement(), and wfDebug().
MediaWiki\Storage\DerivedPageDataUpdater::getCanonicalParserOptions | ( | ) |
Definition at line 1296 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 1289 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 |
Definition at line 621 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 613 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 1021 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate().
|
private |
Definition at line 563 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 470 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$parentRevision, MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared(), MediaWiki\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 1253 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(), and MediaWiki\Storage\RevisionSlotsUpdate\isModifiedSlot().
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 603 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 591 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 1030 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::getRenderedRevision | ( | ) |
Definition at line 898 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 890 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$revision, and MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared().
|
private |
Returns the RevisionSlotsUpdate for this updater.
Definition at line 992 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 1305 of file DerivedPageDataUpdater.php.
References $content, MediaWiki\Storage\DerivedPageDataUpdater\$parentRevision, MediaWiki\Storage\DerivedPageDataUpdater\$renderedRevision, MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, MediaWiki\Storage\DerivedPageDataUpdater\getCanonicalParserOutput(), MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getRawSlot(), MediaWiki\Storage\DerivedPageDataUpdater\getRemovedSlotRoles(), MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision(), MediaWiki\Revision\RevisionRecord\getSlot(), MediaWiki\Storage\DerivedPageDataUpdater\getSlots(), MediaWiki\Storage\DerivedPageDataUpdater\getTitle(), MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage(), and MediaWiki\Storage\DerivedPageDataUpdater\isContentDeleted().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::getSlotParserOutput | ( | $role, | |
$generateHtml = true |
|||
) |
string | $role | |
bool | $generateHtml |
Definition at line 1279 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 982 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 435 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), 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 1011 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRevisionSlotsUpdate().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doUpdates().
|
private |
Definition at line 443 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 512 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$wikiPage, MediaWiki\Storage\DerivedPageDataUpdater\assertTransition(), MediaWiki\Storage\DerivedPageDataUpdater\doTransition(), WikiPage\getRevision(), 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 948 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 573 of file DerivedPageDataUpdater.php.
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 545 of file DerivedPageDataUpdater.php.
MediaWiki\Storage\DerivedPageDataUpdater::isCountable | ( | ) |
Definition at line 634 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 934 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertPrepared().
MediaWiki\Storage\DerivedPageDataUpdater::isRedirect | ( | ) |
Definition at line 679 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\getRawContent().
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 357 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$revision, MediaWiki\Storage\DerivedPageDataUpdater\$slotsUpdate, MediaWiki\Storage\DerivedPageDataUpdater\$user, MediaWiki\Revision\RevisionRecord\getId(), MediaWiki\User\UserIdentity\getName(), MediaWiki\Revision\RevisionRecord\getParentId(), MediaWiki\Revision\RevisionRecord\getSlots(), and MediaWiki\Storage\RevisionSlotsUpdate\hasSameUpdates().
MediaWiki\Storage\DerivedPageDataUpdater::isUpdatePrepared | ( | ) |
Whether prepareUpdate() has been called on this instance.
Definition at line 556 of file DerivedPageDataUpdater.php.
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 455 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertHasPageState().
MediaWiki\Storage\DerivedPageDataUpdater::prepareContent | ( | User | $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.
User | $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 723 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(), MediaWiki\Revision\RevisionRecord\getComment(), MediaWiki\Revision\RevisionRecord\getId(), MediaWiki\MediaWikiServices\getInstance(), MediaWiki\Storage\RevisionSlotsUpdate\getModifiedRoles(), MediaWiki\Storage\RevisionSlotsUpdate\getModifiedSlot(), MediaWiki\User\UserIdentity\getName(), MediaWiki\Revision\RevisionRecord\getPageId(), MediaWiki\Revision\RevisionRecord\getParentId(), MediaWiki\Storage\RevisionSlotsUpdate\getRemovedRoles(), MediaWiki\Revision\RevisionRecord\getSlots(), MediaWiki\Revision\RevisionRecord\getTimestamp(), MediaWiki\Storage\DerivedPageDataUpdater\getTitle(), MediaWiki\Revision\RevisionRecord\getUser(), MediaWiki\Revision\RevisionRecord\getVisibility(), MediaWiki\Storage\DerivedPageDataUpdater\getWikiPage(), MediaWiki\Storage\DerivedPageDataUpdater\grabCurrentRevision(), MediaWiki\Revision\RevisionRecord\hasSameContent(), MediaWiki\Revision\RevisionRecord\isMinor(), MediaWiki\Storage\RevisionSlotsUpdate\isModifiedSlot(), User\newFromIdentity(), MediaWiki\Storage\DerivedPageDataUpdater\useMaster(), and wfTimestampNow().
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 1082 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$options, MediaWiki\Storage\DerivedPageDataUpdater\$revision, MediaWiki\Storage\DerivedPageDataUpdater\$user, MediaWiki\Storage\DerivedPageDataUpdater\doTransition(), MediaWiki\Revision\RevisionRecord\getId(), MediaWiki\User\UserIdentity\getName(), MediaWiki\Revision\RevisionRecord\getParentId(), Revision\getRevisionRecord(), MediaWiki\Revision\RevisionRecord\getSlots(), MediaWiki\Revision\RevisionRecord\getUser(), and MediaWiki\Storage\DerivedPageDataUpdater\useMaster().
|
private |
RevisionRecord | $rev |
Definition at line 692 of file DerivedPageDataUpdater.php.
References MediaWiki\Revision\RevisionRecord\getContent().
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\wasRedirect().
MediaWiki\Storage\DerivedPageDataUpdater::setArticleCountMethod | ( | $articleCountMethod | ) |
string | $articleCountMethod | "any" or "link". |
Definition at line 420 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$articleCountMethod.
Referenced by WikiPage\newDerivedDataUpdater().
MediaWiki\Storage\DerivedPageDataUpdater::setLogger | ( | LoggerInterface | $logger | ) |
Definition at line 307 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$logger.
Referenced by WikiPage\newDerivedDataUpdater().
MediaWiki\Storage\DerivedPageDataUpdater::setRcWatchCategoryMembership | ( | $rcWatchCategoryMembership | ) |
bool | $rcWatchCategoryMembership |
Definition at line 428 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\$rcWatchCategoryMembership.
Referenced by WikiPage\newDerivedDataUpdater().
|
private |
Definition at line 626 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 958 of file DerivedPageDataUpdater.php.
References MediaWiki\Storage\DerivedPageDataUpdater\assertHasPageState(), and MediaWiki\Storage\DerivedPageDataUpdater\revisionIsRedirect().
|
private |
see $wgArticleCountMethod
Definition at line 150 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\setArticleCountMethod().
|
private |
Definition at line 125 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 130 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 140 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 145 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\setLogger().
|
private |
Definition at line 135 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Stores (most of) the $options parameter of prepareUpdate().
Definition at line 161 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 198 of file DerivedPageDataUpdater.php.
|
private |
Definition at line 208 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getParentRevision(), MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareContent().
|
private |
Definition at line 115 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
see $wgRCWatchCategoryMembership
Definition at line 155 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\setRcWatchCategoryMembership().
|
private |
Definition at line 218 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getRenderedRevision(), and MediaWiki\Storage\DerivedPageDataUpdater\getSecondaryDataUpdates().
|
private |
Definition at line 213 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\getRevision(), MediaWiki\Storage\DerivedPageDataUpdater\isReusableFor(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareUpdate().
|
private |
Definition at line 223 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 120 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 226 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\__construct().
|
private |
Definition at line 203 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 236 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doTransition().
|
staticprivate |
Transition table for managing the life cycle of DerivedPageDateUpdater instances.
XXX: Overkill. This is a linear order, we could just count. Names are nice though, and constants are also overkill...
Definition at line 248 of file DerivedPageDataUpdater.php.
|
private |
Definition at line 105 of file DerivedPageDataUpdater.php.
Referenced by MediaWiki\Storage\DerivedPageDataUpdater\doSecondaryDataUpdates(), MediaWiki\Storage\DerivedPageDataUpdater\isReusableFor(), MediaWiki\Storage\DerivedPageDataUpdater\prepareContent(), and MediaWiki\Storage\DerivedPageDataUpdater\prepareUpdate().
|
private |
Definition at line 110 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().