From: Kunal Mehta Date: Thu, 17 Dec 2015 18:50:53 +0000 (-0800) Subject: RefreshLinksJob: Restore LinksUpdate::setTriggeringUser() call X-Git-Tag: 1.31.0-rc.0~8588^2 X-Git-Url: http://git.cyclocoop.org//%22%22._DIR_PLUGIN_FULLCALENDAR.%22prive/themes/spip/images/event_edit.png/%22?a=commitdiff_plain;h=829c4a8503ea09d791852d742ba1525d2813f6f2;p=lhc%2Fweb%2Fwiklou.git 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 --- 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