Wikibase
MediaWiki Wikibase extension
Loading...
Searching...
No Matches
Wikibase\Client\Hooks\UpdateRepoHookHandler Class Reference

This class has a static interface for use with MediaWiki's hook mechanism; the static handler functions will create a new instance of UpdateRepoHookHandlers and then call the corresponding member function on that. More...

+ Inheritance diagram for Wikibase\Client\Hooks\UpdateRepoHookHandler:
+ Collaboration diagram for Wikibase\Client\Hooks\UpdateRepoHookHandler:

Public Member Functions

 __construct (NamespaceChecker $namespaceChecker, JobQueueGroupFactory $jobQueueGroupFactory, DatabaseEntitySource $entitySource, SiteLinkLookup $siteLinkLookup, LoggerInterface $logger, ClientDomainDb $clientDb, string $siteGlobalID, bool $propagateChangesToRepo)
 
 onArticleDeleteComplete ( $wikiPage, $user, $reason, $id, $content, $logEntry, $archivedRevisionCount)
 After a page has been deleted also update the item on the repo.
 
 onPageMoveComplete ( $oldLinkTarget, $newLinkTarget, $userIdentity, $pageId, $redirid, $reason, $revisionRecord)
 After a page has been moved also update the item on the repo.
 

Static Public Member Functions

static factory (JobQueueGroupFactory $jobQueueGroupFactory, ClientDomainDbFactory $clientDomainDbFactory, DatabaseEntitySource $entitySource, NamespaceChecker $namespaceChecker, SettingsArray $clientSettings, ClientStore $store)
 

Private Member Functions

 isWikibaseEnabled (int $namespace)
 
 makeDelete (UserIdentity $user, LinkTarget $title)
 
 makeMove (UserIdentity $user, LinkTarget $old, Linktarget $new)
 
 applyUpdateRepo (UpdateRepo $updateRepo, LinkTarget $title, string $titleProperty=null)
 Push the $updateRepo to the job queue if applicable, and if successful, set the $titleProperty on the $title.
 

Private Attributes

NamespaceChecker $namespaceChecker
 
JobQueueGroupFactory $jobQueueGroupFactory
 
DatabaseEntitySource $entitySource
 
SiteLinkLookup $siteLinkLookup
 
LoggerInterface $logger
 
ClientDomainDb $clientDb
 
string $siteGlobalID
 
bool $propagateChangesToRepo
 

Detailed Description

This class has a static interface for use with MediaWiki's hook mechanism; the static handler functions will create a new instance of UpdateRepoHookHandlers and then call the corresponding member function on that.

Author
Marius Hoch < hoo@o.nosp@m.nlin.nosp@m.e.de >

Constructor & Destructor Documentation

◆ __construct()

Wikibase\Client\Hooks\UpdateRepoHookHandler::__construct ( NamespaceChecker $namespaceChecker,
JobQueueGroupFactory $jobQueueGroupFactory,
DatabaseEntitySource $entitySource,
SiteLinkLookup $siteLinkLookup,
LoggerInterface $logger,
ClientDomainDb $clientDb,
string $siteGlobalID,
bool $propagateChangesToRepo )

Member Function Documentation

◆ applyUpdateRepo()

Wikibase\Client\Hooks\UpdateRepoHookHandler::applyUpdateRepo ( UpdateRepo $updateRepo,
LinkTarget $title,
string $titleProperty = null )
private

Push the $updateRepo to the job queue if applicable, and if successful, set the $titleProperty on the $title.

Hook handlers later look at this property in an attempt to determine whether the update was successfully applied/enqueued or not.

◆ factory()

static Wikibase\Client\Hooks\UpdateRepoHookHandler::factory ( JobQueueGroupFactory $jobQueueGroupFactory,
ClientDomainDbFactory $clientDomainDbFactory,
DatabaseEntitySource $entitySource,
NamespaceChecker $namespaceChecker,
SettingsArray $clientSettings,
ClientStore $store )
static

◆ isWikibaseEnabled()

Wikibase\Client\Hooks\UpdateRepoHookHandler::isWikibaseEnabled ( int $namespace)
private
See also
NamespaceChecker::isWikibaseEnabled

◆ makeDelete()

Wikibase\Client\Hooks\UpdateRepoHookHandler::makeDelete ( UserIdentity $user,
LinkTarget $title )
private

◆ makeMove()

Wikibase\Client\Hooks\UpdateRepoHookHandler::makeMove ( UserIdentity $user,
LinkTarget $old,
Linktarget $new )
private

◆ onArticleDeleteComplete()

Wikibase\Client\Hooks\UpdateRepoHookHandler::onArticleDeleteComplete ( $wikiPage,
$user,
$reason,
$id,
$content,
$logEntry,
$archivedRevisionCount )

After a page has been deleted also update the item on the repo.

This only works if there's a user account with the same name on the repo.

See also
https://www.mediawiki.org/wiki/Manual:Hooks/ArticleDeleteComplete
Parameters
WikiPage$wikiPageWikiPage that was deleted
User$userUser that deleted the article
string$reasonReason the article was deleted
int$idID of the article that was deleted
Content | null$contentContent of the deleted page (or null, when deleting a broken page)
\ManualLogEntry$logEntryManualLogEntry used to record the deletion
int$archivedRevisionCountNumber of revisions archived during the deletion
Returns
bool|void True or no return value to continue or false to abort

◆ onPageMoveComplete()

Wikibase\Client\Hooks\UpdateRepoHookHandler::onPageMoveComplete ( $oldLinkTarget,
$newLinkTarget,
$userIdentity,
$pageId,
$redirid,
$reason,
$revisionRecord )

After a page has been moved also update the item on the repo.

This only works if there's a user account with the same name on the repo.

See also
https://www.mediawiki.org/wiki/Manual:Hooks/PageMoveComplete
Parameters
LinkTarget$oldLinkTarget
LinkTarget$newLinkTarget
UserIdentity$userIdentity
int$pageIddatabase ID of the page that's been moved
int$rediridID of the created redirect
string$reason
RevisionRecord$revisionRecordrevision created by the move
Returns
bool

Member Data Documentation

◆ $clientDb

ClientDomainDb Wikibase\Client\Hooks\UpdateRepoHookHandler::$clientDb
private

◆ $entitySource

DatabaseEntitySource Wikibase\Client\Hooks\UpdateRepoHookHandler::$entitySource
private

◆ $jobQueueGroupFactory

JobQueueGroupFactory Wikibase\Client\Hooks\UpdateRepoHookHandler::$jobQueueGroupFactory
private

◆ $logger

LoggerInterface Wikibase\Client\Hooks\UpdateRepoHookHandler::$logger
private

◆ $namespaceChecker

NamespaceChecker Wikibase\Client\Hooks\UpdateRepoHookHandler::$namespaceChecker
private

◆ $propagateChangesToRepo

bool Wikibase\Client\Hooks\UpdateRepoHookHandler::$propagateChangesToRepo
private

◆ $siteGlobalID

string Wikibase\Client\Hooks\UpdateRepoHookHandler::$siteGlobalID
private

◆ $siteLinkLookup

SiteLinkLookup Wikibase\Client\Hooks\UpdateRepoHookHandler::$siteLinkLookup
private

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