From: Krinkle Date: Tue, 28 Feb 2012 01:56:15 +0000 (+0000) Subject: [IRC Log Message] Fix for protect/protect and protect/modify X-Git-Tag: 1.31.0-rc.0~24477 X-Git-Url: http://git.cyclocoop.org/%40spipnet%40?a=commitdiff_plain;h=3cb731351ebd72eb94f6ff254db7a2245ae79b38;p=lhc%2Fweb%2Fwiklou.git [IRC Log Message] Fix for protect/protect and protect/modify * protect/protect and protect/modify were still failing because the output on IRC is not matching the i18n messages. The bots look for comment.match( + (optionally) followed by ": user comment"). * The problem with protect/protect and protect/modify is that the protection settings are also inserted in somewhere in the message. Before MediaWiki 1.19 these were included in the IRC message as part of $1 (title). That may be ugly, but that's how it has always been. Since the point is to reproduce the old output we need to fix this one as well. This will make the output like: Krinkle * protected "[[Sandbox [edit=autoconfirmed)]]" which is exactly how it has been before and that's the the bots rely on (which was presumably done originally like that since it was the only way to make the output match the i18n message) * Fixes more bug 34508 --- diff --git a/includes/logging/LogFormatter.php b/includes/logging/LogFormatter.php index 79ea6851cd..d3354f53d7 100644 --- a/includes/logging/LogFormatter.php +++ b/includes/logging/LogFormatter.php @@ -226,6 +226,20 @@ class LogFormatter { } break; + case 'protect': + switch( $entry->getSubtype() ) { + case 'protect': + $text = wfMsgExt( 'protectedarticle', $msgOpts, $target . ' ' . $parameters[0] ); + break; + case 'unprotect': + $text = wfMsgExt( 'unprotectedarticle', $msgOpts, $target ); + break; + case 'modify': + $text = wfMsgExt( 'modifiedarticleprotection', $msgOpts, $target . ' ' . $parameters[0] ); + break; + } + break; + case 'newusers': switch( $entry->getSubtype() ) { case 'newusers': diff --git a/tests/phpunit/includes/RecentChangeTest.php b/tests/phpunit/includes/RecentChangeTest.php index c76977639f..0db4d7783c 100644 --- a/tests/phpunit/includes/RecentChangeTest.php +++ b/tests/phpunit/includes/RecentChangeTest.php @@ -161,12 +161,15 @@ class RecentChangeTest extends MediaWikiTestCase { * @covers LogFormatter::getIRCActionText */ function testIrcMsgForLogTypeProtect() { + $protectParams = array( + '[edit=sysop] (indefinite) ‎[move=sysop] (indefinite)' + ); # protect/protect $this->assertIRCComment( - wfMessage( 'protectedarticle', 'SomeTitle' )->plain() . ': ' . $this->user_comment, + wfMessage( 'protectedarticle', 'SomeTitle ' . $protectParams[0] )->plain() . ': ' . $this->user_comment, 'protect', 'protect', - array(), + $protectParams, $this->user_comment ); @@ -180,9 +183,9 @@ class RecentChangeTest extends MediaWikiTestCase { # protect/modify $this->assertIRCComment( - wfMessage( 'modifiedarticleprotection', 'SomeTitle' )->plain() . ': ' . $this->user_comment, + wfMessage( 'modifiedarticleprotection', 'SomeTitle ' . $protectParams[0] )->plain() . ': ' . $this->user_comment, 'protect', 'modify', - array(), + $protectParams, $this->user_comment ); }