aboutsummaryrefslogtreecommitdiff
path: root/cli
diff options
context:
space:
mode:
authorGravatar Luc SANCHEZ <4697568+ColonelMoutarde@users.noreply.github.com> 2023-04-29 20:08:36 +0200
committerGravatar GitHub <noreply@github.com> 2023-04-29 20:08:36 +0200
commit49000ca587590dbc4ca6f5e59697163f2ff8ce88 (patch)
treef6c3467e70d0fa9ea72a6c3e16a0317f8b189729 /cli
parent2199df8ad7e9297f523614115bb323585e0dba83 (diff)
phpstan level 9 for check.translation.php (#5353)
* phpstan level 7 for check.translation.php * Fixes --------- Co-authored-by: Luc <sanchezluc+freshrss@gmail.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Diffstat (limited to 'cli')
-rwxr-xr-xcli/check.translation.php18
-rwxr-xr-xcli/manipulate.translation.php7
2 files changed, 15 insertions, 10 deletions
diff --git a/cli/check.translation.php b/cli/check.translation.php
index 59f59f94b..34b43244f 100755
--- a/cli/check.translation.php
+++ b/cli/check.translation.php
@@ -9,11 +9,13 @@ require_once __DIR__ . '/i18n/I18nUsageValidator.php';
$i18nFile = new I18nFile();
$i18nData = new I18nData($i18nFile->load());
-$options = getopt("dhl:r");
+/** @var array<string,string>|false $options */
+$options = getopt('dhl:r');
-if (array_key_exists('h', $options)) {
+if (!is_array($options) || array_key_exists('h', $options)) {
checkHelp();
}
+
if (array_key_exists('l', $options)) {
$languages = array($options['l']);
} else {
@@ -23,17 +25,16 @@ $displayResults = array_key_exists('d', $options);
$displayReport = array_key_exists('r', $options);
$isValidated = true;
-$result = array();
-$report = array();
+$result = [];
+$report = [];
foreach ($languages as $language) {
if ($language === $i18nData::REFERENCE_LANGUAGE) {
$i18nValidator = new I18nUsageValidator($i18nData->getReferenceLanguage(), findUsedTranslations());
- $isValidated = $i18nValidator->validate() && $isValidated;
} else {
$i18nValidator = new I18nCompletionValidator($i18nData->getReferenceLanguage(), $i18nData->getLanguage($language));
- $isValidated = $i18nValidator->validate() && $isValidated;
}
+ $isValidated = $i18nValidator->validate() && $isValidated;
$report[$language] = sprintf('%-5s - %s', $language, $i18nValidator->displayReport());
$result[$language] = $i18nValidator->displayResult();
@@ -69,9 +70,12 @@ function findUsedTranslations(): array {
$directory = new RecursiveDirectoryIterator(__DIR__ . '/..');
$iterator = new RecursiveIteratorIterator($directory);
$regex = new RegexIterator($iterator, '/^.+\.(php|phtml)$/i', RecursiveRegexIterator::GET_MATCH);
- $usedI18n = array();
+ $usedI18n = [];
foreach (array_keys(iterator_to_array($regex)) as $file) {
$fileContent = file_get_contents($file);
+ if ($fileContent === false) {
+ continue;
+ }
preg_match_all('/_t\([\'"](?P<strings>[^\'"]+)[\'"]/', $fileContent, $matches);
$usedI18n = array_merge($usedI18n, $matches['strings']);
}
diff --git a/cli/manipulate.translation.php b/cli/manipulate.translation.php
index b52451681..947739384 100755
--- a/cli/manipulate.translation.php
+++ b/cli/manipulate.translation.php
@@ -5,11 +5,12 @@ require_once __DIR__ . '/i18n/I18nData.php';
require_once __DIR__ . '/i18n/I18nFile.php';
require_once __DIR__ . '/../constants.php';
-/** @var array<string,string> $options */
-$options = getopt("a:hk:l:o:rv:");
+/** @var array<string,string>|false $options */
+$options = getopt('a:hk:l:o:rv:');
-if (array_key_exists('h', $options)) {
+if (!is_array($options) || array_key_exists('h', $options)) {
manipulateHelp();
+ exit();
}
if (!array_key_exists('a', $options)) {