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