Index: trunk/extensions/Translate/Translate.php |
— | — | @@ -75,6 +75,7 @@ |
76 | 76 | 'core' => 'CoreMessageGroup', |
77 | 77 | 'core-mostused' => 'CoreMostUsedMessageGroup', |
78 | 78 | 'ext-0-all' => 'AllMediawikiExtensionsGroup', |
| 79 | +'ext-0-wikimedia' => 'AllWikimediaExtensionsGroup', |
79 | 80 | 'ext-advancedrandom' => 'AdvancedRandomMessageGroup', |
80 | 81 | 'ext-ajaxshoweditors' => 'AjaxShowEditorsMessageGroup', |
81 | 82 | 'ext-antispoof' => 'AntiSpoofMessageGroup', |
Index: trunk/extensions/Translate/MessageGroups.php |
— | — | @@ -530,18 +530,17 @@ |
531 | 531 | |
532 | 532 | } |
533 | 533 | |
534 | | - |
535 | 534 | class AllMediawikiExtensionsGroup extends ExtensionMessageGroup { |
536 | 535 | protected $label = 'All extensions'; |
537 | 536 | protected $id = 'ext-0-all'; |
538 | 537 | protected $meta = true; |
539 | 538 | |
540 | | - private $classes = null; |
| 539 | + protected $classes = null; |
541 | 540 | |
542 | 541 | // Don't add the (mw ext) thingie |
543 | 542 | public function getLabel() { return $this->label; } |
544 | 543 | |
545 | | - private function init() { |
| 544 | + protected function init() { |
546 | 545 | if ( $this->classes === null ) { |
547 | 546 | $this->classes = MessageGroups::singleton()->getGroups(); |
548 | 547 | foreach ( $this->classes as $index => $class ) { |
— | — | @@ -624,6 +623,61 @@ |
625 | 624 | |
626 | 625 | } |
627 | 626 | |
| 627 | +class AllWikimediaExtensionsGroup extends AllMediawikiExtensionsGroup { |
| 628 | + protected $label = 'All extensions used by Wikimedia'; |
| 629 | + protected $id = 'ext-0-wikimedia'; |
| 630 | + protected $meta = true; |
| 631 | + |
| 632 | + protected $classes = null; |
| 633 | + |
| 634 | + protected $wmfextensions = array( |
| 635 | + 'ext-antispoof', |
| 636 | + 'ext-assertedit', |
| 637 | + 'ext-boardvote', |
| 638 | + 'ext-bookinformation', |
| 639 | + 'ext-categorytree', |
| 640 | + 'ext-checkuser', |
| 641 | + 'ext-cite', |
| 642 | + 'ext-citespecial', |
| 643 | + 'ext-confirmedit', |
| 644 | + 'ext-crossnamespacelinks', |
| 645 | + 'ext-deletedcontribs', |
| 646 | + 'ext-dismissablesitenotice', |
| 647 | + 'ext-expandtemplates', |
| 648 | + 'ext-filepath', |
| 649 | + 'ext-gadgets', |
| 650 | + 'ext-imagemap', |
| 651 | + 'ext-inputbox', |
| 652 | + 'ext-intersection', |
| 653 | + 'ext-linksearch', |
| 654 | + 'ext-lucenesearch', |
| 655 | + 'ext-makebot', |
| 656 | + 'ext-makesysop', |
| 657 | + 'ext-newuserlog', |
| 658 | + 'ext-nuke', |
| 659 | + 'ext-ogghandler', |
| 660 | + 'ext-oversight', |
| 661 | + 'ext-proofreadpage', |
| 662 | + 'ext-quiz', |
| 663 | + 'ext-renameuser', |
| 664 | + 'ext-scanset', |
| 665 | + 'ext-sitematrix', |
| 666 | + 'ext-spamblacklist', |
| 667 | + 'ext-syntaxhighlightgeshi', |
| 668 | + 'ext-usernameblacklist', |
| 669 | + ); |
| 670 | + |
| 671 | + protected function init() { |
| 672 | + if ( $this->classes === null ) { |
| 673 | + $this->classes = MessageGroups::singleton()->getGroups(); |
| 674 | + $this->classes = array_intersect_key( |
| 675 | + $this->classes, |
| 676 | + array_flip( $this->wmfextensions ) |
| 677 | + ); |
| 678 | + } |
| 679 | + } |
| 680 | +} |
| 681 | + |
628 | 682 | class AdvancedRandomMessageGroup extends ExtensionMessageGroup { |
629 | 683 | protected $label = 'Advanced Random'; |
630 | 684 | protected $id = 'ext-advancedrandom'; |