From 64e3a09c2d73b95e0f33ed79f5272b12c1171ba6 Mon Sep 17 00:00:00 2001 From: Matthias Schuhmayer <38959016+mattamon@users.noreply.github.com> Date: Wed, 22 Mar 2023 12:46:37 +0100 Subject: [PATCH] [Task] Bump phpstan version (#14571) * Bump phpstan version to 1.10.5 * Fixing phpstan errors excecpt unused methods * Fixing phpstan errors excecpt unused methods * Fix typo for unused method * Remove unused method, add Messenger/Handler to ignoreErrors * Fixed typo * Adding null to docs for redirects --- .../Controller/Admin/SettingsController.php | 15 ++++----- .../DependencyInjection/Configuration.php | 4 +-- .../PimcoreCoreExtension.php | 19 ----------- .../PriceSystem/CachingPriceSystem.php | 2 +- composer.json | 2 +- lib/Config/Config.php | 2 +- lib/DataObject/ClassBuilder/ClassBuilder.php | 8 ++--- .../FieldCollectionClassBuilder.php | 8 ++--- .../ClassBuilder/ObjectBrickClassBuilder.php | 28 ++++++++-------- lib/Log/ApplicationLogger.php | 2 +- lib/Maintenance/Tasks/VersionsCleanupTask.php | 2 +- lib/Routing/RedirectHandler.php | 4 +-- .../ExpressionSupportStrategy.php | 10 +++--- .../DataObject/ClassDefinition/Data/Block.php | 10 +++--- .../ClassDefinition/Data/Localizedfields.php | 10 +++--- models/Document/Service.php | 33 ------------------- models/Staticroute.php | 8 ----- models/Version/Dao.php | 2 +- phpstan-baseline.neon | 19 +++++++++++ 19 files changed, 73 insertions(+), 115 deletions(-) diff --git a/bundles/AdminBundle/Controller/Admin/SettingsController.php b/bundles/AdminBundle/Controller/Admin/SettingsController.php index dd549e26d19..acd9c55fc07 100644 --- a/bundles/AdminBundle/Controller/Admin/SettingsController.php +++ b/bundles/AdminBundle/Controller/Admin/SettingsController.php @@ -404,17 +404,16 @@ public function getSystemAction(Request $request, Config $config) $valueArray['general']['valid_language'] = explode(',', $valueArray['general']['valid_languages']); //for "wrong" legacy values - if (is_array($valueArray['general']['valid_language'])) { - foreach ($valueArray['general']['valid_language'] as $existingValue) { - if (!in_array($existingValue, $validLanguages)) { - $languageOptions[] = [ - 'language' => $existingValue, - 'display' => $existingValue, - ]; - } + foreach ($valueArray['general']['valid_language'] as $existingValue) { + if (!in_array($existingValue, $validLanguages)) { + $languageOptions[] = [ + 'language' => $existingValue, + 'display' => $existingValue, + ]; } } + $response = [ 'values' => $valueArray, 'config' => [ diff --git a/bundles/CoreBundle/DependencyInjection/Configuration.php b/bundles/CoreBundle/DependencyInjection/Configuration.php index f162bd0bafc..905fd2fe655 100644 --- a/bundles/CoreBundle/DependencyInjection/Configuration.php +++ b/bundles/CoreBundle/DependencyInjection/Configuration.php @@ -2137,7 +2137,7 @@ private function addPredefinedPropertiesNode(ArrayNodeDefinition $rootNode) * * @param ArrayNodeDefinition $rootNode */ - private function addStaticroutesNode(ArrayNodeDefinition $rootNode) + private function addStaticRoutesNode(ArrayNodeDefinition $rootNode) { $rootNode ->children() @@ -2297,7 +2297,7 @@ private function addTemplatingEngineNode(ArrayNodeDefinition $rootNode): void ->addDefaultsIfNotSet() ->children() ->arrayNode('sandbox_security_policy') - ->info('Whitelist tags, filters & functions for evaluating twig + ->info('Whitelist tags, filters & functions for evaluating twig templates in a sandbox environment e.g. used by Mailer & Text layout component.') ->children() ->arrayNode('tags') diff --git a/bundles/CoreBundle/DependencyInjection/PimcoreCoreExtension.php b/bundles/CoreBundle/DependencyInjection/PimcoreCoreExtension.php index 7fffc7dcfb1..e93dc0bdf39 100644 --- a/bundles/CoreBundle/DependencyInjection/PimcoreCoreExtension.php +++ b/bundles/CoreBundle/DependencyInjection/PimcoreCoreExtension.php @@ -315,25 +315,6 @@ private function configureTargeting(ContainerBuilder $container, LoaderInterface ->setArgument('$actionHandlers', $actionHandlerLocator); } - /** - * Configures a "typed locator" (a class exposing get/has for a specific type) wrapping - * a standard service locator. Example: Pimcore\Targeting\DataProviderLocator - * - * @param ContainerBuilder $container - * @param string $locatorClass - * @param array $services - */ - private function configureTypedLocator(ContainerBuilder $container, string $locatorClass, array $services) - { - $serviceLocator = new Definition(ServiceLocator::class, [$services]); - $serviceLocator - ->setPublic(false) - ->addTag('container.service_locator'); - - $locator = $container->getDefinition($locatorClass); - $locator->setArgument('$locator', $serviceLocator); - } - /** * Handle pimcore.security.encoder_factories mapping * diff --git a/bundles/EcommerceFrameworkBundle/PriceSystem/CachingPriceSystem.php b/bundles/EcommerceFrameworkBundle/PriceSystem/CachingPriceSystem.php index 3d051ad1665..2299f5dea66 100644 --- a/bundles/EcommerceFrameworkBundle/PriceSystem/CachingPriceSystem.php +++ b/bundles/EcommerceFrameworkBundle/PriceSystem/CachingPriceSystem.php @@ -34,7 +34,7 @@ abstract class CachingPriceSystem extends AbstractPriceSystem implements Caching public function getPriceInfo(CheckoutableInterface $product, $quantityScale = 1, $products = null): PriceInfoInterface { $pId = $product->getId(); - if (!array_key_exists($pId, $this->priceInfos) || !is_array($this->priceInfos[$pId])) { + if (!array_key_exists($pId, $this->priceInfos)) { $this->priceInfos[$pId] = []; } diff --git a/composer.json b/composer.json index 44f567c02a0..6ad7ea85a9f 100644 --- a/composer.json +++ b/composer.json @@ -173,7 +173,7 @@ "codeception/codeception": "^4.1.12", "codeception/module-symfony": "^1.6.0", "codeception/phpunit-wrapper": "^9", - "phpstan/phpstan": "1.9.17", + "phpstan/phpstan": "1.10.5", "phpstan/phpstan-symfony": "^1.2.19", "phpunit/phpunit": "^9.3", "spiritix/php-chrome-html2pdf": "^1.6", diff --git a/lib/Config/Config.php b/lib/Config/Config.php index 48964ec1196..472ef12989b 100644 --- a/lib/Config/Config.php +++ b/lib/Config/Config.php @@ -394,6 +394,6 @@ public function __toString() return ''; } - return is_string($this->data) ? (string)$this->data : json_encode($this->data, JSON_PRETTY_PRINT); + return json_encode($this->data, JSON_PRETTY_PRINT); } } diff --git a/lib/DataObject/ClassBuilder/ClassBuilder.php b/lib/DataObject/ClassBuilder/ClassBuilder.php index 8f330400429..e063b0a5b00 100644 --- a/lib/DataObject/ClassBuilder/ClassBuilder.php +++ b/lib/DataObject/ClassBuilder/ClassBuilder.php @@ -126,12 +126,12 @@ public function buildClass(ClassDefinition $classDefinition): string $cd .= "\n\n"; - if (is_array($classDefinition->getFieldDefinitions()) && count($classDefinition->getFieldDefinitions())) { - foreach ($classDefinition->getFieldDefinitions() as $def) { - $cd .= $this->fieldDefinitionBuilder->buildFieldDefinition($classDefinition, $def); - } + + foreach ($classDefinition->getFieldDefinitions() as $def) { + $cd .= $this->fieldDefinitionBuilder->buildFieldDefinition($classDefinition, $def); } + $cd .= "}\n"; $cd .= "\n"; diff --git a/lib/DataObject/ClassBuilder/FieldCollectionClassBuilder.php b/lib/DataObject/ClassBuilder/FieldCollectionClassBuilder.php index 424c5dc5d8f..9b051cb0107 100644 --- a/lib/DataObject/ClassBuilder/FieldCollectionClassBuilder.php +++ b/lib/DataObject/ClassBuilder/FieldCollectionClassBuilder.php @@ -62,12 +62,12 @@ public function buildClass(Definition $definition): string $cd .= 'protected $type = "' . $definition->getKey() . "\";\n"; - if (is_array($definition->getFieldDefinitions()) && count($definition->getFieldDefinitions())) { - foreach ($definition->getFieldDefinitions() as $key => $def) { - $cd .= 'protected $' . $key . ";\n"; - } + + foreach ($definition->getFieldDefinitions() as $key => $def) { + $cd .= 'protected $' . $key . ";\n"; } + $cd .= "\n\n"; $fdDefs = $definition->getFieldDefinitions(); diff --git a/lib/DataObject/ClassBuilder/ObjectBrickClassBuilder.php b/lib/DataObject/ClassBuilder/ObjectBrickClassBuilder.php index 2c6f7d8b35c..d1e88477c66 100644 --- a/lib/DataObject/ClassBuilder/ObjectBrickClassBuilder.php +++ b/lib/DataObject/ClassBuilder/ObjectBrickClassBuilder.php @@ -66,12 +66,12 @@ public function buildClass(Definition $definition): string $cd .= 'protected $type = "' . $definition->getKey() . "\";\n"; - if (is_array($definition->getFieldDefinitions()) && count($definition->getFieldDefinitions())) { - foreach ($definition->getFieldDefinitions() as $key => $def) { - $cd .= 'protected $' . $key . ";\n"; - } + + foreach ($definition->getFieldDefinitions() as $key => $def) { + $cd .= 'protected $' . $key . ";\n"; } + $cd .= "\n\n"; $cd .= '/**' ."\n"; @@ -87,22 +87,22 @@ public function buildClass(Definition $definition): string $cd .= "\n\n"; - if (is_array($definition->getFieldDefinitions()) && count($definition->getFieldDefinitions())) { - foreach ($definition->getFieldDefinitions() as $key => $def) { - $cd .= $def->getGetterCodeObjectbrick($definition); - if ($def instanceof ClassDefinition\Data\Localizedfields) { - $cd .= $def->getGetterCode($definition); - } + foreach ($definition->getFieldDefinitions() as $def) { + $cd .= $def->getGetterCodeObjectbrick($definition); - $cd .= $def->getSetterCodeObjectbrick($definition); + if ($def instanceof ClassDefinition\Data\Localizedfields) { + $cd .= $def->getGetterCode($definition); + } + + $cd .= $def->getSetterCodeObjectbrick($definition); - if ($def instanceof ClassDefinition\Data\Localizedfields) { - $cd .= $def->getSetterCode($definition); - } + if ($def instanceof ClassDefinition\Data\Localizedfields) { + $cd .= $def->getSetterCode($definition); } } + $cd .= "}\n"; $cd .= "\n"; diff --git a/lib/Log/ApplicationLogger.php b/lib/Log/ApplicationLogger.php index 8e12f35a322..7e5a7880f09 100644 --- a/lib/Log/ApplicationLogger.php +++ b/lib/Log/ApplicationLogger.php @@ -142,7 +142,7 @@ public function setRelatedObject($relatedObject) */ public function log($level, $message, array $context = [])// : void { - if (!isset($context['component']) || is_null($context['component'])) { + if (!isset($context['component'])) { $context['component'] = $this->component; } diff --git a/lib/Maintenance/Tasks/VersionsCleanupTask.php b/lib/Maintenance/Tasks/VersionsCleanupTask.php index f14ac4a9398..aca2e9fb1d1 100644 --- a/lib/Maintenance/Tasks/VersionsCleanupTask.php +++ b/lib/Maintenance/Tasks/VersionsCleanupTask.php @@ -96,7 +96,7 @@ private function doVersionCleanup() } $value = $tConf['steps'] ?? 10; - if (isset($tConf['days']) && !is_null($tConf['days'])) { + if (isset($tConf['days'])) { $versioningType = 'days'; $value = (int)$tConf['days']; } diff --git a/lib/Routing/RedirectHandler.php b/lib/Routing/RedirectHandler.php index 6014b8f0efc..8dc111af9d4 100644 --- a/lib/Routing/RedirectHandler.php +++ b/lib/Routing/RedirectHandler.php @@ -56,7 +56,7 @@ final class RedirectHandler implements LoggerAwareInterface private $siteResolver; /** - * @var Redirect[] + * @var null|Redirect[] */ private $redirects; @@ -261,7 +261,7 @@ protected function buildRedirectResponse(Redirect $redirect, Request $request, $ */ private function getRegexRedirects() { - if (null !== $this->redirects && is_array($this->redirects)) { + if (is_array($this->redirects)) { return $this->redirects; } diff --git a/lib/Workflow/SupportStrategy/ExpressionSupportStrategy.php b/lib/Workflow/SupportStrategy/ExpressionSupportStrategy.php index 7dfabacadbc..f68bcd1dc07 100644 --- a/lib/Workflow/SupportStrategy/ExpressionSupportStrategy.php +++ b/lib/Workflow/SupportStrategy/ExpressionSupportStrategy.php @@ -76,14 +76,14 @@ private function supportsClass($subject) return $subject instanceof $this->className; } - if (is_array($this->className)) { - foreach ($this->className as $className) { - if ($subject instanceof $className) { - return true; - } + + foreach ($this->className as $className) { + if ($subject instanceof $className) { + return true; } } + return false; } diff --git a/models/DataObject/ClassDefinition/Data/Block.php b/models/DataObject/ClassDefinition/Data/Block.php index 7bae828f9c8..a0f7c1d8e88 100644 --- a/models/DataObject/ClassDefinition/Data/Block.php +++ b/models/DataObject/ClassDefinition/Data/Block.php @@ -665,13 +665,13 @@ public function getFieldDefinitions($context = []) } $enrichedFieldDefinitions = []; - if (is_array($this->fieldDefinitionsCache)) { - foreach ($this->fieldDefinitionsCache as $key => $fieldDefinition) { - $fieldDefinition = $this->doEnrichFieldDefinition($fieldDefinition, $context); - $enrichedFieldDefinitions[$key] = $fieldDefinition; - } + + foreach ($this->fieldDefinitionsCache ?? [] as $key => $fieldDefinition) { + $fieldDefinition = $this->doEnrichFieldDefinition($fieldDefinition, $context); + $enrichedFieldDefinitions[$key] = $fieldDefinition; } + return $enrichedFieldDefinitions; } diff --git a/models/DataObject/ClassDefinition/Data/Localizedfields.php b/models/DataObject/ClassDefinition/Data/Localizedfields.php index c3237572bca..5d289affe98 100644 --- a/models/DataObject/ClassDefinition/Data/Localizedfields.php +++ b/models/DataObject/ClassDefinition/Data/Localizedfields.php @@ -707,13 +707,13 @@ public function getFieldDefinitions($context = []) } $enrichedFieldDefinitions = []; - if (is_array($this->fieldDefinitionsCache)) { - foreach ($this->fieldDefinitionsCache as $key => $fieldDefinition) { - $fieldDefinition = $this->doEnrichFieldDefinition($fieldDefinition, $context); - $enrichedFieldDefinitions[$key] = $fieldDefinition; - } + + foreach ($this->fieldDefinitionsCache ?? [] as $key => $fieldDefinition) { + $fieldDefinition = $this->doEnrichFieldDefinition($fieldDefinition, $context); + $enrichedFieldDefinitions[$key] = $fieldDefinition; } + return $enrichedFieldDefinitions; } diff --git a/models/Document/Service.php b/models/Document/Service.php index 51225d4c96c..bcbabe958c5 100644 --- a/models/Document/Service.php +++ b/models/Document/Service.php @@ -94,39 +94,6 @@ public static function render(Document\PageSnippet $document, array $attributes return $content; } - /** - * Save document and all child documents - * - * @param Document $document - * @param int $collectGarbageAfterIteration - * @param int $saved - * - * @throws \Exception - */ - private static function saveRecursive($document, $collectGarbageAfterIteration = 25, &$saved = 0) - { - if ($document instanceof Document) { - $document->save(); - $saved++; - if ($saved % $collectGarbageAfterIteration === 0) { - \Pimcore::collectGarbage(); - } - } - - foreach ($document->getChildren() as $child) { - if (!$child->hasChildren()) { - $child->save(); - $saved++; - if ($saved % $collectGarbageAfterIteration === 0) { - \Pimcore::collectGarbage(); - } - } - if ($child->hasChildren()) { - self::saveRecursive($child, $collectGarbageAfterIteration, $saved); - } - } - } - /** * @param Document $target * @param Document $source diff --git a/models/Staticroute.php b/models/Staticroute.php index a241d04f595..983379b303a 100644 --- a/models/Staticroute.php +++ b/models/Staticroute.php @@ -434,10 +434,6 @@ public function setSiteId($siteId) */ public function getSiteId() { - if ($this->siteId && !is_array($this->siteId)) { - $this->siteId = explode(',', $this->siteId); - } - return $this->siteId; } @@ -603,10 +599,6 @@ public function match($path, $params = []) */ public function getMethods() { - if ($this->methods && is_string($this->methods)) { - $this->methods = explode(',', $this->methods); - } - return $this->methods; } diff --git a/models/Version/Dao.php b/models/Version/Dao.php index 9b9d4c8b373..62c5c4a3271 100644 --- a/models/Version/Dao.php +++ b/models/Version/Dao.php @@ -143,7 +143,7 @@ public function maintenanceGetOutdatedVersions($elementTypes, $ignoreIds = []) $count = 0; $stop = false; foreach ($elementTypes as $elementType) { - if (isset($elementType['days']) && !is_null($elementType['days'])) { + if (isset($elementType['days'])) { // by days $deadline = time() - ($elementType['days'] * 86400); $tmpVersionIds = $this->db->fetchFirstColumn('SELECT id FROM versions as a WHERE (ctype = ? AND date < ?) AND NOT public AND id NOT IN (' . $ignoreIdsList . ')', [$elementType['elementType'], $deadline]); diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index ff3413d09ee..279d75ddff7 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -255,3 +255,22 @@ parameters: count: 1 path: models/Element/Service.php + - + message: "#^Method Pimcore\\\\Messenger\\\\Handler\\\\CleanupThumbnailsHandler\\:\\:process\\(\\) is unused\\.$#" + count: 1 + path: lib/Messenger/Handler/CleanupThumbnailsHandler.php + + - + message: "#^Method Pimcore\\\\Messenger\\\\Handler\\\\SanityCheckHandler\\:\\:process\\(\\) is unused\\.$#" + count: 1 + path: lib/Messenger/Handler/SanityCheckHandler.php + + - + message: "#^Method Pimcore\\\\Messenger\\\\Handler\\\\SearchBackendHandler\\:\\:process\\(\\) is unused\\.$#" + count: 1 + path: lib/Messenger/Handler/SearchBackendHandler.php + + - + message: "#^Method Pimcore\\\\Messenger\\\\Handler\\\\SearchBackendHandler\\:\\:shouldFlush\\(\\) is unused\\.$#" + count: 1 + path: lib/Messenger/Handler/SearchBackendHandler.php \ No newline at end of file