From: addshore Date: Thu, 5 Nov 2015 12:07:01 +0000 (+0000) Subject: Add triggeringRevisionId to LinksUpdate JobSpec X-Git-Tag: 1.31.0-rc.0~9073^2 X-Git-Url: http://git.cyclocoop.org/%40spipnet%40?a=commitdiff_plain;h=6a65ce223f2c9a2aa2f9e915f93e7b020ae623e7;p=lhc%2Fweb%2Fwiklou.git Add triggeringRevisionId to LinksUpdate JobSpec Bug: T117860 Change-Id: I8c730a434b8bdda7664fd1e3bb3fbc8840804950 --- diff --git a/includes/changes/RecentChange.php b/includes/changes/RecentChange.php index 9025736c69..7c6fbb9133 100644 --- a/includes/changes/RecentChange.php +++ b/includes/changes/RecentChange.php @@ -800,7 +800,6 @@ class RecentChange { $ip = '', $deleted = 0 ) { - $rc = new RecentChange; $rc->mTitle = $categoryTitle; $rc->mPerformer = $user; diff --git a/includes/deferred/LinksUpdate.php b/includes/deferred/LinksUpdate.php index 9a24b96366..dbfdab0d4e 100644 --- a/includes/deferred/LinksUpdate.php +++ b/includes/deferred/LinksUpdate.php @@ -1011,6 +1011,13 @@ class LinksUpdate extends SqlDataUpdate implements EnqueueableDataUpdate { } else { $userInfo = false; } + + if ( $this->mRevision ) { + $triggeringRevisionId = $this->mRevision->getId(); + } else { + $triggeringRevisionId = false; + } + return array( 'wiki' => $this->mDb->getWikiID(), 'job' => new JobSpecification( @@ -1020,6 +1027,7 @@ class LinksUpdate extends SqlDataUpdate implements EnqueueableDataUpdate { 'rootJobTimestamp' => $this->mParserOutput->getCacheTime(), 'useRecursiveLinksUpdate' => $this->mRecursive, 'triggeringUser' => $userInfo, + 'triggeringRevisionId' => $triggeringRevisionId, ), array( 'removeDuplicates' => true ), $this->getTitle() diff --git a/includes/jobqueue/jobs/RefreshLinksJob.php b/includes/jobqueue/jobs/RefreshLinksJob.php index 26f452067b..25c3ba4ec4 100644 --- a/includes/jobqueue/jobs/RefreshLinksJob.php +++ b/includes/jobqueue/jobs/RefreshLinksJob.php @@ -229,6 +229,16 @@ class RefreshLinksJob extends Job { } $update->setTriggeringUser( $user ); } + if ( isset( $this->params['triggeringRevisionId'] ) && $this->params['triggeringRevisionId'] ) { + $revision = Revision::newFromId( $this->params['triggeringRevisionId'] ); + if ( $revision === null ) { + $revision = Revision::newFromId( + $this->params['triggeringRevisionId'], + Revision::READ_LATEST + ); + } + $update->setRevision( $revision ); + } } }