From f3760f138dcbaf7a2190336a0378cf1b2190c9f5 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Mon, 17 Apr 2023 08:30:21 +0200 Subject: Complete PHPStan Level 6 (#5305) * Complete PHPStan Level 6 Fix https://github.com/FreshRSS/FreshRSS/issues/4112 And initiate PHPStan Level 7 * PHPStan Level 6 for tests * Use phpstan/phpstan-phpunit * Update to PHPStan version 1.10 * Fix mixed bug * Fix mixed return bug * Fix paginator bug * Fix FreshRSS_UserConfiguration * A couple more Minz_Configuration bug fixes * A few trivial PHPStan Level 7 fixes * A few more simple PHPStan Level 7 * More files passing PHPStan Level 7 Add interface to replace removed class from https://github.com/FreshRSS/FreshRSS/pull/5251 * A few more PHPStan Level 7 preparations * A few last details --- cli/_cli.php | 4 ++-- cli/_update-or-create-user.php | 2 +- cli/actualize-user.php | 4 ++-- cli/db-optimize.php | 4 ++-- cli/delete-user.php | 4 ++-- cli/export-opml-for-user.php | 4 ++-- cli/export-sqlite-for-user.php | 4 ++-- cli/export-zip-for-user.php | 4 ++-- cli/i18n/I18nData.php | 4 ++-- cli/import-for-user.php | 4 ++-- cli/import-sqlite-for-user.php | 4 ++-- cli/user-info.php | 12 ++++++------ 12 files changed, 27 insertions(+), 27 deletions(-) (limited to 'cli') diff --git a/cli/_cli.php b/cli/_cli.php index 8a6b13007..710e26605 100644 --- a/cli/_cli.php +++ b/cli/_cli.php @@ -77,10 +77,10 @@ function performRequirementCheck(string $databaseType): void { * @return array */ function getLongOptions(array $options, string $regex): array { - $longOptions = array_filter($options, function($a) use ($regex) { + $longOptions = array_filter($options, static function (string $a) use ($regex) { return preg_match($regex, $a); }); - return array_map(function($a) use ($regex) { + return array_map(static function (string $a) use ($regex) { return preg_replace($regex, '', $a); }, $longOptions); } diff --git a/cli/_update-or-create-user.php b/cli/_update-or-create-user.php index 0f6c39517..73b627597 100644 --- a/cli/_update-or-create-user.php +++ b/cli/_update-or-create-user.php @@ -1,7 +1,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = array( 'user:', diff --git a/cli/actualize-user.php b/cli/actualize-user.php index c267da648..b7bc9c2ad 100755 --- a/cli/actualize-user.php +++ b/cli/actualize-user.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = array( 'user:', @@ -10,7 +10,7 @@ $params = array( $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || !is_string($options['user'])) { fail('Usage: ' . basename(__FILE__) . " --user username"); } diff --git a/cli/db-optimize.php b/cli/db-optimize.php index 757b94ef6..ba14d12ea 100755 --- a/cli/db-optimize.php +++ b/cli/db-optimize.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = array( 'user:', @@ -10,7 +10,7 @@ $params = array( $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || !is_string($options['user'])) { fail('Usage: ' . basename(__FILE__) . " --user username"); } diff --git a/cli/delete-user.php b/cli/delete-user.php index 86424e9f7..fbbb2eebb 100755 --- a/cli/delete-user.php +++ b/cli/delete-user.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = array( 'user:', @@ -10,7 +10,7 @@ $params = array( $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || !is_string($options['user'])) { fail('Usage: ' . basename(__FILE__) . " --user username"); } $username = $options['user']; diff --git a/cli/export-opml-for-user.php b/cli/export-opml-for-user.php index 2f728742a..755cbe035 100755 --- a/cli/export-opml-for-user.php +++ b/cli/export-opml-for-user.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = array( 'user:', @@ -10,7 +10,7 @@ $params = array( $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || !is_string($options['user'])) { fail('Usage: ' . basename(__FILE__) . " --user username > /path/to/file.opml.xml"); } diff --git a/cli/export-sqlite-for-user.php b/cli/export-sqlite-for-user.php index 78c21ce1e..b4265d28a 100755 --- a/cli/export-sqlite-for-user.php +++ b/cli/export-sqlite-for-user.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = [ 'user:', @@ -11,7 +11,7 @@ $params = [ $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename']) || !is_string($options['user']) || !is_string($options['filename'])) { fail('Usage: ' . basename(__FILE__) . ' --user username --filename /path/to/db.sqlite'); } diff --git a/cli/export-zip-for-user.php b/cli/export-zip-for-user.php index a650b10f4..90e4b87e1 100755 --- a/cli/export-zip-for-user.php +++ b/cli/export-zip-for-user.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = array( 'user:', @@ -11,7 +11,7 @@ $params = array( $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || !is_string($options['user'])) { fail('Usage: ' . basename(__FILE__) . " --user username ( --max-feed-entries 100 ) > /path/to/file.zip"); } diff --git a/cli/i18n/I18nData.php b/cli/i18n/I18nData.php index b3bb6e34f..62ffd7ce1 100644 --- a/cli/i18n/I18nData.php +++ b/cli/i18n/I18nData.php @@ -127,7 +127,7 @@ class I18nData { * the parent key is 'a.b.c.d'. */ private function getParentKey(string $key): string { - return substr($key, 0, strrpos($key, '.')); + return substr($key, 0, strrpos($key, '.') ?: null); } /** @@ -183,7 +183,7 @@ class I18nData { } $keys = array_keys($this->data[static::REFERENCE_LANGUAGE][$this->getFilenamePrefix($key)]); - $children = array_values(array_filter($keys, function ($element) use ($key) { + $children = array_values(array_filter($keys, static function (string $element) use ($key) { if ($element === $key) { return false; } diff --git a/cli/import-for-user.php b/cli/import-for-user.php index 2bfc1b842..405843133 100755 --- a/cli/import-for-user.php +++ b/cli/import-for-user.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = array( 'user:', @@ -11,7 +11,7 @@ $params = array( $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename']) || !is_string($options['user']) || !is_string($options['filename'])) { fail('Usage: ' . basename(__FILE__) . " --user username --filename /path/to/file.ext"); } diff --git a/cli/import-sqlite-for-user.php b/cli/import-sqlite-for-user.php index 544a82a72..3d1fcc7bf 100755 --- a/cli/import-sqlite-for-user.php +++ b/cli/import-sqlite-for-user.php @@ -2,7 +2,7 @@ db['type']); +performRequirementCheck(FreshRSS_Context::$system_conf->db['type'] ?? ''); $params = [ 'user:', @@ -12,7 +12,7 @@ $params = [ $options = getopt('', $params); -if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename'])) { +if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename']) || !is_string($options['user']) || !is_string($options['filename'])) { fail('Usage: ' . basename(__FILE__) . ' --user username --force-overwrite --filename /path/to/db.sqlite'); } diff --git a/cli/user-info.php b/cli/user-info.php index f338cbc17..8fc8f20df 100755 --- a/cli/user-info.php +++ b/cli/user-info.php @@ -71,12 +71,12 @@ foreach ($users as $username) { 'enabled' => FreshRSS_Context::$user_conf->enabled ? '*' : '', 'last_user_activity' => FreshRSS_UserDAO::mtime($username), 'database_size' => $databaseDAO->size(), - 'categories' => (int) $catDAO->count(), - 'feeds' => (int) count($feedDAO->listFeedsIds()), - 'reads' => (int) $nbEntries['read'], - 'unreads' => (int) $nbEntries['unread'], - 'favourites' => (int) $nbFavorites['all'], - 'tags' => (int) $tagDAO->count(), + 'categories' => $catDAO->count(), + 'feeds' => count($feedDAO->listFeedsIds()), + 'reads' => (int)$nbEntries['read'], + 'unreads' => (int)$nbEntries['unread'], + 'favourites' => (int)$nbFavorites['all'], + 'tags' => (int)$tagDAO->count(), 'lang' => FreshRSS_Context::$user_conf->language, 'mail_login' => FreshRSS_Context::$user_conf->mail_login, ); -- cgit v1.2.3