Explorar el Código

Fix PHPStan 2.2.2 in CLI (#8911)

Alexandre Alapetite hace 2 semanas
padre
commit
941f30b24d

+ 1 - 1
cli/check.translation.php

@@ -36,7 +36,7 @@ if ($cliOptions->help) {
 $i18nFile = new I18nFile();
 $i18nData = new I18nData($i18nFile->load());
 
-if (isset($cliOptions->language)) {
+if (!empty($cliOptions->language)) {
 	$languages = $cliOptions->language;
 } else {
 	$languages = $i18nData->getAvailableLanguages();

+ 3 - 3
cli/compile.plurals.php

@@ -22,18 +22,18 @@ $cliOptions = new class extends CliOptionsParser {
 if (!empty($cliOptions->errors)) {
 	fail('FreshRSS error: ' . array_shift($cliOptions->errors) . "\n" . $cliOptions->usage);
 }
-if ($cliOptions->help || (!isset($cliOptions->formula) && !isset($cliOptions->file) && !$cliOptions->all)) {
+if ($cliOptions->help || (($cliOptions->formula ?? '') === '' && ($cliOptions->file ?? '') === '' && !$cliOptions->all)) {
 	compilePluralsHelp();
 }
 
 $compiler = new PluralFormsCompiler();
 
-if (isset($cliOptions->formula)) {
+if (($cliOptions->formula ?? '') !== '') {
 	echo $compiler->compileFormulaToLambda($cliOptions->formula) . "\n";
 	done();
 }
 
-if (isset($cliOptions->file)) {
+if (($cliOptions->file ?? '') !== '') {
 	$compiler->compileFile($cliOptions->file);
 	echo 'Compiled ' . $cliOptions->file . "\n";
 	done();

+ 1 - 1
cli/create-user.php

@@ -89,7 +89,7 @@ if (!$ok) {
 	fail('FreshRSS could not create user!');
 }
 
-if (isset($cliOptions->apiPassword)) {
+if (($cliOptions->apiPassword ?? '') !== '') {
 	$username = cliInitUser($username);
 	$error = FreshRSS_api_Controller::updatePassword($cliOptions->apiPassword);
 	if ($error !== false) {

+ 10 - 13
cli/manipulate.translation.php

@@ -41,17 +41,14 @@ $i18nData = new I18nData($data->load());
 
 switch ($cliOptions->action) {
 	case 'add':
-		if (isset($cliOptions->key) && isset($cliOptions->value) && isset($cliOptions->language)) {
+		if (($cliOptions->key ?? '') !== '' && ($cliOptions->value ?? '') !== '' && ($cliOptions->language ?? '') !== '') {
 			$i18nData->addValue($cliOptions->key, $cliOptions->value, $cliOptions->language);
-		} elseif (isset($cliOptions->key) && isset($cliOptions->value)) {
+		} elseif (($cliOptions->key ?? '') !== '' && ($cliOptions->value ?? '') !== '') {
 			$i18nData->addKey($cliOptions->key, $cliOptions->value);
-		} elseif (isset($cliOptions->key)) {
+		} elseif (($cliOptions->key ?? '') !== '') {
 			$i18nData->addFile($cliOptions->key);
-		} elseif (isset($cliOptions->language)) {
-			$reference = null;
-			if (isset($cliOptions->originLanguage)) {
-				$reference = $cliOptions->originLanguage;
-			}
+		} elseif (($cliOptions->language ?? '') !== '') {
+			$reference = ($cliOptions->originLanguage ?? '') === '' ? null : $cliOptions->originLanguage;
 			$i18nData->addLanguage($cliOptions->language, $reference);
 		} else {
 			error('You need to specify a valid set of options.');
@@ -59,7 +56,7 @@ switch ($cliOptions->action) {
 		}
 		break;
 	case 'move':
-		if (isset($cliOptions->key) && isset($cliOptions->newKey)) {
+		if (($cliOptions->key ?? '') !== '' && ($cliOptions->newKey ?? '') !== '') {
 			$i18nData->moveKey($cliOptions->key, $cliOptions->newKey);
 		} else {
 			error('You need to specify the key to move and its new location.');
@@ -67,7 +64,7 @@ switch ($cliOptions->action) {
 		}
 		break;
 	case 'delete':
-		if (isset($cliOptions->key)) {
+		if (($cliOptions->key ?? '') !== '') {
 			$i18nData->removeKey($cliOptions->key);
 		} else {
 			error('You need to specify the key to delete.');
@@ -75,7 +72,7 @@ switch ($cliOptions->action) {
 		}
 		break;
 	case 'exist':
-		if (isset($cliOptions->key)) {
+		if (($cliOptions->key ?? '') !== '') {
 			$key = $cliOptions->key;
 			if ($i18nData->isKnown($key)) {
 				echo "The '{$key}' key is known.\n\n";
@@ -90,7 +87,7 @@ switch ($cliOptions->action) {
 	case 'format':
 		break;
 	case 'ignore':
-		if (isset($cliOptions->language) && isset($cliOptions->key)) {
+		if (($cliOptions->language ?? '') !== '' && ($cliOptions->key ?? '') !== '') {
 			$i18nData->ignore($cliOptions->key, $cliOptions->language, $cliOptions->revert);
 		} else {
 			error('You need to specify a valid set of options.');
@@ -98,7 +95,7 @@ switch ($cliOptions->action) {
 		}
 		break;
 	case 'ignore_unmodified':
-		if (isset($cliOptions->language)) {
+		if (($cliOptions->language ?? '') !== '') {
 			$i18nData->ignore_unmodified($cliOptions->language, $cliOptions->revert);
 		} else {
 			error('You need to specify a valid set of options.');

+ 2 - 2
cli/reconfigure-user.php

@@ -38,8 +38,8 @@ $hasUnset = $cliOptions->unset;
 $hasStdin = $cliOptions->valueStdin;
 $force = $cliOptions->force;
 $showSecrets = $cliOptions->showSecrets;
-$hasKey = isset($cliOptions->key);
-$hasValue = isset($cliOptions->value);
+$hasKey = ($cliOptions->key ?? '') !== '';
+$hasValue = ($cliOptions->value ?? '') !== '';
 
 if ($hasList && ($hasSet || $hasUnset || $hasKey)) {
 	fail('FreshRSS error: --list cannot be combined with --key, --set, or --unset' . "\n" . $cliOptions->usage);

+ 1 - 1
cli/update-user.php

@@ -78,7 +78,7 @@ if (!$ok) {
 	fail('FreshRSS could not update user!');
 }
 
-if (isset($cliOptions->apiPassword)) {
+if (($cliOptions->apiPassword ?? '') !== '') {
 	$error = FreshRSS_api_Controller::updatePassword($cliOptions->apiPassword);
 	if ($error !== false) {
 		fail($error);

+ 5 - 5
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "a9fa7dc52d7ae1c05b7c889cb59881db",
+    "content-hash": "d9c253337f8342684f2f8f37c331a81f",
     "packages": [],
     "packages-dev": [
         {
@@ -245,11 +245,11 @@
         },
         {
             "name": "phpstan/phpstan",
-            "version": "2.2.1",
+            "version": "2.2.2",
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dea9c8f2d25cc849391042b71e429c1a4bf82660",
-                "reference": "dea9c8f2d25cc849391042b71e429c1a4bf82660",
+                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e5cc34d491a90e79c216d824f60fe21fd4d93bd6",
+                "reference": "e5cc34d491a90e79c216d824f60fe21fd4d93bd6",
                 "shasum": ""
             },
             "require": {
@@ -305,7 +305,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2026-05-28T14:44:12+00:00"
+            "time": "2026-06-05T09:00:01+00:00"
         },
         {
             "name": "phpstan/phpstan-deprecation-rules",