From 829c4a8503ea09d791852d742ba1525d2813f6f2 Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Thu, 17 Dec 2015 10:50:53 -0800 Subject: [PATCH] RefreshLinksJob: Restore LinksUpdate::setTriggeringUser() call This partially reverts 22476baa85bdb70c60, as the setTriggeringUser() call that was removed was being used by Echo to be able to determine which user caused a LinksUpdate to be triggered. Bug: T121780 Change-Id: I62732032a6b74f17b5ae6a2497fa519f9ff38d4f --- includes/jobqueue/jobs/RefreshLinksJob.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/includes/jobqueue/jobs/RefreshLinksJob.php b/includes/jobqueue/jobs/RefreshLinksJob.php index 183c1ee58e..c8a9892c54 100644 --- a/includes/jobqueue/jobs/RefreshLinksJob.php +++ b/includes/jobqueue/jobs/RefreshLinksJob.php @@ -222,6 +222,24 @@ class RefreshLinksJob extends Job { $parserOutput ); + foreach ( $updates as $key => $update ) { + // FIXME: This code probably shouldn't be here? + // Needed by things like Echo notifications which need + // to know which user caused the links update + if ( $update instanceof LinksUpdate ) { + if ( !empty( $this->params['triggeringUser'] ) ) { + $userInfo = $this->params['triggeringUser']; + if ( $userInfo['userId'] ) { + $user = User::newFromId( $userInfo['userId'] ); + } else { + // Anonymous, use the username + $user = User::newFromName( $userInfo['userName'], false ); + } + $update->setTriggeringUser( $user ); + } + } + } + $latestNow = $page->lockAndGetLatest(); if ( !$latestNow || $revision->getId() != $latestNow ) { // Do not clobber over newer updates with older ones. If all jobs where FIFO and -- 2.20.1