summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'MLEB/Translate/specials/SpecialAggregateGroups.php')
-rw-r--r--MLEB/Translate/specials/SpecialAggregateGroups.php27
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();