jenkins-bot has submitted this change and it was merged.
Change subject: Link to specific revision of spamlist that was used
......................................................................
Link to specific revision of spamlist that was used
This requires us to override and use our own log formatter.
The formatter for 'failure' was renamed to be more specific.
Bug: 54911
Change-Id: I6437f7e54e9b6c1bc88a8b4e323a8653365c0e6b
---
M MassMessage.php
R MassMessageFailureLogFormatter.php
A MassMessageSendLogFormatter.php
M SpecialMassMessage.php
4 files changed, 45 insertions(+), 3 deletions(-)
Approvals:
Aaron Schulz: Looks good to me, approved
jenkins-bot: Verified
diff --git a/MassMessage.php b/MassMessage.php
index 8d19265..a8b7264 100644
--- a/MassMessage.php
+++ b/MassMessage.php
@@ -61,7 +61,8 @@
$wgAutoloadClasses['SpecialMassMessage'] = "$dir/SpecialMassMessage.php";
$wgAutoloadClasses['MassMessageJob'] = "$dir/MassMessageJob.php";
$wgAutoloadClasses['MassMessageSubmitJob'] = "$dir/MassMessageSubmitJob.php";
-$wgAutoloadClasses['MassMessageLogFormatter'] =
"$dir/MassMessageLogFormatter.php";
+$wgAutoloadClasses['MassMessageFailureLogFormatter'] =
"$dir/MassMessageFailureLogFormatter.php";
+$wgAutoloadClasses['MassMessageSendLogFormatter'] =
"$dir/MassMessageSendLogFormatter.php";
$wgJobClasses['massmessageJob'] = 'MassMessageJob';
$wgJobClasses['massmessagesubmitJob'] = 'MassMessageSubmitJob';
@@ -97,7 +98,8 @@
$wgLogTypes[] = 'massmessage';
$wgLogActionsHandlers['massmessage/*'] = 'LogFormatter';
-$wgLogActionsHandlers['massmessage/failure'] = 'MassMessageLogFormatter';
+$wgLogActionsHandlers['massmessage/send'] = 'MassMessageSendLogFormatter';
+$wgLogActionsHandlers['massmessage/failure'] =
'MassMessageFailureLogFormatter';
// User rights
$wgAvailableRights[] = 'massmessage'; // Local messaging
diff --git a/MassMessageLogFormatter.php b/MassMessageFailureLogFormatter.php
similarity index 87%
rename from MassMessageLogFormatter.php
rename to MassMessageFailureLogFormatter.php
index 94cdb6a..ec57c87 100644
--- a/MassMessageLogFormatter.php
+++ b/MassMessageFailureLogFormatter.php
@@ -5,7 +5,7 @@
* This lets us use <code></code> tags in the message
*/
-class MassMessageLogFormatter extends LogFormatter {
+class MassMessageFailureLogFormatter extends LogFormatter {
/**
* getActionMessage() typically returns a Message object, but
diff --git a/MassMessageSendLogFormatter.php b/MassMessageSendLogFormatter.php
new file mode 100644
index 0000000..a35586a
--- /dev/null
+++ b/MassMessageSendLogFormatter.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * Log formatter for 'send' entries on Special:Log/massmessage
+ * This lets us link to the specific revid used to send the message
+ */
+
+class MassMessageSendLogFormatter extends LogFormatter {
+
+ protected function getMessageParameters() {
+ // First call the main function to load the other values
+ parent::getMessageParameters();
+
+ $params = $this->extractParameters();
+ // Backwards compat for older log entries
+ if ( !isset( $params[3] ) ) {
+ return $this->parsedParameters;
+ }
+
+ // This will be localized with Linker::link
+ // @todo Somehow localize for plaintext messages
+ $title = Title::newFromText( 'Special:Permalink/' . $params[3]
);
+
+ // Our simple version of LogFormatter::makeLink
+ if ( $this->plaintext ) {
+ $this->parsedParameters[2] = '[[' .
$title->getPrefixedText() . ']]';
+ } else {
+ $this->parsedParameters[2] = Message::rawParam(
Linker::link(
+ $title,
+ htmlspecialchars( $this->entry->getTarget() )
+ ) );
+ }
+
+ ksort( $this->parsedParameters );
+ return $this->parsedParameters;
+ }
+}
diff --git a/SpecialMassMessage.php b/SpecialMassMessage.php
index f1dea85..9fd72d8 100644
--- a/SpecialMassMessage.php
+++ b/SpecialMassMessage.php
@@ -167,6 +167,9 @@
$logEntry->setPerformer( $this->getUser() );
$logEntry->setTarget( $spamlist );
$logEntry->setComment( $subject );
+ $logEntry->setParameters( array(
+ '4::revid' => $spamlist->getLatestRevID(),
+ ) );
$logid = $logEntry->insert();
$logEntry->publish( $logid );
--
To view, visit https://gerrit.wikimedia.org/r/87512
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I6437f7e54e9b6c1bc88a8b4e323a8653365c0e6b
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/MassMessage
Gerrit-Branch: master
Gerrit-Owner: Legoktm <[email protected]>
Gerrit-Reviewer: Aaron Schulz <[email protected]>
Gerrit-Reviewer: CSteipp <[email protected]>
Gerrit-Reviewer: Legoktm <[email protected]>
Gerrit-Reviewer: MZMcBride <[email protected]>
Gerrit-Reviewer: Nemo bis <[email protected]>
Gerrit-Reviewer: Reedy <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits