Restore passing of triggering user in edit updates
[lhc/web/wiklou.git] / includes / Storage / DerivedPageDataUpdater.php
index 3ad19d4..dacec96 100644 (file)
@@ -110,7 +110,7 @@ class DerivedPageDataUpdater implements IDBAccessObject {
        /**
         * @var Language
         */
-       private $contentLanguage;
+       private $contLang;
 
        /**
         * @var LoggerInterface
@@ -251,7 +251,7 @@ class DerivedPageDataUpdater implements IDBAccessObject {
         * @param ParserCache $parserCache
         * @param JobQueueGroup $jobQueueGroup
         * @param MessageCache $messageCache
-        * @param Language $contentLanguage
+        * @param Language $contLang
         * @param LoggerInterface|null $saveParseLogger
         */
        public function __construct(
@@ -260,7 +260,7 @@ class DerivedPageDataUpdater implements IDBAccessObject {
                ParserCache $parserCache,
                JobQueueGroup $jobQueueGroup,
                MessageCache $messageCache,
-               Language $contentLanguage,
+               Language $contLang,
                LoggerInterface $saveParseLogger = null
        ) {
                $this->wikiPage = $wikiPage;
@@ -269,7 +269,7 @@ class DerivedPageDataUpdater implements IDBAccessObject {
                $this->revisionStore = $revisionStore;
                $this->jobQueueGroup = $jobQueueGroup;
                $this->messageCache = $messageCache;
-               $this->contentLanguage = $contentLanguage;
+               $this->contLang = $contLang;
 
                // XXX: replace all wfDebug calls with a Logger. Do we nede more than one logger here?
                $this->saveParseLogger = $saveParseLogger ?: new NullLogger();
@@ -320,7 +320,7 @@ class DerivedPageDataUpdater implements IDBAccessObject {
 
        /**
         * Checks whether this DerivedPageDataUpdater can be re-used for running updates targeting
-        * the the given revision.
+        * the given revision.
         *
         * @param UserIdentity|null $user The user creating the revision in question
         * @param RevisionRecord|null $revision New revision (after save, if already saved)
@@ -762,7 +762,7 @@ class DerivedPageDataUpdater implements IDBAccessObject {
                        $this->canonicalParserOutput = $output;
                }
 
-               $userPopts = ParserOptions::newFromUserAndLang( $user, $this->contentLanguage );
+               $userPopts = ParserOptions::newFromUserAndLang( $user, $this->contLang );
                Hooks::run( 'ArticlePrepareTextForEdit', [ $wikiPage, $userPopts ] );
 
                $this->user = $user;
@@ -1408,21 +1408,16 @@ class DerivedPageDataUpdater implements IDBAccessObject {
                $recursive = $this->options['changed']; // T52785
                $updates = $this->getSecondaryDataUpdates( $recursive );
 
+               $triggeringUser = $this->options['triggeringuser'] ?? $this->user;
+               if ( !$triggeringUser instanceof User ) {
+                       $triggeringUser = User::newFromIdentity( $triggeringUser );
+               }
                foreach ( $updates as $update ) {
                        // TODO: make an $option field for the cause
-                       $update->setCause( 'edit-page', $this->user->getName() );
+                       $update->setCause( 'edit-page', $triggeringUser->getName() );
                        if ( $update instanceof LinksUpdate ) {
                                $update->setRevision( $legacyRevision );
-
-                               if ( !empty( $this->options['triggeringuser'] ) ) {
-                                       /** @var UserIdentity|User $triggeringUser */
-                                       $triggeringUser = $this->options['triggeringuser'];
-                                       if ( !$triggeringUser instanceof User ) {
-                                               $triggeringUser = User::newFromIdentity( $triggeringUser );
-                                       }
-
-                                       $update->setTriggeringUser( $triggeringUser );
-                               }
+                               $update->setTriggeringUser( $triggeringUser );
                        }
                        DeferredUpdates::addUpdate( $update );
                }