From 573e8c1bc521efe01c648ed275f8acabaa29a410 Mon Sep 17 00:00:00 2001 From: addshore Date: Sat, 2 Apr 2016 19:06:40 +0300 Subject: [PATCH] CatWatch don't show the number of pages transcluded Providing the perfectly correct number of pages that have acctually been added to or removed from a category is extermly hard. Rather than providing data that is most likely wrong and a bit useless ONLY provide a link to Special:WhatLinksHere. This touches on the following bugs and may mean that some of them don't need to be thought about any further. Bug: T126855 Bug: T126407 Bug: T126139 Change-Id: Ida06d822d1955091595c17c9c6c2968a40a93bcd --- includes/changes/CategoryMembershipChange.php | 14 ++++++++------ languages/i18n/en.json | 4 ++-- languages/i18n/qqq.json | 4 ++-- .../changes/CategoryMembershipChangeTest.php | 8 ++++---- .../phpunit/includes/deferred/LinksUpdateTest.php | 4 ++-- .../jobs/CategoryMembershipChangeJobTest.php | 4 ++-- 6 files changed, 20 insertions(+), 18 deletions(-) diff --git a/includes/changes/CategoryMembershipChange.php b/includes/changes/CategoryMembershipChange.php index 1ff6f85237..64d8139eb9 100644 --- a/includes/changes/CategoryMembershipChange.php +++ b/includes/changes/CategoryMembershipChange.php @@ -127,10 +127,11 @@ class CategoryMembershipChange { $this->timestamp, $categoryTitle, $this->getUser(), - $this->getChangeMessageText( $type, [ - 'prefixedText' => $this->pageTitle->getPrefixedText(), - 'numTemplateLinks' => $this->numTemplateLinks - ] ), + $this->getChangeMessageText( + $type, + [ 'prefixedText' => $this->pageTitle->getPrefixedText() ], + $this->numTemplateLinks + ), $this->pageTitle, $this->getPreviousRevisionTimestamp(), $this->revision @@ -246,10 +247,11 @@ class CategoryMembershipChange { * or CategoryMembershipChange::CATEGORY_REMOVAL * @param array $params * - prefixedText: result of Title::->getPrefixedText() + * @param int $numTemplateLinks * * @return string */ - private function getChangeMessageText( $type, array $params ) { + private function getChangeMessageText( $type, array $params, $numTemplateLinks ) { $array = [ self::CATEGORY_ADDITION => 'recentchanges-page-added-to-category', self::CATEGORY_REMOVAL => 'recentchanges-page-removed-from-category', @@ -257,7 +259,7 @@ class CategoryMembershipChange { $msgKey = $array[$type]; - if ( intval( $params['numTemplateLinks'] ) > 0 ) { + if ( intval( $numTemplateLinks ) > 0 ) { $msgKey .= '-bundled'; } diff --git a/languages/i18n/en.json b/languages/i18n/en.json index 81b46d6cb0..55ae93ef28 100644 --- a/languages/i18n/en.json +++ b/languages/i18n/en.json @@ -1378,9 +1378,9 @@ "recentchangeslinked-page": "Page name:", "recentchangeslinked-to": "Show changes to pages linked to the given page instead", "recentchanges-page-added-to-category": "[[:$1]] added to category", - "recentchanges-page-added-to-category-bundled": "[[:$1]] and [[Special:WhatLinksHere/$1|{{PLURAL:$2|one page|$2 pages}}]] added to category", + "recentchanges-page-added-to-category-bundled": "[[:$1]] added to category, [[Special:WhatLinksHere/$1|this page is included within other pages]]", "recentchanges-page-removed-from-category": "[[:$1]] removed from category", - "recentchanges-page-removed-from-category-bundled": "[[:$1]] and [[Special:WhatLinksHere/$1|{{PLURAL:$2|one page|$2 pages}}]] removed from category", + "recentchanges-page-removed-from-category-bundled": "[[:$1]] removed from category, [[Special:WhatLinksHere/$1|this page is included within other pages]]", "autochange-username": "MediaWiki automatic change", "upload": "Upload file", "uploadbtn": "Upload file", diff --git a/languages/i18n/qqq.json b/languages/i18n/qqq.json index ba9b256977..71ee0d03c4 100644 --- a/languages/i18n/qqq.json +++ b/languages/i18n/qqq.json @@ -1554,9 +1554,9 @@ "recentchangeslinked-page": "{{Identical|Page name}}", "recentchangeslinked-to": "Checkbox in [[Special:RecentChangesLinked]].", "recentchanges-page-added-to-category": "Comment message for pages added to a category\n\nParameters:\n* $1 - name of the page being added", - "recentchanges-page-added-to-category-bundled": "Comment message for template embedded by other pages added to a category\n\nParameters:\n* $1 - name of the page being added\n* $2 - number of additional pages being affected", + "recentchanges-page-added-to-category-bundled": "Comment message for template embedded by other pages added to a category\n\nParameters:\n* $1 - name of the page being added", "recentchanges-page-removed-from-category": "Comment message for pages removed from a category\n\nParameters:\n* $1 - name of the page being removed", - "recentchanges-page-removed-from-category-bundled": "Comment message for templates embeddedby other pages removed from a category\n\nParameters:\n* $1 - name of the page being added\n* $2 - number of additional pages being affected", + "recentchanges-page-removed-from-category-bundled": "Comment message for templates embedded by other pages removed from a category\n\nParameters:\n* $1 - name of the page being added", "autochange-username": "Used as bot / unknown username.", "upload": "Display name for link to [[Special:Upload]] for uploading files to the wiki.\n\nSee also:\n* {{msg-mw|Upload}}\n* {{msg-mw|Accesskey-t-upload}}\n* {{msg-mw|Tooltip-t-upload}}\n{{Identical|Upload file}}", "uploadbtn": "Button name in [[Special:Upload]].\n\nSee also:\n* {{msg-mw|Uploadbtn}}\n* {{msg-mw|Accesskey-upload}}\n* {{msg-mw|Tooltip-upload}}\n{{Identical|Upload file}}", diff --git a/tests/phpunit/includes/changes/CategoryMembershipChangeTest.php b/tests/phpunit/includes/changes/CategoryMembershipChangeTest.php index 6369b33430..1d86fb4005 100644 --- a/tests/phpunit/includes/changes/CategoryMembershipChangeTest.php +++ b/tests/phpunit/includes/changes/CategoryMembershipChangeTest.php @@ -74,7 +74,7 @@ class CategoryMembershipChangeTest extends MediaWikiLangTestCase { $this->assertTrue( strlen( self::$lastNotifyArgs[0] ) === 14 ); $this->assertEquals( 'Category:CategoryName', self::$lastNotifyArgs[1]->getPrefixedText() ); $this->assertEquals( '(autochange-username)', self::$lastNotifyArgs[2]->getName() ); - $this->assertEquals( '(recentchanges-page-added-to-category: ' . self::$pageName . ', 0)', + $this->assertEquals( '(recentchanges-page-added-to-category: ' . self::$pageName . ')', self::$lastNotifyArgs[3] ); $this->assertEquals( self::$pageName, self::$lastNotifyArgs[4]->getPrefixedText() ); $this->assertEquals( 0, self::$lastNotifyArgs[5] ); @@ -94,7 +94,7 @@ class CategoryMembershipChangeTest extends MediaWikiLangTestCase { $this->assertTrue( strlen( self::$lastNotifyArgs[0] ) === 14 ); $this->assertEquals( 'Category:CategoryName', self::$lastNotifyArgs[1]->getPrefixedText() ); $this->assertEquals( '(autochange-username)', self::$lastNotifyArgs[2]->getName() ); - $this->assertEquals( '(recentchanges-page-removed-from-category: ' . self::$pageName . ', 0)', + $this->assertEquals( '(recentchanges-page-removed-from-category: ' . self::$pageName . ')', self::$lastNotifyArgs[3] ); $this->assertEquals( self::$pageName, self::$lastNotifyArgs[4]->getPrefixedText() ); $this->assertEquals( 0, self::$lastNotifyArgs[5] ); @@ -115,7 +115,7 @@ class CategoryMembershipChangeTest extends MediaWikiLangTestCase { $this->assertTrue( strlen( self::$lastNotifyArgs[0] ) === 14 ); $this->assertEquals( 'Category:CategoryName', self::$lastNotifyArgs[1]->getPrefixedText() ); $this->assertEquals( 'UTSysop', self::$lastNotifyArgs[2]->getName() ); - $this->assertEquals( '(recentchanges-page-added-to-category: ' . self::$pageName . ', 0)', + $this->assertEquals( '(recentchanges-page-added-to-category: ' . self::$pageName . ')', self::$lastNotifyArgs[3] ); $this->assertEquals( self::$pageName, self::$lastNotifyArgs[4]->getPrefixedText() ); $this->assertEquals( self::$pageRev->getParentId(), self::$lastNotifyArgs[5] ); @@ -136,7 +136,7 @@ class CategoryMembershipChangeTest extends MediaWikiLangTestCase { $this->assertTrue( strlen( self::$lastNotifyArgs[0] ) === 14 ); $this->assertEquals( 'Category:CategoryName', self::$lastNotifyArgs[1]->getPrefixedText() ); $this->assertEquals( 'UTSysop', self::$lastNotifyArgs[2]->getName() ); - $this->assertEquals( '(recentchanges-page-removed-from-category: ' . self::$pageName . ', 0)', + $this->assertEquals( '(recentchanges-page-removed-from-category: ' . self::$pageName . ')', self::$lastNotifyArgs[3] ); $this->assertEquals( self::$pageName, self::$lastNotifyArgs[4]->getPrefixedText() ); $this->assertEquals( self::$pageRev->getParentId(), self::$lastNotifyArgs[5] ); diff --git a/tests/phpunit/includes/deferred/LinksUpdateTest.php b/tests/phpunit/includes/deferred/LinksUpdateTest.php index ac75e556a8..3309352fde 100644 --- a/tests/phpunit/includes/deferred/LinksUpdateTest.php +++ b/tests/phpunit/includes/deferred/LinksUpdateTest.php @@ -225,8 +225,8 @@ class LinksUpdateTest extends MediaWikiLangTestCase { Title::newFromText( 'Baz' ), [ [ 'Baz', - '[[:Template:TestingTemplate]] and [[Special:WhatLinksHere/Template:TestingTemplate|2 pages]] ' - . 'added to category' + '[[:Template:TestingTemplate]] added to category, ' . + '[[Special:WhatLinksHere/Template:TestingTemplate|this page is included within other pages]]' ] ] ); } diff --git a/tests/phpunit/includes/jobqueue/jobs/CategoryMembershipChangeJobTest.php b/tests/phpunit/includes/jobqueue/jobs/CategoryMembershipChangeJobTest.php index 54178fe2af..656be381dd 100644 --- a/tests/phpunit/includes/jobqueue/jobs/CategoryMembershipChangeJobTest.php +++ b/tests/phpunit/includes/jobqueue/jobs/CategoryMembershipChangeJobTest.php @@ -75,11 +75,11 @@ class CategoryMembershipChangeJobTest extends MediaWikiTestCase { $removedRevId = $this->editPageText( 'Blank' ); $this->assertEquals( - '(recentchanges-page-added-to-category: ' . self::TITLE_STRING . ', 0)', + '(recentchanges-page-added-to-category: ' . self::TITLE_STRING . ')', $this->getCategorizeRecentChangeForRevId( $addedRevId )->getAttribute( 'rc_comment' ) ); $this->assertEquals( - '(recentchanges-page-removed-from-category: ' . self::TITLE_STRING . ', 0)', + '(recentchanges-page-removed-from-category: ' . self::TITLE_STRING . ')', $this->getCategorizeRecentChangeForRevId( $removedRevId )->getAttribute( 'rc_comment' ) ); } -- 2.20.1