From f86e01821f829493b5f2ef039626e28d75a5303f Mon Sep 17 00:00:00 2001 From: Mike van den Hoek Date: Wed, 30 Apr 2025 11:22:17 +0200 Subject: [PATCH] feat: upgrade to php8 --- .gitignore | 2 + README.md | 40 +- build/blocks.asset.php | 4 +- build/icons.asset.php | 4 +- build/style.asset.php | 4 +- composer.json | 89 +- composer.lock | 851 ++++++++--------- config/core.php | 22 - index.php | 4 +- languages/prefill-gravity-forms.pot | 863 ++++++++++++++++++ prefill-gravity-forms.php | 16 +- .../personal-data-row/render.php | 2 +- .../Controllers/BaseController.php | 18 +- .../Controllers/EnableUController.php | 3 +- .../Controllers/PinkRoccadeController.php | 3 +- .../Controllers/VrijBRPController.php | 3 +- .../Controllers/WeAreFrankController.php | 2 +- .../Foundation/DependencyChecker.php | 132 --- .../Foundation/Helpers.php | 23 - src/PrefillGravityForms/Foundation/Plugin.php | 30 +- .../Foundation/TeamsLogger.php | 43 - .../GravityForms/GravityFormsAddon.php | 31 +- .../GravityForms/GravityFormsSettings.php | 7 + src/PrefillGravityForms/Traits/Logger.php | 46 + .../Traits/SessionTrait.php | 51 +- 25 files changed, 1517 insertions(+), 776 deletions(-) create mode 100644 languages/prefill-gravity-forms.pot delete mode 100644 src/PrefillGravityForms/Foundation/DependencyChecker.php delete mode 100644 src/PrefillGravityForms/Foundation/TeamsLogger.php create mode 100644 src/PrefillGravityForms/Traits/Logger.php diff --git a/.gitignore b/.gitignore index e54ddf5..e6af885 100644 --- a/.gitignore +++ b/.gitignore @@ -37,6 +37,7 @@ !.gitignore !.php-cs-fixer.php +.php-cs-fixer.cache # Eslint !.eslintrc @@ -64,6 +65,7 @@ Thumbs.db *.log *.sql *.sqlite +pg-log-*.json # ignore compiled files *.com diff --git a/README.md b/README.md index 496f855..e7f3c7f 100644 --- a/README.md +++ b/README.md @@ -2,16 +2,18 @@ ## Description -Prefill GravityForms fields, based on the dutch BSN number. Retrieve personal information and place these values in the corrensponding fields. +Prefill GravityForms fields, based on the Dutch BSN number. Retrieve personal information and place these values in the corrensponding fields. ## Dependencies -In order to use this plug-in there are two required plug-ins: +To use this plug-in, the following dependencies are required: - GravityForms (premium) -- Yard | GravityForms DigiD (private repo, contact [Yard | Digital Agency](https://www.yard.nl/) for access) -See [here](https://github.com/OpenWebconcept/plugin-prefill-gravity-forms/blob/main/config/core.php) for more details. +In addition, at least one of the following plug-ins must be installed to enable authentication by BSN: + +- Yard | GravityForms DigiD () +- OWC Signicat OpenID () ## Features @@ -46,7 +48,7 @@ See [here](https://github.com/OpenWebconcept/plugin-prefill-gravity-forms/blob/m 2. Go to the form settings of the form you want to configure. 3. Scroll down and look for the 'iConnect' panel and configure the settings. -### 🔐 Cache Encryption +### Cache Encryption To enable secure caching of sensitive data, you **must define an encryption key** in your `wp-config.php` file. This key is used to encrypt and decrypt the cached data and should be kept secret at all times. @@ -66,3 +68,31 @@ Important: ## License The source code is made available under the [EUPL 1.2 license](https://github.com/OpenWebconcept/plugin-prefill-gravity-forms/blob/main/LICENSE.md). Some of the dependencies are licensed differently, with the BSD or MIT license, for example. + +## Logging + +Enable logging to monitor errors during communication with the BRP suppliers. + +- Logs are written daily to `pg-log{-date}.json` in the WordPress webroot directory. +- A rotating file handler keeps up to 7 log files by default, deleting the oldest as needed. +- You can change the maximum number of log files using the filter described below. + +## Hooks + +### Change the maximum number of log files + +Use the following filter to alter the rotating file handler's max files setting: + +```php +apply_filters('pg::logger/rotating_filer_handler_max_files', PG_LOGGER_DEFAULT_MAX_FILES) +``` + +### Intercept exceptions for custom handling + +You can intercept exceptions caught by the plugin for additional processing or custom logging using this filter: + +```php +do_action('pg::exception/intercept', $exception, $method) +``` + +The `$exception` parameter contains the caught exception object. diff --git a/build/blocks.asset.php b/build/blocks.asset.php index c618023..c6b30a0 100644 --- a/build/blocks.asset.php +++ b/build/blocks.asset.php @@ -1 +1,3 @@ - ['react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'], 'version' => 'e0a9481f8d532339066b']; + ['react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n'], 'version' => '33b24b2f8a8b7ff4f915']; diff --git a/build/icons.asset.php b/build/icons.asset.php index ce59946..dea6b34 100644 --- a/build/icons.asset.php +++ b/build/icons.asset.php @@ -1 +1,3 @@ - [], 'version' => '02fa92c9250ff7f119f3']; + [], 'version' => '12341f29470476729a0c']; diff --git a/build/style.asset.php b/build/style.asset.php index 92c6601..3581c37 100644 --- a/build/style.asset.php +++ b/build/style.asset.php @@ -1 +1,3 @@ - [], 'version' => 'd63fd4982613309d5c57']; + [], 'version' => 'd63fd4982613309d5c57']; diff --git a/composer.json b/composer.json index 980e1cf..d7366e9 100644 --- a/composer.json +++ b/composer.json @@ -1,50 +1,49 @@ { - "name": "plugin/prefill-gravity-forms", - "description": "Prefill GravityForms Plugin", - "authors": [ - { - "name": "Yard | Digital Agency", - "email": "info@yard.nl", - "homepage": "https://www.yard.nl" - } - ], - "type": "wordpress-plugin", - "repositories": [ - { - "type": "composer", - "url": "https://wpackagist.org" - }, - { + "name": "plugin/prefill-gravity-forms", + "description": "Prefill GravityForms Plugin", + "authors": [ + { + "name": "Yard | Digital Agency", + "email": "info@yard.nl", + "homepage": "https://www.yard.nl" + } + ], + "type": "wordpress-plugin", + "repositories": [ + { + "type": "composer", + "url": "https://wpackagist.org" + }, + { "type": "vcs", "url": "git@github.com:OpenWebconcept/idp-userdata" } - ], - "require": { - "php": ">=7.0", - "php-di/php-di": "^6.0", - "owc/idp-userdata": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^9.0", - "10up/wp_mock": "^0.5.0", - "friendsofphp/php-cs-fixer": "^3.0", - "phpstan/phpstan": "^0.12", - "szepeviktor/phpstan-wordpress": "^0.6.0" - }, - "autoload": { - "psr-4": { - "OWC\\PrefillGravityForms\\": "./src/PrefillGravityForms" - } - }, - "autoload-dev": { - "psr-4": { - "OWC\\PrefillGravityForms\\Tests\\": "./tests/Unit" - } - }, - "scripts": { - "test": "clear && ./vendor/bin/phpunit --testsuite 'Unit Test Suite' --colors=always", - "format": "vendor/bin/php-cs-fixer fix", - "phpstan": "./vendor/bin/phpstan analyse" - } + ], + "require": { + "php": "^8.0", + "php-di/php-di": "^7.0", + "owc/idp-userdata": "^1.0" + }, + "require-dev": { + "10up/wp_mock": "^0.5.0", + "friendsofphp/php-cs-fixer": "^3.0", + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^9.0", + "szepeviktor/phpstan-wordpress": "^1.0" + }, + "autoload": { + "psr-4": { + "OWC\\PrefillGravityForms\\": "./src/PrefillGravityForms" + } + }, + "autoload-dev": { + "psr-4": { + "OWC\\PrefillGravityForms\\Tests\\": "./tests/Unit" + } + }, + "scripts": { + "test": "clear && ./vendor/bin/phpunit --testsuite 'Unit Test Suite' --colors=always", + "format": "vendor/bin/php-cs-fixer fix", + "phpstan": "./vendor/bin/phpstan analyse" + } } diff --git a/composer.lock b/composer.lock index cdf2bbb..923f5b1 100644 --- a/composer.lock +++ b/composer.lock @@ -4,36 +4,36 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "793309e024bc8a7e5215d456379f694b", + "content-hash": "6fd9578d74176e42f69932bea13fe835", "packages": [ { "name": "laravel/serializable-closure", - "version": "v1.3.5", + "version": "v2.0.4", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c" + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", - "reference": "1dc4a3dbfa2b7628a3114e43e32120cce7cdda9c", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b352cf0534aa1ae6b4d825d1e762e35d43f8a841", + "reference": "b352cf0534aa1ae6b4d825d1e762e35d43f8a841", "shasum": "" }, "require": { - "php": "^7.3|^8.0" + "php": "^8.1" }, "require-dev": { - "illuminate/support": "^8.0|^9.0|^10.0|^11.0", - "nesbot/carbon": "^2.61|^3.0", - "pestphp/pest": "^1.21.3", - "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" + "illuminate/support": "^10.0|^11.0|^12.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -65,20 +65,20 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2024-09-23T13:33:08+00:00" + "time": "2025-03-19T13:51:03+00:00" }, { "name": "owc/idp-userdata", - "version": "v1.0.1", + "version": "v1.1.0", "source": { "type": "git", - "url": "git@github.com:OpenWebconcept/idp-userdata.git", - "reference": "ad046c97bf2eb1d575da78c981f7f4ff685a659e" + "url": "https://github.com/OpenWebconcept/idp-userdata.git", + "reference": "a95986c390ab59356922fd12b995c26dc9e88bf9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/OpenWebconcept/idp-userdata/zipball/ad046c97bf2eb1d575da78c981f7f4ff685a659e", - "reference": "ad046c97bf2eb1d575da78c981f7f4ff685a659e", + "url": "https://api.github.com/repos/OpenWebconcept/idp-userdata/zipball/a95986c390ab59356922fd12b995c26dc9e88bf9", + "reference": "a95986c390ab59356922fd12b995c26dc9e88bf9", "shasum": "" }, "require": { @@ -87,7 +87,7 @@ "type": "library", "autoload": { "psr-4": { - "OWC\\IdpUserdata\\": "src/" + "OWC\\IdpUserData\\": "src/" } }, "authors": [ @@ -98,23 +98,23 @@ ], "description": "Common interfaces for IDP userdata (DigiD, eHerkenning)", "support": { - "source": "https://github.com/OpenWebconcept/idp-userdata/tree/v1.0.1", + "source": "https://github.com/OpenWebconcept/idp-userdata/tree/v1.1.0", "issues": "https://github.com/OpenWebconcept/idp-userdata/issues" }, - "time": "2024-10-04T08:37:21+00:00" + "time": "2024-11-06T10:20:58+00:00" }, { "name": "php-di/invoker", - "version": "2.3.4", + "version": "2.3.6", "source": { "type": "git", "url": "https://github.com/PHP-DI/Invoker.git", - "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86" + "reference": "59f15608528d8a8838d69b422a919fd6b16aa576" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/33234b32dafa8eb69202f950a1fc92055ed76a86", - "reference": "33234b32dafa8eb69202f950a1fc92055ed76a86", + "url": "https://api.github.com/repos/PHP-DI/Invoker/zipball/59f15608528d8a8838d69b422a919fd6b16aa576", + "reference": "59f15608528d8a8838d69b422a919fd6b16aa576", "shasum": "" }, "require": { @@ -148,7 +148,7 @@ ], "support": { "issues": "https://github.com/PHP-DI/Invoker/issues", - "source": "https://github.com/PHP-DI/Invoker/tree/2.3.4" + "source": "https://github.com/PHP-DI/Invoker/tree/2.3.6" }, "funding": [ { @@ -156,43 +156,40 @@ "type": "github" } ], - "time": "2023-09-08T09:24:21+00:00" + "time": "2025-01-17T12:49:27+00:00" }, { "name": "php-di/php-di", - "version": "6.4.0", + "version": "7.0.11", "source": { "type": "git", "url": "https://github.com/PHP-DI/PHP-DI.git", - "reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4" + "reference": "32f111a6d214564520a57831d397263e8946c1d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/ae0f1b3b03d8b29dff81747063cbfd6276246cc4", - "reference": "ae0f1b3b03d8b29dff81747063cbfd6276246cc4", + "url": "https://api.github.com/repos/PHP-DI/PHP-DI/zipball/32f111a6d214564520a57831d397263e8946c1d2", + "reference": "32f111a6d214564520a57831d397263e8946c1d2", "shasum": "" }, "require": { - "laravel/serializable-closure": "^1.0", - "php": ">=7.4.0", + "laravel/serializable-closure": "^1.0 || ^2.0", + "php": ">=8.0", "php-di/invoker": "^2.0", - "php-di/phpdoc-reader": "^2.0.1", - "psr/container": "^1.0" + "psr/container": "^1.1 || ^2.0" }, "provide": { "psr/container-implementation": "^1.0" }, "require-dev": { - "doctrine/annotations": "~1.10", - "friendsofphp/php-cs-fixer": "^2.4", - "mnapoli/phpunit-easymock": "^1.2", - "ocramius/proxy-manager": "^2.11.2", - "phpstan/phpstan": "^0.12", - "phpunit/phpunit": "^9.5" + "friendsofphp/php-cs-fixer": "^3", + "friendsofphp/proxy-manager-lts": "^1", + "mnapoli/phpunit-easymock": "^1.3", + "phpunit/phpunit": "^9.6 || ^10 || ^11", + "vimeo/psalm": "^5|^6" }, "suggest": { - "doctrine/annotations": "Install it if you want to use annotations (version ~1.2)", - "ocramius/proxy-manager": "Install it if you want to use lazy injection (version ~2.0)" + "friendsofphp/proxy-manager-lts": "Install it if you want to use lazy injection (version ^1)" }, "type": "library", "autoload": { @@ -220,7 +217,7 @@ ], "support": { "issues": "https://github.com/PHP-DI/PHP-DI/issues", - "source": "https://github.com/PHP-DI/PHP-DI/tree/6.4.0" + "source": "https://github.com/PHP-DI/PHP-DI/tree/7.0.11" }, "funding": [ { @@ -232,68 +229,31 @@ "type": "tidelift" } ], - "time": "2022-04-09T16:46:38+00:00" - }, - { - "name": "php-di/phpdoc-reader", - "version": "2.2.1", - "source": { - "type": "git", - "url": "https://github.com/PHP-DI/PhpDocReader.git", - "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHP-DI/PhpDocReader/zipball/66daff34cbd2627740ffec9469ffbac9f8c8185c", - "reference": "66daff34cbd2627740ffec9469ffbac9f8c8185c", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "require-dev": { - "mnapoli/hard-mode": "~0.3.0", - "phpunit/phpunit": "^8.5|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "PhpDocReader\\": "src/PhpDocReader" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PhpDocReader parses @var and @param values in PHP docblocks (supports namespaced class names with the same resolution rules as PHP)", - "keywords": [ - "phpdoc", - "reflection" - ], - "support": { - "issues": "https://github.com/PHP-DI/PhpDocReader/issues", - "source": "https://github.com/PHP-DI/PhpDocReader/tree/2.2.1" - }, - "time": "2020-10-12T12:39:22+00:00" + "time": "2025-06-03T07:45:57+00:00" }, { "name": "psr/container", - "version": "1.1.2", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -320,9 +280,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-11-05T16:50:12+00:00" + "time": "2021-11-05T16:47:00+00:00" } ], "packages-dev": [ @@ -374,16 +334,16 @@ }, { "name": "antecedent/patchwork", - "version": "2.2.0", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/antecedent/patchwork.git", - "reference": "b07d4fb37c3c723c8755122160c089e077d5de65" + "reference": "1bf183a3e1bd094f231a2128b9ecc5363c269245" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/antecedent/patchwork/zipball/b07d4fb37c3c723c8755122160c089e077d5de65", - "reference": "b07d4fb37c3c723c8755122160c089e077d5de65", + "url": "https://api.github.com/repos/antecedent/patchwork/zipball/1bf183a3e1bd094f231a2128b9ecc5363c269245", + "reference": "1bf183a3e1bd094f231a2128b9ecc5363c269245", "shasum": "" }, "require": { @@ -416,9 +376,9 @@ ], "support": { "issues": "https://github.com/antecedent/patchwork/issues", - "source": "https://github.com/antecedent/patchwork/tree/2.2.0" + "source": "https://github.com/antecedent/patchwork/tree/2.2.1" }, - "time": "2024-09-27T16:59:55+00:00" + "time": "2024-12-11T10:19:54+00:00" }, { "name": "clue/ndjson-react", @@ -486,28 +446,36 @@ }, { "name": "composer/pcre", - "version": "3.1.4", + "version": "3.3.2", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "04229f163664973f68f38f6f73d917799168ef24" + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", - "reference": "04229f163664973f68f38f6f73d917799168ef24", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { "php": "^7.4 || ^8.0" }, + "conflict": { + "phpstan/phpstan": "<1.11.10" + }, "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, "branch-alias": { "dev-main": "3.x-dev" } @@ -537,7 +505,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.4" + "source": "https://github.com/composer/pcre/tree/3.3.2" }, "funding": [ { @@ -553,7 +521,7 @@ "type": "tidelift" } ], - "time": "2024-05-27T13:40:54+00:00" + "time": "2024-11-12T16:29:46+00:00" }, { "name": "composer/semver", @@ -704,30 +672,30 @@ }, { "name": "doctrine/instantiator", - "version": "1.5.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^11", + "doctrine/coding-standard": "^11", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" }, "type": "library", "autoload": { @@ -754,7 +722,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, "funding": [ { @@ -770,7 +738,7 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:15:36+00:00" + "time": "2022-12-30T00:23:10+00:00" }, { "name": "evenement/evenement", @@ -882,16 +850,16 @@ }, { "name": "friendsofphp/php-cs-fixer", - "version": "v3.64.0", + "version": "v3.75.0", "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "58dd9c931c785a79739310aef5178928305ffa67" + "reference": "399a128ff2fdaf4281e4e79b755693286cdf325c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/58dd9c931c785a79739310aef5178928305ffa67", - "reference": "58dd9c931c785a79739310aef5178928305ffa67", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/399a128ff2fdaf4281e4e79b755693286cdf325c", + "reference": "399a128ff2fdaf4281e4e79b755693286cdf325c", "shasum": "" }, "require": { @@ -899,40 +867,41 @@ "composer/semver": "^3.4", "composer/xdebug-handler": "^3.0.3", "ext-filter": "*", + "ext-hash": "*", "ext-json": "*", "ext-tokenizer": "*", - "fidry/cpu-core-counter": "^1.0", + "fidry/cpu-core-counter": "^1.2", "php": "^7.4 || ^8.0", "react/child-process": "^0.6.5", "react/event-loop": "^1.0", "react/promise": "^2.0 || ^3.0", "react/socket": "^1.0", "react/stream": "^1.0", - "sebastian/diff": "^4.0 || ^5.0 || ^6.0", - "symfony/console": "^5.4 || ^6.0 || ^7.0", - "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", - "symfony/finder": "^5.4 || ^6.0 || ^7.0", - "symfony/options-resolver": "^5.4 || ^6.0 || ^7.0", - "symfony/polyfill-mbstring": "^1.28", - "symfony/polyfill-php80": "^1.28", - "symfony/polyfill-php81": "^1.28", - "symfony/process": "^5.4 || ^6.0 || ^7.0", - "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0" + "sebastian/diff": "^4.0 || ^5.1 || ^6.0 || ^7.0", + "symfony/console": "^5.4 || ^6.4 || ^7.0", + "symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0", + "symfony/filesystem": "^5.4 || ^6.4 || ^7.0", + "symfony/finder": "^5.4 || ^6.4 || ^7.0", + "symfony/options-resolver": "^5.4 || ^6.4 || ^7.0", + "symfony/polyfill-mbstring": "^1.31", + "symfony/polyfill-php80": "^1.31", + "symfony/polyfill-php81": "^1.31", + "symfony/process": "^5.4 || ^6.4 || ^7.2", + "symfony/stopwatch": "^5.4 || ^6.4 || ^7.0" }, "require-dev": { - "facile-it/paraunit": "^1.3 || ^2.3", - "infection/infection": "^0.29.5", - "justinrainbow/json-schema": "^5.2", + "facile-it/paraunit": "^1.3.1 || ^2.6", + "infection/infection": "^0.29.14", + "justinrainbow/json-schema": "^5.3 || ^6.2", "keradus/cli-executor": "^2.1", - "mikey179/vfsstream": "^1.6.11", + "mikey179/vfsstream": "^1.6.12", "php-coveralls/php-coveralls": "^2.7", "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5", - "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2", - "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0" + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.6", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.6", + "phpunit/phpunit": "^9.6.22 || ^10.5.45 || ^11.5.12", + "symfony/var-dumper": "^5.4.48 || ^6.4.18 || ^7.2.3", + "symfony/yaml": "^5.4.45 || ^6.4.18 || ^7.2.3" }, "suggest": { "ext-dom": "For handling output formats in XML", @@ -973,7 +942,7 @@ ], "support": { "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", - "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.64.0" + "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.75.0" }, "funding": [ { @@ -981,24 +950,24 @@ "type": "github" } ], - "time": "2024-08-30T23:09:38+00:00" + "time": "2025-03-31T18:40:42+00:00" }, { "name": "hamcrest/hamcrest-php", - "version": "v2.0.1", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", - "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", "shasum": "" }, "require": { - "php": "^5.3|^7.0|^8.0" + "php": "^7.4|^8.0" }, "replace": { "cordoval/hamcrest-php": "*", @@ -1006,8 +975,8 @@ "kodova/hamcrest-php": "*" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" }, "type": "library", "extra": { @@ -1030,9 +999,9 @@ ], "support": { "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" }, - "time": "2020-07-09T08:09:16+00:00" + "time": "2025-04-30T06:54:44+00:00" }, { "name": "mockery/mockery", @@ -1119,16 +1088,16 @@ }, { "name": "myclabs/deep-copy", - "version": "1.12.0", + "version": "1.13.1", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/1720ddd719e16cf0db4eb1c6eca108031636d46c", + "reference": "1720ddd719e16cf0db4eb1c6eca108031636d46c", "shasum": "" }, "require": { @@ -1167,7 +1136,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + "source": "https://github.com/myclabs/DeepCopy/tree/1.13.1" }, "funding": [ { @@ -1175,20 +1144,20 @@ "type": "tidelift" } ], - "time": "2024-06-12T14:39:25+00:00" + "time": "2025-04-29T12:36:36+00:00" }, { "name": "nikic/php-parser", - "version": "v5.3.0", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a" + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/3abf7425cd284141dc5d8d14a9ee444de3345d1a", - "reference": "3abf7425cd284141dc5d8d14a9ee444de3345d1a", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/ae59794362fe85e051a58ad36b289443f57be7a9", + "reference": "ae59794362fe85e051a58ad36b289443f57be7a9", "shasum": "" }, "require": { @@ -1231,9 +1200,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.3.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.5.0" }, - "time": "2024-09-29T13:56:26+00:00" + "time": "2025-05-31T08:24:38+00:00" }, { "name": "phar-io/manifest", @@ -1355,27 +1324,31 @@ }, { "name": "php-stubs/wordpress-stubs", - "version": "v5.9.9", + "version": "v6.8.1", "source": { "type": "git", "url": "https://github.com/php-stubs/wordpress-stubs.git", - "reference": "06c51c4863659ea9e9f4c2a23293728a677cb059" + "reference": "92e444847d94f7c30f88c60004648f507688acd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/06c51c4863659ea9e9f4c2a23293728a677cb059", - "reference": "06c51c4863659ea9e9f4c2a23293728a677cb059", + "url": "https://api.github.com/repos/php-stubs/wordpress-stubs/zipball/92e444847d94f7c30f88c60004648f507688acd5", + "reference": "92e444847d94f7c30f88c60004648f507688acd5", "shasum": "" }, + "conflict": { + "phpdocumentor/reflection-docblock": "5.6.1" + }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "nikic/php-parser": "^4.13", - "php": "^7.4 || ~8.0.0", + "nikic/php-parser": "^5.4", + "php": "^7.4 || ^8.0", "php-stubs/generator": "^0.8.3", - "phpdocumentor/reflection-docblock": "5.3", - "phpstan/phpstan": "^1.10.49", + "phpdocumentor/reflection-docblock": "^5.4.1", + "phpstan/phpstan": "^2.1", "phpunit/phpunit": "^9.5", - "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.11" + "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.1.1", + "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" }, "suggest": { "paragonie/sodium_compat": "Pure PHP implementation of libsodium", @@ -1396,26 +1369,26 @@ ], "support": { "issues": "https://github.com/php-stubs/wordpress-stubs/issues", - "source": "https://github.com/php-stubs/wordpress-stubs/tree/v5.9.9" + "source": "https://github.com/php-stubs/wordpress-stubs/tree/v6.8.1" }, - "time": "2024-04-14T17:16:00+00:00" + "time": "2025-05-02T12:33:34+00:00" }, { "name": "phpstan/phpstan", - "version": "0.12.100", + "version": "1.12.27", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3" + "reference": "3a6e423c076ab39dfedc307e2ac627ef579db162" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/48236ddf823547081b2b153d1cd2994b784328c3", - "reference": "48236ddf823547081b2b153d1cd2994b784328c3", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/3a6e423c076ab39dfedc307e2ac627ef579db162", + "reference": "3a6e423c076ab39dfedc307e2ac627ef579db162", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.2|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -1425,11 +1398,6 @@ "phpstan.phar" ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.12-dev" - } - }, "autoload": { "files": [ "bootstrap.php" @@ -1440,9 +1408,16 @@ "MIT" ], "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/0.12.100" + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { @@ -1452,13 +1427,9 @@ { "url": "https://github.com/phpstan", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" } ], - "time": "2022-11-01T09:52:08+00:00" + "time": "2025-05-21T20:51:45+00:00" }, { "name": "phpunit/php-code-coverage", @@ -1781,16 +1752,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.6.21", + "version": "9.6.23", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa" + "reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", - "reference": "de6abf3b6f8dd955fac3caad3af7a9504e8c2ffa", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/43d2cb18d0675c38bd44982a5d1d88f6d53d8d95", + "reference": "43d2cb18d0675c38bd44982a5d1d88f6d53d8d95", "shasum": "" }, "require": { @@ -1801,7 +1772,7 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.0", + "myclabs/deep-copy": "^1.13.1", "phar-io/manifest": "^2.0.4", "phar-io/version": "^3.2.1", "php": ">=7.3", @@ -1864,7 +1835,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.21" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.23" }, "funding": [ { @@ -1875,12 +1846,20 @@ "url": "https://github.com/sebastianbergmann", "type": "github" }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, { "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", "type": "tidelift" } ], - "time": "2024-09-19T10:50:18+00:00" + "time": "2025-05-02T06:40:34+00:00" }, { "name": "psr/event-dispatcher", @@ -1934,30 +1913,30 @@ }, { "name": "psr/log", - "version": "1.1.4", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "3.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1978,9 +1957,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { "name": "react/cache", @@ -2056,33 +2035,33 @@ }, { "name": "react/child-process", - "version": "v0.6.5", + "version": "v0.6.6", "source": { "type": "git", "url": "https://github.com/reactphp/child-process.git", - "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43" + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/child-process/zipball/e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", - "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43", + "url": "https://api.github.com/repos/reactphp/child-process/zipball/1721e2b93d89b745664353b9cfc8f155ba8a6159", + "reference": "1721e2b93d89b745664353b9cfc8f155ba8a6159", "shasum": "" }, "require": { "evenement/evenement": "^3.0 || ^2.0 || ^1.0", "php": ">=5.3.0", "react/event-loop": "^1.2", - "react/stream": "^1.2" + "react/stream": "^1.4" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35", - "react/socket": "^1.8", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", + "react/socket": "^1.16", "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0" }, "type": "library", "autoload": { "psr-4": { - "React\\ChildProcess\\": "src" + "React\\ChildProcess\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2119,19 +2098,15 @@ ], "support": { "issues": "https://github.com/reactphp/child-process/issues", - "source": "https://github.com/reactphp/child-process/tree/v0.6.5" + "source": "https://github.com/reactphp/child-process/tree/v0.6.6" }, "funding": [ { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" + "url": "https://opencollective.com/reactphp", + "type": "open_collective" } ], - "time": "2022-09-16T13:41:56+00:00" + "time": "2025-01-01T16:37:48+00:00" }, { "name": "react/dns", @@ -3477,52 +3452,47 @@ }, { "name": "symfony/console", - "version": "v5.4.44", + "version": "v6.4.22", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "5b5a0aa66e3296e303e22490f90f521551835a83" + "reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/5b5a0aa66e3296e303e22490f90f521551835a83", - "reference": "5b5a0aa66e3296e303e22490f90f521551835a83", + "url": "https://api.github.com/repos/symfony/console/zipball/7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3", + "reference": "7d29659bc3c9d8e9a34e2c3414ef9e9e003e6cf3", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -3556,7 +3526,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.44" + "source": "https://github.com/symfony/console/tree/v6.4.22" }, "funding": [ { @@ -3572,33 +3542,33 @@ "type": "tidelift" } ], - "time": "2024-09-20T07:56:40+00:00" + "time": "2025-05-07T07:05:04+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v2.5.3", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -3623,7 +3593,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" }, "funding": [ { @@ -3639,48 +3609,43 @@ "type": "tidelift" } ], - "time": "2023-01-24T14:02:46+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v5.4.40", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", + "reference": "0ffc48080ab3e9132ea74ef4e09d8dcf26bf897e", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<4.4" + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" }, "provide": { "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" + "symfony/event-dispatcher-implementation": "2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -3708,7 +3673,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.13" }, "funding": [ { @@ -3724,37 +3689,34 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-09-25T14:18:03+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.3", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/540f4c73e87fd0c71ca44a6aa305d024ac68cb73", - "reference": "540f4c73e87fd0c71ca44a6aa305d024ac68cb73", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "psr/event-dispatcher": "^1" }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { @@ -3787,7 +3749,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" }, "funding": [ { @@ -3803,30 +3765,29 @@ "type": "tidelift" } ], - "time": "2024-01-23T13:51:25+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/filesystem", - "version": "v5.4.44", + "version": "v6.4.13", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc" + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/76c3818964e9d32be3862c9318ae3ba9aa280ddc", - "reference": "76c3818964e9d32be3862c9318ae3ba9aa280ddc", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/4856c9cf585d5a0313d8d35afd681a526f038dd3", + "reference": "4856c9cf585d5a0313d8d35afd681a526f038dd3", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" + "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "symfony/process": "^5.4|^6.4" + "symfony/process": "^5.4|^6.4|^7.0" }, "type": "library", "autoload": { @@ -3854,7 +3815,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.44" + "source": "https://github.com/symfony/filesystem/tree/v6.4.13" }, "funding": [ { @@ -3870,26 +3831,27 @@ "type": "tidelift" } ], - "time": "2024-09-16T14:52:48+00:00" + "time": "2024-10-25T15:07:50+00:00" }, { "name": "symfony/finder", - "version": "v5.4.43", + "version": "v6.4.17", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "ae25a9145a900764158d439653d5630191155ca0" + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0", - "reference": "ae25a9145a900764158d439653d5630191155ca0", + "url": "https://api.github.com/repos/symfony/finder/zipball/1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", + "reference": "1d0e8266248c5d9ab6a87e3789e6dc482af3c9c7", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.0" }, "type": "library", "autoload": { @@ -3917,7 +3879,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.43" + "source": "https://github.com/symfony/finder/tree/v6.4.17" }, "funding": [ { @@ -3933,27 +3895,25 @@ "type": "tidelift" } ], - "time": "2024-08-13T14:03:51+00:00" + "time": "2024-12-29T13:51:37+00:00" }, { "name": "symfony/options-resolver", - "version": "v5.4.40", + "version": "v6.4.16", "source": { "type": "git", "url": "https://github.com/symfony/options-resolver.git", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4" + "reference": "368128ad168f20e22c32159b9f761e456cec0c78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/368128ad168f20e22c32159b9f761e456cec0c78", + "reference": "368128ad168f20e22c32159b9f761e456cec0c78", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php73": "~1.0", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -3986,7 +3946,7 @@ "options" ], "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.40" + "source": "https://github.com/symfony/options-resolver/tree/v6.4.16" }, "funding": [ { @@ -4002,11 +3962,11 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2024-11-20T10:57:02+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -4030,8 +3990,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4065,7 +4025,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -4085,7 +4045,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -4106,8 +4066,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4143,7 +4103,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -4163,7 +4123,7 @@ }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -4184,8 +4144,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4224,7 +4184,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -4244,19 +4204,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -4268,8 +4229,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4304,7 +4265,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -4320,11 +4281,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -4342,8 +4303,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4380,7 +4341,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.32.0" }, "funding": [ { @@ -4400,16 +4361,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { @@ -4418,8 +4379,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4460,7 +4421,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" }, "funding": [ { @@ -4476,11 +4437,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", @@ -4498,8 +4459,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -4536,7 +4497,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0" }, "funding": [ { @@ -4556,21 +4517,20 @@ }, { "name": "symfony/process", - "version": "v5.4.44", + "version": "v6.4.20", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "1b9fa82b5c62cd49da8c9e3952dd8531ada65096" + "reference": "e2a61c16af36c9a07e5c9906498b73e091949a20" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/1b9fa82b5c62cd49da8c9e3952dd8531ada65096", - "reference": "1b9fa82b5c62cd49da8c9e3952dd8531ada65096", + "url": "https://api.github.com/repos/symfony/process/zipball/e2a61c16af36c9a07e5c9906498b73e091949a20", + "reference": "e2a61c16af36c9a07e5c9906498b73e091949a20", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.1" }, "type": "library", "autoload": { @@ -4598,7 +4558,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.44" + "source": "https://github.com/symfony/process/tree/v6.4.20" }, "funding": [ { @@ -4614,47 +4574,47 @@ "type": "tidelift" } ], - "time": "2024-09-17T12:46:43+00:00" + "time": "2025-03-10T17:11:00+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.3", + "version": "v3.6.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3" + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3", - "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4", + "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" }, - "suggest": { - "symfony/service-implementation": "" - }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" } }, "autoload": { "psr-4": { "Symfony\\Contracts\\Service\\": "" - } + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4681,7 +4641,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.3" + "source": "https://github.com/symfony/service-contracts/tree/v3.6.0" }, "funding": [ { @@ -4697,25 +4657,25 @@ "type": "tidelift" } ], - "time": "2023-04-21T15:04:16+00:00" + "time": "2025-04-25T09:37:31+00:00" }, { "name": "symfony/stopwatch", - "version": "v5.4.40", + "version": "v6.4.19", "source": { "type": "git", "url": "https://github.com/symfony/stopwatch.git", - "reference": "0e9daf3b7c805c747638b2cc48f1649e594f9625" + "reference": "dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/0e9daf3b7c805c747638b2cc48f1649e594f9625", - "reference": "0e9daf3b7c805c747638b2cc48f1649e594f9625", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c", + "reference": "dfe1481c12c06266d0c3d58c0cb4b09bd497ab9c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/service-contracts": "^1|^2|^3" + "php": ">=8.1", + "symfony/service-contracts": "^2.5|^3" }, "type": "library", "autoload": { @@ -4743,7 +4703,7 @@ "description": "Provides a way to profile code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/stopwatch/tree/v5.4.40" + "source": "https://github.com/symfony/stopwatch/tree/v6.4.19" }, "funding": [ { @@ -4759,38 +4719,38 @@ "type": "tidelift" } ], - "time": "2024-05-31T14:33:22+00:00" + "time": "2025-02-21T10:06:30+00:00" }, { "name": "symfony/string", - "version": "v5.4.44", + "version": "v6.4.21", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "832caa16b6d9aac6bf11747315225f5aba384c24" + "reference": "73e2c6966a5aef1d4892873ed5322245295370c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/832caa16b6d9aac6bf11747315225f5aba384c24", - "reference": "832caa16b6d9aac6bf11747315225f5aba384c24", + "url": "https://api.github.com/repos/symfony/string/zipball/73e2c6966a5aef1d4892873ed5322245295370c6", + "reference": "73e2c6966a5aef1d4892873ed5322245295370c6", "shasum": "" }, "require": { - "php": ">=7.2.5", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": ">=3.0" + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -4829,7 +4789,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.44" + "source": "https://github.com/symfony/string/tree/v6.4.21" }, "funding": [ { @@ -4845,34 +4805,39 @@ "type": "tidelift" } ], - "time": "2024-09-20T07:56:40+00:00" + "time": "2025-04-18T15:23:29+00:00" }, { "name": "szepeviktor/phpstan-wordpress", - "version": "v0.6.6", + "version": "v1.3.5", "source": { "type": "git", "url": "https://github.com/szepeviktor/phpstan-wordpress.git", - "reference": "f5040549dc5f46d81ea2432de726c2a0a4ad1141" + "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/f5040549dc5f46d81ea2432de726c2a0a4ad1141", - "reference": "f5040549dc5f46d81ea2432de726c2a0a4ad1141", + "url": "https://api.github.com/repos/szepeviktor/phpstan-wordpress/zipball/7f8cfe992faa96b6a33bbd75c7bace98864161e7", + "reference": "7f8cfe992faa96b6a33bbd75c7bace98864161e7", "shasum": "" }, "require": { - "php": "~7.1", - "php-stubs/wordpress-stubs": "^4.7 || ^5.0", - "phpstan/phpstan": "^0.12.26", + "php": "^7.2 || ^8.0", + "php-stubs/wordpress-stubs": "^4.7 || ^5.0 || ^6.0", + "phpstan/phpstan": "^1.10.31", "symfony/polyfill-php73": "^1.12.0" }, "require-dev": { - "composer/composer": "^1.8.6", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "composer/composer": "^2.1.14", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", "php-parallel-lint/php-parallel-lint": "^1.1", - "phpstan/phpstan-strict-rules": "^0.12", - "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^0.4.3" + "phpstan/phpstan-strict-rules": "^1.2", + "phpunit/phpunit": "^8.0 || ^9.0", + "szepeviktor/phpcs-psr-12-neutron-hybrid-ruleset": "^1.0", + "wp-coding-standards/wpcs": "3.1.0 as 2.3.0" + }, + "suggest": { + "swissspidy/phpstan-no-private": "Detect usage of internal core functions, classes and methods" }, "type": "phpstan-extension", "extra": { @@ -4884,7 +4849,7 @@ }, "autoload": { "psr-4": { - "PHPStan\\WordPress\\": "src/" + "SzepeViktor\\PHPStan\\WordPress\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -4901,15 +4866,9 @@ ], "support": { "issues": "https://github.com/szepeviktor/phpstan-wordpress/issues", - "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v0.6.6" + "source": "https://github.com/szepeviktor/phpstan-wordpress/tree/v1.3.5" }, - "funding": [ - { - "url": "https://www.paypal.me/szepeviktor", - "type": "custom" - } - ], - "time": "2020-10-18T12:11:45+00:00" + "time": "2024-06-28T22:27:19+00:00" }, { "name": "theseer/tokenizer", @@ -4964,12 +4923,12 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": {}, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=7.0" + "php": "^8.0" }, - "platform-dev": [], + "platform-dev": {}, "plugin-api-version": "2.6.0" } diff --git a/config/core.php b/config/core.php index 864d4a0..d3284dd 100644 --- a/config/core.php +++ b/config/core.php @@ -7,27 +7,5 @@ OWC\PrefillGravityForms\Providers\BlockServiceProvider::class, OWC\PrefillGravityForms\Providers\EnqueueServiceProvider::class, ], - - /** - * Dependencies upon which the plugin relies. - * - * Required: type, label - * Optional: message - * - * Type: plugin - * - Required: file - * - Optional: version - * - * Type: class - * - Required: name - */ - 'dependencies' => [ - [ - 'type' => 'plugin', - 'label' => 'Gravity Forms', - 'version' => '>=2.5.8', - 'file' => 'gravityforms/gravityforms.php', - ], - ], 'text_domain' => PG_PLUGIN_SLUG, ]; diff --git a/index.php b/index.php index 8142269..7e187a2 100644 --- a/index.php +++ b/index.php @@ -1 +1,3 @@ -\n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"POT-Creation-Date: 2025-11-05T15:30:16+00:00\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"X-Generator: WP-CLI 2.12.0\n" +"X-Domain: prefill-gravity-forms\n" + +#. Plugin Name of the plugin +#: prefill-gravity-forms.php +msgid "Yard | BRP Prefill GravityForms" +msgstr "" + +#. Plugin URI of the plugin +#: prefill-gravity-forms.php +msgid "https://www.openwebconcept.nl/" +msgstr "" + +#. Description of the plugin +#: prefill-gravity-forms.php +msgid "Prefill GravityForms fields, based on a (Dutch) BSN number. Retrieve personal information and place these values in the corresponding fields." +msgstr "" + +#. Author of the plugin +#: prefill-gravity-forms.php +msgid "Yard | Digital Agency" +msgstr "" + +#. Author URI of the plugin +#: prefill-gravity-forms.php +msgid "https://www.yard.nl/" +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:3 +msgid "Minimale leeftijd" +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:5 +msgid "Minimale leeftijd die de ingelogde burger dient te hebben." +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:10 +msgid "Maximale leeftijd" +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:12 +msgid "Maximale leeftijd die de ingelogde burger dient te hebben." +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:17 +msgid "Bericht bij onjuiste leeftijd" +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:19 +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:243 +msgid "U heeft niet de juiste leeftijd om dit formulier te mogen invullen." +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:23 +msgid "Bericht bij juiste leeftijd" +msgstr "" + +#: resources/views/partials/gf-field-age-check-settings.php:25 +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:254 +msgid "U heeft de juiste leeftijd om dit formulier te mogen invullen." +msgstr "" + +#: resources/views/partials/gf-field-municipality-check-settings.php:3 +msgid "Gemeente code" +msgstr "" + +#: resources/views/partials/gf-field-municipality-check-settings.php:5 +msgid "De gemeente code waarop gecontroleerd dient te worden." +msgstr "" + +#: resources/views/partials/gf-field-municipality-check-settings.php:10 +msgid "Bericht bij onjuiste gemeente" +msgstr "" + +#: resources/views/partials/gf-field-municipality-check-settings.php:16 +msgid "Bericht bij juiste gemeente" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:3 +#: resources/views/partials/gf-field-options-openzaak.php:3 +#: resources/views/partials/gf-field-options-pink-roccade.php:3 +#: resources/views/partials/gf-field-options-vrij-brp.php:3 +#: resources/views/partials/gf-field-options-we-are-frank.php:3 +msgid "Automatisch invullen" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:6 +#: resources/views/partials/gf-field-options-openzaak.php:6 +#: resources/views/partials/gf-field-options-pink-roccade.php:6 +#: resources/views/partials/gf-field-options-vrij-brp.php:6 +#: resources/views/partials/gf-field-options-we-are-frank.php:6 +msgid "Kies veldnaam" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:7 +#: resources/views/partials/gf-field-options-enable-u.php:49 +#: resources/views/partials/gf-field-options-enable-u.php:64 +#: resources/views/partials/gf-field-options-enable-u.php:79 +#: resources/views/partials/gf-field-options-openzaak.php:7 +#: resources/views/partials/gf-field-options-openzaak.php:49 +#: resources/views/partials/gf-field-options-openzaak.php:64 +#: resources/views/partials/gf-field-options-openzaak.php:79 +#: resources/views/partials/gf-field-options-pink-roccade.php:7 +#: resources/views/partials/gf-field-options-pink-roccade.php:49 +#: resources/views/partials/gf-field-options-pink-roccade.php:64 +#: resources/views/partials/gf-field-options-pink-roccade.php:79 +#: resources/views/partials/gf-field-options-vrij-brp.php:7 +#: resources/views/partials/gf-field-options-vrij-brp.php:44 +#: resources/views/partials/gf-field-options-vrij-brp.php:67 +#: resources/views/partials/gf-field-options-vrij-brp.php:82 +#: resources/views/partials/gf-field-options-vrij-brp.php:97 +#: resources/views/partials/gf-field-options-we-are-frank.php:7 +#: resources/views/partials/gf-field-options-we-are-frank.php:44 +#: resources/views/partials/gf-field-options-we-are-frank.php:67 +#: resources/views/partials/gf-field-options-we-are-frank.php:79 +#: resources/views/partials/gf-field-options-we-are-frank.php:91 +msgid "Burgerservicenummer" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:8 +#: resources/views/partials/gf-field-options-openzaak.php:8 +#: resources/views/partials/gf-field-options-pink-roccade.php:8 +#: resources/views/partials/gf-field-options-vrij-brp.php:8 +#: resources/views/partials/gf-field-options-we-are-frank.php:8 +msgid "aNummer" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:9 +#: resources/views/partials/gf-field-options-enable-u.php:50 +#: resources/views/partials/gf-field-options-enable-u.php:65 +#: resources/views/partials/gf-field-options-enable-u.php:80 +#: resources/views/partials/gf-field-options-openzaak.php:9 +#: resources/views/partials/gf-field-options-openzaak.php:50 +#: resources/views/partials/gf-field-options-openzaak.php:65 +#: resources/views/partials/gf-field-options-openzaak.php:80 +#: resources/views/partials/gf-field-options-pink-roccade.php:9 +#: resources/views/partials/gf-field-options-pink-roccade.php:50 +#: resources/views/partials/gf-field-options-pink-roccade.php:65 +#: resources/views/partials/gf-field-options-pink-roccade.php:80 +#: resources/views/partials/gf-field-options-vrij-brp.php:9 +#: resources/views/partials/gf-field-options-vrij-brp.php:68 +#: resources/views/partials/gf-field-options-vrij-brp.php:83 +#: resources/views/partials/gf-field-options-vrij-brp.php:98 +#: resources/views/partials/gf-field-options-we-are-frank.php:68 +#: resources/views/partials/gf-field-options-we-are-frank.php:80 +#: resources/views/partials/gf-field-options-we-are-frank.php:92 +msgid "Geslachtsaanduiding" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:10 +#: resources/views/partials/gf-field-options-openzaak.php:10 +#: resources/views/partials/gf-field-options-pink-roccade.php:10 +#: resources/views/partials/gf-field-options-vrij-brp.php:10 +#: resources/views/partials/gf-field-options-we-are-frank.php:9 +msgid "Leeftijd" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:12 +#: resources/views/partials/gf-field-options-enable-u.php:45 +#: resources/views/partials/gf-field-options-enable-u.php:51 +#: resources/views/partials/gf-field-options-enable-u.php:66 +#: resources/views/partials/gf-field-options-enable-u.php:81 +#: resources/views/partials/gf-field-options-openzaak.php:12 +#: resources/views/partials/gf-field-options-openzaak.php:45 +#: resources/views/partials/gf-field-options-openzaak.php:51 +#: resources/views/partials/gf-field-options-openzaak.php:66 +#: resources/views/partials/gf-field-options-openzaak.php:81 +#: resources/views/partials/gf-field-options-pink-roccade.php:12 +#: resources/views/partials/gf-field-options-pink-roccade.php:45 +#: resources/views/partials/gf-field-options-pink-roccade.php:51 +#: resources/views/partials/gf-field-options-pink-roccade.php:66 +#: resources/views/partials/gf-field-options-pink-roccade.php:81 +#: resources/views/partials/gf-field-options-vrij-brp.php:12 +#: resources/views/partials/gf-field-options-vrij-brp.php:45 +#: resources/views/partials/gf-field-options-vrij-brp.php:69 +#: resources/views/partials/gf-field-options-vrij-brp.php:84 +#: resources/views/partials/gf-field-options-vrij-brp.php:99 +#: resources/views/partials/gf-field-options-we-are-frank.php:11 +#: resources/views/partials/gf-field-options-we-are-frank.php:45 +#: resources/views/partials/gf-field-options-we-are-frank.php:69 +#: resources/views/partials/gf-field-options-we-are-frank.php:81 +#: resources/views/partials/gf-field-options-we-are-frank.php:93 +msgid "Geslachtsnaam" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:13 +#: resources/views/partials/gf-field-options-enable-u.php:52 +#: resources/views/partials/gf-field-options-enable-u.php:67 +#: resources/views/partials/gf-field-options-enable-u.php:82 +#: resources/views/partials/gf-field-options-openzaak.php:13 +#: resources/views/partials/gf-field-options-openzaak.php:52 +#: resources/views/partials/gf-field-options-openzaak.php:67 +#: resources/views/partials/gf-field-options-openzaak.php:82 +#: resources/views/partials/gf-field-options-pink-roccade.php:13 +#: resources/views/partials/gf-field-options-pink-roccade.php:52 +#: resources/views/partials/gf-field-options-pink-roccade.php:67 +#: resources/views/partials/gf-field-options-pink-roccade.php:82 +#: resources/views/partials/gf-field-options-vrij-brp.php:13 +#: resources/views/partials/gf-field-options-vrij-brp.php:46 +#: resources/views/partials/gf-field-options-vrij-brp.php:70 +#: resources/views/partials/gf-field-options-vrij-brp.php:85 +#: resources/views/partials/gf-field-options-vrij-brp.php:100 +#: resources/views/partials/gf-field-options-we-are-frank.php:13 +#: resources/views/partials/gf-field-options-we-are-frank.php:46 +#: resources/views/partials/gf-field-options-we-are-frank.php:70 +#: resources/views/partials/gf-field-options-we-are-frank.php:82 +#: resources/views/partials/gf-field-options-we-are-frank.php:94 +msgid "Voorletters" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:14 +#: resources/views/partials/gf-field-options-enable-u.php:46 +#: resources/views/partials/gf-field-options-enable-u.php:53 +#: resources/views/partials/gf-field-options-enable-u.php:68 +#: resources/views/partials/gf-field-options-enable-u.php:83 +#: resources/views/partials/gf-field-options-openzaak.php:14 +#: resources/views/partials/gf-field-options-openzaak.php:46 +#: resources/views/partials/gf-field-options-openzaak.php:53 +#: resources/views/partials/gf-field-options-openzaak.php:68 +#: resources/views/partials/gf-field-options-openzaak.php:83 +#: resources/views/partials/gf-field-options-pink-roccade.php:14 +#: resources/views/partials/gf-field-options-pink-roccade.php:46 +#: resources/views/partials/gf-field-options-pink-roccade.php:53 +#: resources/views/partials/gf-field-options-pink-roccade.php:68 +#: resources/views/partials/gf-field-options-pink-roccade.php:83 +#: resources/views/partials/gf-field-options-vrij-brp.php:14 +#: resources/views/partials/gf-field-options-vrij-brp.php:47 +#: resources/views/partials/gf-field-options-vrij-brp.php:71 +#: resources/views/partials/gf-field-options-vrij-brp.php:86 +#: resources/views/partials/gf-field-options-vrij-brp.php:101 +#: resources/views/partials/gf-field-options-we-are-frank.php:12 +#: resources/views/partials/gf-field-options-we-are-frank.php:47 +#: resources/views/partials/gf-field-options-we-are-frank.php:71 +#: resources/views/partials/gf-field-options-we-are-frank.php:83 +#: resources/views/partials/gf-field-options-we-are-frank.php:95 +msgid "Voornamen" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:15 +#: resources/views/partials/gf-field-options-enable-u.php:54 +#: resources/views/partials/gf-field-options-enable-u.php:69 +#: resources/views/partials/gf-field-options-enable-u.php:84 +#: resources/views/partials/gf-field-options-openzaak.php:15 +#: resources/views/partials/gf-field-options-openzaak.php:54 +#: resources/views/partials/gf-field-options-openzaak.php:69 +#: resources/views/partials/gf-field-options-openzaak.php:84 +#: resources/views/partials/gf-field-options-pink-roccade.php:15 +#: resources/views/partials/gf-field-options-pink-roccade.php:54 +#: resources/views/partials/gf-field-options-pink-roccade.php:69 +#: resources/views/partials/gf-field-options-pink-roccade.php:84 +#: resources/views/partials/gf-field-options-vrij-brp.php:15 +#: resources/views/partials/gf-field-options-vrij-brp.php:48 +#: resources/views/partials/gf-field-options-vrij-brp.php:72 +#: resources/views/partials/gf-field-options-vrij-brp.php:87 +#: resources/views/partials/gf-field-options-vrij-brp.php:102 +#: resources/views/partials/gf-field-options-we-are-frank.php:14 +#: resources/views/partials/gf-field-options-we-are-frank.php:48 +#: resources/views/partials/gf-field-options-we-are-frank.php:72 +#: resources/views/partials/gf-field-options-we-are-frank.php:84 +#: resources/views/partials/gf-field-options-we-are-frank.php:96 +msgid "Voorvoegsel" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:16 +#: resources/views/partials/gf-field-options-openzaak.php:16 +#: resources/views/partials/gf-field-options-pink-roccade.php:16 +#: resources/views/partials/gf-field-options-vrij-brp.php:16 +msgid "Aanschrijfwijze" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:17 +#: resources/views/partials/gf-field-options-openzaak.php:17 +#: resources/views/partials/gf-field-options-pink-roccade.php:17 +#: resources/views/partials/gf-field-options-vrij-brp.php:17 +msgid "AanduidingNaamgebruik" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:20 +#: resources/views/partials/gf-field-options-openzaak.php:20 +#: resources/views/partials/gf-field-options-pink-roccade.php:20 +msgid "Datum" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:21 +#: resources/views/partials/gf-field-options-openzaak.php:21 +#: resources/views/partials/gf-field-options-pink-roccade.php:21 +msgid "Jaar" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:22 +#: resources/views/partials/gf-field-options-openzaak.php:22 +#: resources/views/partials/gf-field-options-pink-roccade.php:22 +msgid "Maand" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:23 +#: resources/views/partials/gf-field-options-openzaak.php:23 +#: resources/views/partials/gf-field-options-pink-roccade.php:23 +msgid "Dag" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:24 +#: resources/views/partials/gf-field-options-openzaak.php:24 +#: resources/views/partials/gf-field-options-pink-roccade.php:24 +#: resources/views/partials/gf-field-options-vrij-brp.php:20 +msgid "Omschrijving" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:25 +#: resources/views/partials/gf-field-options-openzaak.php:25 +#: resources/views/partials/gf-field-options-pink-roccade.php:25 +#: resources/views/partials/gf-field-options-vrij-brp.php:21 +msgid "Code" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:28 +#: resources/views/partials/gf-field-options-enable-u.php:55 +#: resources/views/partials/gf-field-options-enable-u.php:70 +#: resources/views/partials/gf-field-options-enable-u.php:85 +#: resources/views/partials/gf-field-options-openzaak.php:28 +#: resources/views/partials/gf-field-options-openzaak.php:55 +#: resources/views/partials/gf-field-options-openzaak.php:70 +#: resources/views/partials/gf-field-options-openzaak.php:85 +#: resources/views/partials/gf-field-options-pink-roccade.php:28 +#: resources/views/partials/gf-field-options-pink-roccade.php:55 +#: resources/views/partials/gf-field-options-pink-roccade.php:70 +#: resources/views/partials/gf-field-options-pink-roccade.php:85 +#: resources/views/partials/gf-field-options-vrij-brp.php:24 +#: resources/views/partials/gf-field-options-vrij-brp.php:49 +#: resources/views/partials/gf-field-options-vrij-brp.php:73 +#: resources/views/partials/gf-field-options-vrij-brp.php:88 +#: resources/views/partials/gf-field-options-vrij-brp.php:103 +#: resources/views/partials/gf-field-options-we-are-frank.php:28 +#: resources/views/partials/gf-field-options-we-are-frank.php:49 +#: resources/views/partials/gf-field-options-we-are-frank.php:73 +#: resources/views/partials/gf-field-options-we-are-frank.php:85 +#: resources/views/partials/gf-field-options-we-are-frank.php:97 +msgid "Geboortedatum" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:29 +#: resources/views/partials/gf-field-options-enable-u.php:61 +#: resources/views/partials/gf-field-options-enable-u.php:76 +#: resources/views/partials/gf-field-options-enable-u.php:91 +#: resources/views/partials/gf-field-options-openzaak.php:29 +#: resources/views/partials/gf-field-options-openzaak.php:61 +#: resources/views/partials/gf-field-options-openzaak.php:76 +#: resources/views/partials/gf-field-options-openzaak.php:91 +#: resources/views/partials/gf-field-options-pink-roccade.php:29 +#: resources/views/partials/gf-field-options-pink-roccade.php:61 +#: resources/views/partials/gf-field-options-pink-roccade.php:76 +#: resources/views/partials/gf-field-options-pink-roccade.php:91 +#: resources/views/partials/gf-field-options-vrij-brp.php:30 +#: resources/views/partials/gf-field-options-vrij-brp.php:55 +#: resources/views/partials/gf-field-options-vrij-brp.php:79 +#: resources/views/partials/gf-field-options-vrij-brp.php:94 +#: resources/views/partials/gf-field-options-vrij-brp.php:109 +#: resources/views/partials/gf-field-options-we-are-frank.php:55 +#: resources/views/partials/gf-field-options-we-are-frank.php:76 +#: resources/views/partials/gf-field-options-we-are-frank.php:88 +#: resources/views/partials/gf-field-options-we-are-frank.php:103 +msgid "Geboorteland" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:30 +#: resources/views/partials/gf-field-options-enable-u.php:59 +#: resources/views/partials/gf-field-options-enable-u.php:74 +#: resources/views/partials/gf-field-options-enable-u.php:89 +#: resources/views/partials/gf-field-options-openzaak.php:30 +#: resources/views/partials/gf-field-options-openzaak.php:59 +#: resources/views/partials/gf-field-options-openzaak.php:74 +#: resources/views/partials/gf-field-options-openzaak.php:89 +#: resources/views/partials/gf-field-options-pink-roccade.php:30 +#: resources/views/partials/gf-field-options-pink-roccade.php:59 +#: resources/views/partials/gf-field-options-pink-roccade.php:74 +#: resources/views/partials/gf-field-options-pink-roccade.php:89 +#: resources/views/partials/gf-field-options-vrij-brp.php:28 +#: resources/views/partials/gf-field-options-vrij-brp.php:53 +#: resources/views/partials/gf-field-options-vrij-brp.php:77 +#: resources/views/partials/gf-field-options-vrij-brp.php:92 +#: resources/views/partials/gf-field-options-vrij-brp.php:107 +#: resources/views/partials/gf-field-options-we-are-frank.php:53 +#: resources/views/partials/gf-field-options-we-are-frank.php:74 +#: resources/views/partials/gf-field-options-we-are-frank.php:86 +#: resources/views/partials/gf-field-options-we-are-frank.php:101 +msgid "Geboorteplaats" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:33 +#: resources/views/partials/gf-field-options-openzaak.php:33 +#: resources/views/partials/gf-field-options-pink-roccade.php:33 +#: resources/views/partials/gf-field-options-vrij-brp.php:33 +#: resources/views/partials/gf-field-options-we-are-frank.php:35 +msgid "Straat" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:34 +#: resources/views/partials/gf-field-options-openzaak.php:34 +#: resources/views/partials/gf-field-options-pink-roccade.php:34 +#: resources/views/partials/gf-field-options-vrij-brp.php:34 +#: resources/views/partials/gf-field-options-we-are-frank.php:36 +msgid "Huisnummer" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:35 +#: resources/views/partials/gf-field-options-openzaak.php:35 +#: resources/views/partials/gf-field-options-pink-roccade.php:35 +#: resources/views/partials/gf-field-options-vrij-brp.php:35 +#: resources/views/partials/gf-field-options-we-are-frank.php:37 +msgid "Huisletter" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:36 +#: resources/views/partials/gf-field-options-openzaak.php:36 +#: resources/views/partials/gf-field-options-pink-roccade.php:36 +#: resources/views/partials/gf-field-options-vrij-brp.php:36 +#: resources/views/partials/gf-field-options-we-are-frank.php:38 +msgid "Postcode" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:37 +#: resources/views/partials/gf-field-options-openzaak.php:37 +#: resources/views/partials/gf-field-options-pink-roccade.php:37 +#: resources/views/partials/gf-field-options-vrij-brp.php:37 +#: resources/views/partials/gf-field-options-we-are-frank.php:39 +msgid "Woonplaats" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:38 +#: resources/views/partials/gf-field-options-openzaak.php:38 +#: resources/views/partials/gf-field-options-pink-roccade.php:38 +#: resources/views/partials/gf-field-options-vrij-brp.php:38 +msgid "Adres" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:39 +#: resources/views/partials/gf-field-options-openzaak.php:39 +#: resources/views/partials/gf-field-options-pink-roccade.php:39 +#: resources/views/partials/gf-field-options-vrij-brp.php:39 +msgid "Postcode + plaats" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:40 +#: resources/views/partials/gf-field-options-openzaak.php:40 +#: resources/views/partials/gf-field-options-pink-roccade.php:40 +#: resources/views/partials/gf-field-options-vrij-brp.php:40 +#: resources/views/partials/gf-field-options-we-are-frank.php:40 +msgid "Gemeente" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:41 +#: resources/views/partials/gf-field-options-openzaak.php:41 +#: resources/views/partials/gf-field-options-pink-roccade.php:41 +#: resources/views/partials/gf-field-options-vrij-brp.php:41 +#: resources/views/partials/gf-field-options-we-are-frank.php:41 +msgid "Gemeentecode" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:44 +#: resources/views/partials/gf-field-options-openzaak.php:44 +#: resources/views/partials/gf-field-options-pink-roccade.php:44 +#: resources/views/partials/gf-field-options-vrij-brp.php:56 +#: resources/views/partials/gf-field-options-we-are-frank.php:56 +msgid "Soort verbintenis" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:56 +#: resources/views/partials/gf-field-options-enable-u.php:71 +#: resources/views/partials/gf-field-options-enable-u.php:86 +#: resources/views/partials/gf-field-options-openzaak.php:56 +#: resources/views/partials/gf-field-options-openzaak.php:71 +#: resources/views/partials/gf-field-options-openzaak.php:86 +#: resources/views/partials/gf-field-options-pink-roccade.php:56 +#: resources/views/partials/gf-field-options-pink-roccade.php:71 +#: resources/views/partials/gf-field-options-pink-roccade.php:86 +#: resources/views/partials/gf-field-options-vrij-brp.php:25 +#: resources/views/partials/gf-field-options-vrij-brp.php:50 +#: resources/views/partials/gf-field-options-vrij-brp.php:74 +#: resources/views/partials/gf-field-options-vrij-brp.php:89 +#: resources/views/partials/gf-field-options-vrij-brp.php:104 +#: resources/views/partials/gf-field-options-we-are-frank.php:50 +#: resources/views/partials/gf-field-options-we-are-frank.php:98 +msgid "Geboortedag" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:57 +#: resources/views/partials/gf-field-options-enable-u.php:72 +#: resources/views/partials/gf-field-options-enable-u.php:87 +#: resources/views/partials/gf-field-options-openzaak.php:57 +#: resources/views/partials/gf-field-options-openzaak.php:72 +#: resources/views/partials/gf-field-options-openzaak.php:87 +#: resources/views/partials/gf-field-options-pink-roccade.php:57 +#: resources/views/partials/gf-field-options-pink-roccade.php:72 +#: resources/views/partials/gf-field-options-pink-roccade.php:87 +#: resources/views/partials/gf-field-options-vrij-brp.php:26 +#: resources/views/partials/gf-field-options-vrij-brp.php:51 +#: resources/views/partials/gf-field-options-vrij-brp.php:75 +#: resources/views/partials/gf-field-options-vrij-brp.php:90 +#: resources/views/partials/gf-field-options-vrij-brp.php:105 +#: resources/views/partials/gf-field-options-we-are-frank.php:51 +#: resources/views/partials/gf-field-options-we-are-frank.php:99 +msgid "Geboortemaand" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:58 +#: resources/views/partials/gf-field-options-enable-u.php:73 +#: resources/views/partials/gf-field-options-enable-u.php:88 +#: resources/views/partials/gf-field-options-openzaak.php:58 +#: resources/views/partials/gf-field-options-openzaak.php:73 +#: resources/views/partials/gf-field-options-openzaak.php:88 +#: resources/views/partials/gf-field-options-pink-roccade.php:58 +#: resources/views/partials/gf-field-options-pink-roccade.php:73 +#: resources/views/partials/gf-field-options-pink-roccade.php:88 +#: resources/views/partials/gf-field-options-vrij-brp.php:27 +#: resources/views/partials/gf-field-options-vrij-brp.php:52 +#: resources/views/partials/gf-field-options-vrij-brp.php:76 +#: resources/views/partials/gf-field-options-vrij-brp.php:91 +#: resources/views/partials/gf-field-options-vrij-brp.php:106 +#: resources/views/partials/gf-field-options-we-are-frank.php:30 +#: resources/views/partials/gf-field-options-we-are-frank.php:52 +#: resources/views/partials/gf-field-options-we-are-frank.php:100 +msgid "Geboorteplaats code" +msgstr "" + +#: resources/views/partials/gf-field-options-enable-u.php:60 +#: resources/views/partials/gf-field-options-enable-u.php:75 +#: resources/views/partials/gf-field-options-enable-u.php:90 +#: resources/views/partials/gf-field-options-openzaak.php:60 +#: resources/views/partials/gf-field-options-openzaak.php:75 +#: resources/views/partials/gf-field-options-openzaak.php:90 +#: resources/views/partials/gf-field-options-pink-roccade.php:60 +#: resources/views/partials/gf-field-options-pink-roccade.php:75 +#: resources/views/partials/gf-field-options-pink-roccade.php:90 +#: resources/views/partials/gf-field-options-vrij-brp.php:29 +#: resources/views/partials/gf-field-options-vrij-brp.php:54 +#: resources/views/partials/gf-field-options-vrij-brp.php:78 +#: resources/views/partials/gf-field-options-vrij-brp.php:93 +#: resources/views/partials/gf-field-options-vrij-brp.php:108 +#: resources/views/partials/gf-field-options-we-are-frank.php:32 +#: resources/views/partials/gf-field-options-we-are-frank.php:54 +#: resources/views/partials/gf-field-options-we-are-frank.php:75 +#: resources/views/partials/gf-field-options-we-are-frank.php:87 +#: resources/views/partials/gf-field-options-we-are-frank.php:102 +msgid "Geboorteland code" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:57 +#: resources/views/partials/gf-field-options-we-are-frank.php:57 +msgid "Verbintenis datum" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:58 +#: resources/views/partials/gf-field-options-we-are-frank.php:58 +msgid "Verbintenis dag" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:59 +#: resources/views/partials/gf-field-options-we-are-frank.php:59 +msgid "Verbintenis maand" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:60 +#: resources/views/partials/gf-field-options-we-are-frank.php:60 +msgid "Verbintenis jaar" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:61 +#: resources/views/partials/gf-field-options-we-are-frank.php:61 +msgid "Verbintenis land code" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:62 +#: resources/views/partials/gf-field-options-we-are-frank.php:62 +msgid "Verbintenis land" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:63 +#: resources/views/partials/gf-field-options-we-are-frank.php:63 +msgid "Verbintenis plaats code" +msgstr "" + +#: resources/views/partials/gf-field-options-vrij-brp.php:64 +#: resources/views/partials/gf-field-options-we-are-frank.php:64 +msgid "Verbintenis plaats" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:15 +msgid "Aanduiding naamgebruik" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:16 +msgid "Adellijke Titel" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:17 +msgid "Volledige naam" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:20 +msgid "Geslacht code" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:21 +msgid "Geslacht omschrijving" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:24 +msgid "Nationaliteit omschrijving" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:25 +msgid "Nationaliteit code" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:29 +msgid "Geboorteplaats omschrijving" +msgstr "" + +#: resources/views/partials/gf-field-options-we-are-frank.php:31 +msgid "Geboorteland omschrijving" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:26 +msgid "OWC leeftijdscheck" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:31 +msgid "Op basis van het BSN-nummer, verkregen wanneer een burger inlogt met DigiD, wordt de BRP bevraagd. De leeftijd van de burger wordt berekend en op basis daarvan wordt een melding weergegeven die aangeeft of de burger de juiste leeftijd heeft." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:73 +msgid "Het ophalen van uw geboortedatum is mislukt, probeer het later nog eens." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:88 +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:87 +msgid "Geslaagd" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:88 +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:87 +msgid "Mislukt" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:103 +msgid "Log in met uw DigiD, zonder BSN-nummer kan de leeftijdscheck niet uitgevoerd worden." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:106 +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:104 +msgid "Dit veld is onjuist geconfigueerd, contacteer de beheerder van deze website." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:264 +msgid "Dit is een voorbeeldweergave van het veld 'OWC leeftijdscheck'. Stel de minimale en/of maximale leeftijd en de gewenste validatie berichten in via de instellingen van dit veld onder de kop 'OWC leeftijdscheck'." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/AgeCheckField.php:265 +msgid "Vergeet niet om dit veld automatisch te laten invullen met de geboortedatum vanuit de BRP." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:23 +msgid "OWC Gemeentecheck" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:28 +msgid "Op basis van de gemeentecode uit de BRP, verkregen wanneer een burger inlogt met DigiD, wordt er gekeken of de burger in de juiste gemeente woont. De gemeentecode waarop gecontroleerd wordt is instelbaar." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:70 +msgid "Het ophalen van de gemeentecode van uw gemeente is mislukt, probeer het later nog eens." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:101 +msgid "Log in met uw DigiD, zonder BSN-nummer kan de gemeentecheck niet uitgevoerd worden." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:233 +msgid "U woont niet in de juiste gemeente om dit formulier te mogen invullen." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:244 +msgid "U woont in de juiste gemeente om dit formulier te mogen invullen." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:254 +msgid "Dit is een voorbeeldweergave van het veld 'OWC Gemeentecheck'. Stel de gemeentecode in waarop gecontroleerd dient te worden in via de instellingen van dit veld onder de kop 'OWC Gemeentecheck'." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/Fields/MunicipalityCheckField.php:255 +msgid "Vergeet niet om dit veld automatisch te laten invullen met de gemeentecode vanuit de BRP." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:81 +msgid "Algemeen" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:84 +msgid "OIN number" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:91 +msgid "Basis URL" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:98 +msgid "Gebruik API authenticatie" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:99 +msgid "Deze authenticatie zal gebruikt worden naast de gebruikelijke authenticatie middels certificaten." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:108 +msgid "API sleutel" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:110 +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:141 +msgid "Vul alleen in als de API van de leverancier dit gebruikt." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:113 +msgid "Sleutel" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:117 +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:148 +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:156 +msgid "Vul een waarde in" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:120 +msgid "Header naam" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:125 +msgid "Is vereist als header in HTTP verzoeken." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:139 +msgid "API OAuth 2.0" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:144 +msgid "Gebruikersnaam" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:151 +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:208 +msgid "Wachtwoord" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:170 +msgid "Berichtenverkeer logboek" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:174 +msgid "Logging inschakelen" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:178 +msgid "Schakel deze optie in om het loggen van foutmeldingen te activeren. Dit kan nuttig zijn voor het opsporen en oplossen van problemen binnen de plug-in." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:183 +msgid "Certificaten" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:186 +msgid "Certificaten hoofd locatie" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:194 +msgid "Publieke locatie certificaten" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:201 +msgid "PrivĂ© locatie certificaten" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:213 +msgid "Dit veld mag leeg gelaten worden als er geen wachtwoord vereist is voor het maken van de verzoeken naar de \"Haalcentraal\" API." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsAddon.php:227 +msgid "Geen certificaat geselecteerd" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:12 +msgid "OWC Prefill" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:23 +msgid "Breid de resultaten uit met andere entiteiten. Kommagescheiden waardes in vullen. Bijvoorbeeld: 'ouders,partners,kinderen'" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:28 +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:30 +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:34 +msgid "Selecteer een leverancier" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:28 +msgid "Kies een leverancier. Let op dat je de inloggegevens ook moet configureren in de algemene instellingen van Gravity Forms." +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:39 +msgid "OpenZaak" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:44 +msgid "EnableU" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:49 +msgid "PinkRoccade" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:54 +msgid "VrijBRP" +msgstr "" + +#: src/PrefillGravityForms/GravityForms/GravityFormsFormSettings.php:59 +msgid "WeAreFrank!" +msgstr "" + +#: src/PrefillGravityForms/Providers/GravityFormsServiceProvider.php:90 +msgid "BRP Prefill velden" +msgstr "" + +#: resources/js/blocks/personal-data-table/block.json +msgctxt "block title" +msgid "Profielpagina" +msgstr "" + +#: resources/js/blocks/personal-data-table/block.json +msgctxt "block description" +msgid "Maak een profielpagina met persoonsgegevens van de ingelogde gebruiker." +msgstr "" + +#: resources/js/blocks/personal-data-table/personal-data-row/block.json +msgctxt "block title" +msgid "Persoonsgegevens" +msgstr "" + +#: resources/js/blocks/personal-data-table/personal-data-row/block.json +msgctxt "block description" +msgid "Toon persoonsgegevens van de ingelogde gebruiker." +msgstr "" diff --git a/prefill-gravity-forms.php b/prefill-gravity-forms.php index 054fa97..0fd4a9d 100644 --- a/prefill-gravity-forms.php +++ b/prefill-gravity-forms.php @@ -11,6 +11,7 @@ * License URI: https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 * Text Domain: prefill-gravity-forms * Domain Path: /languages + * Requires Plugins: gravityforms */ /** @@ -24,12 +25,21 @@ define('PG_DIR', basename(__DIR__)); define('PG_ROOT_PATH', __DIR__); define('PG_PLUGIN_SLUG', 'prefill-gravity-forms'); +define('PG_LOGGER_DEFAULT_MAX_FILES', 7); /** - * Manual loaded file: the autoloader. + * Not all the members of the OpenWebconcept are using composer in the root of their project. + * Therefore they are required to run a composer install inside this plugin directory. + * In this case the composer autoload file needs to be required. */ -require_once __DIR__ . '/autoloader.php'; -$autoloader = new OWC\PrefillGravityForms\Autoloader(); +$composerAutoload = __DIR__ . '/vendor/autoload.php'; + +if (file_exists($composerAutoload)) { + require_once $composerAutoload; +} else { + require_once __DIR__ . '/autoloader.php'; + $autoloader = new OWC\PrefillGravityForms\Autoloader(); +} /** * Begin execution of the plugin diff --git a/resources/js/blocks/personal-data-table/personal-data-row/render.php b/resources/js/blocks/personal-data-table/personal-data-row/render.php index 8795abd..fa1eaaa 100644 --- a/resources/js/blocks/personal-data-table/personal-data-row/render.php +++ b/resources/js/blocks/personal-data-table/personal-data-row/render.php @@ -9,7 +9,7 @@ -%s", $attributes['htmlElement'] ?? 'p', diff --git a/src/PrefillGravityForms/Controllers/BaseController.php b/src/PrefillGravityForms/Controllers/BaseController.php index 5c2b7e0..dfd12e3 100644 --- a/src/PrefillGravityForms/Controllers/BaseController.php +++ b/src/PrefillGravityForms/Controllers/BaseController.php @@ -7,17 +7,17 @@ use DateTime; use Exception; use GF_Field; -use function OWC\PrefillGravityForms\Foundation\Helpers\resolve_teams; use function OWC\PrefillGravityForms\Foundation\Helpers\view; -use OWC\PrefillGravityForms\Foundation\TeamsLogger; use OWC\PrefillGravityForms\GravityForms\GravityFormsSettings; use OWC\PrefillGravityForms\Services\CacheService; +use OWC\PrefillGravityForms\Traits\Logger; use OWC\PrefillGravityForms\Traits\SessionTrait; use TypeError; use WP_Screen; abstract class BaseController { + use Logger; use SessionTrait; protected const CUSTOM_FIELDS_TYPES = [ @@ -26,13 +26,11 @@ abstract class BaseController ]; protected GravityFormsSettings $settings; - protected TeamsLogger $teams; protected array $prefilledChildrenMappingOptions = []; public function __construct() { $this->settings = GravityFormsSettings::make(); - $this->teams = resolve_teams(); } abstract public function handle(array $form): array; @@ -55,14 +53,6 @@ public function get(): array abstract protected function makeRequest(): array; - protected function logError(string $message, $status): void - { - $this->teams->addRecord('error', 'BRP Prefill GravityForms', [ - 'message' => $message, - 'status' => $status, - ]); - } - protected function preFillFields(array $form, array $response): array { foreach ($form['fields'] as $field) { @@ -309,7 +299,7 @@ protected function handleCurl(array $args, string $transientKey): array return $cachedResponse; } } catch (Exception $e) { - $this->logError('Failed to get transient: ' . $e->getMessage(), $e->getCode()); + $this->logException($e); } $curl = curl_init(); @@ -399,7 +389,7 @@ protected function handleTransient(array $response, string $transientKey): void try { CacheService::setTransient($transientKey, $response); } catch (Exception $e) { - $this->logError('Failed to set transient: ' . $e->getMessage(), $e->getCode()); + $this->logException($e); } } diff --git a/src/PrefillGravityForms/Controllers/EnableUController.php b/src/PrefillGravityForms/Controllers/EnableUController.php index 6c84d9d..6a47797 100644 --- a/src/PrefillGravityForms/Controllers/EnableUController.php +++ b/src/PrefillGravityForms/Controllers/EnableUController.php @@ -4,6 +4,7 @@ namespace OWC\PrefillGravityForms\Controllers; +use Exception; use OWC\PrefillGravityForms\Services\CacheService; class EnableUController extends BaseController @@ -60,7 +61,7 @@ protected function fetchApiResponse(string $bsn, string $doelBinding = '', strin $message = sprintf('%s: %s', $message, $apiResponse['message']); } - $this->logError($message, $apiResponse['status'] ?? 500); + $this->logException(new Exception($message, (int) ($response['status'] ?? 500))); return []; } diff --git a/src/PrefillGravityForms/Controllers/PinkRoccadeController.php b/src/PrefillGravityForms/Controllers/PinkRoccadeController.php index e56c0c6..91f6307 100644 --- a/src/PrefillGravityForms/Controllers/PinkRoccadeController.php +++ b/src/PrefillGravityForms/Controllers/PinkRoccadeController.php @@ -4,6 +4,7 @@ namespace OWC\PrefillGravityForms\Controllers; +use Exception; use OWC\PrefillGravityForms\Services\CacheService; class PinkRoccadeController extends BaseController @@ -60,7 +61,7 @@ protected function fetchApiResponse(string $bsn, string $doelBinding = '', strin $message = sprintf('%s: %s', $message, $apiResponse['message']); } - $this->logError($message, $apiResponse['status'] ?? 500); + $this->logException(new Exception($message, (int) ($response['status'] ?? 500))); return []; } diff --git a/src/PrefillGravityForms/Controllers/VrijBRPController.php b/src/PrefillGravityForms/Controllers/VrijBRPController.php index 770cbbe..f57dcf6 100644 --- a/src/PrefillGravityForms/Controllers/VrijBRPController.php +++ b/src/PrefillGravityForms/Controllers/VrijBRPController.php @@ -4,6 +4,7 @@ namespace OWC\PrefillGravityForms\Controllers; +use Exception; use OWC\PrefillGravityForms\Services\CacheService; class VrijBRPController extends BaseController @@ -60,7 +61,7 @@ protected function fetchApiResponse(string $bsn, string $doelBinding = '', strin $message = sprintf('%s: %s', $message, $apiResponse['message']); } - $this->logError($message, $apiResponse['status'] ?? 500); + $this->logException(new Exception($message, (int) ($response['status'] ?? 500))); return []; } diff --git a/src/PrefillGravityForms/Controllers/WeAreFrankController.php b/src/PrefillGravityForms/Controllers/WeAreFrankController.php index c9ba2ee..d88951d 100644 --- a/src/PrefillGravityForms/Controllers/WeAreFrankController.php +++ b/src/PrefillGravityForms/Controllers/WeAreFrankController.php @@ -133,7 +133,7 @@ protected function fetchPersonData(array $preparedData, string $bsn): array $message = sprintf('%s: %s', $message, $apiResponse['message']); } - $this->logError($message, $apiResponse['status'] ?? 500); + $this->logException(new Exception($message, (int) ($response['status'] ?? 500))); return []; } diff --git a/src/PrefillGravityForms/Foundation/DependencyChecker.php b/src/PrefillGravityForms/Foundation/DependencyChecker.php deleted file mode 100644 index fb30351..0000000 --- a/src/PrefillGravityForms/Foundation/DependencyChecker.php +++ /dev/null @@ -1,132 +0,0 @@ -dependencies = $dependencies; - } - - /** - * Determines if the dependencies are not met. - */ - public function failed(): bool - { - foreach ($this->dependencies as $dependency) { - switch ($dependency['type']) { - case 'class': - $this->checkClass($dependency); - - break; - case 'plugin': - $this->checkPlugin($dependency); - - break; - } - } - - return 0 < count($this->failed); - } - - /** - * Notifies the administrator which plugins need to be enabled, - * or which plugins have the wrong version. - */ - public function notify(): void - { - add_action('admin_notices', function () { - $list = '

' . __( - 'The following plugins are required to use the Yard | Prefill GravityForms:', - 'prefill-gravity-forms' - ) . '

    '; - - foreach ($this->failed as $dependency) { - $info = isset($dependency['message']) ? ' (' . $dependency['message'] . ')' : ''; - $list .= sprintf('
  1. %s%s
  2. ', $dependency['label'], $info); - } - - $list .= '
'; - - printf('

%s

', $list); - }); - } - - /** - * Marks a dependency as failed. - */ - private function markFailed(array $dependency, string $defaultMessage): void - { - $this->failed[] = array_merge([ - 'message' => $dependency['message'] ?? $defaultMessage, - ], $dependency); - } - - /** - * Checks if required class exists. - */ - private function checkClass(array $dependency): void - { - if (! class_exists($dependency['name'])) { - $this->markFailed($dependency, __('Class does not exist', 'prefill-gravity-forms')); - - return; - } - } - - /** - * Check if a plugin is enabled and has the correct version. - */ - private function checkPlugin(array $dependency): void - { - if (! function_exists('is_plugin_active')) { - include_once ABSPATH . 'wp-admin/includes/plugin.php'; - } - - if (! is_plugin_active($dependency['file'])) { - $this->markFailed($dependency, __('Inactive', 'prefill-gravity-forms')); - - return; - } - - // If there is a version lock set on the dependency... - if (isset($dependency['version'])) { - if (! $this->checkVersion($dependency)) { - $this->markFailed($dependency, __('Minimal version:', 'prefill-gravity-forms') . ' ' . $dependency['version'] . ''); - } - } - } - - /** - * Checks the installed version of the plugin. - */ - private function checkVersion(array $dependency): bool - { - $file = file_get_contents(WP_PLUGIN_DIR . '/' . $dependency['file']); - - preg_match('/^(?: ?\* ?Version: ?)(.*)$/m', $file, $matches); - $version = isset($matches[1]) ? str_replace(' ', '', $matches[1]) : '0.0.0'; - - return version_compare($version, $dependency['version'], '>='); - } -} diff --git a/src/PrefillGravityForms/Foundation/Helpers.php b/src/PrefillGravityForms/Foundation/Helpers.php index cbc309a..75ee50e 100644 --- a/src/PrefillGravityForms/Foundation/Helpers.php +++ b/src/PrefillGravityForms/Foundation/Helpers.php @@ -4,7 +4,6 @@ use Exception; use OWC\PrefillGravityForms\Foundation\Plugin; -use OWC\PrefillGravityForms\Foundation\TeamsLogger; function app(): Plugin { @@ -93,25 +92,3 @@ function get_supplier(array $form, bool $getKey = false): string return $allowed[$supplier] ?? ''; } - -/** - * Use teams definition from Yard | GravityForms DigiD plugin. - */ -function resolve_teams(): TeamsLogger -{ - try { - if (! function_exists('Yard\DigiD\Foundation\Helpers\resolve')) { - throw new Exception(); - } - - $logger = \Yard\DigiD\Foundation\Helpers\resolve('teams'); - - if (! $logger instanceof \Psr\Log\LoggerInterface) { - throw new Exception(); - } - - return TeamsLogger::make($logger); - } catch (Exception $e) { - return TeamsLogger::make(new \Psr\Log\NullLogger()); - } -} diff --git a/src/PrefillGravityForms/Foundation/Plugin.php b/src/PrefillGravityForms/Foundation/Plugin.php index 61fc686..8fa95b4 100644 --- a/src/PrefillGravityForms/Foundation/Plugin.php +++ b/src/PrefillGravityForms/Foundation/Plugin.php @@ -1,7 +1,10 @@ addDefinitions([ 'app' => $this, - 'config' => function () { - return new Config($this->rootPath . '/config'); + 'config' => create(Config::class)->constructor($this->rootPath . '/config'), + 'logger' => function () { + $logger = new \Monolog\Logger('pg_log'); + $maxFiles = apply_filters('pg::logger/rotating_filer_handler_max_files', PG_LOGGER_DEFAULT_MAX_FILES); + + $handler = (new \Monolog\Handler\RotatingFileHandler( + filename: sprintf('%s/pg-log.json', dirname(ABSPATH)), + maxFiles: is_int($maxFiles) && 0 < $maxFiles ? $maxFiles : PG_LOGGER_DEFAULT_MAX_FILES, + level: \Monolog\Level::Debug + ))->setFormatter(new \Monolog\Formatter\JsonFormatter()); + + $logger->pushHandler($handler); + $logger->pushProcessor(new \Monolog\Processor\IntrospectionProcessor()); + + return $logger; }, ]); $this->container = $builder->build(); @@ -85,15 +101,6 @@ public function boot(): bool { $this->config = resolve('config'); - $dependencyChecker = new DependencyChecker($this->config->get('core.dependencies')); - - if ($dependencyChecker->failed()) { - $dependencyChecker->notify(); - deactivate_plugins(plugin_basename($this->rootPath . '/' . $this->getName() . '.php')); - - return false; - } - $this->loadTextDomain(); // Set up service providers @@ -108,7 +115,6 @@ private function loadTextDomain(): void load_plugin_textdomain($this->getName(), false, $this->getName() . '/languages/'); } - /** * Call method on service providers. * diff --git a/src/PrefillGravityForms/Foundation/TeamsLogger.php b/src/PrefillGravityForms/Foundation/TeamsLogger.php deleted file mode 100644 index 702a10c..0000000 --- a/src/PrefillGravityForms/Foundation/TeamsLogger.php +++ /dev/null @@ -1,43 +0,0 @@ -teams = $teams; - $this->name = 'Yard | BRP Prefill GravityForms'; - } - - /** - * Static constructor. - */ - public static function make(LoggerInterface $teams): self - { - return new static($teams); - } - - /** - * Add a log record and send to Teams. - */ - public function addRecord(string $method = 'info', string $title, array $context): void - { - if (! $this->isValid($method)) { - return; - } - - $this->teams->withName($this->name)->$method($title, $context); - } - - protected function isValid(string $method): bool - { - return method_exists('\Monolog\Logger', $method); - } -} diff --git a/src/PrefillGravityForms/GravityForms/GravityFormsAddon.php b/src/PrefillGravityForms/GravityForms/GravityFormsAddon.php index 16e821b..a53b825 100644 --- a/src/PrefillGravityForms/GravityForms/GravityFormsAddon.php +++ b/src/PrefillGravityForms/GravityForms/GravityFormsAddon.php @@ -126,8 +126,13 @@ public function plugin_settings_fields(): array ], ], 'dependency' => [ - 'field' => "{$prefix}api-use-authentication", - 'values' => [true], + 'live' => true, + 'fields' => [ + [ + 'field' => "{$prefix}api-use-authentication", + 'values' => [true], + ] + ] ], ], [ @@ -152,8 +157,26 @@ public function plugin_settings_fields(): array ], ], 'dependency' => [ - 'field' => "{$prefix}api-use-authentication", - 'values' => [true], + 'live' => true, + 'fields' => [ + [ + 'field' => "{$prefix}api-use-authentication", + 'values' => [true], + ] + ] + ], + ], + [ + 'title' => esc_html__('Berichtenverkeer logboek', 'prefill-gravity-forms'), + 'fields' => [ + [ + 'name' => "{$prefix}logging-enabled", + 'label' => __('Logging inschakelen', 'prefill-gravity-forms'), + 'type' => 'toggle', + 'required' => false, + 'default_value' => false, + 'description' => __('Schakel deze optie in om het loggen van foutmeldingen te activeren. Dit kan nuttig zijn voor het opsporen en oplossen van problemen binnen de plug-in.', 'prefill-gravity-forms'), + ], ], ], [ diff --git a/src/PrefillGravityForms/GravityForms/GravityFormsSettings.php b/src/PrefillGravityForms/GravityForms/GravityFormsSettings.php index 4be76ff..8f5a668 100644 --- a/src/PrefillGravityForms/GravityForms/GravityFormsSettings.php +++ b/src/PrefillGravityForms/GravityForms/GravityFormsSettings.php @@ -70,6 +70,13 @@ public function getAPITokenPassword(): string return $this->options[$this->prefix . 'api-basic-token-password'] ?? ''; } + public function loggingEnabled(): bool + { + $value = $this->options[$this->prefix . 'logging-enabled'] ?? '0'; + + return boolval($value); + } + public function getPublicCertificate(): string { return $this->options[$this->prefix . 'public-certificate'] ?? ''; diff --git a/src/PrefillGravityForms/Traits/Logger.php b/src/PrefillGravityForms/Traits/Logger.php new file mode 100644 index 0000000..1533bcc --- /dev/null +++ b/src/PrefillGravityForms/Traits/Logger.php @@ -0,0 +1,46 @@ +getCode()); + $method = $level->toPsrLogLevel(); + } catch (Exception $e) { + $method = 'error'; + } + + /** @var Logger */ + $logger = resolve('logger'); + + if (! method_exists($logger, $method)) { + $method = 'error'; + } + + /** + * Intercept the exception for further processing, such as logging to e.g. Sentry from the project itself. + * + * @param Exception $exception The exception to intercept. + * @param string $method PSR‑3 log level name (e.g. 'error', 'debug'). + * + * @since NEXT + */ + do_action('pg::exception/intercept', $exception, $method); + + if (! GravityFormsSettings::make()->loggingEnabled()) { + return; + } + + $logger->$method($exception->getMessage(), $context); + } +} diff --git a/src/PrefillGravityForms/Traits/SessionTrait.php b/src/PrefillGravityForms/Traits/SessionTrait.php index f41eceb..1b31338 100644 --- a/src/PrefillGravityForms/Traits/SessionTrait.php +++ b/src/PrefillGravityForms/Traits/SessionTrait.php @@ -1,37 +1,54 @@ getBsn(); + if ($bsn = $this->idpDigiD()) { + return $this->validateBSN($bsn); + } + if ($bsn = $this->samlDigiD()) { return $this->validateBSN($bsn); } - try { - $session = resolve('session'); - $bsn = $session->getSegment('digid')->get('bsn') ?: $session->getSegment('eidas')->get('bsn'); - } catch (Exception $e) { - $bsn = ''; + return ''; + } + + private function idpDigiD(): string + { + if (! class_exists('\OWC\IdpUserData\DigiDSession')) { + return ''; } - $bsn = is_string($bsn) && ! empty($bsn) ? decrypt($bsn) : ''; + if (! \OWC\IdpUserData\DigiDSession::isLoggedIn() || is_null(\OWC\IdpUserData\DigiDSession::getUserData())) { + return ''; + } + + return \OWC\IdpUserData\DigiDSession::getUserData()->getBsn(); + } + + private function samlDigiD(): string + { + if (! function_exists('\\Yard\\DigiD\\Foundation\\Helpers\\resolve')) { + return ''; + } - if (empty($bsn)) { + if (! function_exists('\\Yard\\DigiD\\Foundation\\Helpers\\decrypt')) { return ''; } - return $this->validateBSN($bsn); + $bsn = \Yard\DigiD\Foundation\Helpers\resolve('session')->getSegment('digid')->get('bsn'); + + return ! empty($bsn) && is_string($bsn) ? \Yard\DigiD\Foundation\Helpers\decrypt($bsn) : ''; } private function validateBSN(string $bsn) @@ -39,9 +56,7 @@ private function validateBSN(string $bsn) $bsn = $this->supplementBSN($bsn); if (strlen($bsn) !== 9) { - resolve_teams()->addRecord('error', 'BSN', [ - 'message' => 'BSN does not meet the required length of 9.', - ]); + $this->logException(new Exception('BSN does not meet the required length of 9.', 400)); return ''; } @@ -64,6 +79,6 @@ private function supplementBSN(string $bsn): string return $bsn; } - return sprintf("%'.0" . $requiredLength . "d", $bsn); + return sprintf("%'.0" . $requiredLength . 'd', $bsn); } }