From 6a65ce223f2c9a2aa2f9e915f93e7b020ae623e7 Mon Sep 17 00:00:00 2001 From: addshore Date: Thu, 5 Nov 2015 12:07:01 +0000 Subject: [PATCH] Add triggeringRevisionId to LinksUpdate JobSpec Bug: T117860 Change-Id: I8c730a434b8bdda7664fd1e3bb3fbc8840804950 --- includes/changes/RecentChange.php | 1 - includes/deferred/LinksUpdate.php | 8 ++++++++ includes/jobqueue/jobs/RefreshLinksJob.php | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) 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 ); + } } } -- 2.20.1