diff options
Diffstat (limited to 'MLEB/Translate/specials/SpecialAggregateGroups.php')
-rw-r--r-- | MLEB/Translate/specials/SpecialAggregateGroups.php | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/MLEB/Translate/specials/SpecialAggregateGroups.php b/MLEB/Translate/specials/SpecialAggregateGroups.php index a1b52336..197d2462 100644 --- a/MLEB/Translate/specials/SpecialAggregateGroups.php +++ b/MLEB/Translate/specials/SpecialAggregateGroups.php @@ -18,11 +18,12 @@ class SpecialAggregateGroups extends SpecialPage { } protected function getGroupName() { - return 'wiki'; + return 'translation'; } public function execute( $parameters ) { $this->setHeaders(); + $this->addHelpLink( 'Help:Extension:Translate/Page translation administration' ); $out = $this->getOutput(); $out->addModuleStyles( 'ext.translate.special.aggregategroups.styles' ); @@ -32,8 +33,14 @@ class SpecialAggregateGroups extends SpecialPage { $this->hasPermission = true; } + $groupsPreload = array_merge( + MessageGroups::getGroupsByType( WikiPageMessageGroup::class ), + MessageGroups::getGroupsByType( AggregateMessageGroup::class ) + ); + TranslateMetadata::preloadGroups( array_keys( $groupsPreload ) ); + $groups = MessageGroups::getAllGroups(); - uasort( $groups, [ 'MessageGroups', 'groupLabelSort' ] ); + uasort( $groups, [ MessageGroups::class, 'groupLabelSort' ] ); $aggregates = []; $pages = []; foreach ( $groups as $group ) { @@ -54,15 +61,14 @@ class SpecialAggregateGroups extends SpecialPage { return; } - $this->showAggregateGroups( $aggregates, $pages ); + $this->showAggregateGroups( $aggregates ); } /** * @param AggregateMessageGroup $group - * @param array $pages * @return string */ - protected function showAggregateGroup( $group, array $pages ) { + protected function showAggregateGroup( $group ) { $out = ''; $id = $group->getId(); $label = $group->getLabel(); @@ -164,9 +170,8 @@ class SpecialAggregateGroups extends SpecialPage { /** * @param array $aggregates - * @param array $pages */ - protected function showAggregateGroups( array $aggregates, array $pages ) { + protected function showAggregateGroups( array $aggregates ) { $out = $this->getOutput(); $out->addModules( 'ext.translate.special.aggregategroups' ); @@ -179,10 +184,11 @@ class SpecialAggregateGroups extends SpecialPage { $out->addHTML( $nojs ); /** - * @var $group AggregateMessageGroup + * @var AggregateMessageGroup $group */ foreach ( $aggregates as $group ) { - $out->addHTML( $this->showAggregateGroup( $group, $pages ) ); + // @phan-suppress-next-line SecurityCheck-XSS + $out->addHTML( $this->showAggregateGroup( $group ) ); } // Add new group if user has permissions @@ -228,7 +234,8 @@ class SpecialAggregateGroups extends SpecialPage { // Get the respective groups and sort them $subgroups = MessageGroups::getGroupsById( $subgroupIds ); - uasort( $subgroups, [ 'MessageGroups', 'groupLabelSort' ] ); + '@phan-var WikiPageMessageGroup[] $subgroups'; + uasort( $subgroups, [ MessageGroups::class, 'groupLabelSort' ] ); // Avoid potentially thousands of separate database queries $lb = new LinkBatch(); |