From 8a7d639d0725c215a90a280640a524fdc541c92f Mon Sep 17 00:00:00 2001 From: Stefan Hagspiel Date: Mon, 6 Jan 2025 15:09:53 +0100 Subject: [PATCH 1/2] adjust license --- .github/workflows/ecs-fix.yml | 44 ++++++ .github/workflows/ecs.yml | 120 -------------- .gitignore | 5 +- LICENSE.md | 18 ++- README.md | 13 +- UPGRADE.md | 3 +- composer.json | 17 +- ecs.php | 285 +++++++++++++++------------------- phpstan.neon | 3 +- 9 files changed, 208 insertions(+), 300 deletions(-) create mode 100644 .github/workflows/ecs-fix.yml delete mode 100644 .github/workflows/ecs.yml diff --git a/.github/workflows/ecs-fix.yml b/.github/workflows/ecs-fix.yml new file mode 100644 index 0000000..feb8383 --- /dev/null +++ b/.github/workflows/ecs-fix.yml @@ -0,0 +1,44 @@ +name: Coding standard refactor +on: + schedule: + - cron: '0 0 * * SUN' + workflow_dispatch: ~ + +jobs: + ecs-fix: + runs-on: ubuntu-latest + timeout-minutes: 5 + strategy: + fail-fast: false + matrix: + branch: [ 'master' ] + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ matrix.branch }} + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: 8.3 + + - name: Composer install + run: composer install --no-interaction --no-scripts + + - name: Run ECS + run: | + vendor/bin/ecs check src --fix --config ecs.php + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v4 + with: + commit-message: '[CS] Refactor' + author: DACHCOM Bot + title: '[CS] Refactor' + body: | + This PR has been generated automatically to fix code-styles + labels: | + Enhancement + branch: coding-standard/refactor-${{ matrix.branch }} + delete-branch: true + base: ${{ matrix.branch }} \ No newline at end of file diff --git a/.github/workflows/ecs.yml b/.github/workflows/ecs.yml deleted file mode 100644 index 1c9acde..0000000 --- a/.github/workflows/ecs.yml +++ /dev/null @@ -1,120 +0,0 @@ -name: Easy Coding Standards -on: - push: - branches: [ 'main' ] - pull_request: - branches: [ 'main' ] - -jobs: - ecs: - runs-on: ubuntu-latest - env: - TEST_BUNDLE_NAME: "DsOpenSearchBundle" - TEST_BUNDLE_INSTALLER_CLASS: false - TEST_BUNDLE_TEST_DIR: "${{ github.workspace }}/lib/test-bundle/tests" - TEST_PROJECT_ROOT_DIR: "${{ github.workspace }}" - - PIMCORE_CODECEPTION_FRAMEWORK: "${{ github.workspace }}/pimcore-codeception-framework" - PIMCORE_CODECEPTION_VERSION: "3.0" - - APP_ENV: test - PIMCORE_TEST_DB_DSN: "mysql://root:root@127.0.0.1:3306/dachcom_bundle_test" - PIMCORE_TEST_URL: "http://localhost" - - SYMFONY_DEPRECATIONS_HELPER: "weak" - PIMCORE_PHP_ERROR_REPORTING: 32767 - - WEBDRIVER_HOST: localhost - WEBDRIVER_URL: "http://localhost:8080/" - - services: - mysql: - image: mysql:8.0 - env: - MYSQL_ROOT_PASSWORD: root - ports: - - 3306 - options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3 - strategy: - matrix: - php: [ 8.3 ] - symfony: [ ^6.4 ] - pimcore: [ ~11.4.0 ] - include: - - pimcore: ~11.4.0 - template_tag: 2024.3 - steps: - - uses: actions/checkout@v4 - with: - path: lib/test-bundle - - - name: Generate Application Structure - run: | - git clone -b ${{ matrix.template_tag }} --single-branch --depth 1 https://github.com/pimcore/skeleton.git - mv skeleton/composer.json . - mv skeleton/bin . - mv skeleton/config . - mv skeleton/public . - mv skeleton/src . - mv skeleton/templates . - mv skeleton/var . - rm -r skeleton - - - name: Setup Pimcore Codeception Framework - env: - MATRIX_PIMCORE_VERSION: ${{ matrix.pimcore }} - MATRIX_PIMCORE_TEMPLATE_TAG: ${{ matrix.template_tag }} - run: | - git clone -b ${{ env.PIMCORE_CODECEPTION_VERSION }} --single-branch --depth 1 https://github.com/dachcom-digital/pimcore-codeception-framework.git - ls -al pimcore-codeception-framework - chmod +x ./pimcore-codeception-framework/src/_etc/scripts/setup.sh - ./pimcore-codeception-framework/src/_etc/scripts/setup.sh - - - name: Install PHP - uses: shivammathur/setup-php@v2 - with: - php-version: ${{ matrix.php }} - extensions: intl - coverage: none - - - name: Check PHP Version - run: php -v - - - name: Setup MySql - run: | - sudo systemctl start mysql - mysql -uroot -proot -h127.0.0.1 -e "CREATE DATABASE dachcom_bundle_test CHARSET=utf8mb4;" - - - name: Get Composer Cache Directory - id: composer-cache - run: | - echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT - - - name: Cache Composer Downloads - uses: actions/cache@v4 - with: - path: ${{ steps.composer-cache.outputs.dir }} - key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }} - restore-keys: | - ${{ runner.os }}-composer- - - - name: Composer install - env: - TEST_PIMCORE_VERSION: ${{ matrix.pimcore }} - TEST_SYMFONY_VERSION: ${{ matrix.symfony }} - run: | - composer config "minimum-stability" "dev" - composer config "prefer-stable" true - sed -i 's,\("dachcom-digital\/dynamic-search"\): "\(.*\)",\1: "3.x-dev",g' ${{ github.workspace }}/lib/test-bundle/composer.json - chmod +x ./pimcore-codeception-framework/src/_etc/scripts/composer.sh - ./pimcore-codeception-framework/src/_etc/scripts/composer.sh - - - name: Assets Install - run: | - bin/console assets:install public --relative --symlink - - - name: Easy Coding Standard Check - continue-on-error: true - run: | - bin/console cache:warmup --env=test - vendor/bin/ecs check ${{ github.workspace }}/lib/test-bundle/src --config ${{ github.workspace }}/lib/test-bundle/ecs.php diff --git a/.gitignore b/.gitignore index d4770f3..54434b9 100644 --- a/.gitignore +++ b/.gitignore @@ -40,10 +40,9 @@ atlassian-ide-plugin.xml .project ehthumbs.db Thumbs.db -Vagrantfile -.vagrant php-cgi.core -.sass-cache +/vendor/ +/composer.lock # codeception (only stage *.dist.yaml config files) /codeception.yaml diff --git a/LICENSE.md b/LICENSE.md index 4f09ecb..e8d151f 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,9 +1,13 @@ # License -Copyright (C) 2023 DACHCOM.DIGITAL +Copyright (C) DACHCOM.DIGITAL -This software is available under the GNU General Public License version 3 (GPLv3). +This software is available under two different licenses: +* GNU General Public License version 3 (GPLv3) as Pimcore Community Edition +* DACHCOM Commercial License (DCL) -### GNU General Public License version 3 (GPLv3) +The default OpenSearch Index Provider Bundle (Dynamic Search Extension) license, without a valid DACHCOM Commercial License agreement, is the Open-Source GPLv3 license. + +## GNU General Public License version 3 (GPLv3) If you decide to choose the GPLv3 license, you must comply with the following terms: This program is free software: you can redistribute it and/or modify @@ -13,10 +17,14 @@ the Free Software Foundation, either version 3 of the License, or This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . -[GNU General Public License](https://www.gnu.org/licenses/gpl-3.0.en.html) \ No newline at end of file +## DACHCOM Commercial License (DCL) +Alternatively, commercial and supported versions of the program - also known as +Commercial Distributions - must be used in accordance with the terms and conditions +contained in a separate written agreement between you and DACHCOM.DIGITAL AG. +For more information about the OpenSearch Index Provider Bundle (Dynamic Search Extension) Commercial License (DCL) please contact dcdi@dachcom.ch. \ No newline at end of file diff --git a/README.md b/README.md index a1aa9d7..c39e60d 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ -# Dynamic Search | Index Provider: Opensearch +# Dynamic Search | Index Provider: OpenSearch [![Software License](https://img.shields.io/badge/license-GPLv3-brightgreen.svg?style=flat-square)](LICENSE.md) +[![Software License](https://img.shields.io/badge/license-DCL-white.svg?style=flat-square&color=%23ff5c5c)](LICENSE.md) [![Latest Release](https://img.shields.io/packagist/v/dachcom-digital/dynamic-search-index-provider-opensearch.svg?style=flat-square)](https://packagist.org/packages/dachcom-digital/dynamic-search-index-provider-opensearch) [![Codeception](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-opensearch/actions/workflows/codeception.yml/badge.svg?branch=main)](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-opensearch/actions/workflows/codeception.yml) [![PHP Stan](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-opensearch/actions/workflows/php-stan.yml/badge.svg?branch=main)](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-opensearch/actions/workflows/php-stan.yml) @@ -11,7 +12,7 @@ Store data with the opensearch index service. ## Release Plan | Release | Supported Pimcore Versions | Supported Symfony Versions | Release Date | Maintained | Branch | |---------|----------------------------|----------------------------|--------------|----------------|--------| -| **2.x** | `11.0` | `^6.2` | 28.09.2023 | Feature Branch | master | +| **2.x** | `11.0` | `^6.4` | 28.09.2023 | Feature Branch | master | | **1.x** | `10.0` - `10.6` | `^5.4` | 09.03.2023 | No | 1.x | *** @@ -173,12 +174,12 @@ $ bin/console dynamic-search:os:rebuild-index -c default *** +## Upgrade Info +Before updating, please [check our upgrade notes!](./UPGRADE.md) + ## License **DACHCOM.DIGITAL AG**, Löwenhofstrasse 15, 9424 Rheineck, Schweiz [dachcom.com](https://www.dachcom.com), dcdi@dachcom.ch -Copyright © 2024 DACHCOM.DIGITAL. All rights reserved. +Copyright © 2025 DACHCOM.DIGITAL. All rights reserved. For licensing details please visit [LICENSE.md](LICENSE.md) - -## Upgrade Info -Before updating, please [check our upgrade notes!](./UPGRADE.md) diff --git a/UPGRADE.md b/UPGRADE.md index c055bad..6e3ccd4 100644 --- a/UPGRADE.md +++ b/UPGRADE.md @@ -1,8 +1,9 @@ # Upgrade Notes +## 2.0.3 +- [LICENSE] Dual-License with GPL and Dachcom Commercial License (DCL) added ## 2.0.2 added backend ui (supported in dynamic search >= 4.0.4) [#10](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-opensearch/pull/10) - ## 2.0.1 size param for aggregation filter [#4](https://github.com/dachcom-digital/pimcore-dynamic-search-index-provider-opensearch/issues/4) diff --git a/composer.json b/composer.json index 99db56c..b3c9fce 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,10 @@ { "name": "dachcom-digital/dynamic-search-index-provider-opensearch", "type": "dynamic-search-provider-bundle", - "license": "GPL-3.0-or-later", + "license": [ + "GPL-3.0-or-later", + "proprietary" + ], "description": "", "keywords": [ "pimcore", @@ -15,13 +18,13 @@ { "name": "DACHCOM.DIGITAL Robert Kaczmarczyk", "email": "rkaczmarczyk@dachcom.ch", - "homepage": "http://www.dachcom.com/", + "homepage": "https://www.dachcom.com/", "role": "Developer" }, { "name": "DACHCOM.DIGITAL Stefan Hagspiel", "email": "shagspiel@dachcom.ch", - "homepage": "http://www.dachcom.com/", + "homepage": "https://www.dachcom.com/", "role": "Developer" } ], @@ -36,7 +39,7 @@ } }, "require": { - "pimcore/pimcore": "^11", + "pimcore/pimcore": "^11.0", "dachcom-digital/dynamic-search": "^3.0 || ^4.0", "opensearch-project/opensearch-php": "^2.1", "smoench/opensearch-dsl": "^1.2" @@ -44,8 +47,8 @@ "require-dev": { "codeception/codeception": "^5.0", "codeception/module-symfony": "^3.1", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-symfony": "^1.0", - "symplify/easy-coding-standard": "^9.0" + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-symfony": "^2.0", + "symplify/easy-coding-standard": "~12.2.0" } } diff --git a/ecs.php b/ecs.php index f2d9e61..169156b 100644 --- a/ecs.php +++ b/ecs.php @@ -1,162 +1,133 @@ parameters(); - $parameters->set(Option::SETS, [SetList::CLEAN_CODE, SetList::PSR_12]); - - $services = $containerConfigurator->services(); - - $services->set(Fixer\Basic\BracesFixer::class) - ->call('configure', [ - [ - 'allow_single_line_closure' => true, - ] - ]); - - $services->set(Fixer\PhpTag\BlankLineAfterOpeningTagFixer::class); - - $services->set(Fixer\Operator\ConcatSpaceFixer::class) - ->call('configure', [ - [ - 'spacing' => 'one', - ] - ]); - - $services->set(Fixer\Operator\NewWithBracesFixer::class); - - $services->set(Fixer\Phpdoc\PhpdocAlignFixer::class) - ->call('configure', [ - [ - 'tags' => ['method', 'param', 'property', 'return', 'throws', 'type', 'var'], - ] - ]); - - $services->set(Fixer\Operator\BinaryOperatorSpacesFixer::class) - ->call('configure', [ - [ - 'operators' => [ - '=' => 'single_space', - '=>' => 'align', - ] - ] - ]); - $services->set(Fixer\Operator\IncrementStyleFixer::class) - ->call('configure', [ - [ - 'style' => 'post', - ] - ]); - - $services->set(Fixer\Operator\UnaryOperatorSpacesFixer::class); - $services->set(Fixer\Whitespace\BlankLineBeforeStatementFixer::class); - $services->set(Fixer\CastNotation\CastSpacesFixer::class); - $services->set(Fixer\LanguageConstruct\DeclareEqualNormalizeFixer::class); - $services->set(Fixer\FunctionNotation\FunctionTypehintSpaceFixer::class); - $services->set(Fixer\Comment\SingleLineCommentStyleFixer::class) - ->call('configure', [ - [ - 'comment_types' => ['hash'], - ] - ]); - - $services->set(Fixer\ControlStructure\IncludeFixer::class); - $services->set(Fixer\CastNotation\LowercaseCastFixer::class); - $services->set(Fixer\ClassNotation\ClassAttributesSeparationFixer::class) - ->call('configure', [ - [ - 'elements' => [ - 'const' => 'none', - 'method' => 'one', - 'property' => 'none', - 'trait_import' => 'none' - ], - ] - ]); - - $services->set(Fixer\Casing\NativeFunctionCasingFixer::class); - $services->set(Fixer\ClassNotation\NoBlankLinesAfterClassOpeningFixer::class); - $services->set(Fixer\Phpdoc\NoBlankLinesAfterPhpdocFixer::class); - $services->set(Fixer\Comment\NoEmptyCommentFixer::class); - $services->set(Fixer\Phpdoc\NoEmptyPhpdocFixer::class); - $services->set(Fixer\Phpdoc\PhpdocSeparationFixer::class); - $services->set(Fixer\Semicolon\NoEmptyStatementFixer::class); - $services->set(Fixer\Whitespace\ArrayIndentationFixer::class); - $services->set(Fixer\Whitespace\NoExtraBlankLinesFixer::class) - ->call('configure', [ - [ - 'tokens' => ['curly_brace_block', 'extra', 'parenthesis_brace_block', 'square_brace_block', 'throw', 'use'], - ] - ]); - - $services->set(Fixer\NamespaceNotation\NoLeadingNamespaceWhitespaceFixer::class); - $services->set(Fixer\ArrayNotation\NoMultilineWhitespaceAroundDoubleArrowFixer::class); - $services->set(Fixer\CastNotation\NoShortBoolCastFixer::class); - $services->set(Fixer\Semicolon\NoSinglelineWhitespaceBeforeSemicolonsFixer::class); - $services->set(Fixer\Whitespace\NoSpacesAroundOffsetFixer::class); - $services->set(Fixer\ControlStructure\NoTrailingCommaInListCallFixer::class); - $services->set(Fixer\ControlStructure\NoUnneededControlParenthesesFixer::class); - $services->set(Fixer\ArrayNotation\NoWhitespaceBeforeCommaInArrayFixer::class); - $services->set(Fixer\Whitespace\NoWhitespaceInBlankLineFixer::class); - $services->set(Fixer\ArrayNotation\NormalizeIndexBraceFixer::class); - $services->set(Fixer\Operator\ObjectOperatorWithoutWhitespaceFixer::class); - $services->set(Fixer\Phpdoc\PhpdocAnnotationWithoutDotFixer::class); - $services->set(Fixer\Phpdoc\PhpdocIndentFixer::class); - $services->set(Fixer\Phpdoc\PhpdocInlineTagFixer::class); - $services->set(Fixer\Phpdoc\PhpdocNoAccessFixer::class); - $services->set(Fixer\Phpdoc\PhpdocNoEmptyReturnFixer::class); - $services->set(Fixer\Phpdoc\PhpdocNoPackageFixer::class); - $services->set(Fixer\Phpdoc\PhpdocNoUselessInheritdocFixer::class); - $services->set(Fixer\Phpdoc\PhpdocReturnSelfReferenceFixer::class); - $services->set(Fixer\Phpdoc\PhpdocScalarFixer::class); - $services->set(Fixer\Phpdoc\PhpdocSingleLineVarSpacingFixer::class); - $services->set(Fixer\Phpdoc\PhpdocSummaryFixer::class); - $services->set(Fixer\Phpdoc\PhpdocToCommentFixer::class); - $services->set(Fixer\Phpdoc\PhpdocTrimFixer::class); - $services->set(Fixer\Phpdoc\PhpdocTypesFixer::class); - $services->set(Fixer\Phpdoc\PhpdocVarWithoutNameFixer::class); - $services->set(Fixer\FunctionNotation\ReturnTypeDeclarationFixer::class); - $services->set(Fixer\ClassNotation\SelfAccessorFixer::class); - $services->set(Fixer\CastNotation\ShortScalarCastFixer::class); - $services->set(Fixer\StringNotation\SingleQuoteFixer::class); - $services->set(Fixer\Semicolon\SpaceAfterSemicolonFixer::class); - $services->set(Fixer\Operator\StandardizeNotEqualsFixer::class); - $services->set(Fixer\Operator\TernaryOperatorSpacesFixer::class); - $services->set(Fixer\ArrayNotation\TrimArraySpacesFixer::class); - $services->set(Fixer\ArrayNotation\WhitespaceAfterCommaInArrayFixer::class); - - $services->set(Fixer\ClassNotation\ClassDefinitionFixer::class) - ->call('configure', [ - [ - 'single_line' => true, - ] - ]); - - $services->set(Fixer\Casing\MagicConstantCasingFixer::class); - $services->set(Fixer\FunctionNotation\MethodArgumentSpaceFixer::class); - $services->set(Fixer\Alias\NoMixedEchoPrintFixer::class) - ->call('configure', [ - [ - 'use' => 'echo', - ] - ]); - - $services->set(Fixer\Import\NoLeadingImportSlashFixer::class); - $services->set(Fixer\PhpUnit\PhpUnitFqcnAnnotationFixer::class); - $services->set(Fixer\Phpdoc\PhpdocNoAliasTagFixer::class); - $services->set(Fixer\NamespaceNotation\SingleBlankLineBeforeNamespaceFixer::class); - $services->set(Fixer\ClassNotation\SingleClassElementPerStatementFixer::class); - - # new since PHP-CS-Fixer 2.6 - $services->set(Fixer\ClassNotation\NoUnneededFinalMethodFixer::class); - $services->set(Fixer\Semicolon\SemicolonAfterInstructionFixer::class); - - # new since 2.11 - $services->set(Fixer\Operator\StandardizeIncrementFixer::class); -}; +$header = <<
withSets([SetList::CLEAN_CODE, SetList::PSR_12]) + ->withConfiguredRule(Fixer\Comment\HeaderCommentFixer::class, [ + 'header' => $header, + 'comment_type' => 'comment' + ]) + ->withConfiguredRule(Fixer\Basic\BracesFixer::class, [ + 'allow_single_line_closure' => true, + ]) + ->withConfiguredRule(Fixer\Operator\ConcatSpaceFixer::class, [ + 'spacing' => 'one', + ]) + ->withConfiguredRule(Fixer\Phpdoc\PhpdocAlignFixer::class, [ + 'tags' => ['method', 'param', 'property', 'return', 'throws', 'type', 'var'], + ]) + ->withConfiguredRule(Fixer\Operator\BinaryOperatorSpacesFixer::class, [ + 'operators' => [ + '=' => 'single_space', + '=>' => 'align', + ] + ]) + ->withConfiguredRule(Fixer\Operator\IncrementStyleFixer::class, [ + 'style' => 'post', + ]) + ->withConfiguredRule(Fixer\ClassNotation\ClassAttributesSeparationFixer::class, [ + 'elements' => [ + 'const' => 'none', + 'method' => 'one', + 'property' => 'none', + 'trait_import' => 'none' + ], + ]) + ->withConfiguredRule(Fixer\ClassNotation\ClassDefinitionFixer::class, [ + 'single_line' => true, + ]) + ->withConfiguredRule(Fixer\Comment\SingleLineCommentStyleFixer::class, [ + 'comment_types' => ['hash'], + ]) + ->withConfiguredRule(Fixer\Alias\NoMixedEchoPrintFixer::class, [ + 'use' => 'echo', + ]) + ->withConfiguredRule(Fixer\Basic\NoTrailingCommaInSinglelineFixer::class, [ + 'elements' => ['array_destructuring'] + ]) + ->withConfiguredRule(Fixer\NamespaceNotation\BlankLinesBeforeNamespaceFixer::class, [ + 'min_line_breaks' => 2, + 'max_line_breaks' => 2 + ]) + ->withConfiguredRule(Fixer\Whitespace\TypeDeclarationSpacesFixer::class, [ + 'elements' => ['function'] + ]) + ->withConfiguredRule(Fixer\Whitespace\NoExtraBlankLinesFixer::class, [ + 'tokens' => ['curly_brace_block', 'extra', 'parenthesis_brace_block', 'square_brace_block', 'throw', 'use'], + ]) + ->withRules([ + Fixer\PhpTag\BlankLineAfterOpeningTagFixer::class, + Fixer\Operator\NewWithParenthesesFixer::class, + Fixer\Operator\UnaryOperatorSpacesFixer::class, + Fixer\Operator\ObjectOperatorWithoutWhitespaceFixer::class, + Fixer\Operator\StandardizeNotEqualsFixer::class, + Fixer\Operator\TernaryOperatorSpacesFixer::class, + Fixer\Operator\StandardizeIncrementFixer::class, + Fixer\Whitespace\BlankLineBeforeStatementFixer::class, + Fixer\Whitespace\ArrayIndentationFixer::class, + Fixer\Whitespace\NoSpacesAroundOffsetFixer::class, + Fixer\Whitespace\NoWhitespaceInBlankLineFixer::class, + Fixer\CastNotation\CastSpacesFixer::class, + Fixer\CastNotation\LowercaseCastFixer::class, + Fixer\CastNotation\NoShortBoolCastFixer::class, + Fixer\CastNotation\ShortScalarCastFixer::class, + Fixer\LanguageConstruct\DeclareEqualNormalizeFixer::class, + Fixer\ControlStructure\IncludeFixer::class, + Fixer\ControlStructure\NoUnneededControlParenthesesFixer::class, + Fixer\Casing\NativeFunctionCasingFixer::class, + Fixer\Casing\MagicConstantCasingFixer::class, + Fixer\Comment\NoEmptyCommentFixer::class, + Fixer\NamespaceNotation\NoLeadingNamespaceWhitespaceFixer::class, + Fixer\Semicolon\NoEmptyStatementFixer::class, + Fixer\Semicolon\NoSinglelineWhitespaceBeforeSemicolonsFixer::class, + Fixer\Semicolon\SpaceAfterSemicolonFixer::class, + Fixer\Semicolon\SemicolonAfterInstructionFixer::class, + Fixer\ArrayNotation\NoWhitespaceBeforeCommaInArrayFixer::class, + Fixer\ArrayNotation\NormalizeIndexBraceFixer::class, + Fixer\ArrayNotation\NoMultilineWhitespaceAroundDoubleArrowFixer::class, + Fixer\ArrayNotation\TrimArraySpacesFixer::class, + Fixer\ArrayNotation\WhitespaceAfterCommaInArrayFixer::class, + Fixer\Phpdoc\NoBlankLinesAfterPhpdocFixer::class, + Fixer\Phpdoc\PhpdocAnnotationWithoutDotFixer::class, + Fixer\Phpdoc\PhpdocIndentFixer::class, + Fixer\Phpdoc\PhpdocInlineTagNormalizerFixer::class, + Fixer\Phpdoc\PhpdocNoAccessFixer::class, + Fixer\Phpdoc\PhpdocNoEmptyReturnFixer::class, + Fixer\Phpdoc\PhpdocNoPackageFixer::class, + Fixer\Phpdoc\PhpdocNoUselessInheritdocFixer::class, + Fixer\Phpdoc\PhpdocReturnSelfReferenceFixer::class, + Fixer\Phpdoc\PhpdocScalarFixer::class, + Fixer\Phpdoc\PhpdocSingleLineVarSpacingFixer::class, + Fixer\Phpdoc\PhpdocSummaryFixer::class, + Fixer\Phpdoc\PhpdocToCommentFixer::class, + Fixer\Phpdoc\PhpdocTrimFixer::class, + Fixer\Phpdoc\PhpdocTypesFixer::class, + Fixer\Phpdoc\NoEmptyPhpdocFixer::class, + Fixer\Phpdoc\PhpdocSeparationFixer::class, + Fixer\Phpdoc\PhpdocVarWithoutNameFixer::class, + Fixer\Phpdoc\PhpdocNoAliasTagFixer::class, + Fixer\FunctionNotation\ReturnTypeDeclarationFixer::class, + Fixer\FunctionNotation\MethodArgumentSpaceFixer::class, + Fixer\StringNotation\SingleQuoteFixer::class, + Fixer\Import\NoUnusedImportsFixer::class, + Fixer\Import\NoLeadingImportSlashFixer::class, + Fixer\PhpUnit\PhpUnitFqcnAnnotationFixer::class, + Fixer\ClassNotation\NoBlankLinesAfterClassOpeningFixer::class, + Fixer\ClassNotation\SelfAccessorFixer::class, + Fixer\ClassNotation\SingleClassElementPerStatementFixer::class, + Fixer\ClassNotation\NoUnneededFinalMethodFixer::class + ]); \ No newline at end of file diff --git a/phpstan.neon b/phpstan.neon index 00ac0ce..8ef9cb1 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -5,6 +5,7 @@ parameters: - %currentWorkingDirectory%/vendor/pimcore/pimcore/stubs/dynamic-constants.php reportUnmatchedIgnoredErrors: false symfony: - container_xml_path: %currentWorkingDirectory%/var/cache/test/TestKernelTestDebugContainer.xml + containerXmlPath: %currentWorkingDirectory%/var/cache/test/TestKernelTestDebugContainer.xml + constantHassers: false ignoreErrors: - '#Access to an undefined property DynamicSearchBundle\\OutputChannel\\Query\\SearchContainerInterface::\$result\.#' \ No newline at end of file From 6993791a381644376896a4efff41d58598bc0736 Mon Sep 17 00:00:00 2001 From: Stefan Hagspiel Date: Mon, 6 Jan 2025 15:19:13 +0100 Subject: [PATCH 2/2] fix phpstan issues --- src/OutputChannel/Filter/GeoDistanceFilter.php | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/OutputChannel/Filter/GeoDistanceFilter.php b/src/OutputChannel/Filter/GeoDistanceFilter.php index 30a4946..b3f6a44 100644 --- a/src/OutputChannel/Filter/GeoDistanceFilter.php +++ b/src/OutputChannel/Filter/GeoDistanceFilter.php @@ -69,11 +69,8 @@ protected function addQueryFilter(Search $query, array $queryFields): void if (empty($coordinatesRaw)) { return; } - $coordinates = array_map('floatval', explode(',', $coordinatesRaw)); - if (!is_array($coordinates)) { - return; - } + $coordinates = array_map('floatval', explode(',', $coordinatesRaw)); $distance = $queryFields[$distanceFieldName]; if (is_numeric($distance)) {