From 507ec1fc76449e37ef4a020b48733bd6d6c7feb2 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Mon, 16 Sep 2024 10:10:46 +0200 Subject: [PATCH 01/26] Add Swish method --- src/PaymentMethods/Swish.php | 32 +++++++++++++++++++++++++++++ src/Shared/SharedDataDictionary.php | 1 + 2 files changed, 33 insertions(+) create mode 100644 src/PaymentMethods/Swish.php diff --git a/src/PaymentMethods/Swish.php b/src/PaymentMethods/Swish.php new file mode 100644 index 00000000..704fbc04 --- /dev/null +++ b/src/PaymentMethods/Swish.php @@ -0,0 +1,32 @@ + 'swish', + 'defaultTitle' => __('Swish', 'mollie-payments-for-woocommerce'), + 'settingsDescription' => '', + 'defaultDescription' => '', + 'paymentFields' => false, + 'instructions' => false, + 'supports' => [ + 'products', + 'refunds', + ], + 'filtersOnBuild' => false, + 'confirmationDelayed' => false, + 'SEPA' => false, + ]; + } + + public function getFormFields($generalFormFields): array + { + return $generalFormFields; + } +} diff --git a/src/Shared/SharedDataDictionary.php b/src/Shared/SharedDataDictionary.php index 7bd19e9d..e33282c2 100644 --- a/src/Shared/SharedDataDictionary.php +++ b/src/Shared/SharedDataDictionary.php @@ -39,6 +39,7 @@ class SharedDataDictionary 'Mollie_WC_Gateway_Payconiq', 'Mollie_WC_Gateway_Riverty', 'Mollie_WC_Gateway_Satispay', + 'Mollie_WC_Gateway_Swish', ]; public const MOLLIE_OPTIONS_NAMES = [ From c3f3f69eac96387a31ca28d1a30a0309f2e5458d Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 17 Sep 2024 10:43:35 +0200 Subject: [PATCH 02/26] Add scoper and remove mozart files --- .github/workflows/release.yml | 5 +- composer.json | 18 +- composer.lock | 395 +++++++------ lib/README.md | 5 - .../Container/ContainerConfigurator.php | 157 ----- .../Container/PackageProxyContainer.php | 101 ---- .../Container/ReadOnlyContainer.php | 142 ----- .../Modularity/Module/ExecutableModule.php | 21 - .../Modularity/Module/ExtendingModule.php | 24 - .../Modularity/Module/FactoryModule.php | 18 - .../Inpsyde/Modularity/Module/Module.php | 20 - .../Module/ModuleClassNameIdTrait.php | 23 - .../Modularity/Module/ServiceModule.php | 21 - lib/packages/Inpsyde/Modularity/Package.php | 555 ------------------ .../Modularity/Properties/BaseProperties.php | 217 ------- .../Properties/LibraryProperties.php | 209 ------- .../Properties/PluginProperties.php | 163 ----- .../Modularity/Properties/Properties.php | 139 ----- .../Modularity/Properties/ThemeProperties.php | 131 ----- .../Container/ContainerExceptionInterface.php | 13 - .../Psr/Container/ContainerInterface.php | 37 -- .../Container/NotFoundExceptionInterface.php | 13 - scoper.inc.php | 75 +++ 23 files changed, 309 insertions(+), 2193 deletions(-) delete mode 100644 lib/README.md delete mode 100644 lib/packages/Inpsyde/Modularity/Container/ContainerConfigurator.php delete mode 100644 lib/packages/Inpsyde/Modularity/Container/PackageProxyContainer.php delete mode 100644 lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php delete mode 100644 lib/packages/Inpsyde/Modularity/Module/ExecutableModule.php delete mode 100644 lib/packages/Inpsyde/Modularity/Module/ExtendingModule.php delete mode 100644 lib/packages/Inpsyde/Modularity/Module/FactoryModule.php delete mode 100644 lib/packages/Inpsyde/Modularity/Module/Module.php delete mode 100644 lib/packages/Inpsyde/Modularity/Module/ModuleClassNameIdTrait.php delete mode 100644 lib/packages/Inpsyde/Modularity/Module/ServiceModule.php delete mode 100644 lib/packages/Inpsyde/Modularity/Package.php delete mode 100644 lib/packages/Inpsyde/Modularity/Properties/BaseProperties.php delete mode 100644 lib/packages/Inpsyde/Modularity/Properties/LibraryProperties.php delete mode 100644 lib/packages/Inpsyde/Modularity/Properties/PluginProperties.php delete mode 100644 lib/packages/Inpsyde/Modularity/Properties/Properties.php delete mode 100644 lib/packages/Inpsyde/Modularity/Properties/ThemeProperties.php delete mode 100644 lib/packages/Psr/Container/ContainerExceptionInterface.php delete mode 100644 lib/packages/Psr/Container/ContainerInterface.php delete mode 100644 lib/packages/Psr/Container/NotFoundExceptionInterface.php create mode 100644 scoper.inc.php diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a80d5667..8303fa58 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,11 +7,10 @@ on: required: true jobs: create_archive: - uses: inpsyde/reusable-workflows/.github/workflows/build-plugin-archive.yml@task/build-plugin-archive-without-dep-dependencies + uses: inpsyde/reusable-workflows/.github/workflows/build-plugin-archive.yml@main with: PLUGIN_VERSION: ${{ inputs.PACKAGE_VERSION }} PHP_VERSION: 7.2 PLUGIN_MAIN_FILE: mollie-payments-for-woocommerce.php ARCHIVE_NAME: mollie-payments-for-woocommerce - POST_SCRIPT: | - mv dist/WooCommerce dist/mollie-payments-for-woocommerce + PLUGIN_FOLDER_NAME: mollie-payments-for-woocommerce diff --git a/composer.json b/composer.json index 0fbd7da9..452e5498 100644 --- a/composer.json +++ b/composer.json @@ -20,11 +20,11 @@ "ext-intl": "*", "ext-json": "*", "mollie/mollie-api-php": "^v2.40", + "inpsyde/modularity": "^1.3.0", + "psr/container": "1.0.0", "psr/log":"^1.1.4" }, "require-dev": { - "inpsyde/modularity": "^1.3.0", - "psr/container": "1.0.0", "phpunit/phpunit": "^8", "brain/monkey": "^2.3", "ptrofimov/xpmock": "^1", @@ -39,8 +39,7 @@ "autoload": { "psr-4": { "Mollie\\WooCommerce\\": "src/", - "Inpsyde\\EnvironmentChecker\\": "pluginEnvironmentChecker", - "Mollie\\WooCommerce\\Vendor\\": "lib/packages/" + "Inpsyde\\EnvironmentChecker\\": "pluginEnvironmentChecker" } }, "autoload-dev": { @@ -78,17 +77,6 @@ "pre-commit": [ "vendor/bin/phpcbf" ] - }, - "mozart": { - "dep_namespace": "Mollie\\WooCommerce\\Vendor\\", - "dep_directory": "/lib/packages/", - "classmap_directory": "/lib/classes/", - "classmap_prefix": "MOL_", - "packages": [ - "psr/container", - "inpsyde/modularity" - ], - "delete_vendor_directories": true } }, "config": { diff --git a/composer.lock b/composer.lock index e9c88ffc..3d08ff82 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "99dd93462bdd098a3d12154b8e71b543", + "content-hash": "b958dd474a49238a79209ae9ea95c361", "packages": [ { "name": "composer/ca-bundle", @@ -175,32 +175,169 @@ "time": "2024-07-17T08:02:14+00:00" }, { - "name": "psr/log", - "version": "1.1.4", + "name": "symfony/deprecation-contracts", + "version": "v2.5.3", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "80d075412b557d41002320b96a096ca65aa2c98d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", + "reference": "80d075412b557d41002320b96a096ca65aa2c98d", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "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" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } + ], + "time": "2023-01-24T14:02:46+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.4.43", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "ae25a9145a900764158d439653d5630191155ca0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0", + "reference": "ae25a9145a900764158d439653d5630191155ca0", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" }, + "type": "library", "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } + ], + "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" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-08-13T14:03:51+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.30.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -208,21 +345,44 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", "keywords": [ - "log", - "psr", - "psr-3" + "compatibility", + "polyfill", + "portable", + "shim" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, - "time": "2021-05-03T11:20:27+00:00" + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T15:07:36+00:00" } ], "packages-dev": [ @@ -2712,6 +2872,56 @@ }, "time": "2017-02-14T16:28:37+00:00" }, + { + "name": "psr/log", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/1.1.4" + }, + "time": "2021-05-03T11:20:27+00:00" + }, { "name": "ptrofimov/xpmock", "version": "1.1.5", @@ -3704,73 +3914,6 @@ ], "time": "2024-07-26T12:21:55+00:00" }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.5.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "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" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-24T14:02:46+00:00" - }, { "name": "symfony/polyfill-ctype", "version": "v1.30.0", @@ -4165,86 +4308,6 @@ ], "time": "2024-05-31T15:07:36+00:00" }, - { - "name": "symfony/polyfill-php80", - "version": "v1.30.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T15:07:36+00:00" - }, { "name": "symfony/service-contracts", "version": "v2.2.0", diff --git a/lib/README.md b/lib/README.md deleted file mode 100644 index e25dc217..00000000 --- a/lib/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The packages that are likely to cause conflicts with other plugins (by loading multiple incompatible versions). -Their namespaces are isolated by [Mozart](https://github.com/coenjacobs/mozart). - -Currently, the packages are simply added in the repo to avoid making the build process more complex. -We need to isolate only PSR-11 containers and Inpsyde modularity packages, which are not supposed to change often. diff --git a/lib/packages/Inpsyde/Modularity/Container/ContainerConfigurator.php b/lib/packages/Inpsyde/Modularity/Container/ContainerConfigurator.php deleted file mode 100644 index c7722af4..00000000 --- a/lib/packages/Inpsyde/Modularity/Container/ContainerConfigurator.php +++ /dev/null @@ -1,157 +0,0 @@ - - */ - private $services = []; - - /** - * @var array - */ - private $factoryIds = []; - - /** - * @var array> - */ - private $extensions = []; - - /** - * @var ContainerInterface[] - */ - private $containers = []; - - /** - * @var null|ContainerInterface - */ - private $compiledContainer; - - /** - * ContainerConfigurator constructor. - * - * @param ContainerInterface[] $containers - */ - public function __construct(array $containers = []) - { - array_map([$this, 'addContainer'], $containers); - } - - /** - * Allowing to add child containers. - * - * @param ContainerInterface $container - */ - public function addContainer(ContainerInterface $container): void - { - $this->containers[] = $container; - } - - /** - * @param string $id - * @param callable(ContainerInterface $container):mixed $factory - */ - public function addFactory(string $id, callable $factory): void - { - $this->addService($id, $factory); - // We're using a hash table to detect later - // via isset() if a Service as a Factory. - $this->factoryIds[$id] = true; - } - - /** - * @param string $id - * @param callable(ContainerInterface $container):mixed $service - * - * @return void - */ - public function addService(string $id, callable $service): void - { - if ($this->hasService($id)) { - /* - * We are being intentionally permissive here, - * allowing a simple workflow for *intentional* overrides - * while accepting the (small?) risk of *accidental* overrides - * that could be hard to notice and debug. - */ - - /* - * Clear a factory flag in case it was a factory. - * If needs be, it will get re-added after this function completes. - */ - unset($this->factoryIds[$id]); - } - - $this->services[$id] = $service; - } - - /** - * @param string $id - * - * @return bool - */ - public function hasService(string $id): bool - { - if (array_key_exists($id, $this->services)) { - return true; - } - - foreach ($this->containers as $container) { - if ($container->has($id)) { - return true; - } - } - - return false; - } - - /** - * @param string $id - * @param callable(mixed $service, ContainerInterface $container):mixed $extender - * - * @return void - */ - public function addExtension(string $id, callable $extender): void - { - if (!isset($this->extensions[$id])) { - $this->extensions[$id] = []; - } - - $this->extensions[$id][] = $extender; - } - - /** - * @param string $id - * - * @return bool - */ - public function hasExtension(string $id): bool - { - return isset($this->extensions[$id]); - } - - /** - * Returns a read only version of this Container. - * - * @return ContainerInterface - */ - public function createReadOnlyContainer(): ContainerInterface - { - if (!$this->compiledContainer) { - $this->compiledContainer = new ReadOnlyContainer( - $this->services, - $this->factoryIds, - $this->extensions, - $this->containers - ); - } - - return $this->compiledContainer; - } -} diff --git a/lib/packages/Inpsyde/Modularity/Container/PackageProxyContainer.php b/lib/packages/Inpsyde/Modularity/Container/PackageProxyContainer.php deleted file mode 100644 index 143b030d..00000000 --- a/lib/packages/Inpsyde/Modularity/Container/PackageProxyContainer.php +++ /dev/null @@ -1,101 +0,0 @@ -package = $package; - } - - /** - * @param string $id - * @return mixed - * - * @throws \Exception - */ - public function get($id) - { - assert(is_string($id)); - $this->assertPackageBooted($id); - - return $this->container->get($id); - } - - /** - * @param string $id - * @return bool - * - * @throws \Exception - */ - public function has($id) - { - assert(is_string($id)); - - return $this->tryContainer() && $this->container->has($id); - } - - /** - * @return bool - * - * @throws \Exception - * @psalm-assert-if-true ContainerInterface $this->container - */ - private function tryContainer(): bool - { - if ($this->container) { - return true; - } - - if ($this->package->statusIs(Package::STATUS_BOOTED)) { - $this->container = $this->package->container(); - } - - return (bool)$this->container; - } - - /** - * @param string $id - * @return void - * - * @throws \Exception - * - * @psalm-assert ContainerInterface $this->container - */ - private function assertPackageBooted(string $id): void - { - if ($this->tryContainer()) { - return; - } - - $name = $this->package->name(); - $status = $this->package->statusIs(Package::STATUS_FAILED) - ? 'failed booting' - : 'is not booted yet'; - - throw new class ("Error retrieving service {$id} because package {$name} {$status}.") - extends \Exception - implements ContainerExceptionInterface { - }; - } -} diff --git a/lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php b/lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php deleted file mode 100644 index ee082fa0..00000000 --- a/lib/packages/Inpsyde/Modularity/Container/ReadOnlyContainer.php +++ /dev/null @@ -1,142 +0,0 @@ - - */ - private $services; - - /** - * @var array - */ - private $factoryIds; - - /** - * @var array> - */ - private $extensions; - - /** - * Resolved factories. - * - * @var array - */ - private $resolvedServices = []; - - /** - * @var ContainerInterface[] - */ - private $containers; - - /** - * ReadOnlyContainer constructor. - * - * @param array $services - * @param array $factoryIds - * @param array> $extensions - * @param ContainerInterface[] $containers - */ - public function __construct( - array $services, - array $factoryIds, - array $extensions, - array $containers - ) { - $this->services = $services; - $this->factoryIds = $factoryIds; - $this->extensions = $extensions; - $this->containers = $containers; - } - - /** - * @param string $id - * - * @return mixed - */ - public function get($id) - { - assert(is_string($id)); - - if (array_key_exists($id, $this->resolvedServices)) { - return $this->resolvedServices[$id]; - } - - if (array_key_exists($id, $this->services)) { - $service = $this->services[$id]($this); - $resolved = $this->resolveExtensions($id, $service); - - if (!isset($this->factoryIds[$id])) { - $this->resolvedServices[$id] = $resolved; - unset($this->services[$id]); - } - - return $resolved; - } - - foreach ($this->containers as $container) { - if ($container->has($id)) { - $service = $container->get($id); - - return $this->resolveExtensions($id, $service); - } - } - - throw new class ("Service with ID {$id} not found.") - extends \Exception - implements NotFoundExceptionInterface { - }; - } - - /** - * @param string $id - * - * @return bool - */ - public function has($id) - { - assert(is_string($id)); - - if (array_key_exists($id, $this->services)) { - return true; - } - - if (array_key_exists($id, $this->resolvedServices)) { - return true; - } - - foreach ($this->containers as $container) { - if ($container->has($id)) { - return true; - } - } - - return false; - } - - /** - * @param string $id - * @param mixed $service - * - * @return mixed - */ - private function resolveExtensions(string $id, $service) - { - if (!isset($this->extensions[$id])) { - return $service; - } - - foreach ($this->extensions[$id] as $extender) { - $service = $extender($service, $this); - } - - return $service; - } -} diff --git a/lib/packages/Inpsyde/Modularity/Module/ExecutableModule.php b/lib/packages/Inpsyde/Modularity/Module/ExecutableModule.php deleted file mode 100644 index ea59bbbf..00000000 --- a/lib/packages/Inpsyde/Modularity/Module/ExecutableModule.php +++ /dev/null @@ -1,21 +0,0 @@ - - */ - public function extensions(): array; -} diff --git a/lib/packages/Inpsyde/Modularity/Module/FactoryModule.php b/lib/packages/Inpsyde/Modularity/Module/FactoryModule.php deleted file mode 100644 index 5990547f..00000000 --- a/lib/packages/Inpsyde/Modularity/Module/FactoryModule.php +++ /dev/null @@ -1,18 +0,0 @@ - - */ - public function factories(): array; -} diff --git a/lib/packages/Inpsyde/Modularity/Module/Module.php b/lib/packages/Inpsyde/Modularity/Module/Module.php deleted file mode 100644 index 7ab5afa7..00000000 --- a/lib/packages/Inpsyde/Modularity/Module/Module.php +++ /dev/null @@ -1,20 +0,0 @@ - - */ - public function services(): array; -} diff --git a/lib/packages/Inpsyde/Modularity/Package.php b/lib/packages/Inpsyde/Modularity/Package.php deleted file mode 100644 index 72b24d7e..00000000 --- a/lib/packages/Inpsyde/Modularity/Package.php +++ /dev/null @@ -1,555 +0,0 @@ - - * $package = Package::new(); - * $package->boot(); - * - * $container = $package->container(); - * $container->has(Package::PROPERTIES); - * $container->get(Package::PROPERTIES); - * - * - * @var string - */ - public const PROPERTIES = 'properties'; - - /** - * Custom action to be used to add Modules to the package. - * It might also be used to access package properties. - * - * @example - * - * $package = Package::new(); - * - * add_action( - * $package->hookName(Package::ACTION_INIT), - * $callback - * ); - * - */ - public const ACTION_INIT = 'init'; - - /** - * Custom action which is triggered after the application - * is booted to access container and properties. - * - * @example - * - * $package = Package::new(); - * - * add_action( - * $package->hookName(Package::ACTION_READY), - * $callback - * ); - * - */ - public const ACTION_READY = 'ready'; - - /** - * Custom action which is triggered when application failed to boot. - * - * @example - * - * $package = Package::new(); - * - * add_action( - * $package->hookName(Package::ACTION_FAILED_BOOT), - * $callback - * ); - * - */ - public const ACTION_FAILED_BOOT = 'failed-boot'; - - /** - * Custom action which is triggered when a package is connected. - */ - public const ACTION_PACKAGE_CONNECTED = 'package-connected'; - - /** - * Custom action which is triggered when a package cannot be connected. - */ - public const ACTION_FAILED_CONNECTION = 'failed-connection'; - - /** - * Module states can be used to get information about your module. - * - * @example - * - * $package = Package::new(); - * $package->moduleIs(SomeModule::class, Package::MODULE_ADDED); // false - * $package->boot(new SomeModule()); - * $package->moduleIs(SomeModule::class, Package::MODULE_ADDED); // true - * - */ - public const MODULE_ADDED = 'added'; - public const MODULE_NOT_ADDED = 'not-added'; - public const MODULE_REGISTERED = 'registered'; - public const MODULE_REGISTERED_FACTORIES = 'registered-factories'; - public const MODULE_EXTENDED = 'extended'; - public const MODULE_EXECUTED = 'executed'; - public const MODULE_EXECUTION_FAILED = 'executed-failed'; - public const MODULES_ALL = '*'; - - /** - * Custom states for the class. - * - * @example - * - * $package = Package::new(); - * $package->statusIs(Package::IDLE); // true - * $package->boot(); - * $package->statusIs(Package::BOOTED); // true - * - */ - public const STATUS_IDLE = 2; - public const STATUS_INITIALIZED = 4; - public const STATUS_BOOTED = 8; - public const STATUS_FAILED = -8; - - /** - * Current state of the application. - * - * @see Package::STATUS_* - * - * @var int - */ - private $status = self::STATUS_IDLE; - - /** - * Contains the progress of all modules. - * - * @see Package::moduleProgress() - * - * @var array> - */ - private $moduleStatus = [self::MODULES_ALL => []]; - - /** - * Hashmap of where keys are names of connected packages, and values are boolean, true - * if connection was successful. - * - * @see Package::connect() - * - * @var array - */ - private $connectedPackages = []; - - /** - * @var list - */ - private $executables = []; - - /** - * @var Properties - */ - private $properties; - - /** - * @var ContainerConfigurator - */ - private $containerConfigurator; - - /** - * @param Properties $properties - * @param ContainerInterface[] $containers - * - * @return Package - */ - public static function new(Properties $properties, ContainerInterface ...$containers): Package - { - return new self($properties, ...$containers); - } - - /** - * @param Properties $properties - * @param ContainerInterface[] $containers - */ - private function __construct(Properties $properties, ContainerInterface ...$containers) - { - $this->properties = $properties; - - $this->containerConfigurator = new ContainerConfigurator($containers); - $this->containerConfigurator->addService( - self::PROPERTIES, - static function () use ($properties) { - return $properties; - } - ); - } - - /** - * @param Module $module - * - * @return static - * @throws \Exception - */ - public function addModule(Module $module): Package - { - $this->assertStatus(self::STATUS_IDLE, 'access Container'); - - $registeredServices = $this->addModuleServices($module, self::MODULE_REGISTERED); - $registeredFactories = $this->addModuleServices($module, self::MODULE_REGISTERED_FACTORIES); - $extended = $this->addModuleServices($module, self::MODULE_EXTENDED); - $isExecutable = $module instanceof ExecutableModule; - - // ExecutableModules are collected and executed on Package::boot() - // when the Container is being compiled. - if ($isExecutable) { - /** @var ExecutableModule $module */ - $this->executables[] = $module; - } - - $added = $registeredServices || $registeredFactories || $extended || $isExecutable; - $status = $added ? self::MODULE_ADDED : self::MODULE_NOT_ADDED; - $this->moduleProgress($module->id(), $status); - - return $this; - } - - /** - * @param Package $package - * @return bool - * @throws \Exception - */ - public function connect(Package $package): bool - { - if (($package === $this)) { - return false; - } - - $packageName = $package->name(); - $errorData = ['package' => $packageName, 'status' => $this->status]; - - // Don't connect, if already connected - if (array_key_exists($packageName, $this->connectedPackages)) { - do_action( - $this->hookName(self::ACTION_FAILED_CONNECTION), - $packageName, - new \WP_Error('already_connected', 'already connected', $errorData) - ); - - return false; - } - - // Don't connect, if already booted or boot failed - if (in_array($this->status, [self::STATUS_BOOTED, self::STATUS_FAILED], true)) { - $this->connectedPackages[$packageName] = false; - do_action( - $this->hookName(self::ACTION_FAILED_CONNECTION), - $packageName, - new \WP_Error('no_connect_status', 'no connect status', $errorData) - ); - - return false; - } - - $this->connectedPackages[$packageName] = true; - - // We put connected package's properties in this package's container, so that in modules - // "run" method we can access them if we need to. - $this->containerConfigurator->addService( - sprintf('%s.%s', $package->name(), self::PROPERTIES), - static function () use ($package): Properties { - return $package->properties(); - } - ); - - // If the other package is booted, we can obtain a container, otherwise - // we build a proxy container - $container = $package->statusIs(self::STATUS_BOOTED) - ? $package->container() - : new PackageProxyContainer($package); - - $this->containerConfigurator->addContainer($container); - - do_action( - $this->hookName(self::ACTION_PACKAGE_CONNECTED), - $packageName, - $this->status, - $container instanceof PackageProxyContainer - ); - - return true; - } - - /** - * @param Module ...$defaultModules - * - * @return bool - * - * @throws \Throwable - */ - public function boot(Module ...$defaultModules): bool - { - try { - // don't allow to boot the application multiple times. - $this->assertStatus(self::STATUS_IDLE, 'execute boot'); - - // Add default Modules to the Application. - array_map([$this, 'addModule'], $defaultModules); - - do_action( - $this->hookName(self::ACTION_INIT), - $this - ); - // we want to lock adding new Modules and Containers now - // to process everything and be able to compile the container. - $this->progress(self::STATUS_INITIALIZED); - - if (count($this->executables) > 0) { - $this->doExecute(); - } - - do_action( - $this->hookName(self::ACTION_READY), - $this - ); - } catch (\Throwable $throwable) { - $this->progress(self::STATUS_FAILED); - do_action($this->hookName(self::ACTION_FAILED_BOOT), $throwable); - - if ($this->properties->isDebug()) { - throw $throwable; - } - - return false; - } - - $this->progress(self::STATUS_BOOTED); - - return true; - } - - /** - * @param Module $module - * @param string $status - * @return bool - */ - private function addModuleServices(Module $module, string $status): bool - { - $services = null; - $addCallback = null; - switch ($status) { - case self::MODULE_REGISTERED: - $services = $module instanceof ServiceModule ? $module->services() : null; - $addCallback = [$this->containerConfigurator, 'addService']; - break; - case self::MODULE_REGISTERED_FACTORIES: - $services = $module instanceof FactoryModule ? $module->factories() : null; - $addCallback = [$this->containerConfigurator, 'addFactory']; - break; - case self::MODULE_EXTENDED: - $services = $module instanceof ExtendingModule ? $module->extensions() : null; - $addCallback = [$this->containerConfigurator, 'addExtension']; - break; - } - - if (!$services) { - return false; - } - - $ids = []; - array_walk( - $services, - static function (callable $service, string $id) use ($addCallback, &$ids) { - /** @var callable(string, callable) $addCallback */ - $addCallback($id, $service); - /** @var list $ids */ - $ids[] = $id; - } - ); - /** @var list $ids */ - $this->moduleProgress($module->id(), $status, $ids); - - return true; - } - - /** - * @return void - * - * @throws \Throwable - */ - private function doExecute(): void - { - foreach ($this->executables as $executable) { - $success = $executable->run($this->container()); - $this->moduleProgress( - $executable->id(), - $success - ? self::MODULE_EXECUTED - : self::MODULE_EXECUTION_FAILED - ); - } - } - - /** - * @param string $moduleId - * @param string $type - * @param list|null $serviceIds - * - * @return void - */ - private function moduleProgress(string $moduleId, string $type, ?array $serviceIds = null) - { - isset($this->moduleStatus[$type]) or $this->moduleStatus[$type] = []; - $this->moduleStatus[$type][] = $moduleId; - - if (!$serviceIds || !$this->properties->isDebug()) { - $this->moduleStatus[self::MODULES_ALL][] = "{$moduleId} {$type}"; - - return; - } - - $description = sprintf('%s %s (%s)', $moduleId, $type, implode(', ', $serviceIds)); - $this->moduleStatus[self::MODULES_ALL][] = $description; - } - - /** - * @return array> - */ - public function modulesStatus(): array - { - return $this->moduleStatus; - } - - /** - * @return array - */ - public function connectedPackages(): array - { - return $this->connectedPackages; - } - - /** - * @param string $packageName - * @return bool - */ - public function isPackageConnected(string $packageName): bool - { - return $this->connectedPackages[$packageName] ?? false; - } - - /** - * @param string $moduleId - * @param string $status - * - * @return bool - */ - public function moduleIs(string $moduleId, string $status): bool - { - return in_array($moduleId, $this->moduleStatus[$status] ?? [], true); - } - - /** - * Return the filter name to be used to extend modules of the plugin. - * - * If the plugin is single file `my-plugin.php` in plugins folder the filter name will be: - * `inpsyde.modularity.my-plugin`. - * - * If the plugin is in a sub-folder e.g. `my-plugin/index.php` the filter name will be: - * `inpsyde.modularity.my-plugin` anyway, so the file name is not relevant. - * - * @param string $suffix - * - * @return string - * @see Package::name() - * - */ - public function hookName(string $suffix = ''): string - { - $filter = self::HOOK_PREFIX . $this->properties->baseName(); - - if ($suffix) { - $filter .= '.' . $suffix; - } - - return $filter; - } - - /** - * @return Properties - */ - public function properties(): Properties - { - return $this->properties; - } - - /** - * @return ContainerInterface - * - * @throws \Exception - */ - public function container(): ContainerInterface - { - $this->assertStatus(self::STATUS_INITIALIZED, 'access Container', '>='); - - return $this->containerConfigurator->createReadOnlyContainer(); - } - - /** - * @return string - */ - public function name(): string - { - return $this->properties->baseName(); - } - - /** - * @param int $status - */ - private function progress(int $status): void - { - $this->status = $status; - } - - /** - * @param int $status - * - * @return bool - */ - public function statusIs(int $status): bool - { - return $this->status === $status; - } - - /** - * @param int $status - * @param string $action - * @param string $operator - * - * @throws \Exception - * @psalm-suppress ArgumentTypeCoercion - */ - private function assertStatus(int $status, string $action, string $operator = '=='): void - { - if (!version_compare((string) $this->status, (string) $status, $operator)) { - throw new \Exception(sprintf("Can't %s at this point of application.", $action)); - } - } -} diff --git a/lib/packages/Inpsyde/Modularity/Properties/BaseProperties.php b/lib/packages/Inpsyde/Modularity/Properties/BaseProperties.php deleted file mode 100644 index 11f4be1d..00000000 --- a/lib/packages/Inpsyde/Modularity/Properties/BaseProperties.php +++ /dev/null @@ -1,217 +0,0 @@ -sanitizeBaseName($baseName); - $basePath = (string) trailingslashit($basePath); - if ($baseUrl) { - $baseUrl = (string) trailingslashit($baseUrl); - } - - $this->baseName = $baseName; - $this->basePath = $basePath; - $this->baseUrl = $baseUrl; - $this->properties = array_replace(Properties::DEFAULT_PROPERTIES, $properties); - } - - /** - * @param string $name - * - * @return string - */ - protected function sanitizeBaseName(string $name): string - { - substr_count($name, '/') and $name = dirname($name); - - return strtolower(pathinfo($name, PATHINFO_FILENAME)); - } - - /** - * @return string - */ - public function baseName(): string - { - return $this->baseName; - } - - /** - * @return string - */ - public function basePath(): string - { - return $this->basePath; - } - - /** - * @return string|null - */ - public function baseUrl(): ?string - { - return $this->baseUrl; - } - - /** - * @return string - */ - public function author(): string - { - return (string) $this->get(self::PROP_AUTHOR); - } - - /** - * @return string - */ - public function authorUri(): string - { - return (string) $this->get(self::PROP_AUTHOR_URI); - } - - /** - * @return string - */ - public function description(): string - { - return (string) $this->get(self::PROP_DESCRIPTION); - } - - /** - * @return string - */ - public function textDomain(): string - { - return (string) $this->get(self::PROP_TEXTDOMAIN); - } - - /** - * @return string - */ - public function domainPath(): string - { - return (string) $this->get(self::PROP_DOMAIN_PATH); - } - - /** - * @return string - */ - public function name(): string - { - return (string) $this->get(self::PROP_NAME); - } - - /** - * @return string - */ - public function uri(): string - { - return (string) $this->get(self::PROP_URI); - } - - /** - * @return string - */ - public function version(): string - { - return (string) $this->get(self::PROP_VERSION); - } - - /** - * @return string|null - */ - public function requiresWp(): ?string - { - $value = $this->get(self::PROP_REQUIRES_WP); - - return $value && is_string($value) ? $value : null; - } - - /** - * @return string|null - */ - public function requiresPhp(): ?string - { - $value = $this->get(self::PROP_REQUIRES_PHP); - - return $value && is_string($value) ? $value : null; - } - - /** - * @return array - */ - public function tags(): array - { - return (array) $this->get(self::PROP_TAGS); - } - - /** - * @param string $key - * @param null $default - * @return mixed - */ - public function get(string $key, $default = null) - { - return $this->properties[$key] ?? $default; - } - - /** - * @param string $key - * @return bool - */ - public function has(string $key): bool - { - return isset($this->properties[$key]); - } - - /** - * @return bool - * @see Properties::isDebug() - */ - public function isDebug(): bool - { - if ($this->isDebug === null) { - $this->isDebug = defined('WP_DEBUG') && WP_DEBUG; - } - - return $this->isDebug; - } -} diff --git a/lib/packages/Inpsyde/Modularity/Properties/LibraryProperties.php b/lib/packages/Inpsyde/Modularity/Properties/LibraryProperties.php deleted file mode 100644 index 16e10451..00000000 --- a/lib/packages/Inpsyde/Modularity/Properties/LibraryProperties.php +++ /dev/null @@ -1,209 +0,0 @@ - 0) { - $properties[self::PROP_AUTHOR] = implode(', ', $names); - } - - // Custom settings which can be stored in composer.json "extra.modularity" - $extra = $composerJsonData['extra']['modularity'] ?? []; - foreach (self::EXTRA_KEYS as $key) { - $properties[$key] = $extra[$key] ?? ''; - } - - // PHP requirement in composer.json "require" or "require-dev" - $properties[self::PROP_REQUIRES_PHP] = self::extractPhpVersion($composerJsonData); - - // composer.json might have "version" in root - $version = $composerJsonData['version'] ?? null; - if ($version && is_string($version)) { - $properties[self::PROP_VERSION] = $version; - } - - [$baseName, $name] = static::buildNames($composerJsonData); - $basePath = dirname($composerJsonFile); - if (empty($properties[self::PROP_NAME])) { - $properties[self::PROP_NAME] = $name; - } - - return new self( - $baseName, - $basePath, - $baseUrl, - $properties - ); - } - - /** - * @param array $composerJsonData - * - * @return array{string, string} - */ - private static function buildNames(array $composerJsonData): array - { - $composerName = (string) ($composerJsonData['name'] ?? ''); - $packageNamePieces = explode('/', $composerName, 2); - $basename = implode('-', $packageNamePieces); - // "inpsyde/foo-bar-baz" => "Inpsyde Foo Bar Baz" - $name = mb_convert_case( - str_replace(['-', '_', '.'], ' ', implode(' ', $packageNamePieces)), - MB_CASE_TITLE - ); - - return [$basename, $name]; - } - - /** - * Check PHP version in require, require-dev. - * - * Attempt to parse requirements to find the _minimum_ accepted version (consistent with WP). - * Composer requirements are parsed in a way that, for example: - * `>=7.2` returns `7.2` - * `^7.3` returns `7.3` - * `5.6 || >= 7.1` returns `5.6` - * `>= 7.1 < 8` returns `7.1` - * - * @param array $composerData - * @param string $key - * - * @return string|null - */ - private static function extractPhpVersion(array $composerData, string $key = 'require'): ?string - { - $nextKey = ($key === 'require') - ? 'require-dev' - : null; - $base = (array) ($composerData[$key] ?? []); - $requirement = $base['php'] ?? null; - $version = ($requirement && is_string($requirement)) - ? trim($requirement) - : null; - if (!$version) { - return $nextKey - ? static::extractPhpVersion($composerData, $nextKey) - : null; - } - - static $matcher; - $matcher or $matcher = static function (string $version): ?string { - $version = trim($version); - if (!$version) { - return null; - } - - // versions range like `>= 7.2.4 < 8` - if (preg_match('{>=?([\s0-9\.]+)<}', $version, $matches)) { - return trim($matches[1], " \t\n\r\0\x0B."); - } - - // aliases like `dev-src#abcde as 7.4` - if (preg_match('{as\s*([\s0-9\.]+)}', $version, $matches)) { - return trim($matches[1], " \t\n\r\0\x0B."); - } - - // Basic requirements like 7.2, >=7.2, ^7.2, ~7.2 - if (preg_match('{^(?:[>=\s~\^]+)?([0-9\.]+)}', $version, $matches)) { - return trim($matches[1], " \t\n\r\0\x0B."); - } - - return null; - }; - - // support for simpler requirements like `7.3`, `>=7.4` or alternative like `5.6 || >=7` - - $alternatives = explode('||', $version); - $found = null; - foreach ($alternatives as $alternative) { - /** @var callable(string):?string $matcher */ - $itemFound = $matcher($alternative); - if ($itemFound && (!$found || version_compare($itemFound, $found, '<'))) { - $found = $itemFound; - } - } - - if ($found) { - return $found; - } - - return $nextKey - ? static::extractPhpVersion($composerData, $nextKey) - : null; - } - - /** - * @param string $url - * - * @return static - * - * @throws \Exception - */ - public function withBaseUrl(string $url): LibraryProperties - { - if ($this->baseUrl !== null) { - throw new \Exception(sprintf('%s::$baseUrl property is not overridable.', __CLASS__)); - } - - $this->baseUrl = trailingslashit($url); - - return $this; - } -} diff --git a/lib/packages/Inpsyde/Modularity/Properties/PluginProperties.php b/lib/packages/Inpsyde/Modularity/Properties/PluginProperties.php deleted file mode 100644 index 3c4a7d97..00000000 --- a/lib/packages/Inpsyde/Modularity/Properties/PluginProperties.php +++ /dev/null @@ -1,163 +0,0 @@ - 'Author', - self::PROP_AUTHOR_URI => 'AuthorURI', - self::PROP_DESCRIPTION => 'Description', - self::PROP_DOMAIN_PATH => 'DomainPath', - self::PROP_NAME => 'Name', - self::PROP_TEXTDOMAIN => 'TextDomain', - self::PROP_URI => 'PluginURI', - self::PROP_VERSION => 'Version', - self::PROP_REQUIRES_WP => 'RequiresWP', - self::PROP_REQUIRES_PHP => 'RequiresPHP', - - // additional headers - self::PROP_NETWORK => 'Network', - ]; - - /** - * @var string - */ - private $pluginFile; - - /** - * @var bool|null - */ - protected $isMu; - - /** - * @var bool|null - */ - protected $isActive; - - /** - * @var bool|null - */ - protected $isNetworkActive; - - /** - * @param string $pluginMainFile - * - * @return PluginProperties - */ - public static function new(string $pluginMainFile): PluginProperties - { - return new self($pluginMainFile); - } - - /** - * PluginProperties constructor. - * - * @param string $pluginMainFile - */ - protected function __construct(string $pluginMainFile) - { - if (!function_exists('get_plugin_data')) { - require_once ABSPATH . 'wp-admin/includes/plugin.php'; - } - - $pluginData = get_plugin_data($pluginMainFile); - $properties = Properties::DEFAULT_PROPERTIES; - - // Map pluginData to internal structure. - foreach (self::HEADERS as $key => $pluginDataKey) { - $properties[$key] = $pluginData[$pluginDataKey] ?? ''; - unset($pluginData[$pluginDataKey]); - } - $properties = array_merge($properties, $pluginData); - - $this->pluginFile = $pluginMainFile; - - $baseName = plugin_basename($pluginMainFile); - $basePath = plugin_dir_path($pluginMainFile); - $baseUrl = plugins_url('/', $pluginMainFile); - - parent::__construct( - $baseName, - $basePath, - $baseUrl, - $properties - ); - } - - /** - * @return bool - * - * @psalm-suppress PossiblyFalseArgument - */ - public function network(): bool - { - return (bool) $this->get(self::PROP_NETWORK, false); - } - - /** - * @return bool - */ - public function isActive(): bool - { - if ($this->isActive === null) { - if (!function_exists('is_plugin_active')) { - require_once ABSPATH . 'wp-admin/includes/plugin.php'; - } - $this->isActive = is_plugin_active($this->pluginFile); - } - - return $this->isActive; - } - - /** - * @return bool - */ - public function isNetworkActive(): bool - { - if ($this->isNetworkActive === null) { - if (!function_exists('is_plugin_active_for_network')) { - require_once ABSPATH . 'wp-admin/includes/plugin.php'; - } - $this->isNetworkActive = is_plugin_active_for_network($this->pluginFile); - } - - return $this->isNetworkActive; - } - - /** - * @return bool - */ - public function isMuPlugin(): bool - { - if ($this->isMu === null) { - /** - * @psalm-suppress UndefinedConstant - * @psalm-suppress MixedArgument - */ - $muPluginDir = wp_normalize_path(WPMU_PLUGIN_DIR); - $this->isMu = strpos($this->pluginFile, $muPluginDir) === 0; - } - - return $this->isMu; - } -} diff --git a/lib/packages/Inpsyde/Modularity/Properties/Properties.php b/lib/packages/Inpsyde/Modularity/Properties/Properties.php deleted file mode 100644 index 995c316c..00000000 --- a/lib/packages/Inpsyde/Modularity/Properties/Properties.php +++ /dev/null @@ -1,139 +0,0 @@ - '', - self::PROP_AUTHOR_URI => '', - self::PROP_DESCRIPTION => '', - self::PROP_DOMAIN_PATH => '', - self::PROP_NAME => '', - self::PROP_TEXTDOMAIN => '', - self::PROP_URI => '', - self::PROP_VERSION => '', - self::PROP_REQUIRES_WP => null, - self::PROP_REQUIRES_PHP => null, - self::PROP_TAGS => [], - ]; - - /** - * @param string $key - * @param null $default - * - * @return mixed - */ - public function get(string $key, $default = null); - - /** - * @param string $key - * - * @return bool - */ - public function has(string $key): bool; - - /** - * @return bool - */ - public function isDebug(): bool; - - /** - * @return string - */ - public function baseName(): string; - - /** - * @return string - */ - public function basePath(): string; - - /** - * @return string|null - */ - public function baseUrl(): ?string; - - /** - * @return string - */ - public function author(): string; - - /** - * @return string - */ - public function authorUri(): string; - - /** - * @return string - */ - public function description(): string; - - /** - * @return string - */ - public function textDomain(): string; - - /** - * @return string - */ - public function domainPath(): string; - - /** - * The name of the plugin, theme or library. - * - * @return string - */ - public function name(): string; - - /** - * The home page of the plugin, theme or library. - * @return string - */ - public function uri(): string; - - /** - * @return string - */ - public function version(): string; - - /** - * Optional. Specify the minimum required WordPress version. - * - * @return string|null - */ - public function requiresWp(): ?string; - - /** - * Optional. Specify the minimum required PHP version. - * - * @return string - */ - public function requiresPhp(): ?string; - - /** - * Optional. Currently, only available for Theme and Library. - * Plugins do not have support for "tags"/"keywords" in header. - * - * @link https://developer.wordpress.org/reference/classes/wp_theme/#properties - * @link https://getcomposer.org/doc/04-schema.md#keywords - * - * @return array - */ - public function tags(): array; -} diff --git a/lib/packages/Inpsyde/Modularity/Properties/ThemeProperties.php b/lib/packages/Inpsyde/Modularity/Properties/ThemeProperties.php deleted file mode 100644 index 3535c391..00000000 --- a/lib/packages/Inpsyde/Modularity/Properties/ThemeProperties.php +++ /dev/null @@ -1,131 +0,0 @@ - 'Author', - self::PROP_AUTHOR_URI => 'Author URI', - self::PROP_DESCRIPTION => 'Description', - self::PROP_DOMAIN_PATH => 'Domain Path', - self::PROP_NAME => 'Theme Name', - self::PROP_TEXTDOMAIN => 'Text Domain', - self::PROP_URI => 'Theme URI', - self::PROP_VERSION => 'Version', - self::PROP_REQUIRES_WP => 'Requires at least', - self::PROP_REQUIRES_PHP => 'Requires PHP', - - // additional headers - self::PROP_STATUS => 'Status', - self::PROP_TAGS => 'Tags', - self::PROP_TEMPLATE => 'Template', - ]; - - /** - * @param string $themeDirectory - * - * @return ThemeProperties - */ - public static function new(string $themeDirectory): ThemeProperties - { - return new self($themeDirectory); - } - - /** - * ThemeProperties constructor. - * - * @param string $themeDirectory - */ - protected function __construct(string $themeDirectory) - { - if (!function_exists('wp_get_theme')) { - require_once ABSPATH . 'wp-includes/theme.php'; - } - - $theme = wp_get_theme($themeDirectory); - $properties = Properties::DEFAULT_PROPERTIES; - - foreach (self::HEADERS as $key => $themeKey) { - /** @psalm-suppress DocblockTypeContradiction */ - $properties[$key] = $theme->get($themeKey) ?? ''; - } - - $baseName = $theme->get_stylesheet(); - $basePath = $theme->get_template_directory(); - $baseUrl = (string) trailingslashit($theme->get_stylesheet_directory_uri()); - - parent::__construct( - $baseName, - $basePath, - $baseUrl, - $properties - ); - } - - /** - * If the theme is published. - * - * @return string - */ - public function status(): string - { - return (string) $this->get(self::PROP_STATUS); - } - - public function template(): string - { - return (string) $this->get(self::PROP_TEMPLATE); - } - - /** - * @return bool - */ - public function isChildTheme(): bool - { - return (bool) $this->template(); - } - - /** - * @return bool - */ - public function isCurrentTheme(): bool - { - return get_stylesheet() === $this->baseName(); - } - - /** - * @return ThemeProperties|null - */ - public function parentThemeProperties(): ?ThemeProperties - { - $template = $this->template(); - if (!$template) { - return null; - } - - $parent = wp_get_theme($template, get_theme_root($template)); - - return static::new($parent->get_template_directory()); - } -} diff --git a/lib/packages/Psr/Container/ContainerExceptionInterface.php b/lib/packages/Psr/Container/ContainerExceptionInterface.php deleted file mode 100644 index 0cc7d5e8..00000000 --- a/lib/packages/Psr/Container/ContainerExceptionInterface.php +++ /dev/null @@ -1,13 +0,0 @@ -files() + ->ignoreVCS(true) + ->ignoreDotFiles(false) # We need to keep .distignore around + ->exclude([ + '.github', + '.ddev', + '.idea', + 'modules.local', + 'tests', + ]) + ->in('.'), +]; + +return [ + 'prefix' => 'Syde\\Vendor', // string|null + 'finders' => $finders, // list + 'patchers' => [], // list + 'exclude-files' => [ + 'vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php' + ], // list + 'exclude-namespaces' => [ + 'Composer', + 'Automattic', + '^WooCommerce', + 'Inpsyde\Assets', + ], // list + 'exclude-constants' => array_merge($wp_constants, [ + 'WC_VERSION', + ]), // list + 'exclude-classes' => array_merge($wp_classes, [ + 'WooCommerce', + '/^WC_/', + ]), // list + 'exclude-functions' => array_merge($wp_functions, [ + '/^wc/', + ]), // list + + 'expose-global-constants' => false, // bool + 'expose-global-classes' => false, // bool + 'expose-global-functions' => false, // bool + + 'expose-namespaces' => [], // list + 'expose-constants' => [], // list + 'expose-classes' => [], // list + 'expose-functions' => [], // list +]; From e6094744d3721051ea3ac60576971345759f119f Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 19 Sep 2024 09:24:15 +0200 Subject: [PATCH 03/26] Update composer lock --- composer.lock | 739 +++++++++++++++++++++++--------------------------- 1 file changed, 338 insertions(+), 401 deletions(-) diff --git a/composer.lock b/composer.lock index 3d08ff82..6e5ec773 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "b958dd474a49238a79209ae9ea95c361", + "content-hash": "2544dbd439fe830543743298a0d463cb", "packages": [ { "name": "composer/ca-bundle", @@ -82,18 +82,91 @@ ], "time": "2024-07-08T15:28:20+00:00" }, + { + "name": "inpsyde/modularity", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/inpsyde/modularity.git", + "reference": "3bbff6197aabbc4df25b5f386f521bedc71aff2e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/inpsyde/modularity/zipball/3bbff6197aabbc4df25b5f386f521bedc71aff2e", + "reference": "3bbff6197aabbc4df25b5f386f521bedc71aff2e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": ">=7.2", + "psr/container": "~1.0" + }, + "require-dev": { + "brain/monkey": "^2.6.1", + "inpsyde/php-coding-standards": "^1", + "johnpbloch/wordpress-core": ">=5.8", + "mikey179/vfsstream": "^v1.6.10", + "php-stubs/wordpress-stubs": ">=5.8@stable", + "phpunit/phpunit": "^8.5.21", + "vimeo/psalm": "^4.13.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Inpsyde\\Modularity\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "Inpsyde GmbH", + "email": "hello@inpsyde.com", + "homepage": "https://inpsyde.com/", + "role": "Company" + }, + { + "name": "Christian Leucht", + "email": "c.leucht@inpsyde.com", + "role": "Developer" + }, + { + "name": "Pablo Kauffman", + "email": "p.kauffman@inpsyde.com", + "role": "Developer" + }, + { + "name": "Giuseppe Mazzapica", + "email": "g.mazzapica@inpsyde.com", + "role": "Developer" + } + ], + "description": "Modular PSR-11 implementation for WordPress plugins, themes or libraries.", + "support": { + "issues": "https://github.com/inpsyde/modularity/issues", + "source": "https://github.com/inpsyde/modularity/tree/1.5.1" + }, + "time": "2022-03-09T13:59:27+00:00" + }, { "name": "mollie/mollie-api-php", - "version": "v2.71.0", + "version": "v2.72.0", "source": { "type": "git", "url": "https://github.com/mollie/mollie-api-php.git", - "reference": "dff324f0621ff134fbefffa42ee511833a58578f" + "reference": "cdfb298ff61737a077554c001e936e6134e7ed8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/dff324f0621ff134fbefffa42ee511833a58578f", - "reference": "dff324f0621ff134fbefffa42ee511833a58578f", + "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/cdfb298ff61737a077554c001e936e6134e7ed8e", + "reference": "cdfb298ff61737a077554c001e936e6134e7ed8e", "shasum": "" }, "require": { @@ -170,104 +243,37 @@ ], "support": { "issues": "https://github.com/mollie/mollie-api-php/issues", - "source": "https://github.com/mollie/mollie-api-php/tree/v2.71.0" + "source": "https://github.com/mollie/mollie-api-php/tree/v2.72.0" }, - "time": "2024-07-17T08:02:14+00:00" + "time": "2024-09-11T15:06:31+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v2.5.3", + "name": "psr/container", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d" + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", - "reference": "80d075412b557d41002320b96a096ca65aa2c98d", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "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" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "dev-master": "1.0.x-dev" } - ], - "time": "2023-01-24T14:02:46+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.4.43", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "ae25a9145a900764158d439653d5630191155ca0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/ae25a9145a900764158d439653d5630191155ca0", - "reference": "ae25a9145a900764158d439653d5630191155ca0", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" }, - "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Psr\\Container\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -275,69 +281,52 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" } ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.43" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/master" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-08-13T14:03:51+00:00" + "time": "2017-02-14T16:28:37+00:00" }, { - "name": "symfony/polyfill-php80", - "version": "v1.30.0", + "name": "psr/log", + "version": "1.1.4", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" + "url": "https://github.com/php-fig/log.git", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", - "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", + "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", + "reference": "d49695b909c3b7628b6289db5479a1c204601f11", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=5.3.0" }, "type": "library", "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "branch-alias": { + "dev-master": "1.1.x-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "Psr\\Log\\": "Psr/Log/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -345,44 +334,21 @@ ], "authors": [ { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "log", + "psr", + "psr-3" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" + "source": "https://github.com/php-fig/log/tree/1.1.4" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2021-05-03T11:20:27+00:00" } ], "packages-dev": [ @@ -838,26 +804,26 @@ }, { "name": "composer/pcre", - "version": "2.2.0", + "version": "2.3.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "0e455b78ac53637929b29d5ab5bf3c978329c1eb" + "reference": "26859a860a7f140fc08422c3cc14ad9c2a287d79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/0e455b78ac53637929b29d5ab5bf3c978329c1eb", - "reference": "0e455b78ac53637929b29d5ab5bf3c978329c1eb", + "url": "https://api.github.com/repos/composer/pcre/zipball/26859a860a7f140fc08422c3cc14ad9c2a287d79", + "reference": "26859a860a7f140fc08422c3cc14ad9c2a287d79", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "conflict": { - "phpstan/phpstan": "<1.11.8" + "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "phpstan/phpstan": "^1.11.8", + "phpstan/phpstan": "^1.11.10", "phpstan/phpstan-strict-rules": "^1.1", "phpunit/phpunit": "^8 || ^9" }, @@ -897,7 +863,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/2.2.0" + "source": "https://github.com/composer/pcre/tree/2.3.1" }, "funding": [ { @@ -913,7 +879,7 @@ "type": "tidelift" } ], - "time": "2024-07-25T09:28:32+00:00" + "time": "2024-08-27T12:02:26+00:00" }, { "name": "composer/semver", @@ -1516,79 +1482,6 @@ }, "time": "2024-03-07T12:11:10+00:00" }, - { - "name": "inpsyde/modularity", - "version": "1.5.1", - "source": { - "type": "git", - "url": "https://github.com/inpsyde/modularity.git", - "reference": "3bbff6197aabbc4df25b5f386f521bedc71aff2e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/inpsyde/modularity/zipball/3bbff6197aabbc4df25b5f386f521bedc71aff2e", - "reference": "3bbff6197aabbc4df25b5f386f521bedc71aff2e", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=7.2", - "psr/container": "~1.0" - }, - "require-dev": { - "brain/monkey": "^2.6.1", - "inpsyde/php-coding-standards": "^1", - "johnpbloch/wordpress-core": ">=5.8", - "mikey179/vfsstream": "^v1.6.10", - "php-stubs/wordpress-stubs": ">=5.8@stable", - "phpunit/phpunit": "^8.5.21", - "vimeo/psalm": "^4.13.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Inpsyde\\Modularity\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Inpsyde GmbH", - "email": "hello@inpsyde.com", - "homepage": "https://inpsyde.com/", - "role": "Company" - }, - { - "name": "Christian Leucht", - "email": "c.leucht@inpsyde.com", - "role": "Developer" - }, - { - "name": "Pablo Kauffman", - "email": "p.kauffman@inpsyde.com", - "role": "Developer" - }, - { - "name": "Giuseppe Mazzapica", - "email": "g.mazzapica@inpsyde.com", - "role": "Developer" - } - ], - "description": "Modular PSR-11 implementation for WordPress plugins, themes or libraries.", - "support": { - "issues": "https://github.com/inpsyde/modularity/issues", - "source": "https://github.com/inpsyde/modularity/tree/1.5.1" - }, - "time": "2022-03-09T13:59:27+00:00" - }, { "name": "inpsyde/php-coding-standards", "version": "1.0.0", @@ -1835,16 +1728,16 @@ }, { "name": "netresearch/jsonmapper", - "version": "v4.4.1", + "version": "v4.5.0", "source": { "type": "git", "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0" + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/132c75c7dd83e45353ebb9c6c9f591952995bbf0", - "reference": "132c75c7dd83e45353ebb9c6c9f591952995bbf0", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5", + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5", "shasum": "" }, "require": { @@ -1880,22 +1773,22 @@ "support": { "email": "cweiske@cweiske.de", "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.4.1" + "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0" }, - "time": "2024-01-31T06:18:54+00:00" + "time": "2024-09-08T10:13:13+00:00" }, { "name": "nikic/php-parser", - "version": "v4.19.1", + "version": "v4.19.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b" + "reference": "0ed4c8949a32986043e977dbe14776c14d644c45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/0ed4c8949a32986043e977dbe14776c14d644c45", + "reference": "0ed4c8949a32986043e977dbe14776c14d644c45", "shasum": "" }, "require": { @@ -1936,9 +1829,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.2" }, - "time": "2024-03-17T08:10:35+00:00" + "time": "2024-09-17T19:36:00+00:00" }, { "name": "openlss/lib-array2xml", @@ -2819,109 +2712,6 @@ ], "time": "2024-07-10T11:43:00+00:00" }, - { - "name": "psr/container", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/master" - }, - "time": "2017-02-14T16:28:37+00:00" - }, - { - "name": "psr/log", - "version": "1.1.4", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "Psr/Log/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" - }, - "time": "2021-05-03T11:20:27+00:00" - }, { "name": "ptrofimov/xpmock", "version": "1.1.5", @@ -3817,16 +3607,16 @@ }, { "name": "symfony/console", - "version": "v5.4.42", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "cef62396a0477e94fc52e87a17c6e5c32e226b7f" + "reference": "e86f8554de667c16dde8aeb89a3990cfde924df9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/cef62396a0477e94fc52e87a17c6e5c32e226b7f", - "reference": "cef62396a0477e94fc52e87a17c6e5c32e226b7f", + "url": "https://api.github.com/repos/symfony/console/zipball/e86f8554de667c16dde8aeb89a3990cfde924df9", + "reference": "e86f8554de667c16dde8aeb89a3990cfde924df9", "shasum": "" }, "require": { @@ -3896,7 +3686,74 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.42" + "source": "https://github.com/symfony/console/tree/v5.4.43" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-08-13T16:31:56+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.5.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "80d075412b557d41002320b96a096ca65aa2c98d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/80d075412b557d41002320b96a096ca65aa2c98d", + "reference": "80d075412b557d41002320b96a096ca65aa2c98d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "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" }, "funding": [ { @@ -3912,24 +3769,24 @@ "type": "tidelift" } ], - "time": "2024-07-26T12:21:55+00:00" + "time": "2023-01-24T14:02:46+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540" + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", - "reference": "0424dff1c58f028c451efff2045f5d92410bd540", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/a3cc8b044a6ea513310cbd48ef7333b384945638", + "reference": "a3cc8b044a6ea513310cbd48ef7333b384945638", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-ctype": "*" @@ -3975,7 +3832,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" }, "funding": [ { @@ -3991,24 +3848,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", - "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", + "reference": "b9123926e3b7bc2f98c02ad54f6a4b02b91a8abe", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4053,7 +3910,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" }, "funding": [ { @@ -4069,24 +3926,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" + "reference": "3833d7255cc303546435cb650316bff708a1c75c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", - "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "suggest": { "ext-intl": "For best performance" @@ -4134,7 +3991,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" }, "funding": [ { @@ -4150,24 +4007,24 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", - "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", + "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "provide": { "ext-mbstring": "*" @@ -4214,7 +4071,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" }, "funding": [ { @@ -4230,24 +4087,24 @@ "type": "tidelift" } ], - "time": "2024-06-19T12:30:46+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/polyfill-php73", - "version": "v1.30.0", + "version": "v1.31.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1" + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1", - "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", + "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=7.2" }, "type": "library", "extra": { @@ -4290,7 +4147,87 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.30.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.31.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" }, "funding": [ { @@ -4306,7 +4243,7 @@ "type": "tidelift" } ], - "time": "2024-05-31T15:07:36+00:00" + "time": "2024-09-09T11:45:10+00:00" }, { "name": "symfony/service-contracts", @@ -4389,16 +4326,16 @@ }, { "name": "symfony/string", - "version": "v5.4.42", + "version": "v5.4.43", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "909cec913edea162a3b2836788228ad45fcab337" + "reference": "8be1d484951ff5ca995eaf8edcbcb8b9a5888450" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/909cec913edea162a3b2836788228ad45fcab337", - "reference": "909cec913edea162a3b2836788228ad45fcab337", + "url": "https://api.github.com/repos/symfony/string/zipball/8be1d484951ff5ca995eaf8edcbcb8b9a5888450", + "reference": "8be1d484951ff5ca995eaf8edcbcb8b9a5888450", "shasum": "" }, "require": { @@ -4455,7 +4392,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.42" + "source": "https://github.com/symfony/string/tree/v5.4.43" }, "funding": [ { @@ -4471,7 +4408,7 @@ "type": "tidelift" } ], - "time": "2024-07-20T18:38:32+00:00" + "time": "2024-08-01T10:24:28+00:00" }, { "name": "theseer/tokenizer", From e2e2fbdda50e2d14e382faec4c18ca13f6e3447a Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 19 Sep 2024 09:34:08 +0200 Subject: [PATCH 04/26] Install php-scoper-wordpress-excludes --- composer.json | 3 ++- composer.lock | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/composer.json b/composer.json index 452e5498..c4d8b7ef 100644 --- a/composer.json +++ b/composer.json @@ -22,7 +22,8 @@ "mollie/mollie-api-php": "^v2.40", "inpsyde/modularity": "^1.3.0", "psr/container": "1.0.0", - "psr/log":"^1.1.4" + "psr/log":"^1.1.4", + "sniccowp/php-scoper-wordpress-excludes": "^6.6" }, "require-dev": { "phpunit/phpunit": "^8", diff --git a/composer.lock b/composer.lock index 6e5ec773..f0ef1660 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "2544dbd439fe830543743298a0d463cb", + "content-hash": "eddbfc3311d3d6f88a9db7bb4bf9f629", "packages": [ { "name": "composer/ca-bundle", @@ -349,6 +349,53 @@ "source": "https://github.com/php-fig/log/tree/1.1.4" }, "time": "2021-05-03T11:20:27+00:00" + }, + { + "name": "sniccowp/php-scoper-wordpress-excludes", + "version": "6.6.0", + "source": { + "type": "git", + "url": "https://github.com/snicco/php-scoper-wordpress-excludes.git", + "reference": "56cce0bed93ec18e04519de987f7bf78af5385c3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/snicco/php-scoper-wordpress-excludes/zipball/56cce0bed93ec18e04519de987f7bf78af5385c3", + "reference": "56cce0bed93ec18e04519de987f7bf78af5385c3", + "shasum": "" + }, + "require-dev": { + "php": "^7.4", + "php-stubs/wordpress-globals": "0.2.0", + "php-stubs/wordpress-stubs": "6.6.0", + "sniccowp/php-scoper-excludes": "dev-master" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Calvin Alkan", + "email": "calvin@snicco.de" + }, + { + "name": "Marlon Alkan", + "email": "marlon@snicco.de" + } + ], + "description": "A list of all WordPress core classes, functions and constants. Meant to be used with the PHP-Scoper exclusion functionality.", + "keywords": [ + "php-scoper", + "scoping WordPress", + "wordpress" + ], + "support": { + "issues": "https://github.com/snicco/php-scoper-wordpress-excludes/issues", + "source": "https://github.com/snicco/php-scoper-wordpress-excludes/tree/6.6.0" + }, + "time": "2024-08-24T00:01:07+00:00" } ], "packages-dev": [ From 7424e875fa4c141a3e19993182f06600045fc7f4 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 19 Sep 2024 11:22:13 +0200 Subject: [PATCH 05/26] Remove hardcoded namespaces --- mollie-payments-for-woocommerce.php | 4 ++-- src/Activation/ActivationModule.php | 6 +++--- src/Assets/AssetsModule.php | 6 +++--- src/Gateway/GatewayModule.php | 13 +++++++------ src/Gateway/Voucher/VoucherModule.php | 8 ++++---- src/Log/LogModule.php | 6 +++--- src/MerchantCapture/Capture/Type/ManualCapture.php | 2 +- .../Capture/Type/StateChangeCapture.php | 2 +- src/MerchantCapture/MerchantCaptureModule.php | 8 ++++---- src/Notice/NoticeModule.php | 4 ++-- src/Payment/PaymentModule.php | 8 ++++---- src/SDK/SDKModule.php | 8 ++++---- src/Settings/SettingsModule.php | 8 ++++---- src/Shared/SharedModule.php | 8 ++++---- src/Subscription/SubscriptionModule.php | 6 +++--- src/Uninstall/UninstallModule.php | 4 ++-- uninstall.php | 4 ++-- 17 files changed, 53 insertions(+), 52 deletions(-) diff --git a/mollie-payments-for-woocommerce.php b/mollie-payments-for-woocommerce.php index 0a6bf7d8..001d6a64 100644 --- a/mollie-payments-for-woocommerce.php +++ b/mollie-payments-for-woocommerce.php @@ -21,8 +21,8 @@ namespace Mollie\WooCommerce; use Mollie\WooCommerce\MerchantCapture\MerchantCaptureModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Package; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Properties\PluginProperties; +use Inpsyde\Modularity\Package; +use Inpsyde\Modularity\Properties\PluginProperties; use Mollie\WooCommerce\Activation\ActivationModule; use Mollie\WooCommerce\Activation\ConstraintsChecker; use Mollie\WooCommerce\Assets\AssetsModule; diff --git a/src/Activation/ActivationModule.php b/src/Activation/ActivationModule.php index ec70f8c7..ef82ea30 100644 --- a/src/Activation/ActivationModule.php +++ b/src/Activation/ActivationModule.php @@ -7,11 +7,11 @@ namespace Mollie\WooCommerce\Activation; use Automattic\WooCommerce\Utilities\FeaturesUtil; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; use Mollie\WooCommerce\Notice\AdminNotice; use Mollie\WooCommerce\Shared\SharedDataDictionary; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; class ActivationModule implements ExecutableModule { diff --git a/src/Assets/AssetsModule.php b/src/Assets/AssetsModule.php index 9cb2e361..eeb8cd88 100644 --- a/src/Assets/AssetsModule.php +++ b/src/Assets/AssetsModule.php @@ -7,15 +7,15 @@ namespace Mollie\WooCommerce\Assets; use Automattic\WooCommerce\Blocks\Payments\PaymentMethodRegistry; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; use Mollie\Api\Exceptions\ApiException; use Mollie\WooCommerce\Buttons\ApplePayButton\DataToAppleButtonScripts; use Mollie\WooCommerce\Buttons\PayPalButton\DataToPayPal; use Mollie\WooCommerce\Components\AcceptedLocaleValuesDictionary; use Mollie\WooCommerce\Settings\Settings; use Mollie\WooCommerce\Shared\Data; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; class AssetsModule implements ExecutableModule { diff --git a/src/Gateway/GatewayModule.php b/src/Gateway/GatewayModule.php index 0004ef09..403ff616 100644 --- a/src/Gateway/GatewayModule.php +++ b/src/Gateway/GatewayModule.php @@ -9,9 +9,9 @@ use Automattic\WooCommerce\Internal\DataStores\Orders\CustomOrdersTableController; use Automattic\WooCommerce\StoreApi\Exceptions\RouteException; use DateTime; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; use Mollie\WooCommerce\BlockService\CheckoutBlockService; use Mollie\WooCommerce\Buttons\ApplePayButton\AppleAjaxRequests; use Mollie\WooCommerce\Buttons\ApplePayButton\ApplePayDirectHandler; @@ -41,7 +41,7 @@ use Mollie\WooCommerce\Subscription\MollieSepaRecurringGateway; use Mollie\WooCommerce\Subscription\MollieSubscriptionGateway; use Mollie\WooCommerce\PaymentMethods\Constants; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface as Logger; use WP_Post; @@ -701,8 +701,9 @@ public function buildPaymentMethod( Surcharge $surchargeService, array $apiMethod ): PaymentMethodI { - - $paymentMethodClassName = 'Mollie\\WooCommerce\\PaymentMethods\\' . ucfirst($id); + $scopedPrefix = array_shift(explode('\\', __NAMESPACE__)); + $transformedId = ucfirst($id); + $paymentMethodClassName = $scopedPrefix . '\\Mollie\\WooCommerce\\PaymentMethods\\' . $transformedId; $paymentMethod = new $paymentMethodClassName( $iconFactory, $settingsHelper, diff --git a/src/Gateway/Voucher/VoucherModule.php b/src/Gateway/Voucher/VoucherModule.php index 87002ed5..4e1eb1f8 100644 --- a/src/Gateway/Voucher/VoucherModule.php +++ b/src/Gateway/Voucher/VoucherModule.php @@ -22,11 +22,11 @@ namespace Mollie\WooCommerce\Gateway\Voucher; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; use Mollie\WooCommerce\PaymentMethods\Voucher; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; class VoucherModule implements ExecutableModule, ServiceModule { diff --git a/src/Log/LogModule.php b/src/Log/LogModule.php index 4483f692..8159f5da 100644 --- a/src/Log/LogModule.php +++ b/src/Log/LogModule.php @@ -6,9 +6,9 @@ namespace Mollie\WooCommerce\Log; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; +use Psr\Container\ContainerInterface; use Psr\Log\AbstractLogger; use Psr\Log\LoggerInterface as Logger; use Psr\Log\NullLogger; diff --git a/src/MerchantCapture/Capture/Type/ManualCapture.php b/src/MerchantCapture/Capture/Type/ManualCapture.php index 81a782e9..2bdefdc5 100644 --- a/src/MerchantCapture/Capture/Type/ManualCapture.php +++ b/src/MerchantCapture/Capture/Type/ManualCapture.php @@ -5,7 +5,7 @@ namespace Mollie\WooCommerce\MerchantCapture\Capture\Type; use Mollie\WooCommerce\MerchantCapture\Capture\Action\CapturePayment; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; class ManualCapture { diff --git a/src/MerchantCapture/Capture/Type/StateChangeCapture.php b/src/MerchantCapture/Capture/Type/StateChangeCapture.php index 1bafca2d..d50fdc22 100644 --- a/src/MerchantCapture/Capture/Type/StateChangeCapture.php +++ b/src/MerchantCapture/Capture/Type/StateChangeCapture.php @@ -7,7 +7,7 @@ use Mollie\WooCommerce\MerchantCapture\Capture\Action\CapturePayment; use Mollie\WooCommerce\MerchantCapture\Capture\Action\VoidPayment; use Mollie\WooCommerce\Shared\SharedDataDictionary; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; class StateChangeCapture { diff --git a/src/MerchantCapture/MerchantCaptureModule.php b/src/MerchantCapture/MerchantCaptureModule.php index 0bdca1df..52fcb80f 100644 --- a/src/MerchantCapture/MerchantCaptureModule.php +++ b/src/MerchantCapture/MerchantCaptureModule.php @@ -14,10 +14,10 @@ use Mollie\WooCommerce\SDK\Api; use Mollie\WooCommerce\Settings\Settings; use Mollie\WooCommerce\Shared\SharedDataDictionary; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; +use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface as Logger; use WC_Order; diff --git a/src/Notice/NoticeModule.php b/src/Notice/NoticeModule.php index e2cb7cc5..49861917 100644 --- a/src/Notice/NoticeModule.php +++ b/src/Notice/NoticeModule.php @@ -6,8 +6,8 @@ namespace Mollie\WooCommerce\Notice; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; class NoticeModule implements ServiceModule { diff --git a/src/Payment/PaymentModule.php b/src/Payment/PaymentModule.php index 31c721da..91367be2 100644 --- a/src/Payment/PaymentModule.php +++ b/src/Payment/PaymentModule.php @@ -6,9 +6,9 @@ namespace Mollie\WooCommerce\Payment; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; use Mollie\Api\Exceptions\ApiException; use Mollie\Api\Resources\Refund; use Mollie\WooCommerce\Gateway\MolliePaymentGateway; @@ -18,7 +18,7 @@ use Mollie\WooCommerce\Settings\Settings; use Mollie\WooCommerce\Shared\Data; use Mollie\WooCommerce\Shared\SharedDataDictionary; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface as Logger; use Psr\Log\LogLevel; use RuntimeException; diff --git a/src/SDK/SDKModule.php b/src/SDK/SDKModule.php index 4544b664..7ade0a00 100644 --- a/src/SDK/SDKModule.php +++ b/src/SDK/SDKModule.php @@ -6,15 +6,15 @@ namespace Mollie\WooCommerce\SDK; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; use Mollie\Api\Resources\Refund; use Mollie\WooCommerce\Gateway\AbstractGateway; use Mollie\WooCommerce\Notice\AdminNotice; use Mollie\WooCommerce\Plugin; use Mollie\WooCommerce\SDK\HttpResponse; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; class SDKModule implements ExecutableModule, ServiceModule { diff --git a/src/Settings/SettingsModule.php b/src/Settings/SettingsModule.php index 9dffc59c..5cac11b5 100644 --- a/src/Settings/SettingsModule.php +++ b/src/Settings/SettingsModule.php @@ -6,16 +6,16 @@ namespace Mollie\WooCommerce\Settings; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; use Mollie\WooCommerce\Notice\AdminNotice; use Mollie\WooCommerce\SDK\Api; use Mollie\WooCommerce\Settings\Page\MollieSettingsPage; use Mollie\WooCommerce\Shared\Data; use Mollie\WooCommerce\Shared\Status; use Mollie\WooCommerce\Uninstall\CleanDb; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface as Logger; class SettingsModule implements ServiceModule, ExecutableModule diff --git a/src/Shared/SharedModule.php b/src/Shared/SharedModule.php index 8298c565..40f62690 100644 --- a/src/Shared/SharedModule.php +++ b/src/Shared/SharedModule.php @@ -6,12 +6,12 @@ namespace Mollie\WooCommerce\Shared; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Package; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Package; use Mollie\Api\CompatibilityChecker; use Mollie\WooCommerce\SDK\Api; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface as Logger; class SharedModule implements ServiceModule diff --git a/src/Subscription/SubscriptionModule.php b/src/Subscription/SubscriptionModule.php index 71511e28..a6ca51ff 100644 --- a/src/Subscription/SubscriptionModule.php +++ b/src/Subscription/SubscriptionModule.php @@ -7,13 +7,13 @@ namespace Mollie\WooCommerce\Subscription; use DateTime; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ExecutableModule; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ExecutableModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; use Mollie\WooCommerce\Gateway\MolliePaymentGateway; use Mollie\WooCommerce\Settings\Settings; use Mollie\WooCommerce\Shared\Data; use Mollie\WooCommerce\Shared\SharedDataDictionary; -use Mollie\WooCommerce\Vendor\Psr\Container\ContainerInterface; +use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface as Logger; use Psr\Log\LogLevel; diff --git a/src/Uninstall/UninstallModule.php b/src/Uninstall/UninstallModule.php index d5b34309..0cf437cd 100644 --- a/src/Uninstall/UninstallModule.php +++ b/src/Uninstall/UninstallModule.php @@ -6,8 +6,8 @@ namespace Mollie\WooCommerce\Uninstall; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ModuleClassNameIdTrait; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Module\ServiceModule; +use Inpsyde\Modularity\Module\ModuleClassNameIdTrait; +use Inpsyde\Modularity\Module\ServiceModule; use Mollie\WooCommerce\Shared\SharedDataDictionary; class UninstallModule implements ServiceModule diff --git a/uninstall.php b/uninstall.php index 4874afb8..c4f9a4e4 100644 --- a/uninstall.php +++ b/uninstall.php @@ -4,8 +4,8 @@ namespace Mollie\WooCommerce; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Package; -use Mollie\WooCommerce\Vendor\Inpsyde\Modularity\Properties\PluginProperties; +use Inpsyde\Modularity\Package; +use Inpsyde\Modularity\Properties\PluginProperties; use Mollie\WooCommerce\Uninstall\CleanDb; use Mollie\WooCommerce\Uninstall\UninstallModule; use Throwable; From 5123ba833c3d8e130ed9e19b46c31c2fa63d8280 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 19 Sep 2024 11:22:33 +0200 Subject: [PATCH 06/26] Add patcher & remove functions from scoper --- scoper.inc.php | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/scoper.inc.php b/scoper.inc.php index a96c6f54..60ad1478 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -43,9 +43,27 @@ return [ 'prefix' => 'Syde\\Vendor', // string|null 'finders' => $finders, // list - 'patchers' => [], // list + 'patchers' => [ + static function (string $filePath, string $prefix, string $content): string { + // + // PHP-Parser patch conditions for file targets + // + if ($filePath === 'src/Gateway/GatewayModule.php') { + return preg_replace( + "%\$class = 'Mollie\\\\WooCommerce\\\\PaymentMethod\\\\' . \$transformedId;%", + '$class = \'' . $prefix . '\\\\Humbug\\\\Format\\\\Type\\\\\' . $type;', + $content + ); + } + + return $content; + }, + ], // list 'exclude-files' => [ - 'vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php' + 'vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php', + 'inc/functions.php', + 'inc/utils.php', + 'inc/woocommerce.php' ], // list 'exclude-namespaces' => [ 'Composer', @@ -55,6 +73,9 @@ ], // list 'exclude-constants' => array_merge($wp_constants, [ 'WC_VERSION', + 'M4W_FILE', + 'M4W_PLUGIN_DIR', + 'M4W_PLUGIN_URL' ]), // list 'exclude-classes' => array_merge($wp_classes, [ 'WooCommerce', From 77000bb609ac9ae8b63fe4630733c0ddccf46394 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 19 Sep 2024 11:31:22 +0200 Subject: [PATCH 07/26] Fix typo --- scoper.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scoper.inc.php b/scoper.inc.php index 60ad1478..1f3a06f0 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -51,7 +51,7 @@ static function (string $filePath, string $prefix, string $content): string { if ($filePath === 'src/Gateway/GatewayModule.php') { return preg_replace( "%\$class = 'Mollie\\\\WooCommerce\\\\PaymentMethod\\\\' . \$transformedId;%", - '$class = \'' . $prefix . '\\\\Humbug\\\\Format\\\\Type\\\\\' . $type;', + '$class = \'' . $prefix . '\\\\Mollie\\\\WooCommerce\\\\PaymentMethod\\\\\' . $transformedId;', $content ); } From d87b83eddd3fbb0f6b47164621ebc7971a2487d1 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 19 Sep 2024 12:28:34 +0200 Subject: [PATCH 08/26] Update .distignore to include mollie sdk resources --- .distignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.distignore b/.distignore index 32ec1a62..d0c5bdb8 100644 --- a/.distignore +++ b/.distignore @@ -3,6 +3,7 @@ .git* tests/ resources/ +!vendor/mollie/mollie-api-php/Resources vendor/**/test* vendor/mollie/mollie-api-php/examples/ languages/*.po From a56e39e60bc205bdb3e4744f46f4926f02b78141 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 19 Sep 2024 12:48:22 +0200 Subject: [PATCH 09/26] Fix namespace on build payment method --- src/Gateway/GatewayModule.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Gateway/GatewayModule.php b/src/Gateway/GatewayModule.php index 403ff616..b141ad9a 100644 --- a/src/Gateway/GatewayModule.php +++ b/src/Gateway/GatewayModule.php @@ -691,7 +691,7 @@ public function in3FieldsMandatoryPayForOrder($order) * @param PaymentFieldsService $paymentFieldsService * @param Surcharge $surchargeService * @param array $paymentMethods - * @return PaymentMethodI + * @return PaymentMethodI | array */ public function buildPaymentMethod( string $id, @@ -700,10 +700,14 @@ public function buildPaymentMethod( PaymentFieldsService $paymentFieldsService, Surcharge $surchargeService, array $apiMethod - ): PaymentMethodI { - $scopedPrefix = array_shift(explode('\\', __NAMESPACE__)); + ) { + $namespaceParts = explode('\\', __NAMESPACE__); + if (!(count($namespaceParts) >= 2)) { + return []; + } + $scopedPrefix = $namespaceParts[0] . '\\' . $namespaceParts[1]; $transformedId = ucfirst($id); - $paymentMethodClassName = $scopedPrefix . '\\Mollie\\WooCommerce\\PaymentMethods\\' . $transformedId; + $paymentMethodClassName = $scopedPrefix . '\Mollie\WooCommerce\PaymentMethods\\' . $transformedId; $paymentMethod = new $paymentMethodClassName( $iconFactory, $settingsHelper, From 932f9c02851b8f674c1fad360a61c3deaf51997b Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Fri, 20 Sep 2024 08:32:07 +0200 Subject: [PATCH 10/26] Change scoped prefix to Mollie --- scoper.inc.php | 20 +++----------------- src/Gateway/GatewayModule.php | 7 +------ 2 files changed, 4 insertions(+), 23 deletions(-) diff --git a/scoper.inc.php b/scoper.inc.php index 1f3a06f0..ccb1eb52 100644 --- a/scoper.inc.php +++ b/scoper.inc.php @@ -41,24 +41,9 @@ ]; return [ - 'prefix' => 'Syde\\Vendor', // string|null + 'prefix' => 'Mollie', // string|null 'finders' => $finders, // list - 'patchers' => [ - static function (string $filePath, string $prefix, string $content): string { - // - // PHP-Parser patch conditions for file targets - // - if ($filePath === 'src/Gateway/GatewayModule.php') { - return preg_replace( - "%\$class = 'Mollie\\\\WooCommerce\\\\PaymentMethod\\\\' . \$transformedId;%", - '$class = \'' . $prefix . '\\\\Mollie\\\\WooCommerce\\\\PaymentMethod\\\\\' . $transformedId;', - $content - ); - } - - return $content; - }, - ], // list + 'patchers' => [], // list 'exclude-files' => [ 'vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php', 'inc/functions.php', @@ -70,6 +55,7 @@ static function (string $filePath, string $prefix, string $content): string { 'Automattic', '^WooCommerce', 'Inpsyde\Assets', + 'Mollie' ], // list 'exclude-constants' => array_merge($wp_constants, [ 'WC_VERSION', diff --git a/src/Gateway/GatewayModule.php b/src/Gateway/GatewayModule.php index b141ad9a..3e65f34a 100644 --- a/src/Gateway/GatewayModule.php +++ b/src/Gateway/GatewayModule.php @@ -701,13 +701,8 @@ public function buildPaymentMethod( Surcharge $surchargeService, array $apiMethod ) { - $namespaceParts = explode('\\', __NAMESPACE__); - if (!(count($namespaceParts) >= 2)) { - return []; - } - $scopedPrefix = $namespaceParts[0] . '\\' . $namespaceParts[1]; $transformedId = ucfirst($id); - $paymentMethodClassName = $scopedPrefix . '\Mollie\WooCommerce\PaymentMethods\\' . $transformedId; + $paymentMethodClassName = 'Mollie\\WooCommerce\\PaymentMethods\\' . $transformedId; $paymentMethod = new $paymentMethodClassName( $iconFactory, $settingsHelper, From 63ff8bcc003daf6b9a7d9bccb13f29e8a65a7ada Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 24 Sep 2024 12:16:59 +0200 Subject: [PATCH 11/26] Add swish after flag default false --- public/images/swish.svg | 1 + src/Gateway/GatewayModule.php | 6 ++++++ src/PaymentMethods/Constants.php | 3 +-- 3 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 public/images/swish.svg diff --git a/public/images/swish.svg b/public/images/swish.svg new file mode 100644 index 00000000..23a795e0 --- /dev/null +++ b/public/images/swish.svg @@ -0,0 +1 @@ + diff --git a/src/Gateway/GatewayModule.php b/src/Gateway/GatewayModule.php index 0004ef09..6e16668c 100644 --- a/src/Gateway/GatewayModule.php +++ b/src/Gateway/GatewayModule.php @@ -124,6 +124,12 @@ public function services(): array return $method['id'] !== Constants::ALMA; }); } + $swishFlag = apply_filters('inpsyde.feature-flags.mollie-woocommerce.swish_enabled', false); + if (!$swishFlag) { + $availablePaymentMethods = array_filter($availablePaymentMethods, static function ($method) { + return $method['id'] !== Constants::SWISH; + }); + } return $availablePaymentMethods; }, 'gateway.isSDDGatewayEnabled' => static function (ContainerInterface $container): bool { diff --git a/src/PaymentMethods/Constants.php b/src/PaymentMethods/Constants.php index d8597c60..c74ce5f0 100644 --- a/src/PaymentMethods/Constants.php +++ b/src/PaymentMethods/Constants.php @@ -10,8 +10,7 @@ class Constants public const KLARNA = 'klarna'; public const DIRECTDEBIT = 'directdebit'; public const BANKTRANSFER = 'banktransfer'; - public const BANCOMATPAY = 'bancomatpay'; - public const ALMA = 'alma'; + public const SWISH = 'swish'; } From 45118f7f52c022282d0d6f2b59594a2a4a08b0a7 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 24 Sep 2024 12:22:02 +0200 Subject: [PATCH 12/26] Update italian --- .../mollie-payments-for-woocommerce-it_IT.mo | Bin 62107 -> 67556 bytes .../mollie-payments-for-woocommerce-it_IT.po | 1175 +++++++++-------- 2 files changed, 657 insertions(+), 518 deletions(-) diff --git a/languages/mollie-payments-for-woocommerce-it_IT.mo b/languages/mollie-payments-for-woocommerce-it_IT.mo index ee123cff05d83b61fac02ec51d04cf575c68668d..8e27ec6cef6bb7976b03d3cfbd5ed44617d40fbf 100644 GIT binary patch literal 67556 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 diff --git a/languages/mollie-payments-for-woocommerce-it_IT.po b/languages/mollie-payments-for-woocommerce-it_IT.po index a725032a..4bc96637 100644 --- a/languages/mollie-payments-for-woocommerce-it_IT.po +++ b/languages/mollie-payments-for-woocommerce-it_IT.po @@ -1,80 +1,84 @@ -# Copyright (C) 2022 unnamed project -# This file is distributed under the same license as the unnamed project package. +# Copyright (C) 2024 Mollie +# This file is distributed under the GPLv2 or later. msgid "" msgstr "" -"Project-Id-Version: undefined\n" +"Project-Id-Version: mollie-customer-facing-content\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/html\n" -"POT-Creation-Date: 2023-09-26T10:35:31+00:00\n" +"Last-Translator: \n" +"Language-Team: Italian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Poedit-Basepath: ..\n" -"X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n" -"X-Poedit-SearchPath-0: .\n" -"X-Poedit-SearchPathExcluded-0: *.js\n" -"X-Poedit-SourceCharset: UTF-8\n" +"POT-Creation-Date: 2024-08-12T07:46:49+00:00\n" +"PO-Revision-Date: 2024-09-23 08:49\n" +"X-Generator: WP-CLI 2.8.1\n" +"X-Domain: mollie-payments-for-woocommerce\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Crowdin-Project: mollie-customer-facing-content\n" +"X-Crowdin-Project-ID: 701573\n" +"X-Crowdin-Language: it\n" +"X-Crowdin-File: woocommerce_plugins.pot\n" +"X-Crowdin-File-ID: 13750\n" +"Language: it_IT\n" #. Plugin Name of the plugin -#, fuzzy msgid "Mollie Payments for WooCommerce" -msgstr "%1$sMollie Payments per WooCommerce non è attivo:%2$s" +msgstr "Mollie Payments per WooCommerce" #. Plugin URI of the plugin #. Author URI of the plugin msgid "https://www.mollie.com" -msgstr "" +msgstr "https://www.mollie.com" #. Description of the plugin msgid "Accept payments in WooCommerce with the official Mollie plugin" -msgstr "" +msgstr "Accetta pagamenti in WooCommerce con il plugin ufficiale Mollie" #. Author of the plugin -#, fuzzy msgid "Mollie" -msgstr "Stato Mollie:" +msgstr "Mollie" #: inc/settings/mollie_advanced_settings.php:13 msgctxt "Label {orderNumber} description for payment description options" msgid "Order number" -msgstr "Numero ordine" +msgstr "Numero d'ordine" #: inc/settings/mollie_advanced_settings.php:14 msgctxt "Label {storeName} description for payment description options" msgid "Site Title" -msgstr "Titolo pagina" +msgstr "Titolo del sito" #: inc/settings/mollie_advanced_settings.php:15 msgctxt "Label {customer.firstname} description for payment description options" msgid "Customer's first name" -msgstr "Nome cliente" +msgstr "Nome del cliente" #: inc/settings/mollie_advanced_settings.php:16 msgctxt "Label {customer.lastname} description for payment description options" msgid "Customer's last name" -msgstr "Cognome cliente" +msgstr "Cognome del cliente" #: inc/settings/mollie_advanced_settings.php:17 msgctxt "Label {customer.company} description for payment description options" msgid "Customer's company name" -msgstr "Nome azienda cliente" +msgstr "Nome dell'azienda del cliente" #: inc/settings/mollie_advanced_settings.php:23 msgid "Mollie advanced settings" -msgstr "Impostazioni avanzate Mollie" +msgstr "Impostazioni avanzate di Mollie" #: inc/settings/mollie_advanced_settings.php:25 #: src/Settings/Page/MollieSettingsPage.php:186 msgid "The following options are required to use the plugin and are used by all Mollie payment methods" -msgstr "Le seguenti opzioni sono necessarie per utilizzare il plugin e vengono utilizzate da tutte le modalità di pagamento Mollie" +msgstr "Le seguenti opzioni sono necessarie per utilizzare il plugin e sono utilizzate da tutti i metodi di pagamento Mollie" #: inc/settings/mollie_advanced_settings.php:29 msgid "Order status after cancelled payment" -msgstr "Stato dell’ordine dopo l’annullamento del pagamento" +msgstr "Stato dell'ordine dopo il pagamento annullato" #: inc/settings/mollie_advanced_settings.php:35 msgid "Status for orders when a payment (not a Mollie order via the Orders API) is cancelled. Default: pending. Orders with status Pending can be paid with another payment method, customers can try again. Cancelled orders are final. Set this to Cancelled if you only have one payment method or don't want customers to re-try paying with a different payment method. This doesn't apply to payments for orders via the new Orders API and Klarna payments." -msgstr "Stato degli ordini quando un pagamento (non un ordine Mollie attraverso la Orders API) viene annullato. Predefinito: in sospeso. Gli ordini con stato In Sospeso possono essere pagati con un altra modalità di pagamento, i clienti possono riprovare. Gli ordini annullati sono definitivi. Imposta lo stato su Annullato se hai solo una modalità di pagamento o non vuoi che i clienti riprovino ad effettuare il pagamento con un’altra modalità. Ciò non si applica ai pagamenti di ordini tramite la nuova Orders API e i pagamenti Klarna." +msgstr "Stato degli ordini quando un pagamento (non un ordine Mollie tramite il Orders API) viene annullato. Predefinito: in attesa. Gli ordini con stato \"In attesa\" possono essere pagati con un altro metodo di pagamento, i clienti possono riprovare. Gli ordini annullati sono definitivi. Imposta questo stato su \"Annullato\" se hai un solo metodo di pagamento o non vuoi che i clienti riprovino a pagare con un metodo di pagamento diverso. Questo non si applica ai pagamenti per gli ordini tramite il nuovo Orders API e ai pagamenti Klarna." #: inc/settings/mollie_advanced_settings.php:40 msgid "Payment screen language" @@ -86,13 +90,13 @@ msgstr "Invia automaticamente la lingua di WordPress" #: inc/settings/mollie_advanced_settings.php:46 #: inc/settings/mollie_advanced_settings.php:106 -#: src/Settings/General/MollieGeneralSettings.php:281 +#: src/Settings/General/MollieGeneralSettings.php:252 msgid "default" msgstr "predefinito" #: inc/settings/mollie_advanced_settings.php:47 msgid "Detect using browser language" -msgstr "Rileva utilizzando la lingua del browser" +msgstr "Rilevamento tramite linguaggio del browser" #: inc/settings/mollie_advanced_settings.php:51 msgid "English" @@ -180,16 +184,15 @@ msgstr "Lituano" #: inc/settings/mollie_advanced_settings.php:74 msgid "Sending a language (or locale) is required. The option 'Automatically send WordPress language' will try to get the customer's language in WordPress (and respects multilanguage plugins) and convert it to a format Mollie understands. If this fails, or if the language is not supported, it will fall back to American English. You can also select one of the locales currently supported by Mollie, that will then be used for all customers." -msgstr "È richiesto l'invio di una lingua (o impostazioni locali). L'opzione 'Invia automaticamente la lingua di WordPress' cercherà di ottenere la lingua del cliente in WordPress (e rispetta i plugin multilingue) e di convertirla in un formato che Mollie capisce. Se questa operazione fallisce, o se la lingua non è supportata, si passa all’inglese americano. È inoltre possibile selezionare una delle impostazioni locali attualmente supportate da Mollie, che verrà poi utilizzata per tutti i clienti." +msgstr "È necessario inviare una lingua (o locale). L'opzione \"Invia automaticamente la lingua di WordPress\" cercherà di ottenere la lingua del cliente in WordPress (e rispetta i plugin multilingua) e di convertirla in un formato compreso da Mollie. Se l'operazione non riesce o se la lingua non è supportata, il sistema tornerà all'inglese americano. Puoi anche selezionare una delle lingue attualmente supportate da Mollie, che verrà utilizzata per tutti i clienti." #: inc/settings/mollie_advanced_settings.php:82 msgid "Store customer details at Mollie" -msgstr "Memorizza dettagli cliente su Mollie" +msgstr "Memorizza i dettagli del cliente su Mollie" #: inc/settings/mollie_advanced_settings.php:85 -#, fuzzy msgid "Should Mollie store customers name and email address for Single Click Payments? Default %1$s. Required if WooCommerce Subscriptions is being used! Read more about %2$s and how it improves your conversion." -msgstr "Mollie dovrebbe memorizzare nome e indirizzo email dei clienti per pagamenti con un solo clic? Predefinito %1$s. Richiesto se vengono utilizzati abbonamenti a WooCommerce! Scopri di più su %2$s e su come migliora la tua conversione." +msgstr "Mollie dovrebbe memorizzare il nome e l'indirizzo email dei clienti per i Pagamenti Con Un Colo Clic? Predefinito %1$s. Necessario se si utilizza WooCommerce Subscriptions! Leggi di più sui %2$s e su come migliorano la tua conversione." #: inc/settings/mollie_advanced_settings.php:89 #: src/Settings/Page/MollieSettingsPage.php:304 @@ -198,19 +201,19 @@ msgstr "Abilitato" #: inc/settings/mollie_advanced_settings.php:90 msgid "Single Click Payments" -msgstr "Pagamenti con un unico clic" +msgstr "Pagamenti con un solo clic" #: inc/settings/mollie_advanced_settings.php:98 msgid "Select API Method" -msgstr "Seleziona API Method" +msgstr "Selezionare il metodo API" #: inc/settings/mollie_advanced_settings.php:115 msgid "Click %1$shere%2$s to read more about the differences between the Payments and Orders API" -msgstr "Clicca %1$squi%2$s per avere maggiori informazioni sulle differenze tra Payments e Orders API" +msgstr "Clicca su %1$squi%2$s per saperne di più sulle differenze tra il Payments API e Orders API" #: inc/settings/mollie_advanced_settings.php:125 msgid "API Payment Description" -msgstr "Descrizione API Payment" +msgstr "Descrizione del pagamento API" #: inc/settings/mollie_advanced_settings.php:141 msgctxt "Payment description options" @@ -219,27 +222,28 @@ msgstr "Variabili disponibili" #: inc/settings/mollie_advanced_settings.php:165 msgid "Select among the available variables the description to be used for this transaction.%1$s(Note: this only works when the method is set to Payments API)%2$s" -msgstr "Selezionare tra le variabili disponibili la descrizione da usare per questa transazione.%1$s(Nota: questo funziona solo se questo metodo è impostato su Payments API)%2$s" +msgstr "Seleziona tra le variabili disponibili la descrizione da utilizzare per questa transazione.%1$s(Nota: questo funziona solo quando il metodo è impostato su Payments API)%2$s" #: inc/settings/mollie_advanced_settings.php:176 msgid "Surcharge gateway fee label" -msgstr "Etichetta tariffa gateway per supplemento" +msgstr "Etichetta commissione supplementare del gateway" -#: inc/settings/mollie_advanced_settings.php:182 src/Gateway/Surcharge.php:36 +#: inc/settings/mollie_advanced_settings.php:182 +#: src/Gateway/Surcharge.php:36 msgid "Gateway Fee" -msgstr "Tariffa gateway" +msgstr "Commissione del gateway" #: inc/settings/mollie_advanced_settings.php:184 msgid "This is the label will appear in frontend when the surcharge applies" -msgstr "Questa è l’etichetta che compare in frontend quando si applica il supplemento" +msgstr "Questa è l'etichetta che apparirà nel frontend quando viene applicato il sovrapprezzo" #: inc/settings/mollie_advanced_settings.php:192 msgid "Remove Mollie data from Database on uninstall" -msgstr "Elimina dati Mollie dalla banca dati al momento della disinstallazione" +msgstr "Rimuovi i dati Mollie dal database durante la disinstallazione" #: inc/settings/mollie_advanced_settings.php:198 msgid "Remove options and scheduled actions from database when uninstalling the plugin." -msgstr "Elimina opzioni e azioni programmate dalla banca dati quando si disinstalla il plugin." +msgstr "Rimuovi le opzioni e le azioni pianificate dal database quando viene disinstallato il plugin." #: inc/settings/mollie_advanced_settings.php:199 msgid "Clear now" @@ -266,30 +270,30 @@ msgid "Enable %s" msgstr "Abilita %s" #: inc/settings/mollie_applepay_settings.php:29 -#: src/Settings/General/MollieGeneralSettings.php:41 +#: src/Settings/General/MollieGeneralSettings.php:50 msgid "Title" msgstr "Titolo" #: inc/settings/mollie_applepay_settings.php:32 -#: src/Settings/General/MollieGeneralSettings.php:45 +#: src/Settings/General/MollieGeneralSettings.php:54 msgid "This controls the title which the user sees during checkout. Default %s" -msgstr "Questo controlla il titolo che l’utente vede durante al momento dell’acquisto. Predefinito %s" +msgstr "Questo controlla il titolo che l'utente vede durante il checkout. Predefinito %s" #: inc/settings/mollie_applepay_settings.php:46 #: inc/settings/mollie_applepay_settings.php:48 -#: src/Settings/General/MollieGeneralSettings.php:78 +#: src/Settings/General/MollieGeneralSettings.php:64 msgid "Display logo" -msgstr "Mostra logo" +msgstr "Mostra il logo" #: inc/settings/mollie_applepay_settings.php:61 -#: src/Settings/General/MollieGeneralSettings.php:64 +#: src/Settings/General/MollieGeneralSettings.php:104 msgid "Description" msgstr "Descrizione" #: inc/settings/mollie_applepay_settings.php:64 -#: src/Settings/General/MollieGeneralSettings.php:68 +#: src/Settings/General/MollieGeneralSettings.php:108 msgid "Payment method description that the customer will see on your checkout. Default %s" -msgstr "Descrizione del metodo di pagamento che il cliente vedrà sul tuo checkout. Predefinito %s" +msgstr "Descrizione del metodo di pagamento che il cliente vedrà alla cassa. Predefinito %s" #: inc/settings/mollie_applepay_settings.php:81 msgid "Apple Pay button settings" @@ -297,41 +301,43 @@ msgstr "Impostazioni del pulsante Apple Pay" #: inc/settings/mollie_applepay_settings.php:86 msgid "The following options are required to use the Apple Pay Direct Button" -msgstr "Le seguenti opzioni sono necessarie per utilizzare il Pulsante Diretto Apple Pay" +msgstr "Le seguenti opzioni sono necessarie per utilizzare il pulsante Apple Pay Direct" #: inc/settings/mollie_applepay_settings.php:90 #: src/PaymentMethods/Applepay.php:34 msgid "Enable Apple Pay Button on Cart page" -msgstr "Abilita il Pulsante Apple Pay nella pagina del Carrello" +msgstr "Abilita il pulsante Apple Pay nella pagina del carrello" #. translators: Placeholder 1: enabled or disabled #: inc/settings/mollie_applepay_settings.php:93 #: src/PaymentMethods/Applepay.php:36 msgid "Enable the Apple Pay direct buy button on the Cart page" -msgstr "Abilita il pulsante di acquisto diretto Apple Pay nella pagina del Carrello" +msgstr "Abilita il pulsante di acquisto Apple Pay Direct nella pagina del carrello" #: inc/settings/mollie_applepay_settings.php:106 #: src/PaymentMethods/Applepay.php:44 msgid "Enable Apple Pay Button on Product page" -msgstr "Abilita il Pulsante Apple Pay nella pagina del Prodotto" +msgstr "Abilita il pulsante Apple Pay sulla pagina del prodotto" #. translators: Placeholder 1: enabled or disabled #: inc/settings/mollie_applepay_settings.php:109 #: src/PaymentMethods/Applepay.php:46 msgid "Enable the Apple Pay direct buy button on the Product page" -msgstr "Abilita il pulsante di acquisto diretto Apple Pay nella pagina del Prodotto" +msgstr "Abilita il pulsante di acquisto Apple Pay Direct nella pagina del prodotto" #: inc/settings/mollie_components.php:9 msgctxt "Mollie Components Settings" msgid "Base Styles" msgstr "Stili di base" -#: inc/settings/mollie_components.php:18 inc/settings/mollie_components.php:158 +#: inc/settings/mollie_components.php:18 +#: inc/settings/mollie_components.php:158 msgctxt "Mollie Components Settings" msgid "Background Color" -msgstr "Colore dello sfondo" +msgstr "Colore di sfondo" -#: inc/settings/mollie_components.php:24 inc/settings/mollie_components.php:147 +#: inc/settings/mollie_components.php:24 +#: inc/settings/mollie_components.php:147 msgctxt "Mollie Components Settings" msgid "Text Color" msgstr "Colore del testo" @@ -339,32 +345,32 @@ msgstr "Colore del testo" #: inc/settings/mollie_components.php:30 msgctxt "Mollie Components Settings" msgid "Placeholder Color" -msgstr "Colore placeholder" +msgstr "Colore segnaposto" #: inc/settings/mollie_components.php:36 msgctxt "Mollie Components Settings" msgid "Font Size" -msgstr "Font weight" +msgstr "Dimensione del carattere" #: inc/settings/mollie_components.php:37 msgctxt "Mollie Components Settings" msgid "Defines the component font size. Allowed units: 'em', 'px', 'rem'." -msgstr "Definisce la dimensione del font del componente. Unità ammesse: 'em', 'px', 'rem'." +msgstr "Definisce la dimensione del carattere del componente. Unità consentite: 'em', 'px', 'rem'." #: inc/settings/mollie_components.php:47 msgctxt "Mollie Components Settings" msgid "Font Weight" -msgstr "Font weight" +msgstr "Peso del carattere" #: inc/settings/mollie_components.php:50 msgctxt "Mollie Components Settings" msgid "Lighter" -msgstr "Più chiaro" +msgstr "Più leggero" #: inc/settings/mollie_components.php:51 msgctxt "Mollie Components Settings" msgid "Regular" -msgstr "Normale" +msgstr "Regolare" #: inc/settings/mollie_components.php:52 msgctxt "Mollie Components Settings" @@ -374,42 +380,42 @@ msgstr "Grassetto" #: inc/settings/mollie_components.php:58 msgctxt "Mollie Components Settings" msgid "Letter Spacing" -msgstr "Spaziatura tra i caratteri" +msgstr "Spaziatura tra le lettere" #: inc/settings/mollie_components.php:64 msgctxt "Mollie Components Settings" msgid "Line Height" -msgstr "Altezza riga" +msgstr "Altezza della linea" #: inc/settings/mollie_components.php:73 msgctxt "Mollie Components Settings" msgid "Padding" -msgstr "Spaziatura interna" +msgstr "Padding" #: inc/settings/mollie_components.php:74 msgctxt "Mollie Components Settings" msgid "Add padding to the components. Allowed units include `16px 16px 16px 16px` and `em`, `px`, `rem`." -msgstr "Aggiungi spaziatura interna ai componenti. Le unità ammesse includono `16px 16px 16px 16px` e `em`, `px`, `rem`." +msgstr "Aggiunge un padding ai componenti. Le unità consentite sono `16px 16px 16px 16px` e `em`, `px`, `rem`." #: inc/settings/mollie_components.php:84 msgctxt "Mollie Components Settings" msgid "Align Text" -msgstr "Allinea testo" +msgstr "Allinea il testo" #: inc/settings/mollie_components.php:87 msgctxt "Mollie Components Settings" msgid "Left" -msgstr "A sinistra" +msgstr "Sinistra" #: inc/settings/mollie_components.php:88 msgctxt "Mollie Components Settings" msgid "Right" -msgstr "A destra" +msgstr "Destra" #: inc/settings/mollie_components.php:89 msgctxt "Mollie Components Settings" msgid "Center" -msgstr "Centra" +msgstr "Centro" #: inc/settings/mollie_components.php:90 msgctxt "Mollie Components Settings" @@ -419,7 +425,7 @@ msgstr "Giustifica" #: inc/settings/mollie_components.php:96 msgctxt "Mollie Components Settings" msgid "Transform Text " -msgstr "Trasforma testo " +msgstr "Trasforma il testo " #: inc/settings/mollie_components.php:99 msgctxt "Mollie Components Settings" @@ -429,7 +435,7 @@ msgstr "Nessuno" #: inc/settings/mollie_components.php:104 msgctxt "Mollie Components Settings" msgid "Capitalize" -msgstr "In lettere maiuscole" +msgstr "Capitalizza" #: inc/settings/mollie_components.php:109 msgctxt "Mollie Components Settings" @@ -444,7 +450,7 @@ msgstr "Minuscolo" #: inc/settings/mollie_components.php:119 msgctxt "Mollie Components Settings" msgid "Full Width" -msgstr "Larghezza piena" +msgstr "Larghezza completa" #: inc/settings/mollie_components.php:124 msgctxt "Mollie Components Settings" @@ -454,7 +460,7 @@ msgstr "Kana a grandezza naturale" #: inc/settings/mollie_components.php:138 msgctxt "Mollie Components Settings" msgid "Invalid Status Styles" -msgstr "Stili stato non validi" +msgstr "Stili di stato non validi" #: inc/settings/mollie_components.php:148 msgctxt "Mollie Components Settings" @@ -464,156 +470,175 @@ msgstr "Colore del testo per input non valido." #: inc/settings/mollie_components.php:159 msgctxt "Mollie Components Settings" msgid "Background Color for invalid input." -msgstr "Colore dello sfondo per input non valido." +msgstr "Colore di sfondo per input non valido." #: src/Activation/ActivationModule.php:141 msgid "%1$sMollie Payments for WooCommerce: API keys missing%2$s Please%3$s set your API keys here%4$s." -msgstr "%1$sMollie Payments per WooCommerce: chiavi API mancanti%2$s Ti preghiamo di%3$s impostare le tue chiavi API qui%4$s." +msgstr "%1$sMollie Payments per WooCommerce: Chiavi API mancanti%2$s Per favore%3$s imposta le tue chiavi API qui%4$s." #: src/Activation/ConstraintsChecker.php:106 msgid "%1$sMollie Payments for WooCommerce is inactive:%2$s" -msgstr "%1$sMollie Payments per WooCommerce non è attivo:%2$s" +msgstr "%1$sMollie Payments per WooCommerce è inattivo:%2$s" #: src/Activation/ConstraintsChecker.php:110 msgid "%1$sCorrect the above errors to use Mollie Payments for Woocommerce%2$s" -msgstr "%1$sCorreggi gli errori sopra indicati per utilizzare Mollie Payments per Woocommerce%2$s" +msgstr "%1$sCorreggi gli errori sopra per utilizzare Mollie Payments per Woocommerce%2$s" -#: src/Assets/AssetsModule.php:386 +#: src/Assets/AssetsModule.php:382 msgid "Name on card" msgstr "Nome sulla carta" -#: src/Assets/AssetsModule.php:390 +#: src/Assets/AssetsModule.php:386 msgid "Card number" -msgstr "Numero carta" +msgstr "Numero di carta" -#: src/Assets/AssetsModule.php:394 +#: src/Assets/AssetsModule.php:390 msgid "Expiry date" msgstr "Data di scadenza" -#: src/Assets/AssetsModule.php:398 +#: src/Assets/AssetsModule.php:394 msgid "CVC/CVV" msgstr "CVC/CVV" -#: src/Assets/AssetsModule.php:405 +#: src/Assets/AssetsModule.php:401 msgid "An unknown error occurred, please check the card fields." -msgstr "Si è verificato un errore sconosciuto, controllare i campi carta di credito." +msgstr "Si è verificato un errore sconosciuto, controlla i campi della carta." -#: src/Assets/AssetsModule.php:459 +#: src/Assets/AssetsModule.php:455 msgid "No custom logo selected" msgstr "Nessun logo personalizzato selezionato" -#: src/Assets/MollieCheckoutBlocksSupport.php:142 +#: src/Assets/MollieCheckoutBlocksSupport.php:150 msgid "Please choose a billing country to see the available payment methods" -msgstr "Scegli un paese di fatturazione per vedere i metodi di pagamento disponibili." +msgstr "Scegli un paese di fatturazione per vedere i metodi di pagamento disponibili" #. translators: Placeholder 1: Payment method title #: src/Buttons/ApplePayButton/AppleAjaxRequests.php:700 #: src/Buttons/PayPalButton/PayPalAjaxRequests.php:113 #: src/Buttons/PayPalButton/PayPalAjaxRequests.php:157 -#: src/Payment/PaymentService.php:716 +#: src/Payment/PaymentService.php:740 msgid "Could not create %s payment." -msgstr "Non è stato possibile creare %s il pagamento." +msgstr "Non è stato possibile creare il pagamento %s ." #: src/Buttons/ApplePayButton/ApplePayDirectHandler.php:42 msgid "%1$sServer not compliant with Apple requirements%2$s Check %3$sApple Server requirements page%4$s to fix it in order to make the Apple Pay button work" -msgstr "%1$sServer non conforme ai requisiti Apple%2$s Controlla %3$sla pagina dei requisiti del server Apple%4$s per risolverlo e far funzionare il pulsante Apple Pay" +msgstr "%1$sIl server non è conforme ai requisiti Apple%2$s Controlla %3$sla pagina dei requisiti del server Apple%4$s per risolvere il problema e far funzionare il pulsante Apple Pay" #: src/Buttons/ApplePayButton/ApplePayDirectHandler.php:58 -msgid "%1$sApple Pay Validation Error%2$s Check %3$sApple Server requirements page%4$s to fix it in order to make the Apple Pay button work" -msgstr "%1$sErrore di convalida Apple Pay%2$s Controlla %3$sla pagina dei requisiti del server Apple%4$s per risolverlo e far funzionare il pulsante Apple Pay" - -#: src/Gateway/GatewayModule.php:655 -msgid "Error processing %1$s payment, the %2$s field is required." -msgstr "" +msgid "Apple Pay Validation Error: Please review the %1$sApple Server requirements%2$s. If everything appears correct, click the Apple Pay button to retry validation." +msgstr "Errore di convalida Apple Pay: Si prega di esaminare i %1$srequisiti del server Apple%2$s. Se tutto sembra corretto, clicca sul pulsante Apple Pay per riprovare la convalida." -#: src/Gateway/GatewayModule.php:669 -msgid "Please enter your %1$s, this is required for %2$s payments" -msgstr "" +#: src/Gateway/GatewayModule.php:365 +msgid "Mollie Payment Details" +msgstr "Dettagli del pagamento Mollie" -#: src/Gateway/MolliePaymentGateway.php:269 +#: src/Gateway/GatewayModule.php:655 +#: src/PaymentMethods/PaymentFieldsStrategies/BillieFieldsStrategy.php:40 +msgid "Company" +msgstr "Azienda" + +#: src/Gateway/GatewayModule.php:663 +#: src/PaymentMethods/PaymentFieldsStrategies/BancomatpayFieldsStrategy.php:44 +#: src/PaymentMethods/PaymentFieldsStrategies/In3FieldsStrategy.php:68 +#: src/PaymentMethods/PaymentFieldsStrategies/RivertyFieldsStrategy.php:76 +msgid "Phone" +msgstr "Telefono" + +#: src/Gateway/GatewayModule.php:836 +msgid "Please introduce a valid birthdate number." +msgstr "Per favore inserisci una data di nascita valida." + +#: src/Gateway/MolliePaymentGateway.php:276 #: src/Settings/Page/MollieSettingsPage.php:314 msgid "Test mode enabled." -msgstr "Modalità di prova abilitata." +msgstr "Modalità test abilitata." #. translators: The surrounding %s's Will be replaced by a link to the global setting page -#: src/Gateway/MolliePaymentGateway.php:274 +#: src/Gateway/MolliePaymentGateway.php:281 msgid "No API key provided. Please %1$sset you Mollie API key%2$s first." -msgstr "Nessuna chiave API fornita. Per prima cosa, ti preghiamo di %1$simpostare la tua chiave API Mollie%2$s." +msgstr "Nessuna chiave API fornita. Si prega di %1$simpostare prima la chiave API di Mollie%2$s." #. translators: Placeholder 1: payment method title. The surrounding %s's Will be replaced by a link to the Mollie profile -#: src/Gateway/MolliePaymentGateway.php:289 +#: src/Gateway/MolliePaymentGateway.php:296 msgid "%1$s not enabled in your Mollie profile. You can enable it by editing your %2$sMollie profile%3$s." -msgstr "%1$s non abilitato nel tuo profilo Mollie. Puoi abilitarlo modificando il tuo %2$sprofilo Mollie%3$s." +msgstr "%1$s non è abilitato nel tuo profilo Mollie. Puoi abilitarlo modificando il proprio profilo %2$sMollie%3$s." #. translators: Placeholder 1: WooCommerce currency, placeholder 2: Supported Mollie currencies -#: src/Gateway/MolliePaymentGateway.php:304 +#: src/Gateway/MolliePaymentGateway.php:311 msgid "Current shop currency %1$s not supported by Mollie. Read more about %2$ssupported currencies and payment methods.%3$s " -msgstr "Valuta negozio corrente %1$s non supportata da Mollie. Leggi di più sulle %2$svalute supportate e sui metodi di pagamento.%3$s " +msgstr "La valuta del negozio attuale %1$s non è supportata da Mollie. Leggi di più sulle %2$svalute e sui metodi di pagamento supportati.%3$s " -#: src/Gateway/MolliePaymentGateway.php:575 +#: src/Gateway/MolliePaymentGateway.php:582 msgid "You have cancelled your payment. Please complete your order with a different payment method." -msgstr "Hai annullato il tuo pagamento. Completa l’ordine con una modalità di pagamento differente." +msgstr "Hai annullato il tuo pagamento. Per favore completa l'ordine con un altro metodo di pagamento." -#: src/Gateway/MolliePaymentGateway.php:596 -#: src/Gateway/MolliePaymentGateway.php:610 +#: src/Gateway/MolliePaymentGateway.php:602 +#: src/Gateway/MolliePaymentGateway.php:616 msgid "Your payment was not successful. Please complete your order with a different payment method." -msgstr "Il tuo pagamento non è riuscito. Completa l’ordine con una modalità di pagamento differente." +msgstr "Il tuo pagamento non è riuscito. Per favore completa il tuo ordine con un altro metodo di pagamento." -#: src/Gateway/MolliePaymentGateway.php:646 +#: src/Gateway/MolliePaymentGateway.php:652 msgid "Could not load order %s" -msgstr "Non è stato possibile caricare l’ordine %s" +msgstr "Non è stato possibile caricare l'ordine %s" -#: src/Gateway/MolliePaymentGateway.php:899 +#: src/Gateway/MolliePaymentGateway.php:919 msgid "Order cancelled" msgstr "Ordine annullato" #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Gateway/MolliePaymentGateway.php:933 +#: src/Gateway/MolliePaymentGateway.php:953 msgid "%1$s payment still pending (%2$s) but customer already returned to the store. Status should be updated automatically in the future, if it doesn't this might indicate a communication issue between the site and Mollie." -msgstr "%1$s pagamento ancora in sospeso (%2$s) ma il cliente è già ritornato in negozio. Lo stato dovrebbe essere aggiornato automaticamente in futuro, se ciò non avviene può essere ricondotto a un problema di comunicazione tra il sito e Mollie." - -#: src/Gateway/MolliePaymentGateway.php:939 src/Payment/MollieObject.php:682 -#: src/Payment/MollieObject.php:714 src/Payment/MollieOrder.php:281 -#: src/Payment/MollieOrder.php:338 src/Payment/MollieOrder.php:382 -#: src/Payment/MollieOrder.php:463 src/Payment/MollieOrder.php:534 -#: src/Payment/MollieOrder.php:877 src/Payment/MollieOrderService.php:171 -#: src/Payment/MollieOrderService.php:437 -#: src/Payment/MollieOrderService.php:500 -#: src/Payment/MollieOrderService.php:714 src/Payment/MolliePayment.php:236 -#: src/Payment/MolliePayment.php:323 src/Payment/MolliePayment.php:399 -#: src/Payment/MolliePayment.php:423 src/Payment/PaymentService.php:801 +msgstr "Pagamento %1$s ancora in attesa (%2$s) ma il cliente è già ritornato al negozio. Lo stato dovrebbe essere aggiornato automaticamente in futuro; in caso contrario, ciò potrebbe indicare un problema di comunicazione tra il sito e Mollie." + +#: src/Gateway/MolliePaymentGateway.php:959 +#: src/Payment/MollieObject.php:686 +#: src/Payment/MollieObject.php:718 +#: src/Payment/MollieOrder.php:276 +#: src/Payment/MollieOrder.php:333 +#: src/Payment/MollieOrder.php:384 +#: src/Payment/MollieOrder.php:465 +#: src/Payment/MollieOrder.php:536 +#: src/Payment/MollieOrder.php:860 +#: src/Payment/MollieOrderService.php:178 +#: src/Payment/MollieOrderService.php:445 +#: src/Payment/MollieOrderService.php:508 +#: src/Payment/MollieOrderService.php:722 +#: src/Payment/MolliePayment.php:237 +#: src/Payment/MolliePayment.php:324 +#: src/Payment/MolliePayment.php:400 +#: src/Payment/MolliePayment.php:424 +#: src/Payment/PaymentService.php:827 #: src/Subscription/MollieSepaRecurringGateway.php:137 #: src/Subscription/MollieSepaRecurringGateway.php:204 #: src/Subscription/MollieSubscriptionGateway.php:458 msgid "test mode" -msgstr "modalità di prova" +msgstr "modalità test" -#: src/Gateway/MolliePaymentGateway.php:950 +#: src/Gateway/MolliePaymentGateway.php:970 msgid ", payment pending." -msgstr ", pagamento in sospeso." +msgstr ", pagamento in attesa." -#: src/Gateway/MolliePaymentGateway.php:982 +#: src/Gateway/MolliePaymentGateway.php:1002 msgid "Your order has been cancelled." msgstr "Il tuo ordine è stato annullato." #. translators: Placeholder 1: Fee amount tag. Placeholder 2: Currency. -#: src/Gateway/Surcharge.php:257 +#: src/Gateway/Surcharge.php:262 msgid " + %1$s %2$s fee might apply" -msgstr " + %1$s %2$s tariffa può essere applicata" +msgstr " + Potrebbe essere applicata una commissione di %1$s %2$s" #. translators: Placeholder 1: Fee amount tag. -#: src/Gateway/Surcharge.php:274 +#: src/Gateway/Surcharge.php:279 msgid " + %1$s%% fee might apply" -msgstr " + %1$s%% tariffa può essere applicata" +msgstr " + Potrebbe essere applicata una commissione di %1$s%%" -#. translators: Placeholder 1: Fee amount tag. Placeholder 2: Currency. Placeholder 3: Percentage amount. -#: src/Gateway/Surcharge.php:297 +#: src/Gateway/Surcharge.php:303 msgid " + %1$s %2$s + %3$s%% fee might apply" -msgstr " + %1$s %2$s + %3$s%% tariffa può essere applicata" +msgstr " + Potrebbe essere applicata una commissione di %1$s %2$s + %3$s%%" -#: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (incl. IVA)" +#: src/Gateway/Surcharge.php:340 +msgid " (excl. VAT)" +msgstr " (IVA esclusa)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 @@ -625,13 +650,13 @@ msgstr "Impostazioni Mollie" #: src/Gateway/Voucher/VoucherModule.php:149 #: src/Gateway/Voucher/VoucherModule.php:172 msgid "Mollie Voucher Category" -msgstr "Categoria voucher Mollie" +msgstr "Categoria di buono Mollie" #: src/Gateway/Voucher/VoucherModule.php:112 #: src/Gateway/Voucher/VoucherModule.php:151 #: src/Gateway/Voucher/VoucherModule.php:176 msgid "--Please choose an option--" -msgstr "--Scegli un’opzione--" +msgstr "--Seleziona un'opzione--" #: src/Gateway/Voucher/VoucherModule.php:113 #: src/Gateway/Voucher/VoucherModule.php:152 @@ -645,7 +670,8 @@ msgstr "Nessuna categoria" #: src/Gateway/Voucher/VoucherModule.php:153 #: src/Gateway/Voucher/VoucherModule.php:184 #: src/Gateway/Voucher/VoucherModule.php:244 -#: src/Gateway/Voucher/VoucherModule.php:299 src/PaymentMethods/Voucher.php:57 +#: src/Gateway/Voucher/VoucherModule.php:299 +#: src/PaymentMethods/Voucher.php:57 msgid "Meal" msgstr "Pasto" @@ -653,7 +679,8 @@ msgstr "Pasto" #: src/Gateway/Voucher/VoucherModule.php:154 #: src/Gateway/Voucher/VoucherModule.php:187 #: src/Gateway/Voucher/VoucherModule.php:245 -#: src/Gateway/Voucher/VoucherModule.php:300 src/PaymentMethods/Voucher.php:58 +#: src/Gateway/Voucher/VoucherModule.php:300 +#: src/PaymentMethods/Voucher.php:58 msgid "Eco" msgstr "Eco" @@ -661,189 +688,264 @@ msgstr "Eco" #: src/Gateway/Voucher/VoucherModule.php:155 #: src/Gateway/Voucher/VoucherModule.php:190 #: src/Gateway/Voucher/VoucherModule.php:246 -#: src/Gateway/Voucher/VoucherModule.php:301 src/PaymentMethods/Voucher.php:59 +#: src/Gateway/Voucher/VoucherModule.php:301 +#: src/PaymentMethods/Voucher.php:59 msgid "Gift" msgstr "Regalo" #: src/Gateway/Voucher/VoucherModule.php:157 #: src/Gateway/Voucher/VoucherModule.php:194 msgid "Select a voucher category to apply to all products with this category" -msgstr "Seleziona una categoria di voucher da applicare a tutti i prodotti con questa categoria" +msgstr "Seleziona una categoria di buono per applicarla a tutti i prodotti di questa categoria" -#: src/Gateway/Voucher/VoucherModule.php:228 src/PaymentMethods/Voucher.php:53 +#: src/Gateway/Voucher/VoucherModule.php:228 +#: src/PaymentMethods/Voucher.php:53 msgid "Select the default products category" -msgstr "Seleziona la categoria predefinita dei prodotti" +msgstr "Seleziona la categoria di prodotti predefinita" #: src/Gateway/Voucher/VoucherModule.php:232 msgid "Products voucher category" -msgstr "Categoria voucher prodotti" +msgstr "Categoria di buono prodotti" #: src/Gateway/Voucher/VoucherModule.php:239 #: src/Gateway/Voucher/VoucherModule.php:297 msgid "Same as default category" -msgstr "Identica alla categoria predefinita" +msgstr "Uguale alla categoria predefinita" #. translators: Placeholder 1: Default order status, placeholder 2: Link to 'Hold Stock' setting #: src/Gateway/Voucher/VoucherModule.php:251 -#, fuzzy msgid "In order to process it, all products in the order must have a category. To disable the product from voucher selection select 'No category' option." -msgstr "Per procedere all’elaborazione, tutti i prodotti nell’ordine devono avere una categoria. Per disabilitare il prodotto dalla selezione del buono selezionare l’opzione “Nessuna categoria”." +msgstr "Per poter elaborarlo, tutti i prodotti dell'ordine devono avere una categoria. Per escludere il prodotto dalla selezione dei buoni, seleziona l'opzione \"Nessuna categoria\"." #: src/Gateway/Voucher/VoucherModule.php:294 msgid "Mollie Voucher category" -msgstr "Categoria voucher Mollie" +msgstr "Categoria di buono Mollie" + +#: src/MerchantCapture/Capture/Action/CapturePayment.php:26 +msgid "The Mollie payment ID is missing, and we are unable to capture the funds." +msgstr "Manca l'ID del pagamento Mollie, e non siamo in grado di catturare i fondi." + +#: src/MerchantCapture/Capture/Action/CapturePayment.php:52 +msgid "The payment capture of %s has been sent successfully, and we are currently awaiting confirmation." +msgstr "La cattura del pagamento %s è stata inviata con successo e siamo attualmente in attesa di una conferma." + +#: src/MerchantCapture/Capture/Action/CapturePayment.php:63 +msgid "Payment Capture Failed. We encountered an issue while processing the payment capture." +msgstr "Cattura del pagamento non riuscita. Si è verificato un problema durante l'elaborazione della cattura del pagamento." + +#: src/MerchantCapture/Capture/Action/VoidPayment.php:27 +msgid "Payment cancelation failed. We encountered an issue while canceling the pre-authorized payment." +msgstr "Annullamento del pagamento non riuscito. Si è verificato un problema durante l'annullamento del pagamento preautorizzato." + +#: src/MerchantCapture/Capture/Type/ManualCapture.php:31 +msgid "Capture authorized Mollie payment" +msgstr "Cattura pagamento Mollie autorizzato" + +#: src/MerchantCapture/MerchantCaptureModule.php:224 +msgid "To capture the authorized payment, select capture action from the list below." +msgstr "Per catturare il pagamento autorizzato, seleziona l'azione di cattura dall'elenco sottostante." + +#: src/MerchantCapture/MerchantCaptureModule.php:229 +msgid "Before capturing the authorized payment, ensure to set the order status to On Hold." +msgstr "Prima di catturare il pagamento autorizzato, assicurati di impostare lo stato dell'ordine su In Attesa." + +#: src/MerchantCapture/MollieCaptureSettings.php:19 +msgid "Placing payments on Hold" +msgstr "Mettere i pagamenti in sospeso" + +#: src/MerchantCapture/MollieCaptureSettings.php:23 +msgid "Capture payments immediately" +msgstr "Cattura i pagamenti immediatamente" + +#: src/MerchantCapture/MollieCaptureSettings.php:24 +msgid "Authorize payments for a later capture" +msgstr "Autorizza i pagamenti per una cattura successiva" + +#: src/MerchantCapture/MollieCaptureSettings.php:28 +msgid "Authorized payment can be captured or canceled by changing the order status instead of doing it manually." +msgstr "Il pagamento autorizzato può essere catturato o annullato modificando lo stato dell'ordine invece di farlo manualmente." + +#: src/MerchantCapture/MollieCaptureSettings.php:36 +msgid "Capture or cancel on status change" +msgstr "Cattura o annulla al cambio di stato" + +#: src/MerchantCapture/MollieCaptureSettings.php:42 +msgid "Capture authorized payments automatically when setting the order status to Processing or Completed. Cancel the payment by setting the order status Canceled." +msgstr "Cattura automaticamente i pagamenti autorizzati impostando lo stato dell'ordine su In elaborazione o Completato. Annulla il pagamento impostando lo stato dell'ordine su Annullato." + +#: src/MerchantCapture/OrderListPaymentColumn.php:32 +#: src/MerchantCapture/OrderListPaymentColumn.php:41 +msgid "Payment Status" +msgstr "Stato del pagamento" + +#: src/MerchantCapture/UI/StatusRenderer.php:16 +msgid "Payment authorized" +msgstr "Pagamento autorizzato" + +#: src/MerchantCapture/UI/StatusRenderer.php:21 +msgid "Payment canceled" +msgstr "Pagamento annullato" + +#: src/MerchantCapture/UI/StatusRenderer.php:26 +msgid "Payment captured" +msgstr "Pagamento catturato" + +#: src/MerchantCapture/UI/StatusRenderer.php:31 +msgid "Payment waiting" +msgstr "Pagamento in attesa" #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieObject.php:677 +#: src/Payment/MollieObject.php:681 msgid "%1$s renewal payment failed via Mollie (%2$s). You will need to manually review the payment and adjust product stocks if you use them." -msgstr "%1$s pagamento del rinnovo non riuscito tramite Mollie (%2$s). Dovrai rivedere manualmente il pagamento e adattare gli stock di prodotti se li usi." +msgstr "Il rinnovo del pagamento %1$s non è riuscito tramite Mollie (%2$s). Dovrai esaminare manualmente il pagamento e regolare le scorte di prodotti, se le utilizzi." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieObject.php:709 +#: src/Payment/MollieObject.php:713 msgid "%1$s payment failed via Mollie (%2$s)." -msgstr "%1$s pagamento non riuscito tramite Mollie (%2$s)." +msgstr "Il pagamento %1$s è fallito tramite Mollie (%2$s)." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieObject.php:743 +#: src/Payment/MollieObject.php:747 msgid "Mollie webhook called, but payment also started via %s, so the order status is not updated." -msgstr "Il webhook Mollie ha chiamato, ma il pagamento è stato avviato anche tramite %s, quindi lo stato dell’ordine non è aggiornato." +msgstr "Il webhook di Mollie è stato chiamato, ma il pagamento è stato avviato anche tramite %s, quindi lo stato dell'ordine non è stato aggiornato." #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal email, placeholder 3: PayPal transaction ID -#: src/Payment/MollieObject.php:765 +#: src/Payment/MollieObject.php:769 #: src/PaymentMethods/InstructionStrategies/PaypalInstructionStrategy.php:19 msgid "Payment completed by %1$s - %2$s (PayPal transaction ID: %3$s)" msgstr "Pagamento completato da %1$s - %2$s (ID transazione PayPal: %3$s)" #. translators: do not translate between {} -#: src/Payment/MollieObject.php:909 +#: src/Payment/MollieObject.php:913 msgctxt "Payment description for {orderNumber}" msgid "Order {orderNumber}" msgstr "Ordine {orderNumber}" #. translators: do not translate between {} -#: src/Payment/MollieObject.php:919 +#: src/Payment/MollieObject.php:923 msgctxt "Payment description for {storeName}" msgid "StoreName {storeName}" -msgstr "NomeNegozio {storeName}" +msgstr "Nome Negozio {storeName}" #. translators: do not translate between {} -#: src/Payment/MollieObject.php:929 +#: src/Payment/MollieObject.php:933 msgctxt "Payment description for {customer.firstname}" msgid "Customer Firstname {customer.firstname}" -msgstr "Nome cliente {customer.firstname}" +msgstr "Nome Cliente {customer.firstname}" #. translators: do not translate between {} -#: src/Payment/MollieObject.php:939 +#: src/Payment/MollieObject.php:943 msgctxt "Payment description for {customer.lastname}" msgid "Customer Lastname {customer.lastname}" -msgstr "Cognome cliente {customer.firstname}" +msgstr "Cognome Cliente {customer.lastname}" #. translators: do not translate between {} -#: src/Payment/MollieObject.php:949 +#: src/Payment/MollieObject.php:953 msgctxt "Payment description for {customer.company}" msgid "Customer Company {customer.company}" -msgstr "Azienda cliente {customer.firstname}" +msgstr "Azienda Cliente {customer.company}" #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrder.php:277 src/Payment/MolliePayment.php:234 +#: src/Payment/MollieOrder.php:272 +#: src/Payment/MolliePayment.php:235 #: src/Subscription/MollieSepaRecurringGateway.php:210 msgid "Order completed using %1$s payment (%2$s)." -msgstr "Ordine completato utilizzando il %1$s pagamento (%2$s)." +msgstr "Ordine completato utilizzando il pagamento %1$s (%2$s)." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrder.php:336 +#: src/Payment/MollieOrder.php:331 msgid "Order authorized using %1$s payment (%2$s). Set order to completed in WooCommerce when you have shipped the products, to capture the payment. Do this within 28 days, or the order will expire. To handle individual order lines, process the order via the Mollie Dashboard." -msgstr "Ordine autorizzato utilizzando il %1$s pagamento ((%2$s)). Imposta l’ordine su completato in WooCommerce quando hai spedito i prodotti per acquisire il pagamento. Effettua questa impostazione entro 28 giorni, altrimenti l’ordine scadrà. Per gestire singole righe d’ordine, elabora l’ordine attraverso la dashboard di Mollie." +msgstr "Ordine autorizzato utilizzando il pagamento %1$s (%2$s). Per catturare il pagamento, imposta l'ordine su completato in WooCommerce quando i prodotti sono stati spediti. Fai questo entro 28 giorni, altrimenti l'ordine scadrà. Per gestire singole righe d'ordine, elabora l'ordine tramite la Mollie Dashboard." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrder.php:380 +#: src/Payment/MollieOrder.php:382 msgid "Order completed at Mollie for %1$s order (%2$s). At least one order line completed. Remember: Completed status for an order at Mollie is not the same as Completed status in WooCommerce!" -msgstr "Ordine completato su Mollie per %1$s ordine ((%2$s)). Almeno una riga d’ordine completata. Ricorda: Lo stato completato per un ordine su Mollie non equivale allo stato Completato su WooCommerce!" +msgstr "Ordine completato su Mollie per l'ordine %1$s (%2$s). Almeno una riga dell'ordine è completata. Ricorda: lo stato Completato per un ordine su Mollie non è lo stesso dello stato Completato in WooCommerce!" #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrder.php:461 +#: src/Payment/MollieOrder.php:463 msgid "%1$s order (%2$s) cancelled ." -msgstr "%1$s ordine (%2$s) annullato." +msgstr "Ordine %1$s (%2$s) annullato ." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrder.php:532 +#: src/Payment/MollieOrder.php:534 msgid "%1$s order expired (%2$s) but not cancelled because of another pending payment (%3$s)." -msgstr "%1$s ordine scaduto ((%2$s)) ma non annullato perché c’è un altro pagamento in sospeso ((%3$s))." +msgstr "Ordine %1$s scaduto (%2$s) ma non annullato a causa di un altro pagamento in attesa (%3$s)." -#: src/Payment/MollieOrder.php:627 +#: src/Payment/MollieOrder.php:629 msgctxt "Order note error" msgid "The sum of refunds for all order lines is not identical to the refund amount, so this refund will be processed as a payment amount refund, not an order line refund." -msgstr "La somma dei rimborsi per tutte le righe dell’ordine non è identica all’importo del rimborso, quindi questo rimborso verrà elaborato come rimborso dell’importo di pagamento, non come rimborso della riga dell’ordine." +msgstr "La somma dei rimborsi per tutte le righe dell'ordine non è identica all'importo del rimborso, quindi questo rimborso sarà elaborato come un rimborso dell'importo del pagamento, non come un rimborso delle righe dell'ordine." -#: src/Payment/MollieOrder.php:759 +#: src/Payment/MollieOrder.php:761 msgctxt "Order note error" msgid "Can not refund order amount that has status %1$s at Mollie." -msgstr "Non è possibile rimborsa un importo dell’ordine che ha lo stato %1$s su Mollie." +msgstr "Non è possibile rimborsare l'importo dell'ordine con lo stato %1$s in Mollie." -#: src/Payment/MollieOrder.php:781 +#: src/Payment/MollieOrder.php:783 msgid "Amount refund of %1$s%2$s refunded in WooCommerce and at Mollie.%3$s Refund ID: %4$s." -msgstr "Rimborso dell’importo di %1$s%2$s effettuato in WooCommerce e su Mollie.%3$s ID rimborso: %4$s." +msgstr "Rimborso dell'importo di %1$s%2$s rimborsato in WooCommerce e su Mollie.%3$s ID rimborso: %4$s." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrder.php:872 +#: src/Payment/MollieOrder.php:855 msgid "%1$s order (%2$s) expired ." -msgstr "%1$s ordine ((%2$s)) scaduto." +msgstr "Ordine %1$s (%2$s) scaduto ." -#: src/Payment/MollieOrder.php:1095 +#: src/Payment/MollieOrder.php:942 msgid "%1$sx %2$s cancelled for %3$s%4$s in WooCommerce and at Mollie." -msgstr "%1$sx %2$s annullato per %3$s%4$s in WooCommerce e su Mollie." +msgstr "%1$sx %2$s cancellato per %3$s%4$s in WooCommerce e in Mollie." -#: src/Payment/MollieOrder.php:1119 +#: src/Payment/MollieOrder.php:966 msgid "%1$sx %2$s refunded for %3$s%4$s in WooCommerce and at Mollie.%5$s Refund ID: %6$s." -msgstr "%1$sx %2$s rimborsato per %3$s%4$s in WooCommerce e su Mollie.%5$s ID rimborso: %6$s." +msgstr "%1$sx %2$s rimborsato per %3$s%4$s in WooCommerce e in Mollie.%5$s ID rimborso: %6$s." #. translators: Placeholder 1: payment method title, placeholder 2: payment status, placeholder 3: payment ID -#: src/Payment/MollieOrderService.php:168 +#: src/Payment/MollieOrderService.php:175 msgid "%1$s payment %2$s (%3$s), not processed." -msgstr "%1$s pagamento %2$s ((%3$s)), non elaborato." +msgstr "Pagamento %1$s %2$s (%3$s), non elaborato." -#: src/Payment/MollieOrderService.php:400 +#: src/Payment/MollieOrderService.php:408 msgid "New chargeback %s processed! Order note and order status updated." -msgstr "Nuovo riaccredito %s elaborato! Nota dell’ordine e stato dell’ordine aggiornati." +msgstr "Nuovo chargeback %s elaborato! Nota e stato dell'ordine sono stati aggiornati." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrderService.php:432 +#: src/Payment/MollieOrderService.php:440 msgid "%1$s payment charged back via Mollie (%2$s). You will need to manually review the payment (and adjust product stocks if you use it)." -msgstr "%1$s pagamento riaccreditato tramite Mollie (%2$s). Dovrai rivedere manualmente il pagamento (e adattare lo stock di prodotti se lo usi)." +msgstr "Pagamento %1$s riaddebitato tramite Mollie (%2$s). Dovrai rivedere manualmente il pagamento (e regolare le scorte dei prodotti, se utilizzi questo sistema)." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrderService.php:494 +#: src/Payment/MollieOrderService.php:502 msgid "%1$s payment charged back via Mollie (%2$s). Subscription status updated, please review (and adjust product stocks if you use it)." -msgstr "%1$s pagamento riaccreditato tramite Mollie (%2$s). Stato dell’abbonamento aggiornato, ti preghiamo di rivederlo (e adattare lo stock di prodotti se lo usi)." +msgstr "Pagamento %1$s riaddebitato tramite Mollie (%2$s). Lo stato dell'abbonamento è stato aggiornato, si prega di verificare (e di adeguare le scorte del prodotto se le utilizzi)." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MollieOrderService.php:701 +#: src/Payment/MollieOrderService.php:709 msgid "%1$s payment %2$s via Mollie (%3$s %4$s). You will need to manually review the payment (and adjust product stocks if you use it)." -msgstr "%1$s pagamento %2$s tramite Mollie (%3$s %4$s). Dovrai rivedere manualmente il pagamento (e adattare lo stock di prodotti se lo usi)." +msgstr "Pagamento %1$s %2$s tramite Mollie (%3$s %4$s). Dovrai rivedere manualmente il pagamento (e regolare le scorte di prodotti, se utilizzi questo sistema)." -#: src/Payment/MollieOrderService.php:814 +#: src/Payment/MollieOrderService.php:822 msgid "New refund %s processed in Mollie Dashboard! Order note added, but order not updated." -msgstr "Nuovo rimborso %s elaborato nella dashboard Mollie! Nota dell’ordine aggiunta, ma ordine aggiornato." +msgstr "Nuovo rimborso %s elaborato nella Mollie Dashboard! Nota dell'ordine è stata aggiunta, ma l'ordine non è stato aggiornato." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MolliePayment.php:321 +#: src/Payment/MolliePayment.php:322 msgid "%1$s payment (%2$s) cancelled ." -msgstr "%1$s pagamento (%2$s) annullato." +msgstr "Pagamento %1$s (%2$s) annullato." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MolliePayment.php:397 +#: src/Payment/MolliePayment.php:398 msgid "%1$s payment expired (%2$s) but not cancelled because of another pending payment (%3$s)." -msgstr "%1$s pagamento scaduto ((%2$s)) ma non annullato perché c’è un altro pagamento in sospeso ((%3$s))." +msgstr "Pagamento %1$s scaduto (%2$s) ma non annullato a causa di un altro pagamento in attesa (%3$s)." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID -#: src/Payment/MolliePayment.php:421 +#: src/Payment/MolliePayment.php:422 msgid "%1$s payment expired (%2$s)." -msgstr "%1$s pagamento scaduto ((%2$s))." +msgstr "Pagamento %1$s scaduto (%2$s)." #. translators: Placeholder 1: currency, placeholder 2: refunded amount, placeholder 3: optional refund reason, placeholder 4: payment ID, placeholder 5: refund ID -#: src/Payment/MolliePayment.php:497 +#: src/Payment/MolliePayment.php:502 msgid "Refunded %1$s%2$s%3$s - Payment: %4$s, Refund: %5$s" -msgstr "Rimborsato %1$s%2$s%3$s - Pagamento: %4$s, rimborso: %5$s" +msgstr "Rimborsato %1$s%2$s%3$s - Pagamento: %4$s, Rimborso: %5$s" #. translators: Placeholder 1: order number #: src/Payment/MollieSubscription.php:78 @@ -853,110 +955,126 @@ msgstr "Ordine %1$s" #: src/Payment/OrderItemsRefunder.php:121 msgid "One of the WooCommerce order items does not have the refund item ID meta value associated to Mollie Order item." -msgstr "Una delle voci dell’ordine WooCommerce non ha il meta valore della voce di rimborso associato alla voce dell’ordine Mollie." +msgstr "Uno degli articoli dell'ordine WooCommerce non ha il valore meta ID dell'elemento di rimborso associato all'articolo dell'ordine Mollie." #: src/Payment/OrderItemsRefunder.php:166 msgid "Impossible to retrieve the order item ID related to the remote item: %1$s. Try to do a refund by amount." -msgstr "Impossibile recuperare l’ID voce dell’ordine relativo alla voce remota: %1$s. Tentativo di rimborso in base all’importo." +msgstr "Impossibile recuperare l'ID dell'articolo dell'ordine relativo all'elemento remoto: %1$s. Prova a effettuare un rimborso per importo." #: src/Payment/OrderItemsRefunder.php:190 msgid "Empty WooCommerce order items or mollie order lines." -msgstr "Voci dell’ordine WooCommerce vuote o righe dell’ordine mollie vuote." +msgstr "Elementi dell'ordine WooCommerce vuoti o righe dell'ordine Mollie vuote." -#: src/Payment/OrderLines.php:509 +#: src/Payment/OrderLines.php:85 +msgid "Rounding difference" +msgstr "Differenza di arrotondamento" + +#: src/Payment/OrderLines.php:545 msgid "Shipping" msgstr "Spedizione" -#: src/Payment/PaymentModule.php:215 +#: src/Payment/PaymentModule.php:220 msgid "%1$s items refunded in WooCommerce and at Mollie." -msgstr "%1$s voci rimborsate in WooCommerce e su Mollie." +msgstr "%1$s articoli rimborsati in WooCommerce e in Mollie." -#: src/Payment/PaymentModule.php:233 +#: src/Payment/PaymentModule.php:238 msgid "%1$s items cancelled in WooCommerce and at Mollie." -msgstr "%1$s voci cancellate in WooCommerce e su Mollie." +msgstr "%1$s articoli annullati in WooCommerce e in Mollie." -#: src/Payment/PaymentModule.php:352 +#: src/Payment/PaymentModule.php:357 msgctxt "Order note info" msgid "Processing a payment, no capture needed" -msgstr "Elaborazione del pagamento in corso, non è necessaria l’acquisizione" +msgstr "Elaborando un pagamento, nessuna cattura necessaria" -#: src/Payment/PaymentModule.php:366 +#: src/Payment/PaymentModule.php:371 msgctxt "Order note info" msgid "Order already canceled at Mollie, can not be shipped/captured." -msgstr "Ordine già annullato su Mollie, non può essere spedito, acquisito." +msgstr "Ordine già annullato in Mollie, non può essere spedito/catturato." -#: src/Payment/PaymentModule.php:374 +#: src/Payment/PaymentModule.php:379 msgctxt "Order note info" msgid "Order already completed at Mollie, can not be shipped/captured." -msgstr "Ordine già completato su Mollie, non può essere spedito, acquisito." +msgstr "Ordine già completato in Mollie, non può essere spedito/catturato." -#: src/Payment/PaymentModule.php:383 +#: src/Payment/PaymentModule.php:388 msgctxt "Order note info" msgid "Order successfully updated to shipped at Mollie, capture of funds underway." -msgstr "Ordine già aggiornato in spedito su Mollie, acquisizione fondi in corso." +msgstr "Ordine aggiornato con successo in Mollie, cattura dei fondi in corso." -#: src/Payment/PaymentModule.php:389 +#: src/Payment/PaymentModule.php:394 msgctxt "Order note info" msgid "Order not paid or authorized at Mollie yet, can not be shipped." -msgstr "Ordine non ancora pagato o autorizzato su Mollie, non può essere spedito." +msgstr "L'ordine non ancora pagato o autorizzato in Mollie, non può essere spedito." -#: src/Payment/PaymentModule.php:423 +#: src/Payment/PaymentModule.php:428 msgctxt "Order note info" msgid "Order contains Mollie payment method, but not a valid Mollie Order ID. Canceling order failed." -msgstr "L’ordine contiene una modalità di pagamento Mollie, ma non un ID ordine Mollie. Annullamento dell’ordine non riuscito." +msgstr "L'ordine contiene un metodo di pagamento Mollie, ma non un ID ordine Mollie valido. Annullamento dell'ordine non è riuscito." -#: src/Payment/PaymentModule.php:444 +#: src/Payment/PaymentModule.php:449 msgctxt "Order note info" msgid "Order already canceled at Mollie, can not be canceled again." -msgstr "Ordine già annullato su Mollie, non può essere annullato di nuovo." +msgstr "L'ordine già annullato in Mollie, non può essere annullato nuovamente." -#: src/Payment/PaymentModule.php:454 +#: src/Payment/PaymentModule.php:459 msgctxt "Order note info" msgid "Order also cancelled at Mollie." -msgstr "L’ordine quindi è stato annullato su Mollie." +msgstr "Ordine annullato anche in Mollie." -#: src/Payment/PaymentModule.php:460 +#: src/Payment/PaymentModule.php:465 msgctxt "Order note info" msgid "Order could not be canceled at Mollie, because order status is " -msgstr "Non è stato possibile annullare l’ordine su Mollie, perché lo stato è " +msgstr "Non è stato possibile annullare l'ordine in Mollie, perché lo stato dell'ordine è " -#: src/Payment/PaymentService.php:622 +#: src/Payment/PaymentService.php:646 msgid "Subscription switch failed, no valid mandate found. Place a completely new order to change your subscription." -msgstr "Il cambio di abbonamento non è riuscito, non è stato trovato un mandato valido. Effettua un ordine completamente nuovo per modificare il tuo abbonamento." +msgstr "Cambio di abbonamento fallito, un mandato valido non è stato trovato. Effettua un nuovo ordine per cambiare il tuo abbonamento." -#: src/Payment/PaymentService.php:628 +#: src/Payment/PaymentService.php:652 msgid "Failed switching subscriptions, no valid mandate." -msgstr "Il cambio degli abbonamenti non è riuscito, nessun mandato valido." +msgstr "Cambio di abbonamento fallito, nessun mandato valido." -#: src/Payment/PaymentService.php:638 +#: src/Payment/PaymentService.php:662 msgid "Order completed internally because of an existing valid mandate at Mollie." -msgstr "Ordine completato internamente sulla base di un mandato valido su Mollie." +msgstr "Ordine completato internamente a causa di un mandato valido esistente presso Mollie." -#: src/Payment/PaymentService.php:779 +#: src/Payment/PaymentService.php:805 #: src/Subscription/MollieSepaRecurringGateway.php:126 #: src/Subscription/MollieSubscriptionGateway.php:449 msgid "Awaiting payment confirmation." msgstr "In attesa della conferma del pagamento." #. translators: Placeholder 1: Payment method title, placeholder 2: payment ID -#: src/Payment/PaymentService.php:799 +#: src/Payment/PaymentService.php:825 #: src/Subscription/MollieSepaRecurringGateway.php:135 #: src/Subscription/MollieSubscriptionGateway.php:456 msgid "%1$s payment started (%2$s)." -msgstr "%1$s pagamento avviato (%2$s)." +msgstr "Pagamento %1$s avviato (%2$s)." -#: src/Payment/PaymentService.php:869 +#: src/Payment/PaymentService.php:895 msgid "Payment failed due to: Mollie is out of service. Please try again later." -msgstr "" +msgstr "Pagamento non riuscito a causa di: Mollie è fuori servizio. Riprova più tardi." + +#: src/Payment/PaymentService.php:918 +msgid "Payment failed due to: The payment was declined due to suspected fraud." +msgstr "Pagamento non riuscito a causa di: Il pagamento è stato rifiutato per sospetta frode." #: src/Payment/RefundLineItemsBuilder.php:126 msgid "Mollie doesn't allow a partial refund of the full amount or quantity of at least one order line. Trying to process this as an amount refund instead." -msgstr "Mollie non consente il rimborso parziale dell'intero importo o della quantità di almeno una riga d'ordine. Tentativo di elaborazione dello stesso come rimborso dell’importo." +msgstr "Mollie non consente un rimborso parziale dell'importo totale o della quantità di almeno una riga dell'ordine. Si tenterà di elaborare questo come un rimborso dell'importo invece." + +#: src/PaymentMethods/Alma.php:13 +msgid "Alma" +msgstr "Alma" #: src/PaymentMethods/Applepay.php:14 msgid "To accept payments via Apple Pay" msgstr "Per accettare pagamenti tramite Apple Pay" +#: src/PaymentMethods/Bancomatpay.php:13 +msgid "Bancomat Pay" +msgstr "Bancomat Pay" + #: src/PaymentMethods/Bancontact.php:13 msgid "Bancontact" msgstr "Bancontact" @@ -966,28 +1084,28 @@ msgid "Bank Transfer" msgstr "Bonifico bancario" #: src/PaymentMethods/Banktransfer.php:54 -#: src/Settings/General/MollieGeneralSettings.php:252 +#: src/Settings/General/MollieGeneralSettings.php:281 msgid "Activate expiry time setting" -msgstr "Attiva l’impostazione dell’ora di scadenza" +msgstr "Attiva l'impostazione del tempo di scadenza" #: src/PaymentMethods/Banktransfer.php:55 -#: src/Settings/General/MollieGeneralSettings.php:253 +#: src/Settings/General/MollieGeneralSettings.php:282 msgid "Enable expiry time for payments" -msgstr "Abilita ora di scadenza per pagamenti" +msgstr "Abilita il tempo di scadenza per i pagamenti" #: src/PaymentMethods/Banktransfer.php:56 msgid "Enable this option if you want to be able to set the time after which the payment will expire. This will turn all transactions into payments instead of orders" -msgstr "Abilita questa opzione se desideri impostare l’ora dopo la quale il pagamento scadrà. Questa opzione trasformerà tutte le transazioni in pagamenti anziché ordini" +msgstr "Abilita questa opzione se desideri impostare il tempo dopo il quale il pagamento scadrà. Questo trasformerà tutte le transazioni in pagamenti anziché in ordini" #: src/PaymentMethods/Banktransfer.php:61 -#: src/Settings/General/MollieGeneralSettings.php:259 +#: src/Settings/General/MollieGeneralSettings.php:288 msgid "Expiry time" -msgstr "Ora di scadenza" +msgstr "Tempo di scadenza" #. translators: Placeholder 1: Default expiry days. #: src/PaymentMethods/Banktransfer.php:64 msgid "Number of DAYS after the payment will expire. Default %d days" -msgstr "Numero di GIORNI dopo il quale il pagamento scadrà. Giorni %d predefiniti" +msgstr "Numero di GIORNI dopo i quali il pagamento scadrà. Predefinito %d giorni" #: src/PaymentMethods/Banktransfer.php:73 msgid "Skip Mollie payment screen" @@ -995,11 +1113,11 @@ msgstr "Salta la schermata di pagamento Mollie" #: src/PaymentMethods/Banktransfer.php:74 msgid "Skip Mollie payment screen when Bank Transfer is selected" -msgstr "Salta la schermata di pagamento Mollie quando viene selezionato il bonifico bancario" +msgstr "Salta la schermata di pagamento Mollie quando Bonifico Bancario è selezionato" #: src/PaymentMethods/Banktransfer.php:75 msgid "Enable this option if you want to skip redirecting your user to the Mollie payment screen, instead this will redirect your user directly to the WooCommerce order received page displaying instructions how to complete the Bank Transfer payment." -msgstr "Attiva questa opzione se vuoi saltare il reindirizzamento dell'utente alla schermata di pagamento Mollie, invece questo reindirizzerà l'utente direttamente alla pagina di ricezione dell'ordine WooCommerce che mostra le istruzioni per completare il pagamento tramite bonifico bancario." +msgstr "Attiva questa opzione se non vuoi reindirizzare l'utente alla schermata di pagamento di Mollie, invece l'utente verrà reindirizzato direttamente alla pagina di ricezione dell'ordine di WooCommerce con le istruzioni per completare il pagamento tramite bonifico bancario." #: src/PaymentMethods/Belfius.php:13 msgid "Belfius Direct Net" @@ -1007,20 +1125,23 @@ msgstr "Belfius Direct Net" #: src/PaymentMethods/Billie.php:13 msgid "Billie" -msgstr "" +msgstr "Billie" #: src/PaymentMethods/Billie.php:14 -#, fuzzy msgid "To accept payments via Billie, all default WooCommerce checkout fields should be enabled and required." -msgstr "Per accettare pagamenti tramite Klarna, tutti i campi del checkout predefiniti WooCommerce dovrebbero essere abilitati e richiesti." +msgstr "Per accettare pagamenti tramite Billie, tutti i campi predefiniti del checkout di WooCommerce devono essere abilitati e obbligatori." #: src/PaymentMethods/Billie.php:29 msgid "Company field is empty. The company field is required." -msgstr "" +msgstr "Il campo Azienda è vuoto. Il campo Azienda è obbligatorio." #: src/PaymentMethods/Billie.php:33 msgid "Please enter your company name here." -msgstr "" +msgstr "Inserisci qui il nome della tua azienda." + +#: src/PaymentMethods/Blik.php:13 +msgid "BLIK" +msgstr "BLIK" #: src/PaymentMethods/Creditcard.php:16 msgid "Credit card" @@ -1028,66 +1149,65 @@ msgstr "Carta di credito" #: src/PaymentMethods/Creditcard.php:52 msgid "Enable Mollie Components" -msgstr "Abilita i componenti Mollie" +msgstr "Attiva Mollie Components" #: src/PaymentMethods/Creditcard.php:55 -#, fuzzy msgid "Use the Mollie Components for this Gateway. Read more about %s and how it improves your conversion." -msgstr "Utilizza i componenti Mollie per questo gateway. Scopri di più su %s e su come migliora la tua conversione." +msgstr "Utilizza i Mollie Components per questo gateway. Leggi di più su %s e come migliorano la tua conversione." -#: src/PaymentMethods/Creditcard.php:59 src/Settings/Page/Components.php:21 +#: src/PaymentMethods/Creditcard.php:59 +#: src/Settings/Page/Components.php:21 #: src/Settings/Page/MollieSettingsPage.php:733 msgid "Mollie Components" -msgstr "Componenti Mollie" +msgstr "Mollie Components" #: src/PaymentMethods/Creditcard.php:92 msgid "Customize Icons" -msgstr "Icone personalizzate" +msgstr "Personalizza le icone" #: src/PaymentMethods/Creditcard.php:99 msgid "Enable Icons Selector" -msgstr "Abilita selettore icone" +msgstr "Abilita il selettore delle icone" #: src/PaymentMethods/Creditcard.php:100 msgid "Show customized creditcard icons on checkout page" -msgstr "Mostra icone personalizzate delle carte di credito nella pagina di checkout" +msgstr "Mostra le icone delle carte di credito personalizzate nella pagina di checkout" #: src/PaymentMethods/Creditcard.php:108 msgid "Show American Express Icon" -msgstr "Mostra icona American Express" +msgstr "Mostra l'icona American Express" #: src/PaymentMethods/Creditcard.php:113 msgid "Show Carta Si Icon" -msgstr "Mostra icona Carta Si" +msgstr "Mostra l'icona Carta Si" #: src/PaymentMethods/Creditcard.php:118 msgid "Show Carte Bancaire Icon" -msgstr "Mostra icona Carte Bancaire" +msgstr "Mostra l'icona Carte Bancaire" #: src/PaymentMethods/Creditcard.php:123 msgid "Show Maestro Icon" -msgstr "Mostra icona Maestro" +msgstr "Mostra l'icona Maestro" #: src/PaymentMethods/Creditcard.php:128 msgid "Show Mastercard Icon" -msgstr "Mostra icona Mastercard" +msgstr "Mostra l'icona Mastercard" #: src/PaymentMethods/Creditcard.php:133 msgid "Show Visa Icon" -msgstr "Mostra icona Visa" +msgstr "Mostra l'icona Visa" #: src/PaymentMethods/Creditcard.php:138 msgid "Show VPay Icon" -msgstr "Mostra icona VPay" +msgstr "Mostra l'icona VPay" #: src/PaymentMethods/Directdebit.php:13 msgid "SEPA Direct Debit" msgstr "Addebito diretto SEPA" #: src/PaymentMethods/Directdebit.php:14 -#, fuzzy msgid "SEPA Direct Debit is used for recurring payments with WooCommerce Subscriptions, and will not be shown in the WooCommerce checkout for regular payments! You also need to enable iDEAL and/or other 'first' payment methods if you want to use SEPA Direct Debit." -msgstr "L'addebito diretto SEPA viene utilizzato per i pagamenti ricorrenti con gli abbonamenti WooCommerce e non verrà mostrato al checkout di WooCommerce per i pagamenti regolari! Devi anche autorizzare iDEAL o altri metodi di pagamento “primari” se vuoi utilizzare l’addebito diretto SEPA." +msgstr "L'addebito diretto SEPA viene utilizzato per i pagamenti ricorrenti con WooCommerce Subscriptions e non viene visualizzato nel checkout di WooCommerce per i pagamenti regolari! Se desideri utilizzare l'addebito diretto SEPA, è necessario attivare iDEAL e/o altri metodi di pagamento \"primi\"." #: src/PaymentMethods/Eps.php:13 msgid "EPS" @@ -1096,83 +1216,74 @@ msgstr "EPS" #: src/PaymentMethods/Giftcard.php:30 msgctxt "Placeholder 1: giftcard issuer, Placeholder 2: amount value, Placeholder 3: currency" msgid "Mollie - Giftcard details: %1$s %2$s %3$s." -msgstr "Mollie - Dettagli della giftcard: %1$s %2$s %3$s." +msgstr "Mollie - Dettagli Carta regalo: %1$s %2$s %3$s." #: src/PaymentMethods/Giftcard.php:42 msgctxt "Placeholder 1: remainder method, Placeholder 2: amount value, Placeholder 3: currency" msgid " Remainder: %1$s %2$s %3$s." -msgstr " Promemoria: %1$s %2$s %3$s." +msgstr " Resto: %1$s %2$s %3$s." #: src/PaymentMethods/Giftcard.php:60 msgid "Gift cards" msgstr "Carte regalo" -#: src/PaymentMethods/Giftcard.php:62 src/PaymentMethods/Giftcard.php:105 +#: src/PaymentMethods/Giftcard.php:62 +#: src/PaymentMethods/Giftcard.php:110 msgid "Select your gift card" -msgstr "Seleziona la tua carta regalo" +msgstr "Seleziona la carta regalo" -#: src/PaymentMethods/Giftcard.php:78 +#: src/PaymentMethods/Giftcard.php:83 msgid "Show gift cards dropdown" -msgstr "Mostra menu a tendina delle carte regalo" +msgstr "Mostra il menu a tendina delle carte regalo" -#: src/PaymentMethods/Giftcard.php:84 +#: src/PaymentMethods/Giftcard.php:89 msgid "If you disable this, a dropdown with various gift cards will not be shown in the WooCommerce checkout, so users will select a gift card on the Mollie payment page after checkout." -msgstr "Se si disabilita questo, un menu a tendina con varie carte regalo non verrà mostrato nel checkout di WooCommerce, così gli utenti selezioneranno una carta regalo nella pagina di pagamento di Mollie dopo il checkout." +msgstr "Se disabiliti questa opzione, il menu a tendina con le varie carte regalo non verrà mostrato nel checkout di WooCommerce, quindi gli utenti selezioneranno una carta regalo nella pagina di pagamento di Mollie dopo il checkout." -#: src/PaymentMethods/Giftcard.php:93 src/PaymentMethods/Ideal.php:46 -#: src/PaymentMethods/Kbc.php:48 +#: src/PaymentMethods/Giftcard.php:98 +#: src/PaymentMethods/Kbc.php:53 msgid "Issuers empty option" -msgstr "Opzione emittenti vuota" +msgstr "Opzione vuota per gli emittenti" -#: src/PaymentMethods/Giftcard.php:99 +#: src/PaymentMethods/Giftcard.php:104 msgid "This text will be displayed as the first option in the gift card dropdown, but only if the above 'Show gift cards dropdown' is enabled." -msgstr "Questo testo verrà visualizzato come prima opzione nel menu a tendina delle carte regalo, ma solo se è abilitato il menu a tendina 'Mostra carte regalo' di cui sopra." +msgstr "Questo testo verrà mostrato come prima opzione nel menu a tendina delle carte regalo, ma solo se il precedente \"Mostra menu a tendina delle carte regalo\" è abilitato." #: src/PaymentMethods/Giropay.php:13 msgid "Giropay" msgstr "Giropay" +#: src/PaymentMethods/Giropay.php:34 +msgid "%1$s Paydirekt, the owner of Giropay, has decided to deprecate Giropay. On Monday, 24 June 2024, Mollie was informed that Giropay would cease onboarding new merchants and processing new payments after 30 June 2024. No action is needed from your side. Mollie will automatically remove Giropay as a payment option from your Checkout by 30 June.\n" +"Subscription renewals and refunds will continue to be processed as usual beyond June 30. More details can be found in the %2$s Giropay Deprecation FAQ. %3$s" +msgstr "%1$s Paydirekt, proprietaria di Giropay, ha deciso di deprezzare Giropay. Lunedì 24 giugno 2024, Mollie è stata informata del fatto che Giropay avrebbe cessato l'inserimento di nuovi commercianti e l'elaborazione di nuovi pagamenti dopo il 30 giugno 2024. Non è necessaria alcuna azione da parte tua. Mollie rimuoverà automaticamente Giropay come opzione di pagamento dal tuo Checkout entro il 30 giugno.\n" +"I rinnovi e i rimborsi degli abbonamenti continueranno a essere elaborati come di consueto anche dopo il 30 giugno. Maggiori dettagli sono disponibili nelle FAQ sulla deprecazione di Giropay di %2$s. %3$s" + #: src/PaymentMethods/Ideal.php:15 msgid "iDEAL" msgstr "iDEAL" -#: src/PaymentMethods/Ideal.php:17 src/PaymentMethods/Ideal.php:55 -#: src/PaymentMethods/Kbc.php:16 -msgid "Select your bank" -msgstr "Seleziona la tua banca" - -#: src/PaymentMethods/Ideal.php:34 -msgid "Show iDEAL banks dropdown" -msgstr "Mostra il menu a tendina delle banche iDEAL" - -#: src/PaymentMethods/Ideal.php:37 -msgid "If you disable this, a dropdown with various iDEAL banks will not be shown in the WooCommerce checkout, so users will select a iDEAL bank on the Mollie payment page after checkout." -msgstr "Se si disabilita questo, un menu a tendina con varie banche iDEAL non verrà mostrato nel checkout di WooCommerce, così gli utenti selezioneranno una banca iDEAL nella pagina di pagamento di Mollie dopo il checkout." - -#: src/PaymentMethods/Ideal.php:49 -#, fuzzy -msgid "This text will be displayed as the first option in the iDEAL issuers drop down, if nothing is entered, 'Select your bank' will be shown. Only if the above 'Show iDEAL banks dropdown' is enabled." -msgstr "Questo testo verrà visualizzato come prima opzione nel menu a tendina degli emittenti iDEAL, se non viene inserito nulla, verrà mostrato 'Seleziona la tua banca'. Solo se è abilitata l'opzione ''Mostra il menu a tendina delle banche iDEAL'' di cui sopra." - #: src/PaymentMethods/In3.php:13 msgid "in3" msgstr "in3" #: src/PaymentMethods/In3.php:15 msgid "Pay in 3 instalments, 0% interest" -msgstr "Paga in 3 rate, 0% di interessi" - -#: src/PaymentMethods/In3.php:25 -msgid "Required field is empty. Phone and birthdate fields are required." -msgstr "" +msgstr "Pagamento in 3 rate, interessi allo 0%." -#: src/PaymentMethods/In3.php:29 -msgid "Please enter your phone here. +00.." -msgstr "" +#: src/PaymentMethods/In3.php:26 +msgid "Required field is empty or invalid. Phone (+316xxxxxxxx) and birthdate fields are required." +msgstr "Il campo richiesto è vuoto o non valido. I campi telefono (+316xxxxxxxx) e data di nascita sono obbligatori." #: src/PaymentMethods/In3.php:30 +#: src/PaymentMethods/Riverty.php:32 +msgid "Please enter your phone here. +316xxxxxxxx" +msgstr "Inserisci qui il tuo telefono. +316xxxxxxxx" + +#: src/PaymentMethods/In3.php:31 +#: src/PaymentMethods/Riverty.php:33 msgid "Please enter your birthdate here." -msgstr "" +msgstr "Inserisci qui la tua data di nascita." #. translators: Placeholder 1: PayPal consumer name, placeholder 2: PayPal email, placeholder 3: PayPal transaction ID #: src/PaymentMethods/InstructionStrategies/ApplepayInstructionStrategy.php:19 @@ -1187,7 +1298,7 @@ msgstr "Pagamento completato da %1$s (IBAN (ultime 4 cifre): %2 #: src/PaymentMethods/InstructionStrategies/BanktransferInstructionStrategy.php:37 msgid "Please complete your payment by transferring the total amount to the following bank account:" -msgstr "Si prega di completare il pagamento trasferendo l'importo totale sul seguente conto bancario:" +msgstr "Per favore completa il pagamento trasferendo l'importo totale al seguente conto corrente bancario:" #. translators: Placeholder 1: 'Stichting Mollie Payments' #: src/PaymentMethods/InstructionStrategies/BanktransferInstructionStrategy.php:41 @@ -1207,12 +1318,12 @@ msgstr "BIC: %s" #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216 (SEPA) or +++513/7587/59959+++ (Belgium) #: src/PaymentMethods/InstructionStrategies/BanktransferInstructionStrategy.php:49 msgid "Payment reference: %s" -msgstr "Riferimento del pagamento: %s" +msgstr "Riferimento pagamento: %s" #. translators: Placeholder 1: Payment reference e.g. RF49-0000-4716-6216 (SEPA) or +++513/7587/59959+++ (Belgium) #: src/PaymentMethods/InstructionStrategies/BanktransferInstructionStrategy.php:52 msgid "Please provide the payment reference %s" -msgstr "Ti preghiamo di fornire il riferimento del pagamento %s" +msgstr "Per favore fornisci il riferimento del pagamento %s" #. translators: Placeholder 1: Payment expiry date #: src/PaymentMethods/InstructionStrategies/BanktransferInstructionStrategy.php:62 @@ -1222,7 +1333,7 @@ msgstr "Il pagamento scadrà il %s." #. translators: Placeholder 1: Payment expiry date #: src/PaymentMethods/InstructionStrategies/BanktransferInstructionStrategy.php:68 msgid "The payment will expire on %s. Please make sure you transfer the total amount before this date." -msgstr "Il pagamento scadrà il %s. Assicurati di effettuare il bonifico per l’importo totale prima di questa data." +msgstr "Il pagamento scadrà il %s. Assicurati di trasferire l'importo totale prima di questa data." #. translators: Placeholder 1: card holder #: src/PaymentMethods/InstructionStrategies/CreditcardInstructionStrategy.php:19 @@ -1231,11 +1342,11 @@ msgstr "Pagamento completato da %s" #: src/PaymentMethods/InstructionStrategies/DefaultInstructionStrategy.php:19 msgid "We have not received a definite payment status." -msgstr "Non abbiamo ricevuto uno stato del pagamento definito." +msgstr "Non abbiamo ricevuto uno stato di pagamento definitivo." #: src/PaymentMethods/InstructionStrategies/DefaultInstructionStrategy.php:25 msgid "We have not received a definite payment status. You will receive an email as soon as we receive a confirmation of the bank/merchant." -msgstr "Non abbiamo ricevuto uno stato del pagamento definito. Riceverai un'e-mail non appena riceveremo una conferma della banca/dell’operatore commerciale." +msgstr "Non abbiamo ricevuto uno stato di pagamento definitivo. Riceverai un'e-mail non appena riceveremo la conferma della banca/commerciante." #. translators: Placeholder 1: payment method #: src/PaymentMethods/InstructionStrategies/DefaultInstructionStrategy.php:33 @@ -1256,35 +1367,45 @@ msgstr "Pagamento completato da %s." msgid "KBC/CBC Payment Button" msgstr "Pulsante di pagamento KBC/CBC" -#: src/PaymentMethods/Kbc.php:33 +#: src/PaymentMethods/Kbc.php:16 +#: src/PaymentMethods/Kbc.php:65 +msgid "Select your bank" +msgstr "Seleziona la tua banca" + +#: src/PaymentMethods/Kbc.php:38 msgid "Show KBC/CBC banks dropdown" msgstr "Mostra il menu a tendina delle banche KBC/CBC" -#: src/PaymentMethods/Kbc.php:39 +#: src/PaymentMethods/Kbc.php:44 msgid "If you disable this, a dropdown with various KBC/CBC banks will not be shown in the WooCommerce checkout, so users will select a KBC/CBC bank on the Mollie payment page after checkout." -msgstr "Se si disabilita questo, un menu a tendina con varie banche KBC/CBC non verrà mostrato nel checkout di WooCommerce, così gli utenti selezioneranno una banca KBC/CBC nella pagina di pagamento di Mollie dopo il checkout." +msgstr "Se disattivi questa opzione, il menu a tendina con le varie banche KBC/CBC non verrà visualizzato nel checkout di WooCommerce, quindi gli utenti selezioneranno una banca KBC/CBC nella pagina di pagamento di Mollie dopo il checkout." + +#: src/PaymentMethods/Kbc.php:59 +msgid "This text will be displayed as the first option in the KBC/CBC issuers drop down, if nothing is entered, 'Select your bank' will be shown. Only if the above 'Show KBC/CBC banks dropdown' is enabled." +msgstr "Questo testo verrà mostrato come prima opzione nella tendina degli emittenti KBC/CBC; se non viene inserito nulla, \"Seleziona la tua banca\" verrà mostrato. Solo se il precedente \"Mostra menu a tendina delle banche KBC/CBC\" è abilitato." #: src/PaymentMethods/Klarna.php:13 msgid "Pay with Klarna" -msgstr "Paga in 3 rate senza interessi" +msgstr "Paga con Klarna" -#: src/PaymentMethods/Klarna.php:14 src/PaymentMethods/Klarnapaylater.php:14 +#: src/PaymentMethods/Klarna.php:14 +#: src/PaymentMethods/Klarnapaylater.php:14 #: src/PaymentMethods/Klarnapaynow.php:14 #: src/PaymentMethods/Klarnasliceit.php:14 msgid "To accept payments via Klarna, all default WooCommerce checkout fields should be enabled and required." -msgstr "Per accettare pagamenti tramite Klarna, tutti i campi del checkout predefiniti WooCommerce dovrebbero essere abilitati e richiesti." +msgstr "Per accettare pagamenti tramite Klarna, tutti i campi predefiniti del checkout di WooCommerce devono essere abilitati e richiesti." #: src/PaymentMethods/Klarnapaylater.php:13 msgid "Klarna Pay later" -msgstr "Klarna Pay later" +msgstr "Klarna: Pay Later" #: src/PaymentMethods/Klarnapaynow.php:13 msgid "Klarna Pay Now" -msgstr "Klarna Pay Now" +msgstr "Klarna: Pay Now" #: src/PaymentMethods/Klarnasliceit.php:13 msgid "Klarna Slice it" -msgstr "Klarna Slice it" +msgstr "Klarna: Slice it" #: src/PaymentMethods/Mybank.php:13 msgid "MyBank" @@ -1294,14 +1415,23 @@ msgstr "MyBank" msgid "To accept payments via MyBank" msgstr "Per accettare pagamenti tramite MyBank" +#: src/PaymentMethods/Payconiq.php:13 +msgid "payconiq" +msgstr "payconiq" + #. translators: Placeholder 1: Lock icon. Placeholder 2: Mollie logo. #: src/PaymentMethods/PaymentFieldsStrategies/CreditcardFieldsStrategy.php:25 msgid "%1$s Secure payments provided by %2$s" -msgstr "%1$s Pagamenti sicuri messi a disposizione da %2$s" +msgstr "%1$s Pagamenti sicuri forniti da %2$s" #: src/PaymentMethods/PaymentFieldsStrategies/CreditcardFieldsStrategy.php:43 msgid "Secure payments provided by" -msgstr "Pagamenti sicuri messi a disposizione da" +msgstr "Pagamenti sicuri forniti da" + +#: src/PaymentMethods/PaymentFieldsStrategies/In3FieldsStrategy.php:53 +#: src/PaymentMethods/PaymentFieldsStrategies/RivertyFieldsStrategy.php:53 +msgid "Birthdate" +msgstr "Data di nascita" #: src/PaymentMethods/Paypal.php:13 msgid "PayPal" @@ -1309,82 +1439,82 @@ msgstr "PayPal" #: src/PaymentMethods/Paypal.php:33 msgid "Display on cart page" -msgstr "Visualizza nella pagina del carrello" +msgstr "Mostra nella pagina del carrello" #: src/PaymentMethods/Paypal.php:37 msgid "Enable the PayPal button to be used in the cart page." -msgstr "Abilita il pulsante PayPal per l’uso nella pagina del carrello." +msgstr "Abilita il pulsante PayPal da utilizzare nella pagina del carrello." #: src/PaymentMethods/Paypal.php:45 msgid "Display on product page" -msgstr "Visualizza nella pagina del prodotto" +msgstr "Mostra sulla pagina del prodotto" #: src/PaymentMethods/Paypal.php:49 msgid "Enable the PayPal button to be used in the product page." -msgstr "Abilita il pulsante PayPal per l’uso nella pagina del prodotto." +msgstr "Abilita il pulsante PayPal da utilizzare nella pagina del prodotto." #: src/PaymentMethods/Paypal.php:58 msgctxt "Mollie PayPal Button Settings" msgid "Button text language and color" -msgstr "Lingua del testo del pulsante e colore" +msgstr "Lingua e colore del testo del pulsante" #: src/PaymentMethods/Paypal.php:59 msgctxt "Mollie PayPal Button Settings" msgid "Select the text and the colour of the button." -msgstr "Selezionare il testo e il colore del pulsante." +msgstr "Seleziona il testo e il colore del pulsante." #: src/PaymentMethods/Paypal.php:69 msgid "Minimum amount to display button" -msgstr "Importo minimo per la visualizzazione del pulsante" +msgstr "Importo minimo per mostrare il pulsante" #: src/PaymentMethods/Paypal.php:73 msgid "If the product or the cart total amount is under this number, then the button will not show up." -msgstr "Se il prodotto o l’importo totale del carrello è inferiore a questo numero, il pulsante non apparirà." +msgstr "Se il prodotto o il totale del carrello è inferiore a questo numero, il pulsante non verrà mostrato." #: src/PaymentMethods/Paypal.php:88 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Pill blue" -msgstr "Inglese -- Acquisto con PayPal - Pillola colore blu" +msgstr "Inglese -- Acquista con PayPal - Pillola blu" #: src/PaymentMethods/Paypal.php:89 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Rounded blue" -msgstr "Inglese -- Acquisto con PayPal - Blu arrotondato" +msgstr "Inglese -- Acquista con PayPal - Blu arrotondato" #: src/PaymentMethods/Paypal.php:90 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Pill golden" -msgstr "Inglese -- Acquisto con PayPal - Pillola color oro" +msgstr "Inglese -- Acquista con PayPal - Pillola d'oro" #: src/PaymentMethods/Paypal.php:91 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Rounded golden" -msgstr "Inglese -- Acquisto con PayPal - Oro arrotondato" +msgstr "Inglese -- Acquista con PayPal - Oro arrotondato" #: src/PaymentMethods/Paypal.php:92 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Pill gray" -msgstr "Inglese -- Acquisto con PayPal - Pillola colore grigio" +msgstr "Inglese -- Acquista con PayPal - Pillola grigia" #: src/PaymentMethods/Paypal.php:93 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Rounded gray" -msgstr "Inglese -- Acquisto con PayPal - Grigio arrotondato" +msgstr "Inglese -- Acquista con PayPal - Grigio arrotondato" #: src/PaymentMethods/Paypal.php:94 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Pill white" -msgstr "Inglese -- Acquisto con PayPal - Pillola colore bianco" +msgstr "Inglese -- Acquista con PayPal - Pillola bianca" #: src/PaymentMethods/Paypal.php:95 msgctxt "Mollie PayPal button Settings" msgid "English -- Buy with PayPal - Rounded white" -msgstr "Inglese -- Acquisto con PayPal - Bianco arrotondato" +msgstr "Inglese -- Acquista con PayPal - Bianco arrotondato" #: src/PaymentMethods/Paypal.php:96 msgctxt "Mollie PayPal button Settings" msgid "English -- Checkout with PayPal - Pill black" -msgstr "Inglese -- Checkout con PayPal - Pillola colore nero" +msgstr "Inglese -- Checkout con PayPal - Pillola nera" #: src/PaymentMethods/Paypal.php:97 msgctxt "Mollie PayPal button Settings" @@ -1394,17 +1524,17 @@ msgstr "Inglese -- Checkout con PayPal - Nero arrotondato" #: src/PaymentMethods/Paypal.php:98 msgctxt "Mollie PayPal button Settings" msgid "English -- Checkout with PayPal - Pill blue" -msgstr "Inglese -- Checkout con PayPal - Pillola colore blu" +msgstr "Inglese -- Checkout con PayPal - Pillola blu" #: src/PaymentMethods/Paypal.php:99 msgctxt "Mollie PayPal button Settings" msgid "English -- Checkout with PayPal - Rounded blue" -msgstr "Inglese -- Checkout con PayPal - Blu arrotondato" +msgstr "Inglese -- Pagamento con PayPal - Blu arrotondato" #: src/PaymentMethods/Paypal.php:100 msgctxt "Mollie PayPal button Settings" msgid "English -- Checkout with PayPal - Pill golden" -msgstr "Inglese -- Checkout con PayPal - Pillola color oro" +msgstr "Inglese -- Checkout con PayPal - Pillola d'oro" #: src/PaymentMethods/Paypal.php:101 msgctxt "Mollie PayPal button Settings" @@ -1414,7 +1544,7 @@ msgstr "Inglese -- Checkout con PayPal - Oro arrotondato" #: src/PaymentMethods/Paypal.php:102 msgctxt "Mollie PayPal button Settings" msgid "English -- Checkout with PayPal - Pill gray" -msgstr "Inglese -- Checkout con PayPal - Pillola colore grigio" +msgstr "Inglese -- Checkout con PayPal - Pillola grigia" #: src/PaymentMethods/Paypal.php:103 msgctxt "Mollie PayPal button Settings" @@ -1424,7 +1554,7 @@ msgstr "Inglese -- Checkout con PayPal - Grigio arrotondato" #: src/PaymentMethods/Paypal.php:104 msgctxt "Mollie PayPal button Settings" msgid "English -- Checkout with PayPal - Pill white" -msgstr "Inglese -- Checkout con PayPal - Pillola colore bianco" +msgstr "Inglese -- Checkout con PayPal - Pillola nera" #: src/PaymentMethods/Paypal.php:105 msgctxt "Mollie PayPal button Settings" @@ -1434,57 +1564,57 @@ msgstr "Inglese -- Checkout con PayPal - Bianco arrotondato" #: src/PaymentMethods/Paypal.php:106 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Pill black" -msgstr "Olandese -- Acquisto con PayPal - Pillola colore nero" +msgstr "Olandese -- Acquista con PayPal - Pillola nera" #: src/PaymentMethods/Paypal.php:107 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Rounded black" -msgstr "Olandese -- Acquisto con PayPal - Nero arrotondato" +msgstr "Olandese -- Acquista con PayPal - Nero arrotondato" #: src/PaymentMethods/Paypal.php:108 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Pill blue" -msgstr "Olandese -- Acquisto con PayPal - Pillola colore blu" +msgstr "Olandese -- Acquista con PayPal - Pillola blu" #: src/PaymentMethods/Paypal.php:109 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Rounded blue" -msgstr "Olandese -- Acquisto con PayPal - Blu arrotondato" +msgstr "Olandese -- Acquista con PayPal - Blu arrotondato" #: src/PaymentMethods/Paypal.php:110 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Pill golden" -msgstr "Olandese -- Acquisto con PayPal - Pillola color oro" +msgstr "Olandese -- Acquista con PayPal - Pillola d'oro" #: src/PaymentMethods/Paypal.php:111 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Rounded golden" -msgstr "Olandese -- Acquisto con PayPal - Oro arrotondato" +msgstr "Olandese -- Acquista con PayPal - Oro arrotondato" #: src/PaymentMethods/Paypal.php:112 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Pill gray" -msgstr "Olandese -- Acquisto con PayPal - Pillola colore grigio" +msgstr "Olandese -- Acquista con PayPal - Pillola grigia" #: src/PaymentMethods/Paypal.php:113 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Rounded gray" -msgstr "Olandese -- Acquisto con PayPal - Grigio arrotondato" +msgstr "Olandese -- Acquista con PayPal - Grigio arrotondato" #: src/PaymentMethods/Paypal.php:114 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Pill white" -msgstr "Olandese -- Acquisto con PayPal - Pillola colore bianco" +msgstr "Olandese -- Acquista con PayPal - Pillola bianca" #: src/PaymentMethods/Paypal.php:115 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Buy with PayPal - Rounded white" -msgstr "Olandese -- Acquisto con PayPal - Bianco arrotondato" +msgstr "Olandese -- Acquista con PayPal - Bianco arrotondato" #: src/PaymentMethods/Paypal.php:116 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Checkout with PayPal - Pill black" -msgstr "Olandese -- Checkout con PayPal - Pillola colore nero" +msgstr "Olandese -- Checkout con PayPal - Pillola nera" #: src/PaymentMethods/Paypal.php:117 msgctxt "Mollie PayPal button Settings" @@ -1494,7 +1624,7 @@ msgstr "Olandese -- Checkout con PayPal - Nero arrotondato" #: src/PaymentMethods/Paypal.php:118 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Checkout with PayPal - Pill blue" -msgstr "Olandese -- Checkout con PayPal - Pillola colore blu" +msgstr "Olandese -- Checkout con PayPal - Pillola blu" #: src/PaymentMethods/Paypal.php:119 msgctxt "Mollie PayPal button Settings" @@ -1504,7 +1634,7 @@ msgstr "Olandese -- Checkout con PayPal - Blu arrotondato" #: src/PaymentMethods/Paypal.php:120 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Checkout with PayPal - Pill golden" -msgstr "Olandese -- Checkout con PayPal - Pillola color oro" +msgstr "Olandese -- Checkout con PayPal - Pillola d'oro" #: src/PaymentMethods/Paypal.php:121 msgctxt "Mollie PayPal button Settings" @@ -1514,7 +1644,7 @@ msgstr "Olandese -- Checkout con PayPal - Oro arrotondato" #: src/PaymentMethods/Paypal.php:122 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Checkout with PayPal - Pill gray" -msgstr "Olandese -- Checkout con PayPal - Pillola colore grigio" +msgstr "Olandese -- Checkout con PayPal - Pillola grigia" #: src/PaymentMethods/Paypal.php:123 msgctxt "Mollie PayPal button Settings" @@ -1524,7 +1654,7 @@ msgstr "Olandese -- Checkout con PayPal - Grigio arrotondato" #: src/PaymentMethods/Paypal.php:124 msgctxt "Mollie PayPal button Settings" msgid "Dutch -- Checkout with PayPal - Pill white" -msgstr "Olandese -- Checkout con PayPal - Pillola colore bianco" +msgstr "Olandese -- Checkout con PayPal - Pillola bianca" #: src/PaymentMethods/Paypal.php:125 msgctxt "Mollie PayPal button Settings" @@ -1534,57 +1664,57 @@ msgstr "Olandese -- Checkout con PayPal - Bianco arrotondato" #: src/PaymentMethods/Paypal.php:126 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Pill black" -msgstr "Tedesco -- Acquisto con PayPal - Pillola colore nero" +msgstr "Tedesco -- Acquista con PayPal - Pillola nera" #: src/PaymentMethods/Paypal.php:127 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Rounded black" -msgstr "Tedesco -- Acquisto con PayPal - Nero arrotondato" +msgstr "Tedesco -- Acquista con PayPal - Nero arrotondato" #: src/PaymentMethods/Paypal.php:128 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Pill blue" -msgstr "Tedesco -- Acquisto con PayPal - Pillola colore blu" +msgstr "Tedesco -- Acquista con PayPal - Pillola blu" #: src/PaymentMethods/Paypal.php:129 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Rounded blue" -msgstr "Tedesco -- Acquisto con PayPal - Blu arrotondato" +msgstr "Tedesco -- Acquista con PayPal - Blu arrotondato" #: src/PaymentMethods/Paypal.php:130 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Pill golden" -msgstr "Tedesco -- Acquisto con PayPal - Pillola color oro" +msgstr "Tedesco -- Acquista con PayPal - Pillola d'oro" #: src/PaymentMethods/Paypal.php:131 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Rounded golden" -msgstr "Tedesco -- Acquisto con PayPal - Arrotondato dorato" +msgstr "Tedesco -- Acquista con PayPal - Oro arrotondato" #: src/PaymentMethods/Paypal.php:132 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Pill gray" -msgstr "Tedesco -- Acquisto con PayPal - Pillola colore grigio" +msgstr "Tedesco -- Acquista con PayPal - Pillola grigia" #: src/PaymentMethods/Paypal.php:133 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Rounded gray" -msgstr "Tedesco -- Acquisto con PayPal - Grigio arrotondato" +msgstr "Tedesco -- Acquista con PayPal - Grigio arrotondato" #: src/PaymentMethods/Paypal.php:134 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Pill white" -msgstr "Tedesco -- Acquisto con PayPal - Pillola colore bianco" +msgstr "Tedesco -- Acquista con PayPal - Pillola bianca" #: src/PaymentMethods/Paypal.php:135 msgctxt "Mollie PayPal button Settings" msgid "German -- Buy with PayPal - Rounded white" -msgstr "Tedesco -- Acquisto con PayPal - Bianco arrotondato" +msgstr "Tedesco -- Acquista con PayPal - Bianco arrotondato" #: src/PaymentMethods/Paypal.php:136 msgctxt "Mollie PayPal button Settings" msgid "German -- Checkout with PayPal - Pill black" -msgstr "Tedesco -- Checkout con PayPal - Pillola colore nero" +msgstr "Tedesco -- Checkout con PayPal - Pillola nera" #: src/PaymentMethods/Paypal.php:137 msgctxt "Mollie PayPal button Settings" @@ -1594,7 +1724,7 @@ msgstr "Tedesco -- Checkout con PayPal - Nero arrotondato" #: src/PaymentMethods/Paypal.php:138 msgctxt "Mollie PayPal button Settings" msgid "German -- Checkout with PayPal - Pill blue" -msgstr "Tedesco -- Checkout con PayPal - Pillola colore blu" +msgstr "Tedesco -- Checkout con PayPal - Pillola blu" #: src/PaymentMethods/Paypal.php:139 msgctxt "Mollie PayPal button Settings" @@ -1604,7 +1734,7 @@ msgstr "Tedesco -- Checkout con PayPal - Blu arrotondato" #: src/PaymentMethods/Paypal.php:140 msgctxt "Mollie PayPal button Settings" msgid "German -- Checkout with PayPal - Pill golden" -msgstr "Tedesco -- Checkout con PayPal - Pillola color oro" +msgstr "Tedesco -- Checkout con PayPal - Pillola d'oro" #: src/PaymentMethods/Paypal.php:141 msgctxt "Mollie PayPal button Settings" @@ -1614,7 +1744,7 @@ msgstr "Tedesco -- Checkout con PayPal - Oro arrotondato" #: src/PaymentMethods/Paypal.php:142 msgctxt "Mollie PayPal button Settings" msgid "German -- Checkout with PayPal - Pill gray" -msgstr "Tedesco -- Checkout con PayPal - Pillola colore grigio" +msgstr "Tedesco -- Checkout con PayPal - Pillola grigia" #: src/PaymentMethods/Paypal.php:143 msgctxt "Mollie PayPal button Settings" @@ -1624,7 +1754,7 @@ msgstr "Tedesco -- Checkout con PayPal - Grigio arrotondato" #: src/PaymentMethods/Paypal.php:144 msgctxt "Mollie PayPal button Settings" msgid "German -- Checkout with PayPal - Pill white" -msgstr "Tedesco -- Checkout con PayPal - Pillola colore bianco" +msgstr "Tedesco -- Checkout con PayPal - Pillola bianca" #: src/PaymentMethods/Paypal.php:145 msgctxt "Mollie PayPal button Settings" @@ -1634,7 +1764,7 @@ msgstr "Tedesco -- Checkout con PayPal - Bianco arrotondato" #: src/PaymentMethods/Paypal.php:146 msgctxt "Mollie PayPal button Settings" msgid "French -- Buy with PayPal - Gold" -msgstr "Francese -- Acquisto con PayPal - Oro" +msgstr "Francese -- Acquista con PayPal - Oro" #: src/PaymentMethods/Paypal.php:147 msgctxt "Mollie PayPal button Settings" @@ -1649,7 +1779,7 @@ msgstr "Francese -- Checkout con PayPal - Argento" #: src/PaymentMethods/Paypal.php:149 msgctxt "Mollie PayPal button Settings" msgid "Polish -- Buy with PayPal - Gold" -msgstr "Polacco -- Acquisto con PayPal - Oro" +msgstr "Polacco -- Acquista con PayPal - Oro" #: src/PaymentMethods/Paypal.php:150 msgctxt "Mollie PayPal button Settings" @@ -1671,15 +1801,31 @@ msgstr "Przelewy24" #: src/PaymentMethods/Przelewy24.php:14 msgid "To accept payments via Przelewy24, a customer email is required for every payment." -msgstr "Per accettare pagamenti tramite Przelewy24, è richiesta un’email del cliente per ciascun pagamento." +msgstr "Per accettare i pagamenti tramite Przelewy24, è necessaria un'e-mail del cliente per ogni pagamento." + +#: src/PaymentMethods/Riverty.php:15 +msgid "Riverty" +msgstr "Riverty" + +#: src/PaymentMethods/Riverty.php:16 +msgid "To accept payments via Riverty, all default WooCommerce checkout fields should be enabled and required." +msgstr "Per accettare pagamenti tramite Riverty, tutti i campi predefiniti del checkout di WooCommerce devono essere abilitati e obbligatori." #: src/PaymentMethods/Sofort.php:13 msgid "SOFORT Banking" msgstr "SOFORT Banking" +#: src/PaymentMethods/Trustly.php:13 +msgid "Trustly" +msgstr "Trustly" + +#: src/PaymentMethods/Twint.php:13 +msgid "Twint" +msgstr "Twint" + #: src/PaymentMethods/Voucher.php:34 msgid "Voucher" -msgstr "Voucher" +msgstr "Buono" #: src/PaymentMethods/Voucher.php:56 msgid "No category" @@ -1688,175 +1834,170 @@ msgstr "Nessuna categoria" #. translators: Placeholder 1: Default order status, placeholder 2: Link to 'Hold Stock' setting #: src/PaymentMethods/Voucher.php:63 msgid "In order to process it, all products in the order must have a category. This selector will assign the default category for the shop products" -msgstr "Per procedere all’elaborazione, tutti i prodotti nell’ordine devono avere una categoria. Il selezionatore assegnerà una categoria predefinita per i prodotti del negozio" +msgstr "Per elaborarlo, tutti i prodotti nell'ordine devono avere una categoria. Questo selettore assegnerà la categoria predefinita per i prodotti del negozio" #: src/SDK/Api.php:47 msgid "No API key provided. Please set your Mollie API keys below." -msgstr "Nessuna chiave API fornita. Ti preghiamo di impostare le tue chiavi API Mollie di seguito." +msgstr "Non è stata fornita una chiave API. Imposta le chiavi API Mollie di seguito." #: src/SDK/Api.php:49 msgid "Invalid API key(s). Get them on the %1$sDevelopers page in the Mollie dashboard%2$s. The API key(s) must start with 'live_' or 'test_', be at least 30 characters and must not contain any special characters." -msgstr "Chiave/i API non valida/e. Acquisiscile sulla %1$spagina degli sviluppatori nella dashboard Mollie%2$s. La chiave o le chiavi API devono iniziare con 'live_' o 'test_', essere di almeno 30 caratteri e non devono contenere caratteri speciali." +msgstr "Chiave API non valida. Puoi ottenerla sulla pagina %1$sDevelopers nella Mollie Dashboard%2$s. Le chiavi API devono iniziare con \"live_\" o \"test_\", essere composte da almeno 30 caratteri e non devono contenere caratteri speciali." #. translators: Placeholder 1: Gateway title #: src/Settings/General/MollieGeneralSettings.php:35 msgid "%s display settings" -msgstr "%s dei paesi di vendita" +msgstr "Impostazioni di visualizzazione %s" -#: src/Settings/General/MollieGeneralSettings.php:55 +#: src/Settings/General/MollieGeneralSettings.php:41 msgid "Use API dynamic title and gateway logo" -msgstr "" +msgstr "Usa il titolo dinamico dell'API e il logo del gateway" -#: src/Settings/General/MollieGeneralSettings.php:60 +#: src/Settings/General/MollieGeneralSettings.php:46 msgid "Retrieve the gateway title and logo from the Mollie API" -msgstr "" +msgstr "Recupera il titolo e il logo del gateway dall'API di Mollie" -#: src/Settings/General/MollieGeneralSettings.php:83 +#: src/Settings/General/MollieGeneralSettings.php:69 msgid "Display logo on checkout page. Default enabled" -msgstr "Mostra logo sulla pagina del checkout. Predefinito abilitato" - -#: src/Settings/General/MollieGeneralSettings.php:91 -msgid "Sales countries" -msgstr "Impostazioni di visualizzazione" - -#: src/Settings/General/MollieGeneralSettings.php:98 -#: src/Settings/Settings.php:188 -msgid "Sell to specific countries" -msgstr "Effettua la vendita in paesi specifici" - -#. translators: Placeholder 1: Gateway title -#: src/Settings/General/MollieGeneralSettings.php:111 -msgid "%s custom logo" -msgstr "%s logo personalizzato" +msgstr "Mostra il logo nella pagina di checkout. Predefinito abilitato" -#: src/Settings/General/MollieGeneralSettings.php:117 +#: src/Settings/General/MollieGeneralSettings.php:76 msgid "Enable custom logo" msgstr "Abilita logo personalizzato" -#: src/Settings/General/MollieGeneralSettings.php:123 +#: src/Settings/General/MollieGeneralSettings.php:82 msgid "Enable the feature to add a custom logo for this gateway. This feature will have precedence over other logo options." -msgstr "Abilita questa caratteristica per aggiungere un logo personalizzato per questo gateway. Questa caratteristica avrà precedenza rispetto alle altre opzioni per il logo." +msgstr "Abilita la funzione per aggiungere un logo personalizzato per questo gateway. Questa funzione avrà la precedenza sulle altre opzioni di logo." -#: src/Settings/General/MollieGeneralSettings.php:129 +#: src/Settings/General/MollieGeneralSettings.php:88 msgid "Upload custom logo" -msgstr "Carica logo personalizzato" +msgstr "Carica un logo personalizzato" -#: src/Settings/General/MollieGeneralSettings.php:137 +#: src/Settings/General/MollieGeneralSettings.php:96 msgid "Upload a custom icon for this gateway. The feature must be enabled." -msgstr "Carica un’icona personalizzata per questo gateway. Questa caratteristica deve essere abilitata." +msgstr "Carica un'icona personalizzata per questo gateway. La funzione deve essere abilitata." + +#: src/Settings/General/MollieGeneralSettings.php:119 +msgid "Sales countries" +msgstr "Paesi di vendita" + +#: src/Settings/General/MollieGeneralSettings.php:126 +#: src/Settings/Settings.php:188 +msgid "Sell to specific countries" +msgstr "Vendi a paesi specifici" #. translators: Placeholder 1: Gateway title -#: src/Settings/General/MollieGeneralSettings.php:148 +#: src/Settings/General/MollieGeneralSettings.php:139 msgid "%s surcharge" -msgstr "%s supplemento" +msgstr "Sovrapprezzo %s" -#: src/Settings/General/MollieGeneralSettings.php:154 +#: src/Settings/General/MollieGeneralSettings.php:145 msgid "Payment Surcharge" -msgstr "Supplemento per il pagamento" +msgstr "Sovrapprezzo" -#: src/Settings/General/MollieGeneralSettings.php:160 +#: src/Settings/General/MollieGeneralSettings.php:151 msgid "No fee" -msgstr "Nessuna tariffa" +msgstr "Nessuna commissione" -#: src/Settings/General/MollieGeneralSettings.php:164 +#: src/Settings/General/MollieGeneralSettings.php:155 msgid "Fixed fee" -msgstr "Tariffa fissa" +msgstr "Commissione fissa" -#: src/Settings/General/MollieGeneralSettings.php:168 +#: src/Settings/General/MollieGeneralSettings.php:159 msgid "Percentage" msgstr "Percentuale" -#: src/Settings/General/MollieGeneralSettings.php:172 +#: src/Settings/General/MollieGeneralSettings.php:163 msgid "Fixed fee and percentage" -msgstr "Tariffa e percentuale fissa" +msgstr "Commissione fissa e percentuale" -#: src/Settings/General/MollieGeneralSettings.php:178 +#: src/Settings/General/MollieGeneralSettings.php:169 msgid "Choose a payment surcharge for this gateway" -msgstr "Scegli un supplemento per il pagamento per questo gateway" +msgstr "Scegli un sovrapprezzo per questo gateway" #. translators: Placeholder 1: currency -#: src/Settings/General/MollieGeneralSettings.php:187 +#: src/Settings/General/MollieGeneralSettings.php:178 msgid "Payment surcharge fixed amount in %s" -msgstr "Importo fisso del supplemento per il pagamento in %s" +msgstr "Sovrapprezzo importo fisso in %s" -#: src/Settings/General/MollieGeneralSettings.php:192 +#: src/Settings/General/MollieGeneralSettings.php:183 msgid "Control the fee added on checkout. Default 0.00" -msgstr "Controlla la tariffa aggiunta al checkout. Tariffa predefinita 0.00" +msgstr "Controlla la commissione aggiunta al checkout. Predefinito 0,00" -#: src/Settings/General/MollieGeneralSettings.php:202 +#: src/Settings/General/MollieGeneralSettings.php:193 msgid "Payment surcharge percentage amount %" -msgstr "Importo percentuale del supplemento per il pagamento %" +msgstr "Percentuale sovrapprezzo %" -#: src/Settings/General/MollieGeneralSettings.php:205 +#: src/Settings/General/MollieGeneralSettings.php:196 msgid "Control the percentage fee added on checkout. Default 0.00" -msgstr "Controlla la tariffa percentuale aggiunta al checkout. Tariffa predefinita 0.00" +msgstr "Controlla la percentuale di spesa aggiunta al momento del checkout. Predefinito 0,00" #. translators: Placeholder 1: currency -#: src/Settings/General/MollieGeneralSettings.php:216 +#: src/Settings/General/MollieGeneralSettings.php:207 msgid "Payment surcharge limit in %s" -msgstr "Limite del supplemento per il pagamento in %s" +msgstr "Limite del sovrapprezzo in %s" -#: src/Settings/General/MollieGeneralSettings.php:219 +#: src/Settings/General/MollieGeneralSettings.php:210 msgid "Limit the maximum fee added on checkout. Default 0, means no limit" -msgstr "Limita la tariffa massima aggiunta al checkout. Tariffa predefinita 0, significa nessun limite" +msgstr "Limita la commissione massima aggiunta al checkout. Predefinito 0, significa nessun limite" #. translators: Placeholder 1: currency -#: src/Settings/General/MollieGeneralSettings.php:230 +#: src/Settings/General/MollieGeneralSettings.php:221 msgid "Surcharge only under this limit, in %s" -msgstr "Supplemento solo al di sotto di questo limite, in %s" +msgstr "Sovrapprezzo solo sotto di questo limite, in %s" -#: src/Settings/General/MollieGeneralSettings.php:233 +#: src/Settings/General/MollieGeneralSettings.php:224 msgid "Maximum order amount to apply surcharge. If the order is above this number the surcharge will not apply. Default 0, means no maximum" -msgstr "Importo massimo dell’ordine per applicare il supplemento. Se l’ordine è superiore a questo numero, il supplemento non si applica. Predefinito 0, significa nessun importo massimo" +msgstr "Importo massimo dell'ordine per applicare il sovrapprezzo. Se l'ordine è superiore a questo importo, il sovrapprezzo non verrà applicato. Il valore predefinito è 0, il che significa che non c'è nessun limite massimo" #. translators: Placeholder 1: gateway title -#: src/Settings/General/MollieGeneralSettings.php:246 +#: src/Settings/General/MollieGeneralSettings.php:237 msgid "%s advanced" msgstr "%s avanzato" -#: src/Settings/General/MollieGeneralSettings.php:254 -msgid "Enable this option if you want to be able to set the time after which the order will expire." -msgstr "Abilita questa opzione se desideri impostare l’ora dopo la quale l’ordine scadrà." +#: src/Settings/General/MollieGeneralSettings.php:246 +msgid "Initial order status" +msgstr "Stato iniziale dell'ordine" -#: src/Settings/General/MollieGeneralSettings.php:262 -msgid "Number of MINUTES after the order will expire and will be canceled at Mollie and WooCommerce. A value of 0 means no expiry time will be considered." -msgstr "Numero di MINUTI dopo i quali l’ordine scadrà e sarà annullato su Mollie e WooCommerce. Un valore di 0 significa che nessuna ora di scadenza verrà considerata." +#: src/Settings/General/MollieGeneralSettings.php:263 +msgid "Some payment methods take longer than a few hours to complete. The initial order state is then set to '%1$s'. This ensures the order is not cancelled when the setting %2$s is used. This will also prevent the order to be canceled when expired." +msgstr "Alcuni metodi di pagamento richiedono più di qualche ora per essere completati. Lo stato iniziale dell'ordine viene quindi impostato su '%1$s'. Questo garantisce che l'ordine non venga annullato quando è utilizzata l'impostazione %2$s. Impedisce inoltre che l'ordine venga annullato alla scadenza." -#: src/Settings/General/MollieGeneralSettings.php:275 -msgid "Initial order status" -msgstr "Stato iniziale dell’ordine" +#: src/Settings/General/MollieGeneralSettings.php:283 +msgid "Enable this option if you want to be able to set the time after which the order will expire." +msgstr "Attiva questa opzione se desideri impostare il tempo dopo il quale l'ordine scadrà." #: src/Settings/General/MollieGeneralSettings.php:292 -msgid "Some payment methods take longer than a few hours to complete. The initial order state is then set to '%1$s'. This ensures the order is not cancelled when the setting %2$s is used." -msgstr "Alcune modalità di pagamento richiedono più di qualche ora per essere completati. Lo stato iniziale dell’ordine è impostato su '%1$s'. Questo assicura che l’ordine non venga annullato quando è utilizzata l’impostazione %2$s." +msgid "Number of MINUTES after the order will expire and will be canceled at Mollie and WooCommerce." +msgstr "Numero di MINUTI dopo che l'ordine scadrà e sarà annullato da Mollie e WooCommerce." #: src/Settings/Page/MollieSettingsPage.php:112 msgid "Quickly integrate all major payment methods in WooCommerce, wherever you need them." -msgstr "Integra velocemente tutti i pagamenti principali in WooCommerce, ovunque ne hai bisogno." +msgstr "Integra rapidamente tutti i principali metodi di pagamento in WooCommerce, ovunque tu ne abbia bisogno." #: src/Settings/Page/MollieSettingsPage.php:116 msgid " Simply drop them ready-made into your WooCommerce webshop with this powerful plugin by Mollie." -msgstr " Semplicemente inseriscili già pronti nel tuo webshop WooCommerce con questo potente plugin sviluppato da Mollie." +msgstr " Puoi semplicemente inserire i metodi di pagamento pronti nel tuo negozio WooCommerce con questo potente plugin di Mollie." #: src/Settings/Page/MollieSettingsPage.php:120 msgid " Mollie is dedicated to making payments better for WooCommerce. " -msgstr " Mollie è destinata a migliorare i pagamenti per WooCommerce. " +msgstr " Mollie è dedicata a migliorare i pagamenti per WooCommerce. " #: src/Settings/Page/MollieSettingsPage.php:124 msgid "Please go to" -msgstr "Vai alla" +msgstr "Vai a" #: src/Settings/Page/MollieSettingsPage.php:127 msgid " the signup page" -msgstr " pagina di registrazione" +msgstr " la pagina di iscrizione" #: src/Settings/Page/MollieSettingsPage.php:131 msgid " to create a new Mollie account and start receiving payments in a couple of minutes. " -msgstr " per creare un nuovo account Mollie e iniziare a ricevere i pagamenti tra qualche minuto. " +msgstr " per creare un nuovo account Mollie e iniziare a ricevere pagamenti in un paio di minuti. " #: src/Settings/Page/MollieSettingsPage.php:135 msgid "Contact " -msgstr "Contattaci " +msgstr "Contatta " #: src/Settings/Page/MollieSettingsPage.php:139 msgid " if you have any questions or comments about this plugin." @@ -1864,58 +2005,58 @@ msgstr " se hai domande o commenti su questo plugin." #: src/Settings/Page/MollieSettingsPage.php:143 msgid "Our pricing is always per transaction. No startup fees, no monthly fees, and no gateway fees. No hidden fees, period." -msgstr "I nostri prezzi sono sempre per transazione. Non applichiamo tariffe di avvio, mensili e per gateway. Nessuna tariffa o nessun periodo nascosti." +msgstr "La nostra tariffazione è sempre per transazione. Nessun costo di avvio, nessuna tariffa mensile e nessuna commissione per il gateway. Nessuna commissione nascosta, punto e basta." #: src/Settings/Page/MollieSettingsPage.php:149 msgid "Plugin Documentation" -msgstr "Documentazione plugin" +msgstr "Documentazione dei plugin" #: src/Settings/Page/MollieSettingsPage.php:152 msgid "Contact Support" -msgstr "Contatta l’assistenza" +msgstr "Contatta la nostra assistenza" #: src/Settings/Page/MollieSettingsPage.php:164 msgid "Log plugin events." -msgstr "Eventi plugin di log." +msgstr "Registra gli eventi dei plugin." #. translators: Placeholder 1: Location of the log files #: src/Settings/Page/MollieSettingsPage.php:171 msgid "Log files are saved to %s" -msgstr "I file di log sono archiviati in %s" +msgstr "I file dei log vengono salvati in %s" #: src/Settings/Page/MollieSettingsPage.php:193 msgid "Live API key" -msgstr "Chiave API live" +msgstr "Chiave Live API" #. translators: Placeholder 1: API key mode (live or test). The surrounding %s's Will be replaced by a link to the Mollie profile #: src/Settings/Page/MollieSettingsPage.php:198 #: src/Settings/Page/MollieSettingsPage.php:229 msgid "The API key is used to connect to Mollie. You can find your %1$s API key in your %2$sMollie account%3$s" -msgstr "La chiave API viene utilizzata per il collegamento a Mollie. Puoi trovare la tua %1$s chiave API nel tuo %2$saccount Mollie%3$s" +msgstr "La chiave API viene utilizzata per connettersi a Mollie. È possibile trovare la chiave %1$s API nel tuo account %2$sMollie%3$s" #: src/Settings/Page/MollieSettingsPage.php:207 msgid "Live API key should start with live_" -msgstr "La chiave API live dovrebbe iniziare con live_" +msgstr "La chiave Live API deve iniziare con live_" #: src/Settings/Page/MollieSettingsPage.php:214 msgid "Enable test mode" -msgstr "Abilita modalità di prova" +msgstr "Abilita modalità di test" #: src/Settings/Page/MollieSettingsPage.php:217 msgid "Enable test mode if you want to test the plugin without using real payments." -msgstr "Abilita la modalità di prova se desideri testare il plugin senza utilizzare pagamenti reali." +msgstr "Abilita la modalità test se desideri testare il plugin senza utilizzare pagamenti reali." #: src/Settings/Page/MollieSettingsPage.php:224 msgid "Test API key" -msgstr "Chiave API di prova" +msgstr "Chiave Test API" #: src/Settings/Page/MollieSettingsPage.php:238 msgid "Test API key should start with test_" -msgstr "La chiave API di prova dovrebbe iniziare con test_" +msgstr "La chiave Test API deve iniziare con test_" #: src/Settings/Page/MollieSettingsPage.php:245 msgid "Debug Log" -msgstr "Log di debug" +msgstr "Registro di debug" #: src/Settings/Page/MollieSettingsPage.php:301 msgid "Gateway enabled" @@ -1932,7 +2073,7 @@ msgstr "Disabilitato" #. translators: The surrounding %s's Will be replaced by a link to the Mollie profile #: src/Settings/Page/MollieSettingsPage.php:319 msgid "The following payment methods are activated in your %1$sMollie profile%2$s:" -msgstr "Le seguenti modalità di pagamento sono attivate nel tuo %1$sprofilo Mollie%2$s:" +msgstr "I seguenti metodi di pagamento sono attivati nel tuo %1$sprofilo Mollie%2$s:" #: src/Settings/Page/MollieSettingsPage.php:334 msgid "Refresh" @@ -1940,7 +2081,7 @@ msgstr "Aggiorna" #: src/Settings/Page/MollieSettingsPage.php:343 msgid "No payment methods available" -msgstr "Nessuna modalità di pagamento disponibile" +msgstr "Nessun metodo di pagamento disponibile" #: src/Settings/Page/MollieSettingsPage.php:358 msgid "Edit" @@ -1951,18 +2092,17 @@ msgid "Activate" msgstr "Attiva" #: src/Settings/Page/MollieSettingsPage.php:417 -#, fuzzy msgid "You have WooCommerce Subscriptions activated, but not SEPA Direct Debit. Enable SEPA Direct Debit if you want to allow customers to pay subscriptions with iDEAL and/or other 'first' payment methods." -msgstr "Hai abbonamenti WooCommerce attivati, ma non un addebito diretto SEPA. Autorizza l’addebito diretto SEPA se vuoi permettere ai clienti di pagare gli abbonamenti con iDEAL e/o altri metodi di pagamento “primari”." +msgstr "Hai attivato gli abbonamenti di WooCommerce, ma non l'addebito diretto SEPA. Attiva l'addebito diretto SEPA se vuoi permettere ai clienti di pagare gli abbonamenti con iDEAL e/o altri metodi di pagamento \"primi\"." #: src/Settings/Page/MollieSettingsPage.php:443 msgid "You have the WooCommerce default Direct Bank Transfer (BACS) payment gateway enabled in WooCommerce. Mollie strongly advices only using Bank Transfer via Mollie and disabling the default WooCommerce BACS payment gateway to prevent possible conflicts." -msgstr "In WooCommerce è abilitato il gateway di pagamento WooCommerce per i bonifici bancari diretti (BACS). Mollie consiglia vivamente di utilizzare solo il bonifico bancario tramite Mollie e di disabilitare il gateway di pagamento predefinito BACS di WooCommerce per prevenire possibili conflitti." +msgstr "Hai abilitato il gateway di pagamento predefinito Trasferimento Bancario Diretto (BACS) di WooCommerce. Mollie consiglia vivamente di utilizzare solo il Trasferimento Bancario tramite Mollie e di disabilitare il gateway di pagamento BACS predefinito di WooCommerce per prevenire eventuali conflitti." #. translators: Placeholder 1: Opening link tag. Placeholder 2: Closing link tag. Placeholder 3: Opening link tag. Placeholder 4: Closing link tag. #: src/Settings/Page/MollieSettingsPage.php:467 msgid "You have activated Klarna. To accept payments, please make sure all default WooCommerce checkout fields are enabled and required. For more information, go to %1$sKlarna Pay Later documentation%2$s or %3$sKlarna Slice it documentation%4$s" -msgstr "Hai attivato Klarna. Per accettare i pagamenti, assicurati di aver abilitato e richiesto tutti i campi predefiniti di WooCommerce. Per maggiori informazioni, consulta la documentazione %1$sKlarna Pay Later%2$s o %3$sKlarna Slice it%4$s" +msgstr "Hai attivato Klarna. Per accettare pagamenti, assicurati che tutti i campi di checkout predefiniti di WooCommerce siano abilitati e obbligatori. Per maggiori informazioni, visita la %1$sdocumentazione di Klarna Pay Later%2$s o la %3$sdocumentazione di Klarna Slice it%4$s" #: src/Settings/Page/MollieSettingsPage.php:732 msgid "General" @@ -1977,9 +2117,8 @@ msgid "Apple Pay Button" msgstr "Pulsante Apple Pay" #: src/Settings/Page/MollieSettingsPage.php:780 -#, fuzzy msgid "You have activated Billie. To accept payments, please make sure all default WooCommerce checkout fields are enabled and required. The billing company field is required as well. Make sure to enable the billing company field in the WooCommerce settings if you are using Woocommerce blocks." -msgstr "Hai attivato Klarna. Per accettare i pagamenti, assicurati di aver abilitato e richiesto tutti i campi predefiniti di WooCommerce. Per maggiori informazioni, consulta la documentazione %1$sKlarna Pay Later%2$s o %3$sKlarna Slice it%4$s" +msgstr "Hai attivato Billie. Per accettare pagamenti, assicurati che tutti i campi di checkout predefiniti di WooCommerce siano abilitati e obbligatori. Anche il campo della ragione sociale di fatturazione è obbligatorio. Assicurati di abilitare il campo della ragione sociale di fatturazione nelle impostazioni di WooCommerce se stai utilizzando i blocchi di WooCommerce." #: src/Settings/Settings.php:153 msgid "Gateway Disabled" @@ -1987,11 +2126,11 @@ msgstr "Gateway disabilitato" #: src/Settings/Settings.php:173 msgid "Return to payments" -msgstr "Ritorna ai pagamenti" +msgstr "Torna ai pagamenti" #: src/Settings/Settings.php:199 msgid "Choose countries…" -msgstr "Scegli paesi…" +msgstr "Scegli i paesi…" #: src/Settings/Settings.php:200 msgid "Country" @@ -1999,11 +2138,11 @@ msgstr "Paese" #: src/Settings/Settings.php:208 msgid "Select all" -msgstr "Seleziona tutti" +msgstr "Seleziona tutto" #: src/Settings/Settings.php:209 msgid "Select none" -msgstr "Non selezionare nessuno" +msgstr "Seleziona nessuno" #: src/Settings/Settings.php:403 msgid "Error" @@ -2011,20 +2150,19 @@ msgstr "Errore" #: src/Settings/Settings.php:417 msgid "Mollie status:" -msgstr "Stato Mollie:" +msgstr "Stato di Mollie:" #: src/Settings/Settings.php:418 msgid "Connected" msgstr "Collegato" #: src/Settings/Settings.php:653 -#, fuzzy msgid "%1$sMollie Payments for WooCommerce%2$s Unable to upload the file. Only jpg, jpeg, png and gif files are allowed." -msgstr "%1$sMollie Payments per WooCommerce%2$s Impossibile caricare il file. Le dimensioni devono essere inferiori a 500kb." +msgstr "%1$sMollie Payments per WooCommerce%2$s Non è stato possibile caricare il file. Sono consentiti solo file jpg, jpeg, png e gif." #: src/Settings/Settings.php:666 msgid "%1$sMollie Payments for WooCommerce%2$s Unable to upload the file. Size must be under 500kb." -msgstr "%1$sMollie Payments per WooCommerce%2$s Impossibile caricare il file. Le dimensioni devono essere inferiori a 500kb." +msgstr "%1$sMollie Payments per WooCommerce%2$s Non è stato possibile caricare il file. La dimensione deve essere inferiore a 500kb." #: src/Settings/SettingsModule.php:184 msgid "Mollie settings" @@ -2037,53 +2175,54 @@ msgstr "Log" #. translators: Placeholder 1: Opening strong tag. Placeholder 2: Closing strong tag. Placeholder 3: Opening link tag. Placeholder 4: Closing link tag. #: src/Settings/SettingsModule.php:204 msgid "%1$sMollie Payments for WooCommerce%2$s The test mode is active, %3$s disable it%4$s before deploying into production." -msgstr "%1$sMollie Payments per WooCommerce%2$s La modalità di prova è attiva, %3$s disabilitala%4$s prima di implementarla nella produzione." +msgstr "%1$sMollie Payments per WooCommerce%2$s La modalità di test è attiva, %3$s disabilitala%4$s prima di passare alla produzione." #. translators: Placeholder 1: Plugin title. Placeholder 2: Min WooCommerce version. Placeholder 3: WooCommerce version used. #: src/Shared/Status.php:75 msgid "The %1$s plugin requires at least WooCommerce version %2$s, you are using version %3$s. Please update your WooCommerce plugin." -msgstr "Il %1$s plugin richiede almeno la versione WooCommerce %2$s, stai utilizzando la versione %3$s. Ti preghiamo di aggiornare il tuo plugin WooCommerce." +msgstr "Il plugin %1$s richiede almeno la versione di WooCommerce %2$s, stai utilizzando la versione %3$s. La preghiamo di aggiornare il plugin WooCommerce." #: src/Shared/Status.php:88 msgid "Mollie API client not installed. Please make sure the plugin is installed correctly." -msgstr "Client dell’API Mollie non installato. Assicurati che il plugin sia installato correttamente." +msgstr "Il client API di Mollie non è installato. Per favore assicurati che il plugin sia installato correttamente." #: src/Shared/Status.php:97 msgid "Mollie Payments for WooCommerce requires the JSON extension for PHP. Enable it in your server or ask your webhoster to enable it for you." -msgstr "Mollie Payments per WooCommerce richiede l’estensione JSON per PHP. Abilitala nel tuo server o chiedi al tuo webhoster di abilitarla per te." +msgstr "Mollie Payments per WooCommerce richiede l'estensione JSON per PHP. Abilitala nel tuo server o chiedi al tuo webhoster di abilitarla per te." #. translators: Placeholder 1: Min PHP version. Placeholder 2: PHP version used. Placeholder 3: Opening link tag. placeholder 4: Closing link tag. #: src/Shared/Status.php:112 msgid "Mollie Payments for WooCommerce require PHP %1$s or higher, you have PHP %2$s. Please upgrade and view %3$sthis FAQ%4$s" -msgstr "Mollie Payments per WooCommerce richiede PHP %1$s o superiore, tu hai PHP %2$s. Effettua l’aggiornamento e visualizza %3$squeste FAQ%4$s" +msgstr "Mollie Payments per WooCommerce richiede PHP %1$s o una versione superiore, attualmente hai PHP %2$s. Si prega di aggiornare e consultare %3$squesta FAQ%4$s" #: src/Shared/Status.php:124 msgid "Mollie Payments for WooCommerce requires the PHP extension JSON to be enabled. Please enable the 'json' extension in your PHP configuration." -msgstr "Mollie Payments per WooCommerce richiede l’abilitazione dell’estensione PHP per JSON. Abilita l’estensione 'json' nella tua configurazione PHP." +msgstr "Mollie Payments per WooCommerce richiede l'abilitazione dell'estensione PHP JSON. Si prega di abilitare l'estensione \"json\" nella configurazione PHP." #: src/Shared/Status.php:131 msgid "Mollie Payments for WooCommerce requires the PHP extension cURL to be enabled. Please enable the 'curl' extension in your PHP configuration." -msgstr "Mollie Payments per WooCommerce richiede l’estensione PHP per cURL. Abilita l’estensione 'curl' nella tua configurazione PHP." +msgstr "Mollie Payments per WooCommerce richiede l'abilitazione dell'estensione PHP cURL. Si prega di abilitare l'estensione \"curl\" nella configurazione PHP." #: src/Shared/Status.php:139 msgid "Mollie Payments for WooCommerce require PHP cURL functions to be available. Please make sure all of these functions are available." -msgstr "Mollie Payments per WooCommerce richiede che le funzioni PHP cURL siano disponibili. Assicurati che queste funzioni siano disponibili." +msgstr "Mollie Payments per WooCommerce richiede che le funzioni PHP cURL siano disponibili. Assicurati che tutte queste funzioni siano attive." #. translators: Placeholder 1: Payment method title, placeholder 2: payment ID #: src/Subscription/MollieSubscriptionGateway.php:197 msgid "Updated subscription from 'On hold' to 'Active' until payment fails, because a SEPA Direct Debit payment takes some time to process." -msgstr "Aggiornamento dell'abbonamento da 'In attesa' to 'Attivo' fino a quando il pagamento non fallisce, perché un pagamento con addebito diretto SEPA richiede un certo tempo per essere elaborato." +msgstr "Abbonamento aggiornato da 'In attesa' a 'Attivo' fino a quando il pagamento non fallisce, poiché un pagamento tramite addebito diretto SEPA richiede del tempo per essere elaborato." #: src/Subscription/MollieSubscriptionGateway.php:285 msgid "The customer (%s) could not be used or found. " -msgstr "Non è stato possibile trovare o utilizzare il cliente (%s). " +msgstr "Non è stato possibile utilizzare o trovare il cliente (%s). " #. translators: Placeholder 1: Payment method title #: src/Subscription/MollieSubscriptionGateway.php:354 msgid "Could not create %s renewal payment." -msgstr "Non è stato possibile creare %s il pagamento del rinnovo." +msgstr "Impossibile creare il pagamento di rinnovo %s." #. translators: Placeholder 1: payment method title, placeholder 2: payment ID #: src/Subscription/SubscriptionModule.php:110 msgid "%1$s payment failed (%2$s)." -msgstr "%1$s pagamento non riuscito (%2$s)." +msgstr "Pagamento %1$s non riuscito (%2$s)." + From d725bc8ca72c52b9c28d8259642560ba7fa03e42 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Wed, 25 Sep 2024 09:49:28 +0200 Subject: [PATCH 13/26] Update plugin version --- mollie-payments-for-woocommerce.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mollie-payments-for-woocommerce.php b/mollie-payments-for-woocommerce.php index 0a6bf7d8..ff58d5da 100644 --- a/mollie-payments-for-woocommerce.php +++ b/mollie-payments-for-woocommerce.php @@ -3,7 +3,7 @@ * Plugin Name: Mollie Payments for WooCommerce * Plugin URI: https://www.mollie.com * Description: Accept payments in WooCommerce with the official Mollie plugin - * Version: 7.8.0 + * Version: 7.8.1-beta * Author: Mollie * Author URI: https://www.mollie.com * Requires at least: 5.0 @@ -12,7 +12,7 @@ * Domain Path: /languages * License: GPLv2 or later * WC requires at least: 3.9 - * WC tested up to: 9.1 + * WC tested up to: 9.3 * Requires PHP: 7.2 * Requires Plugins: woocommerce */ From 82e706fde292cf15da2c8ec8afaa97f80b782859 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Wed, 25 Sep 2024 09:51:31 +0200 Subject: [PATCH 14/26] Update changelog --- readme.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/readme.txt b/readme.txt index aae605c8..b62c18fc 100644 --- a/readme.txt +++ b/readme.txt @@ -222,6 +222,21 @@ Automatic updates should work like a charm; as always though, ensure you backup == Changelog == += 7.8.1 - 01-09-2024 = + +* Feature Flag - Initiative - Swish payment method - under flag add_filter('inpsyde.feature-flags.mollie-woocommerce.swish_enabled', false); +* Fixed - Unable to make PayPal payments when surcharge is enabled on product and cart pages. +* Fixed - Cancel order on expiry date should no longer trigger on WP init. +* Fixed - Display of Payment Status column in orders overview when capturing payments immediately. +* Fixed - Incorrect data type handling in MaybeDisableGateway.php. +* Fixed - Prevented dependency conflicts, such as for psr/log. +* Fixed - Italian translation for integration microcopy. +* Fixed - Improved accessibility of gateway icons (a11y improvement). +* Fixed - Undefined property warning in Apple Pay payments related to stdClass::$cardHolder. (author @mklepaczewski ) +* Fixed - German translation issue in order confirmation email. +* Fixed - Populate birthdate on pay page for in3 and Riverty. +* Fixed - Missing translation update for surcharge string. + = 7.8.0 - 27-08-2024 = * Added - Satispay payment method From 361c2fa428af5bee37e3d2d5aa27acfab11b56ee Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Wed, 25 Sep 2024 11:19:22 +0200 Subject: [PATCH 15/26] Update translations with excl. --- languages/en_GB.pot | 2 +- .../mollie-payments-for-woocommerce-de_DE.mo | Bin 63489 -> 59025 bytes .../mollie-payments-for-woocommerce-de_DE.po | 4 ++-- ...e-payments-for-woocommerce-de_DE_formal.mo | Bin 63762 -> 59289 bytes ...e-payments-for-woocommerce-de_DE_formal.po | 4 ++-- .../mollie-payments-for-woocommerce-en_GB.mo | Bin 507 -> 509 bytes .../mollie-payments-for-woocommerce-es_ES.mo | Bin 62079 -> 57779 bytes .../mollie-payments-for-woocommerce-es_ES.po | 4 ++-- .../mollie-payments-for-woocommerce-fr_FR.mo | Bin 63052 -> 58618 bytes .../mollie-payments-for-woocommerce-fr_FR.po | 4 ++-- .../mollie-payments-for-woocommerce-it_IT.mo | Bin 62107 -> 57779 bytes .../mollie-payments-for-woocommerce-it_IT.po | 4 ++-- .../mollie-payments-for-woocommerce-nl_BE.mo | Bin 60880 -> 56738 bytes .../mollie-payments-for-woocommerce-nl_BE.po | 4 ++-- ...e-payments-for-woocommerce-nl_BE_formal.mo | Bin 60857 -> 56726 bytes ...e-payments-for-woocommerce-nl_BE_formal.po | 4 ++-- .../mollie-payments-for-woocommerce-nl_NL.mo | Bin 60850 -> 56706 bytes .../mollie-payments-for-woocommerce-nl_NL.po | 4 ++-- ...e-payments-for-woocommerce-nl_NL_formal.mo | Bin 60959 -> 56812 bytes ...e-payments-for-woocommerce-nl_NL_formal.po | 4 ++-- 20 files changed, 19 insertions(+), 19 deletions(-) diff --git a/languages/en_GB.pot b/languages/en_GB.pot index eb67e741..7347c005 100644 --- a/languages/en_GB.pot +++ b/languages/en_GB.pot @@ -623,7 +623,7 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr "" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" +msgid " (excl. VAT)" msgstr "" #: src/Gateway/Voucher/VoucherModule.php:79 diff --git a/languages/mollie-payments-for-woocommerce-de_DE.mo b/languages/mollie-payments-for-woocommerce-de_DE.mo index 679152c4ed0349bfb4f5344192082b5deb917d7e..1d7cb41fe5f4cfcd68b7aa601b8ce44121bdc34f 100644 GIT binary patch delta 9484 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 delta 13192 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 Id_&5A11D*N2mk;8 diff --git a/languages/mollie-payments-for-woocommerce-de_DE.po b/languages/mollie-payments-for-woocommerce-de_DE.po index 1e9cae90..da8f94a2 100644 --- a/languages/mollie-payments-for-woocommerce-de_DE.po +++ b/languages/mollie-payments-for-woocommerce-de_DE.po @@ -612,8 +612,8 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr " Möglicherweise fällt eine + %1$s %2$s + %3$s%%-Gebühr an" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (inkl. Mehrwertsteuer)" +msgid " (excl. VAT)" +msgstr " (exkl. Mehrwertsteuer)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 diff --git a/languages/mollie-payments-for-woocommerce-de_DE_formal.mo b/languages/mollie-payments-for-woocommerce-de_DE_formal.mo index a860bfda77288c13ab0b10c3b5572614160382bb..d43c2665a5e8e8af9212ea9acd4f97f03e2c63ce 100644 GIT binary patch delta 9471 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 diff --git a/languages/mollie-payments-for-woocommerce-de_DE_formal.po b/languages/mollie-payments-for-woocommerce-de_DE_formal.po index 46b2b8a8..692a58d2 100644 --- a/languages/mollie-payments-for-woocommerce-de_DE_formal.po +++ b/languages/mollie-payments-for-woocommerce-de_DE_formal.po @@ -612,8 +612,8 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr " Möglicherweise fällt eine + %1$s %2$s + %3$s%%-Gebühr an" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (inkl. Mehrwertsteuer)" +msgid " (excl. VAT)" +msgstr " (exkl. Mehrwertsteuer)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 diff --git a/languages/mollie-payments-for-woocommerce-en_GB.mo b/languages/mollie-payments-for-woocommerce-en_GB.mo index 75ff29841c4c7cd7b0119e9aca09705c808b16e8..c929d06029e04b0b45d881d0d7993da866de9101 100644 GIT binary patch delta 32 mcmey({Fixx4sS0b14AqW1A`zCzusus%*br4XEb>)qa6T_QV2o- delta 30 kcmey%{F`}#4sSOj14AqW1A`zCzuaiq%*bdsc|W5a0Dn#g+yDRo diff --git a/languages/mollie-payments-for-woocommerce-es_ES.mo b/languages/mollie-payments-for-woocommerce-es_ES.mo index 3ae54eea6e745bbd7fd3452ef4831a3cddf8594e..ea3be9a16aede113a98a6798a35c21c464ddd22a 100644 GIT binary patch delta 9472 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 K?Qpxb-~R(A%tP$} delta 12987 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 AR{#J2 diff --git a/languages/mollie-payments-for-woocommerce-es_ES.po b/languages/mollie-payments-for-woocommerce-es_ES.po index 0b7ebb3b..f5282022 100644 --- a/languages/mollie-payments-for-woocommerce-es_ES.po +++ b/languages/mollie-payments-for-woocommerce-es_ES.po @@ -612,8 +612,8 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr " Podría aplicarse un cargo de + %1$s %2$s + %3$s%%" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (IVA incluido)" +msgid " (excl. VAT)" +msgstr " (IVA no incluido)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 diff --git a/languages/mollie-payments-for-woocommerce-fr_FR.mo b/languages/mollie-payments-for-woocommerce-fr_FR.mo index f18a731384aa5a6d242171b37cb10c32b31da301..ca7565fa965cafa022b0e4ef625ec08538c455f8 100644 GIT binary patch delta 9480 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 LZPoU7#>f8;U-FHI diff --git a/languages/mollie-payments-for-woocommerce-fr_FR.po b/languages/mollie-payments-for-woocommerce-fr_FR.po index d9e8eefe..dcab9199 100644 --- a/languages/mollie-payments-for-woocommerce-fr_FR.po +++ b/languages/mollie-payments-for-woocommerce-fr_FR.po @@ -612,8 +612,8 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr " + %1$s %2$s + %3$s%% de frais peuvent s’appliquer" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (TTC)" +msgid " (excl. VAT)" +msgstr " (HTVA)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 diff --git a/languages/mollie-payments-for-woocommerce-it_IT.mo b/languages/mollie-payments-for-woocommerce-it_IT.mo index ee123cff05d83b61fac02ec51d04cf575c68668d..2521746a5329a4ba7bff2b8eae8fa1ed7732a65a 100644 GIT binary patch delta 9500 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 VeY~@7xADn7@#7Wm^t<7H{{?c}UGD$@ delta 13087 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 diff --git a/languages/mollie-payments-for-woocommerce-it_IT.po b/languages/mollie-payments-for-woocommerce-it_IT.po index a725032a..b7bbbca7 100644 --- a/languages/mollie-payments-for-woocommerce-it_IT.po +++ b/languages/mollie-payments-for-woocommerce-it_IT.po @@ -612,8 +612,8 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr " + %1$s %2$s + %3$s%% tariffa può essere applicata" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (incl. IVA)" +msgid " (excl. VAT)" +msgstr " (IVA esclusa)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 diff --git a/languages/mollie-payments-for-woocommerce-nl_BE.mo b/languages/mollie-payments-for-woocommerce-nl_BE.mo index 5d04116c2bdd86ac3ba1b6a7d210ad25ff81bdf9..6a6f84c28211bbd51f5ea85895f5e9a4da5f01eb 100644 GIT binary patch delta 9471 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 delta 12959 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 OvvAkic-gz%lKu?5KKl;< diff --git a/languages/mollie-payments-for-woocommerce-nl_BE.po b/languages/mollie-payments-for-woocommerce-nl_BE.po index 648a61fd..0901da76 100644 --- a/languages/mollie-payments-for-woocommerce-nl_BE.po +++ b/languages/mollie-payments-for-woocommerce-nl_BE.po @@ -613,8 +613,8 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr " + %1$s %2$s + %3$s%% prijstoeslag zou van toepassing kunnen zijn" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (incl. btw)" +msgid " (excl. VAT)" +msgstr " (excl. btw)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 diff --git a/languages/mollie-payments-for-woocommerce-nl_BE_formal.mo b/languages/mollie-payments-for-woocommerce-nl_BE_formal.mo index b5fa6c0aead1c4e476ea31873881a7bcd9dcecbb..6dfc3415a1f211bbb23f50837c8ec0287c9fad8a 100644 GIT binary patch delta 9473 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 E0|MPcc^>0YRaYzDYOfbjMx@2-qm1fGA*4 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 O_rCkoTX?&U-+utFT1X%O delta 13040 zcmc)PcX(Ar-oWumLJl zR1^>?0xOCV6e+8&1yNabt)Q!jiWST1?rYgq-tX_s#En~?UH^EW_dNXanVC~&&YYPu zCt>N4r2TIt#olRFYlC7toS;-YJl9aEDTzuQZ7Zd0U6o3P1mvG;#1A>HFQ(uW9EN2$ z7x&^oOzx&s6C91xa0aqV-G{yL70gyDrs||ARY<`AY>#)M)O`r2<7?O*Gx%{WPQ#A) z1}?>KaTzX3S867nM`_^99{M^_q%L(cO8Fyr5?{mR)UWREsV~qkL#Z+BIE;NU(WBIS z?2mKse!K!3WGZzl1~3nkvXm;ok=Oul!$!Cro8x|LjmJ=W@-#NXbJ&*p)p-(aux&4; zT44@efES~*c!tSGP`Yvn4!~Ei9wyU|P4GgLN0Nq(aX3nsPr(jYiFNT-tdCnT#^Y9d zNJxtgqMY~~%7Jg9RPY|kot-n~-yxmmK1jK<3?8T)myfe>lF9EuxsfWA>mEh!Rh_^= z__yBlzuaN}K1y}LsVF_L5TyY(qg1>R5&hy z8J@?E*epjsqTV=x{7CGN>tZCND~=<_sw7I~*$%`AhEN9IN4Nz?vGZ$uA7zle&Rmn8 zI&1tKyf805-~1 zsuZ8Z8!=<3Qn%nClnYPDQ|bluqU3uGGk1zI=qBQYxCEu=)?*Wy|JzB(og6^v>ZgpI zhAVX``KwW$*(tmTyN%Enc94Ink{@!XhfxOE(k6i0NAgQhj@yi#@JYN3&texGIa(iI zis|InVoXjrM1psTI*qB=WQ@LGACv)pFvrvwogBHe6 z>e-5nTXhV3;Q5Q_f4NYPu}bln)g&B`HzJ*&P9nXh+A+DgX*CxmzXN6eM@XAhPfp?{ zRS0Q|dc@@Axyk;~NS*2?l>M(GmsTAn(*IIWI#D0+07?VCN3N~%FV@d~9ZLRfl>OZ& z=>|nmDmY~FYO-!fKFW1hqg3>Y$+w@P>#o;q8% z(2LT-omh#V;ZiJOZmz@+@kXp*Xp29hOy5

sR?5#{Jlu^5<|pzK?R;g1LJBufW+d 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 diff --git a/languages/mollie-payments-for-woocommerce-nl_NL_formal.po b/languages/mollie-payments-for-woocommerce-nl_NL_formal.po index ad9b4807..52abd599 100644 --- a/languages/mollie-payments-for-woocommerce-nl_NL_formal.po +++ b/languages/mollie-payments-for-woocommerce-nl_NL_formal.po @@ -612,8 +612,8 @@ msgid " + %1$s %2$s + %3$s%% fee might apply" msgstr " + %1$s %2$s + %3$s%% prijstoeslag kan van toepassing zijn" #: src/Gateway/Surcharge.php:330 -msgid " (incl. VAT)" -msgstr " (incl. btw)" +msgid " (excl. VAT)" +msgstr " (excl. btw)" #: src/Gateway/Voucher/VoucherModule.php:79 #: src/Settings/Page/MollieSettingsPage.php:50 From bf8484c573e9cdc76304c82e81a28009b1a102b0 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Thu, 26 Sep 2024 10:36:29 +0200 Subject: [PATCH 16/26] Fix birthdate in classic PIWOO-521 --- src/Payment/MollieOrder.php | 6 +++++- .../PaymentFieldsStrategies/In3FieldsStrategy.php | 4 ++-- .../PaymentFieldsStrategies/RivertyFieldsStrategy.php | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/Payment/MollieOrder.php b/src/Payment/MollieOrder.php index f64e5d86..62557c57 100644 --- a/src/Payment/MollieOrder.php +++ b/src/Payment/MollieOrder.php @@ -1005,11 +1005,15 @@ protected function getCustomerBirthdate($order) $additionalFields = $gateway->paymentMethod()->getProperty('additionalFields'); $methodId = $additionalFields && in_array('birthdate', $additionalFields, true); if ($methodId) { + $optionName = 'billing_birthdate_' . $gateway->paymentMethod()->getProperty('id'); //phpcs:ignore WordPress.Security.NonceVerification, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized - $fieldPosted = wc_clean(wp_unslash($_POST["billing_birthdate"] ?? '')); + $fieldPosted = wc_clean(wp_unslash($_POST[$optionName] ?? '')); if ($fieldPosted === '' || !is_string($fieldPosted)) { return null; } + + $order->update_meta_data($optionName, $fieldPosted); + $order->save(); $format = "Y-m-d"; return gmdate($format, (int) strtotime($fieldPosted)); } diff --git a/src/PaymentMethods/PaymentFieldsStrategies/In3FieldsStrategy.php b/src/PaymentMethods/PaymentFieldsStrategies/In3FieldsStrategy.php index 1e5d551d..9d0483a5 100644 --- a/src/PaymentMethods/PaymentFieldsStrategies/In3FieldsStrategy.php +++ b/src/PaymentMethods/PaymentFieldsStrategies/In3FieldsStrategy.php @@ -8,7 +8,7 @@ class In3FieldsStrategy implements PaymentFieldsStrategyI { use PaymentFieldsStrategiesTrait; - const FIELD_BIRTHDATE = "billing_birthdate"; + const FIELD_BIRTHDATE = "billing_birthdate_in3"; const FIELD_PHONE = "billing_phone_in3"; public function execute($gateway, $dataHelper) @@ -24,7 +24,7 @@ public function execute($gateway, $dataHelper) $showPhoneField = true; $order = $this->getOrderIdOnPayForOrderPage(); $phoneValue = $order->get_billing_phone(); - $birthValue = $order->get_meta('billing_birthdate'); + $birthValue = $order->get_meta(self::FIELD_BIRTHDATE); } if (is_checkout() && !is_checkout_pay_page() && !$isPhoneRequired) { diff --git a/src/PaymentMethods/PaymentFieldsStrategies/RivertyFieldsStrategy.php b/src/PaymentMethods/PaymentFieldsStrategies/RivertyFieldsStrategy.php index c2138f24..b98f536a 100644 --- a/src/PaymentMethods/PaymentFieldsStrategies/RivertyFieldsStrategy.php +++ b/src/PaymentMethods/PaymentFieldsStrategies/RivertyFieldsStrategy.php @@ -8,7 +8,7 @@ class RivertyFieldsStrategy implements PaymentFieldsStrategyI { use PaymentFieldsStrategiesTrait; - const FIELD_BIRTHDATE = "billing_birthdate"; + const FIELD_BIRTHDATE = "billing_birthdate_riverty"; const FIELD_PHONE = "billing_phone_riverty"; public function execute($gateway, $dataHelper) @@ -24,7 +24,7 @@ public function execute($gateway, $dataHelper) $showPhoneField = true; $order = $this->getOrderIdOnPayForOrderPage(); $phoneValue = $order->get_billing_phone(); - $birthValue = $order->get_meta('billing_birthdate'); + $birthValue = $order->get_meta(self::FIELD_BIRTHDATE); } if (is_checkout() && !is_checkout_pay_page() && !$isPhoneRequired) { From 82a416c244a20d5806ec04aed0c5e21b51b1e686 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Fri, 27 Sep 2024 13:47:32 +0200 Subject: [PATCH 17/26] Fix translation delete for .l10n.php --- inc/utils.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/inc/utils.php b/inc/utils.php index c4f0e504..27c500bc 100644 --- a/inc/utils.php +++ b/inc/utils.php @@ -210,8 +210,10 @@ function mollieDeleteWPTranslationFiles() 'nl_BE', 'nl_NL', 'nl_NL_formal', + 'en_GB', + 'nl_BE_formal' ]; - $translationExtensions = ['.mo', '.po']; + $translationExtensions = ['.mo', '.po', '.l10n.php']; $destination = WP_LANG_DIR . '/plugins/mollie-payments-for-woocommerce-'; foreach ($languageExtensions as $languageExtension) { From 04b27d266355d9bf180a30ab2578840166fd964a Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Fri, 27 Sep 2024 13:56:35 +0200 Subject: [PATCH 18/26] Bump php 7.4 PIWOO-195 --- .ddev/config.yaml | 2 +- .github/workflows/ci.yml | 2 +- .github/workflows/release.yml | 2 +- composer.json | 2 +- composer.lock | 313 ++++++++++++++++++-------- mollie-payments-for-woocommerce.php | 2 +- readme.txt | 2 +- src/Activation/ConstraintsChecker.php | 2 +- 8 files changed, 225 insertions(+), 102 deletions(-) diff --git a/.ddev/config.yaml b/.ddev/config.yaml index a83f4050..6d67598a 100644 --- a/.ddev/config.yaml +++ b/.ddev/config.yaml @@ -1,7 +1,7 @@ name: mollie-payments-for-woocommerce type: wordpress docroot: .ddev/wordpress -php_version: "7.2" +php_version: "7.4" webserver_type: nginx-fpm router_http_port: "80" router_https_port: "443" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9339c5a3..53edcabf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -8,7 +8,7 @@ jobs: strategy: fail-fast: false matrix: - php-versions: ['7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3'] + php-versions: ['7.4', '8.0', '8.1', '8.2', '8.3'] name: PHP ${{ matrix.php-versions }} steps: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8303fa58..073a0c7d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: uses: inpsyde/reusable-workflows/.github/workflows/build-plugin-archive.yml@main with: PLUGIN_VERSION: ${{ inputs.PACKAGE_VERSION }} - PHP_VERSION: 7.2 + PHP_VERSION: 7.4 PLUGIN_MAIN_FILE: mollie-payments-for-woocommerce.php ARCHIVE_NAME: mollie-payments-for-woocommerce PLUGIN_FOLDER_NAME: mollie-payments-for-woocommerce diff --git a/composer.json b/composer.json index c4d8b7ef..f226bbd3 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=7.2", + "php": ">=7.4", "ext-intl": "*", "ext-json": "*", "mollie/mollie-api-php": "^v2.40", diff --git a/composer.lock b/composer.lock index f0ef1660..2bda6eec 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "eddbfc3311d3d6f88a9db7bb4bf9f629", + "content-hash": "5f1bf284400400658f0a0ca705864ad3", "packages": [ { "name": "composer/ca-bundle", - "version": "1.5.1", + "version": "1.5.2", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a" + "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/063d9aa8696582f5a41dffbbaf3c81024f0a604a", - "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/48a792895a2b7a6ee65dd5442c299d7b835b6137", + "reference": "48a792895a2b7a6ee65dd5442c299d7b835b6137", "shasum": "" }, "require": { @@ -27,8 +27,8 @@ }, "require-dev": { "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8 || ^9", "psr/log": "^1.0 || ^2.0 || ^3.0", - "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, "type": "library", @@ -64,7 +64,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.1" + "source": "https://github.com/composer/ca-bundle/tree/1.5.2" }, "funding": [ { @@ -80,7 +80,7 @@ "type": "tidelift" } ], - "time": "2024-07-08T15:28:20+00:00" + "time": "2024-09-25T07:49:53+00:00" }, { "name": "inpsyde/modularity", @@ -851,20 +851,20 @@ }, { "name": "composer/pcre", - "version": "2.3.1", + "version": "3.3.1", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "26859a860a7f140fc08422c3cc14ad9c2a287d79" + "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/26859a860a7f140fc08422c3cc14ad9c2a287d79", - "reference": "26859a860a7f140fc08422c3cc14ad9c2a287d79", + "url": "https://api.github.com/repos/composer/pcre/zipball/63aaeac21d7e775ff9bc9d45021e1745c97521c4", + "reference": "63aaeac21d7e775ff9bc9d45021e1745c97521c4", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": "^7.4 || ^8.0" }, "conflict": { "phpstan/phpstan": "<1.11.10" @@ -877,7 +877,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.x-dev" + "dev-main": "3.x-dev" }, "phpstan": { "includes": [ @@ -910,7 +910,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/2.3.1" + "source": "https://github.com/composer/pcre/tree/3.3.1" }, "funding": [ { @@ -926,28 +926,28 @@ "type": "tidelift" } ], - "time": "2024-08-27T12:02:26+00:00" + "time": "2024-08-27T18:44:43+00:00" }, { "name": "composer/semver", - "version": "3.4.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", - "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -991,7 +991,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.2" + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { @@ -1007,7 +1007,7 @@ "type": "tidelift" } ], - "time": "2024-07-12T11:35:52+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { "name": "composer/xdebug-handler", @@ -1187,6 +1187,53 @@ }, "time": "2019-12-04T15:06:13+00:00" }, + { + "name": "doctrine/deprecations", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" + }, + "time": "2024-01-30T19:34:25+00:00" + }, { "name": "doctrine/instantiator", "version": "1.5.0", @@ -1304,16 +1351,16 @@ }, { "name": "felixfbecker/language-server-protocol", - "version": "v1.5.2", + "version": "v1.5.3", "source": { "type": "git", "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842" + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842", - "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9", "shasum": "" }, "require": { @@ -1354,9 +1401,9 @@ ], "support": { "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", - "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2" + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3" }, - "time": "2022-03-02T22:36:06+00:00" + "time": "2024-04-30T00:40:11+00:00" }, { "name": "fzaninotto/faker", @@ -1646,35 +1693,38 @@ }, { "name": "mockery/mockery", - "version": "1.3.6", + "version": "1.6.12", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "dc206df4fa314a50bbb81cf72239a305c5bbd5c0" + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/dc206df4fa314a50bbb81cf72239a305c5bbd5c0", - "reference": "dc206df4fa314a50bbb81cf72239a305c5bbd5c0", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", "shasum": "" }, "require": { "hamcrest/hamcrest-php": "^2.0.1", "lib-pcre": ">=7.0", - "php": ">=5.6.0" + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" }, "require-dev": { - "phpunit/phpunit": "^5.7.10|^6.5|^7.5|^8.5|^9.3" + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.3.x-dev" - } - }, "autoload": { - "psr-0": { - "Mockery": "library/" + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" } }, "notification-url": "https://packagist.org/downloads/", @@ -1685,12 +1735,20 @@ { "name": "Pádraic Brady", "email": "padraic.brady@gmail.com", - "homepage": "http://blog.astrumfutura.com" + "homepage": "https://github.com/padraic", + "role": "Author" }, { "name": "Dave Marshall", "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "http://davedevelopment.co.uk" + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" } ], "description": "Mockery is a simple yet flexible PHP mock object framework", @@ -1708,10 +1766,13 @@ "testing" ], "support": { + "docs": "https://docs.mockery.io/", "issues": "https://github.com/mockery/mockery/issues", - "source": "https://github.com/mockery/mockery/tree/1.3.6" + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" }, - "time": "2022-09-07T15:05:49+00:00" + "time": "2024-05-16T03:13:13+00:00" }, { "name": "myclabs/deep-copy", @@ -2259,28 +2320,35 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.3.0", + "version": "5.4.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" + "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", + "reference": "9d07b3f7fdcf5efec5d1609cba3c19c5ea2bdc9c", "shasum": "" }, "require": { + "doctrine/deprecations": "^1.1", "ext-filter": "*", - "php": "^7.2 || ^8.0", + "php": "^7.4 || ^8.0", "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7", "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2", - "psalm/phar": "^4.8" + "mockery/mockery": "~1.3.5", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^5.13" }, "type": "library", "extra": { @@ -2304,37 +2372,45 @@ }, { "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" + "email": "opensource@ijaap.nl" } ], "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.4.1" }, - "time": "2021-10-19T17:43:47+00:00" + "time": "2024-05-21T05:55:05+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.6.1", + "version": "1.8.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "77a32518733312af16a44300404e945338981de3" + "reference": "153ae662783729388a584b4361f2545e4d841e3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3", - "reference": "77a32518733312af16a44300404e945338981de3", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/153ae662783729388a584b4361f2545e4d841e3c", + "reference": "153ae662783729388a584b4361f2545e4d841e3c", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.0" + "doctrine/deprecations": "^1.0", + "php": "^7.3 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.13" }, "require-dev": { "ext-tokenizer": "*", - "psalm/phar": "^4.8" + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" }, "type": "library", "extra": { @@ -2360,9 +2436,56 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.1" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.2" }, - "time": "2022-03-15T21:29:03+00:00" + "time": "2024-02-23T11:10:43+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.32.0", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6ca22b154efdd9e3c68c56f5d94670920a1c19a4", + "reference": "6ca22b154efdd9e3c68c56f5d94670920a1c19a4", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", + "support": { + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.32.0" + }, + "time": "2024-09-26T07:23:32+00:00" }, { "name": "phpunit/php-code-coverage", @@ -2603,29 +2726,29 @@ }, { "name": "phpunit/php-token-stream", - "version": "3.1.3", + "version": "4.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-token-stream.git", - "reference": "9c1da83261628cb24b6a6df371b6e312b3954768" + "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/9c1da83261628cb24b6a6df371b6e312b3954768", - "reference": "9c1da83261628cb24b6a6df371b6e312b3954768", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/a853a0e183b9db7eed023d7933a858fa1c8d25a3", + "reference": "a853a0e183b9db7eed023d7933a858fa1c8d25a3", "shasum": "" }, "require": { "ext-tokenizer": "*", - "php": ">=7.1" + "php": "^7.3 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -2650,7 +2773,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-token-stream/issues", - "source": "https://github.com/sebastianbergmann/php-token-stream/tree/3.1.3" + "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master" }, "funding": [ { @@ -2659,20 +2782,20 @@ } ], "abandoned": true, - "time": "2021-07-26T12:15:06+00:00" + "time": "2020-08-04T08:28:15+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.39", + "version": "8.5.40", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "172ba97bcf97ae6ef86ca256adf77aece8a143fe" + "reference": "48ed828b72c35b38cdddcd9059339734cb06b3a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/172ba97bcf97ae6ef86ca256adf77aece8a143fe", - "reference": "172ba97bcf97ae6ef86ca256adf77aece8a143fe", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/48ed828b72c35b38cdddcd9059339734cb06b3a7", + "reference": "48ed828b72c35b38cdddcd9059339734cb06b3a7", "shasum": "" }, "require": { @@ -2741,7 +2864,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.39" + "source": "https://github.com/sebastianbergmann/phpunit/tree/8.5.40" }, "funding": [ { @@ -2757,7 +2880,7 @@ "type": "tidelift" } ], - "time": "2024-07-10T11:43:00+00:00" + "time": "2024-09-19T10:47:04+00:00" }, { "name": "ptrofimov/xpmock", @@ -3654,16 +3777,16 @@ }, { "name": "symfony/console", - "version": "v5.4.43", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "e86f8554de667c16dde8aeb89a3990cfde924df9" + "reference": "5b5a0aa66e3296e303e22490f90f521551835a83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/e86f8554de667c16dde8aeb89a3990cfde924df9", - "reference": "e86f8554de667c16dde8aeb89a3990cfde924df9", + "url": "https://api.github.com/repos/symfony/console/zipball/5b5a0aa66e3296e303e22490f90f521551835a83", + "reference": "5b5a0aa66e3296e303e22490f90f521551835a83", "shasum": "" }, "require": { @@ -3733,7 +3856,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.43" + "source": "https://github.com/symfony/console/tree/v5.4.44" }, "funding": [ { @@ -3749,7 +3872,7 @@ "type": "tidelift" } ], - "time": "2024-08-13T16:31:56+00:00" + "time": "2024-09-20T07:56:40+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4373,16 +4496,16 @@ }, { "name": "symfony/string", - "version": "v5.4.43", + "version": "v5.4.44", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "8be1d484951ff5ca995eaf8edcbcb8b9a5888450" + "reference": "832caa16b6d9aac6bf11747315225f5aba384c24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/8be1d484951ff5ca995eaf8edcbcb8b9a5888450", - "reference": "8be1d484951ff5ca995eaf8edcbcb8b9a5888450", + "url": "https://api.github.com/repos/symfony/string/zipball/832caa16b6d9aac6bf11747315225f5aba384c24", + "reference": "832caa16b6d9aac6bf11747315225f5aba384c24", "shasum": "" }, "require": { @@ -4439,7 +4562,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.43" + "source": "https://github.com/symfony/string/tree/v5.4.44" }, "funding": [ { @@ -4455,7 +4578,7 @@ "type": "tidelift" } ], - "time": "2024-08-01T10:24:28+00:00" + "time": "2024-09-20T07:56:40+00:00" }, { "name": "theseer/tokenizer", @@ -4785,7 +4908,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=7.2", + "php": ">=7.4", "ext-intl": "*", "ext-json": "*" }, diff --git a/mollie-payments-for-woocommerce.php b/mollie-payments-for-woocommerce.php index 689bca9b..f1280f8b 100644 --- a/mollie-payments-for-woocommerce.php +++ b/mollie-payments-for-woocommerce.php @@ -13,7 +13,7 @@ * License: GPLv2 or later * WC requires at least: 3.9 * WC tested up to: 9.3 - * Requires PHP: 7.2 + * Requires PHP: 7.4 * Requires Plugins: woocommerce */ declare(strict_types=1); diff --git a/readme.txt b/readme.txt index b62c18fc..2be5063e 100644 --- a/readme.txt +++ b/readme.txt @@ -4,7 +4,7 @@ Tags: mollie, payments, payment gateway, woocommerce, credit card, apple pay, id Requires at least: 3.8 Tested up to: 6.6 Stable tag: 7.8.0 -Requires PHP: 7.2 +Requires PHP: 7.4 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html diff --git a/src/Activation/ConstraintsChecker.php b/src/Activation/ConstraintsChecker.php index 27a662d0..b6152d22 100644 --- a/src/Activation/ConstraintsChecker.php +++ b/src/Activation/ConstraintsChecker.php @@ -35,7 +35,7 @@ public function __construct() { $wpConstraint = new WordPressConstraint('5.0'); $wcConstraint = new PluginConstraint('3.9', 'woocommerce', 'WooCommerce'); - $phpConstraint = new PhpConstraint('7.2'); + $phpConstraint = new PhpConstraint('7.4'); $jsonConstraint = new ExtensionConstraint('json'); $collectionFactory = new ConstraintsCollectionFactory(); $constraintsCollection = $collectionFactory->create( From a1cc5fe4051cdca7a9caafb48324eab95926f67d Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Fri, 27 Sep 2024 13:58:57 +0200 Subject: [PATCH 19/26] Fix cs --- inc/utils.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/utils.php b/inc/utils.php index 27c500bc..36103924 100644 --- a/inc/utils.php +++ b/inc/utils.php @@ -211,7 +211,7 @@ function mollieDeleteWPTranslationFiles() 'nl_NL', 'nl_NL_formal', 'en_GB', - 'nl_BE_formal' + 'nl_BE_formal', ]; $translationExtensions = ['.mo', '.po', '.l10n.php']; $destination = WP_LANG_DIR From 3b510862da03b2947551982e3c0509d512125938 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Fri, 27 Sep 2024 13:59:21 +0200 Subject: [PATCH 20/26] Fix cs --- inc/utils.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/inc/utils.php b/inc/utils.php index 27c500bc..36103924 100644 --- a/inc/utils.php +++ b/inc/utils.php @@ -211,7 +211,7 @@ function mollieDeleteWPTranslationFiles() 'nl_NL', 'nl_NL_formal', 'en_GB', - 'nl_BE_formal' + 'nl_BE_formal', ]; $translationExtensions = ['.mo', '.po', '.l10n.php']; $destination = WP_LANG_DIR From bbfa3328a4145839608d9f1d92f1f4ea2cc96d9f Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 1 Oct 2024 14:13:33 +0200 Subject: [PATCH 21/26] Point to correct function --- pluginEnvironmentChecker/EnvironmentChecker.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pluginEnvironmentChecker/EnvironmentChecker.php b/pluginEnvironmentChecker/EnvironmentChecker.php index bb0ae235..69833b3a 100644 --- a/pluginEnvironmentChecker/EnvironmentChecker.php +++ b/pluginEnvironmentChecker/EnvironmentChecker.php @@ -60,8 +60,9 @@ public function check() * @param array $params The param values to interpolate into the string. * @return string The translated string with params interpolated. */ - protected function __($string, $params = []) + protected function esc_html__($string, $params = []) { - return esc_html(vsprintf($string, $params)); + $interpolated = vsprintf($string, $params); + return $interpolated && esc_html__($interpolated, 'mollie-payments-for-woocommerce'); } } From a6be18f69399588d1d8ad0a25e44a16cc48c16e7 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 1 Oct 2024 14:13:43 +0200 Subject: [PATCH 22/26] Update german string --- .../mollie-payments-for-woocommerce-de_DE.mo | Bin 59025 -> 59025 bytes .../mollie-payments-for-woocommerce-de_DE.po | 9 +++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/languages/mollie-payments-for-woocommerce-de_DE.mo b/languages/mollie-payments-for-woocommerce-de_DE.mo index 1d7cb41fe5f4cfcd68b7aa601b8ce44121bdc34f..580768d0d0069bf7eb9f20b382fe0f61c6a2d0ad 100644 GIT binary patch delta 27 jcmbPumU-e?<_#Mj@wk*Kq!wiyUXoK%T(Wu3qpQpSw@wX! delta 27 jcmbPumU-e?<_#Mj@dRh4Dx?-=B<7T)=55~d=qfV+u#^nW diff --git a/languages/mollie-payments-for-woocommerce-de_DE.po b/languages/mollie-payments-for-woocommerce-de_DE.po index b284be1a..ec4db721 100644 --- a/languages/mollie-payments-for-woocommerce-de_DE.po +++ b/languages/mollie-payments-for-woocommerce-de_DE.po @@ -5,15 +5,20 @@ msgstr "" "Project-Id-Version: undefined\n" "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/html\n" "POT-Creation-Date: 2023-09-26T10:35:31+00:00\n" +"PO-Revision-Date: \n" +"Last-Translator: \n" +"Language-Team: \n" +"Language: de_DE\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Poedit-Basepath: ..\n" "X-Poedit-KeywordsList: __;_e;_ex:1,2c;_n:1,2;_n_noop:1,2;_nx:1,2,4c;_nx_noop:1,2,3c;_x:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n" +"X-Poedit-SourceCharset: UTF-8\n" +"X-Generator: Poedit 3.3.2\n" "X-Poedit-SearchPath-0: .\n" "X-Poedit-SearchPathExcluded-0: *.js\n" -"X-Poedit-SourceCharset: UTF-8\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" #. Plugin Name of the plugin #, fuzzy From 0aa780566256eede36d1e58da4de682aef32b6f8 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 1 Oct 2024 14:14:30 +0200 Subject: [PATCH 23/26] Cast the flags to bool --- src/Gateway/GatewayModule.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Gateway/GatewayModule.php b/src/Gateway/GatewayModule.php index 84da8ccd..72cade0d 100644 --- a/src/Gateway/GatewayModule.php +++ b/src/Gateway/GatewayModule.php @@ -106,25 +106,25 @@ public function services(): array }, 'gateway.getPaymentMethodsAfterFeatureFlag' => static function (ContainerInterface $container): array { $availablePaymentMethods = $container->get('gateway.listAllMethodsAvailable'); - $klarnaOneFlag = apply_filters('inpsyde.feature-flags.mollie-woocommerce.klarna_one_enabled', true); + $klarnaOneFlag = (bool) apply_filters('inpsyde.feature-flags.mollie-woocommerce.klarna_one_enabled', true); if (!$klarnaOneFlag) { $availablePaymentMethods = array_filter($availablePaymentMethods, static function ($method) { return $method['id'] !== Constants::KLARNA; }); } - $bancomatpayFlag = apply_filters('inpsyde.feature-flags.mollie-woocommerce.bancomatpay_enabled', true); + $bancomatpayFlag = (bool) apply_filters('inpsyde.feature-flags.mollie-woocommerce.bancomatpay_enabled', true); if (!$bancomatpayFlag) { $availablePaymentMethods = array_filter($availablePaymentMethods, static function ($method) { return $method['id'] !== Constants::BANCOMATPAY; }); } - $almaFlag = apply_filters('inpsyde.feature-flags.mollie-woocommerce.alma_enabled', true); + $almaFlag = (bool) apply_filters('inpsyde.feature-flags.mollie-woocommerce.alma_enabled', true); if (!$almaFlag) { $availablePaymentMethods = array_filter($availablePaymentMethods, static function ($method) { return $method['id'] !== Constants::ALMA; }); } - $swishFlag = apply_filters('inpsyde.feature-flags.mollie-woocommerce.swish_enabled', false); + $swishFlag = (bool) apply_filters('inpsyde.feature-flags.mollie-woocommerce.swish_enabled', false); if (!$swishFlag) { $availablePaymentMethods = array_filter($availablePaymentMethods, static function ($method) { return $method['id'] !== Constants::SWISH; From 160c6a7134c3dbeedb96b3b22dca92de55c4c987 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 1 Oct 2024 14:15:32 +0200 Subject: [PATCH 24/26] Remove translations on update and flag --- inc/utils.php | 9 +++++++++ src/Activation/ActivationModule.php | 8 +++++++- src/Shared/SharedDataDictionary.php | 1 + 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/inc/utils.php b/inc/utils.php index 36103924..fae2c40c 100644 --- a/inc/utils.php +++ b/inc/utils.php @@ -190,8 +190,17 @@ function mollieWooCommerceFormatCurrencyValue($value, $currency) return number_format($value, 2, '.', ''); } +function mollieUpdateCompleted( $upgrader_object, $options ) { + //whenever something gets updated they update the languages, we need to delete them + mollieDeleteWPTranslationFiles(); +} + + function mollieDeleteWPTranslationFiles() { + if ( ! function_exists( 'WP_Filesystem' ) ) { + require_once ABSPATH . '/wp-admin/includes/file.php'; + } WP_Filesystem(); global $wp_filesystem; if (!$wp_filesystem) { diff --git a/src/Activation/ActivationModule.php b/src/Activation/ActivationModule.php index ef82ea30..598bcef2 100644 --- a/src/Activation/ActivationModule.php +++ b/src/Activation/ActivationModule.php @@ -82,7 +82,13 @@ public function initDb() */ public function handleTranslations(): void { - add_action('core_upgrade_preamble', 'mollieDeleteWPTranslationFiles'); + add_action('upgrader_process_complete', 'mollieUpdateCompleted', 10, 2); + // we need to handle this version specifically, we can remove this on the next + $translationFlag = get_option('mollie_plugin_update_translation'); + if ($translationFlag !== 'yes') { + mollieDeleteWPTranslationFiles(); + update_option('mollie_plugin_update_translation', 'yes'); + } } /** diff --git a/src/Shared/SharedDataDictionary.php b/src/Shared/SharedDataDictionary.php index e33282c2..ff7ec60b 100644 --- a/src/Shared/SharedDataDictionary.php +++ b/src/Shared/SharedDataDictionary.php @@ -88,6 +88,7 @@ class SharedDataDictionary '_transient_mollie-wc-giftcard_issuers_test', '_transient_timeout_mollie-wc-giftcard_issuers_live', '_transient_mollie-wc-giftcard_issuers_live', + 'mollie_plugin_update_translation' ]; public const DB_VERSION_PARAM_NAME = 'mollie-db-version'; public const PLUGIN_VERSION_PARAM_NAME = 'mollie-plugin-version'; From ec9ccb1f060014b19b4fa3d4e33e2306cd52ae2d Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 1 Oct 2024 14:25:15 +0200 Subject: [PATCH 25/26] Fix cs --- inc/utils.php | 6 +++--- src/Shared/SharedDataDictionary.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/inc/utils.php b/inc/utils.php index fae2c40c..75427b86 100644 --- a/inc/utils.php +++ b/inc/utils.php @@ -190,15 +190,15 @@ function mollieWooCommerceFormatCurrencyValue($value, $currency) return number_format($value, 2, '.', ''); } -function mollieUpdateCompleted( $upgrader_object, $options ) { +function mollieUpdateCompleted($upgrader_object, $options) +{ //whenever something gets updated they update the languages, we need to delete them mollieDeleteWPTranslationFiles(); } - function mollieDeleteWPTranslationFiles() { - if ( ! function_exists( 'WP_Filesystem' ) ) { + if (!function_exists('WP_Filesystem')) { require_once ABSPATH . '/wp-admin/includes/file.php'; } WP_Filesystem(); diff --git a/src/Shared/SharedDataDictionary.php b/src/Shared/SharedDataDictionary.php index ff7ec60b..7ea56432 100644 --- a/src/Shared/SharedDataDictionary.php +++ b/src/Shared/SharedDataDictionary.php @@ -88,7 +88,7 @@ class SharedDataDictionary '_transient_mollie-wc-giftcard_issuers_test', '_transient_timeout_mollie-wc-giftcard_issuers_live', '_transient_mollie-wc-giftcard_issuers_live', - 'mollie_plugin_update_translation' + 'mollie_plugin_update_translation', ]; public const DB_VERSION_PARAM_NAME = 'mollie-db-version'; public const PLUGIN_VERSION_PARAM_NAME = 'mollie-plugin-version'; From c759f153a32fda802cf90398068222d137ba3575 Mon Sep 17 00:00:00 2001 From: carmenmaymo Date: Tue, 1 Oct 2024 14:30:37 +0200 Subject: [PATCH 26/26] Update readme --- readme.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.txt b/readme.txt index 2be5063e..5c0a8fd4 100644 --- a/readme.txt +++ b/readme.txt @@ -222,9 +222,9 @@ Automatic updates should work like a charm; as always though, ensure you backup == Changelog == -= 7.8.1 - 01-09-2024 = += 7.8.1-beta - 01-09-2024 = -* Feature Flag - Initiative - Swish payment method - under flag add_filter('inpsyde.feature-flags.mollie-woocommerce.swish_enabled', false); +* Feature Flag - Initiative - Swish payment method. * Fixed - Unable to make PayPal payments when surcharge is enabled on product and cart pages. * Fixed - Cancel order on expiry date should no longer trigger on WP init. * Fixed - Display of Payment Status column in orders overview when capturing payments immediately.