diff options
Diffstat (limited to 'MLEB/Translate/utils/StatsTable.php')
-rw-r--r-- | MLEB/Translate/utils/StatsTable.php | 34 |
1 files changed, 20 insertions, 14 deletions
diff --git a/MLEB/Translate/utils/StatsTable.php b/MLEB/Translate/utils/StatsTable.php index 46493683..bb08a741 100644 --- a/MLEB/Translate/utils/StatsTable.php +++ b/MLEB/Translate/utils/StatsTable.php @@ -7,6 +7,9 @@ * @license GPL-2.0-or-later */ +use MediaWiki\Extension\Translate\Services; +use MediaWiki\MediaWikiServices; + /** * Implements generation of HTML stats table. * @@ -19,6 +22,8 @@ class StatsTable { protected $lang; /** @var Title */ protected $translate; + /** @var \MediaWiki\Extension\Translate\Utilities\ConfigHelper */ + private $configHelper; /** @var string */ protected $mainColumnHeader; /** @var Message[] */ @@ -27,6 +32,7 @@ class StatsTable { public function __construct() { $this->lang = RequestContext::getMain()->getLanguage(); $this->translate = SpecialPage::getTitleFor( 'Translate' ); + $this->configHelper = Services::getInstance()->getConfigHelper(); } /** @@ -236,18 +242,19 @@ class StatsTable { * @return string Html */ public function makeGroupLink( MessageGroup $group, $code, $params ) { + $linker = MediaWikiServices::getInstance()->getLinkRenderer(); + $queryParameters = $params + [ 'group' => $group->getId(), 'language' => $code ]; - $attributes = []; - - $translateGroupLink = Linker::link( - $this->translate, $this->getGroupLabel( $group ), $attributes, $queryParameters + return $linker->makeLink( + $this->translate, + new HtmlArmor( $this->getGroupLabel( $group ) ), + [], + $queryParameters ); - - return $translateGroupLink; } /** @@ -257,9 +264,7 @@ class StatsTable { * @param string $code Language code * @return bool */ - public function isExcluded( $groupId, $code ) { - global $wgTranslateBlacklist; - + public function isExcluded( $groupId, $code ): bool { $excluded = null; $checks = [ @@ -268,9 +273,11 @@ class StatsTable { '*' ]; + $disabledLanguages = $this->configHelper->getDisabledTargetLanguages(); + foreach ( $checks as $check ) { - if ( isset( $wgTranslateBlacklist[$check] ) && isset( $wgTranslateBlacklist[$check][$code] ) ) { - $excluded = $wgTranslateBlacklist[$check][$code]; + if ( isset( $disabledLanguages[$check] ) && isset( $disabledLanguages[$check][$code] ) ) { + $excluded = $disabledLanguages[$check][$code]; } if ( $excluded !== null ) { @@ -284,11 +291,10 @@ class StatsTable { $excluded = true; } - $include = Hooks::run( 'Translate:MessageGroupStats:isIncluded', [ $groupId, $code ] ); - if ( !$include ) { + if ( TranslateMetadata::isExcluded( $groupId, $code ) ) { $excluded = true; } - return $excluded; + return (bool)$excluded; } } |