jenkins-bot has submitted this change and it was merged.

Change subject: LQT import fixes
......................................................................


LQT import fixes

LQT import triggers a post-reply notification, which was feeding the
topic title as revision (but it should be the first reply)

WikitextContent was not used so class couldn’t be found.

Change-Id: I6b6c45052513b380cc70698f6ca63ec6f46e0375
---
M includes/Import/Importer.php
M includes/Import/Postprocessor/LqtNotifications.php
M includes/Import/Postprocessor/LqtRedirector.php
M includes/Import/Postprocessor/Postprocessor.php
M includes/Import/Postprocessor/ProcessorGroup.php
M includes/Import/Postprocessor/SpecialLogTopic.php
6 files changed, 23 insertions(+), 19 deletions(-)

Approvals:
  Catrope: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/Import/Importer.php b/includes/Import/Importer.php
index 95c17a4..97812a2 100644
--- a/includes/Import/Importer.php
+++ b/includes/Import/Importer.php
@@ -881,7 +881,7 @@
                                $post
                        );
                        $state->parent->logger->info( $logPrefix . "Finished 
importing post with " . count( $replyRevisions ) . " revisions" );
-                       $state->parent->postprocessor->afterPostImported( 
$state, $post, $topRevision->getPostId() );
+                       $state->parent->postprocessor->afterPostImported( 
$state, $post, $topRevision );
                }
 
                $state->recordUpdateTime( $topRevision->getRevisionId() );
diff --git a/includes/Import/Postprocessor/LqtNotifications.php 
b/includes/Import/Postprocessor/LqtNotifications.php
index fabb203..38f26d0 100644
--- a/includes/Import/Postprocessor/LqtNotifications.php
+++ b/includes/Import/Postprocessor/LqtNotifications.php
@@ -13,7 +13,7 @@
 use Flow\Import\LiquidThreadsApi\ImportTopic as LqtImportTopic;
 use Flow\Import\PageImportState;
 use Flow\Import\TopicImportState;
-use Flow\Model\UUID;
+use Flow\Model\PostRevision;
 use Flow\NotificationController;
 use RecursiveIteratorIterator;
 use User;
@@ -34,9 +34,9 @@
        protected $dbw;
 
        /**
-        * @var bool True when posts have been imported for the current topic
+        * @var PostRevision[] Array of imported replies
         */
-       protected $postsImported = false;
+       protected $postsImported = array();
 
        public function __construct( NotificationController $controller, 
DatabaseBase $dbw ) {
                $this->controller = $controller;
@@ -113,14 +113,13 @@
                if ( !$topic instanceof LqtImportTopic ) {
                        return;
                }
-               if ( $this->postsImported === false ) {
+               if ( empty( $this->postsImported ) ) {
                        // nothing was imported in this topic
                        return;
                }
 
-               $this->postsImported = false;
                $this->controller->notifyPostChange( 'flow-post-reply', array(
-                       'revision' => $state->topicTitle,
+                       'revision' => $this->postsImported[0],
                        'topic-title' => $state->topicTitle,
                        'topic-workflow' => $state->topicWorkflow,
                        'title' => $state->topicWorkflow->getOwnerTitle(),
@@ -131,18 +130,19 @@
                        ),
                        'timestamp' => $topic->getTimestamp(),
                ) );
+
+               $this->postsImported = array();
        }
 
        public function importAborted() {
-               $this->postsImported = false;
+               $this->postsImported = array();
        }
 
        public function afterHeaderImported( PageImportState $state, 
IImportHeader $header ) {
                // not a thing to do, yet
        }
 
-       public function afterPostImported( TopicImportState $state, IImportPost 
$post, UUID $newPostId ) {
-               $this->postsImported = true;
+       public function afterPostImported( TopicImportState $state, IImportPost 
$post, PostRevision $newPost ) {
+               $this->postsImported[] = $newPost;
        }
-
 }
diff --git a/includes/Import/Postprocessor/LqtRedirector.php 
b/includes/Import/Postprocessor/LqtRedirector.php
index 7bca90c..800f79a 100644
--- a/includes/Import/Postprocessor/LqtRedirector.php
+++ b/includes/Import/Postprocessor/LqtRedirector.php
@@ -9,12 +9,14 @@
 use Flow\Import\LiquidThreadsApi\ImportTopic;
 use Flow\Import\PageImportState;
 use Flow\Import\TopicImportState;
+use Flow\Model\PostRevision;
 use Flow\Model\UUID;
 use Flow\UrlGenerator;
 use Title;
 use User;
 use WatchedItem;
 use WikiPage;
+use WikitextContent;
 
 class LqtRedirector implements Postprocessor {
        /** @var UrlGenerator **/
@@ -34,12 +36,12 @@
                // not a thing to do, yet
        }
 
-       public function afterPostImported( TopicImportState $state, IImportPost 
$post, UUID $newPostId ) {
+       public function afterPostImported( TopicImportState $state, IImportPost 
$post, PostRevision $newPost ) {
                if ( $post instanceof ImportPost /* LQT */ ) {
                        $this->redirectsToDo[] = array(
                                $post->getTitle(),
                                $state->topicWorkflow->getId(),
-                               $newPostId
+                               $newPost->getPostId()
                        );
                }
        }
@@ -72,7 +74,7 @@
 
                $redirectTarget = $redirectAnchor->resolveTitle();
 
-               $newContent = new WikiTextContent( "#REDIRECT 
[[".$redirectTarget->getFullText()."]]" );
+               $newContent = new WikitextContent( "#REDIRECT 
[[".$redirectTarget->getFullText()."]]" );
                $page = WikiPage::factory( $fromTitle );
                $summary = wfMessage( 'flow-lqt-redirect-reason' )->plain();
                $page->doEditContent( $newContent, $summary, EDIT_FORCE_BOT, 
false, $this->user );
diff --git a/includes/Import/Postprocessor/Postprocessor.php 
b/includes/Import/Postprocessor/Postprocessor.php
index 95db70b..dc09e3d 100644
--- a/includes/Import/Postprocessor/Postprocessor.php
+++ b/includes/Import/Postprocessor/Postprocessor.php
@@ -2,7 +2,7 @@
 
 namespace Flow\Import\Postprocessor;
 
-use Flow\Model\UUID;
+use Flow\Model\PostRevision;
 use Flow\Import\IImportHeader;
 use Flow\Import\IImportPost;
 use Flow\Import\IImportTopic;
@@ -29,9 +29,9 @@
         *
         * @param TopicImportState $state
         * @param IImportPost $post
-        * @param UUID $newPostId
+        * @param PostRevision $newPost
         */
-       function afterPostImported( TopicImportState $state, IImportPost $post, 
UUID $newPostId );
+       function afterPostImported( TopicImportState $state, IImportPost $post, 
PostRevision $newPost );
 
        /**
         * Called after the successful commit of a topic to the database.
diff --git a/includes/Import/Postprocessor/ProcessorGroup.php 
b/includes/Import/Postprocessor/ProcessorGroup.php
index 15ca24f..d6931ba 100644
--- a/includes/Import/Postprocessor/ProcessorGroup.php
+++ b/includes/Import/Postprocessor/ProcessorGroup.php
@@ -2,6 +2,7 @@
 
 namespace Flow\Import\Postprocessor;
 
+use Flow\Model\PostRevision;
 use Flow\Model\UUID;
 use Flow\Import\IImportHeader;
 use Flow\Import\IImportPost;
@@ -29,7 +30,7 @@
                $this->call( __FUNCTION__, func_get_args() );
        }
 
-       public function afterPostImported( TopicImportState $state, IImportPost 
$post, UUID $newPostId ) {
+       public function afterPostImported( TopicImportState $state, IImportPost 
$post, PostRevision $newPost ) {
                $this->call( __FUNCTION__, func_get_args() );
        }
 
diff --git a/includes/Import/Postprocessor/SpecialLogTopic.php 
b/includes/Import/Postprocessor/SpecialLogTopic.php
index 36167fc..8ad8798 100644
--- a/includes/Import/Postprocessor/SpecialLogTopic.php
+++ b/includes/Import/Postprocessor/SpecialLogTopic.php
@@ -7,6 +7,7 @@
 use Flow\Import\IImportTopic;
 use Flow\Import\PageImportState;
 use Flow\Import\TopicImportState;
+use Flow\Model\PostRevision;
 use Flow\Model\UUID;
 use ManualLogEntry;
 use User;
@@ -33,7 +34,7 @@
                // nothing to do
        }
 
-       public function afterPostImported( TopicImportState $state, IImportPost 
$post, UUID $newPostId ) {
+       public function afterPostImported( TopicImportState $state, IImportPost 
$post, PostRevision $newPost ) {
                $this->newPosts = true;
        }
 

-- 
To view, visit https://gerrit.wikimedia.org/r/274090
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I6b6c45052513b380cc70698f6ca63ec6f46e0375
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Matthias Mullie <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to