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