diff --git a/.distignore b/.distignore
new file mode 100644
index 00000000..fb2c48a3
--- /dev/null
+++ b/.distignore
@@ -0,0 +1,3 @@
+.git
+.github
+var/
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
index 6e792c9b..3cb2c65d 100644
--- a/.github/workflows/tests.yml
+++ b/.github/workflows/tests.yml
@@ -13,14 +13,34 @@ jobs:
strategy:
fail-fast: false
matrix:
- php: ['7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
+ php: ['7.1', '7.2', '7.3', '7.4', '8.0']
dependency-version: [prefer-lowest, prefer-stable]
+ exclude:
+ # PHPUnit 5.7 minimum uses each() which was removed in PHP 8.0
+ - php: '8.0'
+ dependency-version: prefer-lowest
name: PHP ${{ matrix.php }} - ${{ matrix.dependency-version }}
steps:
- name: Checkout code
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
+
+ - name: Fetch sunrise artifact packages
+ uses: actions/checkout@v6
+ with:
+ repository: comfino/shop-plugins-lib-builder
+ token: ${{ secrets.LIB_BUILDER_TOKEN }}
+ sparse-checkout: packages/sunrise
+ sparse-checkout-cone-mode: false
+ path: .sunrise-checkout
+
+ - name: Stage sunrise zips
+ run: |
+ mkdir -p packages
+ mv .sunrise-checkout/packages/sunrise packages/sunrise
+ rm -rf .sunrise-checkout
+ ls -la packages/sunrise
- name: Setup PHP
uses: shivammathur/setup-php@v2
@@ -37,17 +57,46 @@ jobs:
run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name: Cache dependencies
- uses: actions/cache@v4
+ uses: actions/cache@v5
with:
path: ${{ steps.composer-cache.outputs.dir }}
key: ${{ runner.os }}-composer-${{ matrix.dependency-version }}-${{ hashFiles('**/composer.lock') }}
restore-keys: ${{ runner.os }}-composer-${{ matrix.dependency-version }}-
- name: Install dependencies
- run: composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-progress
+ env:
+ COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.LIB_BUILDER_TOKEN }}"}}'
+ run: |
+ # The committed vendor/ ships scoped namespaces (ComfinoExternal\...) for
+ # runtime distribution. Tests need the unscoped packagist versions, so
+ # wipe vendor/ first to force composer to re-extract every package.
+ rm -rf vendor
+ composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-progress
+
+ - name: Create writable log and cache directories
+ run: mkdir -p var/log var/cache
+
+ - name: Check autoloader
+ run: php -r "require 'vendor/autoload.php'; echo 'Autoloader OK' . PHP_EOL;"
- name: Run tests
- run: composer test
+ run: |
+ set +e
+ # Merge stderr into stdout so fatals interleave with PHPUnit's --debug
+ # "Starting test 'X'" lines, pinpointing the offending test.
+ exec 2>&1
+ php \
+ -d error_reporting=-1 \
+ -d display_errors=On \
+ -d display_startup_errors=On \
+ -d log_errors=On \
+ -d output_buffering=0 \
+ -d implicit_flush=1 \
+ -d zend.assertions=1 \
+ vendor/bin/phpunit --debug --verbose --stderr
+ status=$?
+ echo "::notice::phpunit exit code = $status"
+ exit $status
coverage:
runs-on: ubuntu-latest
@@ -56,7 +105,23 @@ jobs:
steps:
- name: Checkout code
- uses: actions/checkout@v4
+ uses: actions/checkout@v6
+
+ - name: Fetch sunrise artifact packages
+ uses: actions/checkout@v6
+ with:
+ repository: comfino/shop-plugins-lib-builder
+ token: ${{ secrets.LIB_BUILDER_TOKEN }}
+ sparse-checkout: packages/sunrise
+ sparse-checkout-cone-mode: false
+ path: .sunrise-checkout
+
+ - name: Stage sunrise zips
+ run: |
+ mkdir -p packages
+ mv .sunrise-checkout/packages/sunrise packages/sunrise
+ rm -rf .sunrise-checkout
+ ls -la packages/sunrise
- name: Setup PHP
uses: shivammathur/setup-php@v2
@@ -66,13 +131,18 @@ jobs:
coverage: xdebug
- name: Install dependencies
+ env:
+ COMPOSER_AUTH: '{"github-oauth": {"github.com": "${{ secrets.LIB_BUILDER_TOKEN }}"}}'
run: composer update --prefer-stable --prefer-dist --no-interaction --no-progress
+ - name: Create writable log and cache directories
+ run: mkdir -p var/log var/cache
+
- name: Run tests with coverage
- run: XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover coverage.xml
+ run: XDEBUG_MODE=coverage vendor/bin/phpunit --coverage-clover coverage.xml --coverage-html coverage --coverage-text
- name: Upload coverage to Codecov
- uses: codecov/codecov-action@v4
+ uses: codecov/codecov-action@v6
with:
files: ./coverage.xml
fail_ci_if_error: false
diff --git a/.gitignore b/.gitignore
index dae2d2b6..3f626783 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,6 @@
.idea
+/packages/sunrise
+/composer.lock
/vendor/*
!/vendor/autoload.php
!/vendor/cache/
diff --git a/README.md b/README.md
index 06ce641b..f450dba9 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,8 @@
[](https://www.php.net/)
[](LICENSE)
+> **Notice:** Version 4.3.0 is the **last release compatible with PHP 7.1**. The upcoming version 5.0.0 will require **PHP 8.1 or higher**, **WooCommerce 7.0.0 or higher**, and **WordPress 6.1 or higher**. Please plan your environment upgrade accordingly.
+
WooCommerce payment module for Comfino deferred payments gateway - installment payments, buy now pay later (BNPL) and corporate payments.
## Installation
@@ -18,11 +20,20 @@ WooCommerce payment module for Comfino deferred payments gateway - installment p
## Compatibility
+### Current version (4.3.0 — last PHP 7.1 compatible release)
+
- **WooCommerce**: 3.0.0 or higher
- **WordPress**: 4.7 or higher
- **PHP**: 7.1 or higher
- **PHP extensions**: ctype, curl, json, zlib
+### Upcoming version (5.0.0)
+
+- **WooCommerce**: 7.0.0 or higher
+- **WordPress**: 6.1 or higher
+- **PHP**: 8.1 or higher
+- **PHP extensions**: ctype, curl, json, sodium, zlib
+
## Development
### Requirements
@@ -89,7 +100,7 @@ Generate translation template files for internationalization:
4. Push to the branch (`git push origin feature/amazing-feature`).
5. Open a Pull Request.
-All pull requests are automatically tested against PHP 7.1-8.4 with both lowest and stable dependencies.
+All pull requests are currently tested against PHP 7.1-8.4 with both lowest and stable dependencies. Starting with version 5.0.0, the minimum supported PHP version will be 8.1.
## License
diff --git a/changelog.txt b/changelog.txt
index 034dcc39..4f6e05da 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,15 @@
+4.3.0
+ * Paywall frontend migrated to V3 API and new frontend Comfino SDK — faster loading, improved stability.
+ * Fixed: paywall invisible when Cloudflare RocketLoader is active (added data-cfasync="false" to prevent async script deferral).
+ * Fixed: paywall invisible or broken with JS optimization plugins (PhastPress, Autoptimize, WP Rocket) that bundle or defer scripts.
+ * Fixed: paywall rendered inside hidden Elementor builder wrapper instead of the visible checkout — only the first visible paywall container is now used.
+ * Fixed: paywall invisible or malfunctioning when Google Consent Management Platform (Google CMP) is active.
+ * Fixed: paywall loan amount now updates correctly when cart items or shipping costs change.
+ * Added support for strict Content Security Policy environments: shops using a nonce-based CSP can now propagate the nonce to the dynamically injected SDK script via the comfino_csp_script_nonce WordPress filter.
+ * Added per-product-type installment term limits (allowedProductsConfig): admins can now restrict available installment terms per financial product type in the sale settings. Limits are enforced on both the paywall (financial products listing) and order creation.
+ * Added direct redirect mode: when enabled, the full paywall offer browser is skipped and the customer is redirected straight to the Comfino payment gateway with the default financial product.
+ * Added a custom paywall CSS style option: admins can inject a custom CSS file into the paywall iframe (only URLs within the store domain are accepted).
+
4.2.8
* Fixed a bug in webhook (payment status notifications): order not found error when "Use order reference as external ID" option is active, fixed a frontend bug concerned with Gutenberg blocks (empty comfino_loan_type error).
diff --git a/comfino-payment-gateway.php b/comfino-payment-gateway.php
index 05c02aa3..f37c2813 100644
--- a/comfino-payment-gateway.php
+++ b/comfino-payment-gateway.php
@@ -3,14 +3,14 @@
* Plugin Name: Comfino Payment Gateway
* Plugin URI: https://github.com/comfino/WooCommerce.git
* Description: Comfino Payment Gateway for WooCommerce.
- * Version: 4.2.8
+ * Version: 4.3.0
* Author: Comfino
* Author URI: https://github.com/comfino
* Domain Path: /languages
* Text Domain: comfino-payment-gateway
- * WC tested up to: 10.5.0
+ * WC tested up to: 10.7.0
* WC requires at least: 3.0
- * Tested up to: 6.9
+ * Tested up to: 7.0
* Requires at least: 5.0
* Requires PHP: 7.1
* License: GPLv3
@@ -23,9 +23,8 @@
}
/**
- * Guard clause to prevent plugin execution in incompatible environments.
- * This MUST be placed before any code which uses PHP 7.1+ syntax and before any use statements.
- * Uses PHP 5.6+ compatible syntax.
+ * Guard clause to prevent plugin execution in incompatible environments. This MUST be placed before any code that uses
+ * PHP 7.1+ syntax and before any use statements. Uses PHP 5.6+ compatible syntax.
*/
if (PHP_VERSION_ID < 70100) {
// Display admin notice about PHP version incompatibility.
@@ -175,7 +174,10 @@ private function __construct()
return $methods;
});
- // Add loaded script tag filter for adding custom attribute which prevents blocking by Google CMP scripts.
+ /* Add loaded script tag filter for adding a custom attribute which prevents blocking by Google CMP scripts.
+ Also prevent Cloudflare RocketLoader and JS bundlers (PhastPress, Autoptimize, WP Rocket) from deferring
+ Comfino frontend scripts asynchronously. These scripts depend on the wp_add_inline_script data block that
+ immediately precedes them in the HTML; async delivery breaks that ordering guarantee. */
add_filter('script_loader_tag', static function (string $tag, string $handle): string {
if (strpos($handle, PaymentGateway::GATEWAY_ID) !== 0) {
return $tag;
@@ -187,13 +189,14 @@ private function __construct()
if (strpos($tag, 'async') === false) {
$attributes[] = 'async';
}
- } elseif (strpos($tag, 'defer') !== false) {
+ } elseif (strpos($handle, 'defer') !== false) {
if (strpos($tag, 'defer') === false) {
$attributes[] = 'defer';
}
}
- $attributes[] = 'data-cmp-ab="2"';
+ $attributes[] = 'data-cmp-ab="2"'; // Google CMP blocking prevention
+ $attributes[] = 'data-cfasync="false"'; // Cloudflare RocketLoader async deferral prevention
return str_replace('">', '" ' . implode(' ', $attributes) . '>', $tag);
}, 10, 2);
@@ -253,6 +256,17 @@ public function activation_check(): void
wp_die(wp_kses_post($environmentWarning));
}
+ if (!in_array('sha3-256', hash_algos(), true)) {
+ add_action('admin_notices', static function () {
+ echo '
'
+ . esc_html__(
+ 'Comfino requires OpenSSL >= 1.1.0 (SHA-3 support) for the V3 paywall.',
+ 'comfino-payment-gateway'
+ )
+ . '
';
+ });
+ }
+
Main::install();
}
@@ -658,6 +672,22 @@ private function upgrade_plugin(): void
update_option('comfino_plugin_current_version', $previousVersion, false);
}
+ /* 4.3.0 */
+ // Remove COMFINO_SHOW_LOGO — logo is now entirely SDK/CDN-driven; stored value is dead data.
+ $comfinoSettings = get_option('woocommerce_comfino_settings', []);
+
+ if (is_array($comfinoSettings) && array_key_exists('show_logo', $comfinoSettings)) {
+ unset($comfinoSettings['show_logo']);
+ update_option('woocommerce_comfino_settings', $comfinoSettings);
+ }
+
+ if (!is_array(ConfigManager::getConfigurationValue('COMFINO_ALLOWED_PRODUCTS_CONFIG_FORBIDDEN_PROD_TYPES'))) {
+ ConfigManager::updateConfigurationValue(
+ 'COMFINO_ALLOWED_PRODUCTS_CONFIG_FORBIDDEN_PROD_TYPES',
+ ['BLIK', 'PAY_LATER', 'PAY_IN_PARTS', 'INSTANT_PAYMENTS']
+ );
+ }
+
// Update code of widget initialization script.
ConfigManager::updateWidgetCode();
diff --git a/composer.json b/composer.json
index 424de447..cdd2a485 100644
--- a/composer.json
+++ b/composer.json
@@ -4,7 +4,6 @@
"description": "WooCommerce payment module for Comfino deferred payments gateway.",
"homepage": "https://github.com/comfino/WooCommerce",
"license": "OSL-3.0",
- "author": "WooCommerce",
"authors": [
{
"name": "Artur Kozubski",
@@ -18,11 +17,20 @@
"platform": {
"php": "7.1.3"
},
- "classmap-authoritative": true,
"optimize-autoloader": true,
"prepend-autoloader": false,
"allow-plugins": {
"php-http/discovery": true
+ },
+ "audit": {
+ "ignore": [
+ "PKSA-pwh8-d4fr-nywn",
+ "PKSA-z3gr-8qht-p93v",
+ "PKSA-v5yj-8nmz-sk2q",
+ "PKSA-ft77-7h5f-p3r6",
+ "PKSA-b14r-zh1d-vdrc",
+ "PKSA-xxgb-wq2d-7gpg"
+ ]
}
},
"autoload": {
@@ -76,6 +84,7 @@
"cache/hierarchical-cache": "~1.1.0",
"league/flysystem": "~1.0.70",
"monolog/monolog": "^1.27",
+ "psr/http-factory": "^1.0",
"psr/log": "^1.1",
"symfony/deprecation-contracts": "<3.0",
"symfony/options-resolver": "~4.4.0",
@@ -85,19 +94,17 @@
"symfony/yaml": "~4.4.0"
},
"require-dev": {
- "nyholm/psr7": "^1.6",
- "php-http/mock-client": "^1.6",
- "phpdocumentor/reflection-common": "~2.1.0",
- "phpdocumentor/reflection-docblock": "~4.3.4",
- "phpdocumentor/type-resolver": "~1.0.1",
- "phpspec/prophecy-phpunit": "^1.1",
- "phpunit/phpunit": "^5.7",
- "webmozart/assert": "<1.10"
+ "phpunit/phpunit": "^5.7.27"
},
"repositories": [
+ {
+ "type": "artifact",
+ "url": "packages/sunrise"
+ },
{
"type": "vcs",
- "url": "git@github.com:comfino/shop-plugins-shared.git"
+ "url": "git@github.com:comfino/shop-plugins-shared.git",
+ "no-api": true
}
]
}
diff --git a/composer.lock b/composer.lock
deleted file mode 100644
index 67f5ae45..00000000
--- a/composer.lock
+++ /dev/null
@@ -1,3919 +0,0 @@
-{
- "_readme": [
- "This file locks the dependencies of your project to a known state",
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
- "This file is @generated automatically"
- ],
- "content-hash": "f7c11ec0518961d431ec47935214504c",
- "packages": [
- {
- "name": "cache/adapter-common",
- "version": "1.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-cache/adapter-common.git",
- "reference": "6b87c5cbdf03be42437b595dbe5de8e97cd1d497"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-cache/adapter-common/zipball/6b87c5cbdf03be42437b595dbe5de8e97cd1d497",
- "reference": "6b87c5cbdf03be42437b595dbe5de8e97cd1d497",
- "shasum": ""
- },
- "require": {
- "cache/tag-interop": "^1.0",
- "php": "^5.6 || ^7.0 || ^8.0",
- "psr/cache": "^1.0",
- "psr/log": "^1.0",
- "psr/simple-cache": "^1.0"
- },
- "require-dev": {
- "cache/integration-tests": "^0.16",
- "phpunit/phpunit": "^5.7.21"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Cache\\Adapter\\Common\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Scherer",
- "email": "aequasi@gmail.com",
- "homepage": "https://github.com/aequasi"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/nyholm"
- }
- ],
- "description": "Common classes for PSR-6 adapters",
- "homepage": "http://www.php-cache.com/en/latest/",
- "keywords": [
- "cache",
- "psr-6",
- "tag"
- ],
- "support": {
- "source": "https://github.com/php-cache/adapter-common/tree/1.2.0"
- },
- "time": "2020-12-14T12:17:39+00:00"
- },
- {
- "name": "cache/array-adapter",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-cache/array-adapter.git",
- "reference": "71e72a51b76ed2668642a35690a7df7178f00670"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-cache/array-adapter/zipball/71e72a51b76ed2668642a35690a7df7178f00670",
- "reference": "71e72a51b76ed2668642a35690a7df7178f00670",
- "shasum": ""
- },
- "require": {
- "cache/adapter-common": "^1.0",
- "cache/hierarchical-cache": "^1.0",
- "php": "^5.6 || ^7.0 || ^8.0",
- "psr/cache": "^1.0",
- "psr/simple-cache": "^1.0"
- },
- "provide": {
- "psr/cache-implementation": "^1.0",
- "psr/simple-cache-implementation": "^1.0"
- },
- "require-dev": {
- "cache/integration-tests": "^0.16",
- "phpunit/phpunit": "^5.7.21"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Cache\\Adapter\\PHPArray\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Scherer",
- "email": "aequasi@gmail.com",
- "homepage": "https://github.com/aequasi"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/nyholm"
- }
- ],
- "description": "A PSR-6 cache implementation using a php array. This implementation supports tags",
- "homepage": "http://www.php-cache.com/en/latest/",
- "keywords": [
- "array",
- "cache",
- "psr-6",
- "tag"
- ],
- "support": {
- "source": "https://github.com/php-cache/array-adapter/tree/1.1.0"
- },
- "time": "2020-12-14T12:17:39+00:00"
- },
- {
- "name": "cache/filesystem-adapter",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-cache/filesystem-adapter.git",
- "reference": "1501ca71502f45114844824209e6a41d87afb221"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-cache/filesystem-adapter/zipball/1501ca71502f45114844824209e6a41d87afb221",
- "reference": "1501ca71502f45114844824209e6a41d87afb221",
- "shasum": ""
- },
- "require": {
- "cache/adapter-common": "^1.0",
- "league/flysystem": "^1.0",
- "php": "^5.6 || ^7.0 || ^8.0",
- "psr/cache": "^1.0",
- "psr/simple-cache": "^1.0"
- },
- "provide": {
- "psr/cache-implementation": "^1.0",
- "psr/simple-cache-implementation": "^1.0"
- },
- "require-dev": {
- "cache/integration-tests": "^0.16",
- "phpunit/phpunit": "^5.7.21"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Cache\\Adapter\\Filesystem\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Scherer",
- "email": "aequasi@gmail.com",
- "homepage": "https://github.com/aequasi"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/nyholm"
- }
- ],
- "description": "A PSR-6 cache implementation using filesystem. This implementation supports tags",
- "homepage": "http://www.php-cache.com/en/latest/",
- "keywords": [
- "cache",
- "filesystem",
- "psr-6",
- "tag"
- ],
- "support": {
- "source": "https://github.com/php-cache/filesystem-adapter/tree/1.1.0"
- },
- "time": "2020-12-14T12:17:39+00:00"
- },
- {
- "name": "cache/hierarchical-cache",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-cache/hierarchical-cache.git",
- "reference": "ba3746c65461b17154fb855068403670fd7fa2d3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-cache/hierarchical-cache/zipball/ba3746c65461b17154fb855068403670fd7fa2d3",
- "reference": "ba3746c65461b17154fb855068403670fd7fa2d3",
- "shasum": ""
- },
- "require": {
- "cache/adapter-common": "^1.0",
- "php": "^5.6 || ^7.0 || ^8.0",
- "psr/cache": "^1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7.21"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Cache\\Hierarchy\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Aaron Scherer",
- "email": "aequasi@gmail.com",
- "homepage": "https://github.com/aequasi"
- },
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/nyholm"
- }
- ],
- "description": "A helper trait and interface to your PSR-6 cache to support hierarchical keys.",
- "homepage": "http://www.php-cache.com/en/latest/",
- "keywords": [
- "cache",
- "hierarchical",
- "hierarchy",
- "psr-6"
- ],
- "support": {
- "source": "https://github.com/php-cache/hierarchical-cache/tree/1.1.0"
- },
- "time": "2020-12-14T12:17:39+00:00"
- },
- {
- "name": "cache/tag-interop",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-cache/tag-interop.git",
- "reference": "b062b1d735357da50edf8387f7a8696f3027d328"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-cache/tag-interop/zipball/b062b1d735357da50edf8387f7a8696f3027d328",
- "reference": "b062b1d735357da50edf8387f7a8696f3027d328",
- "shasum": ""
- },
- "require": {
- "php": "^5.5 || ^7.0 || ^8.0",
- "psr/cache": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Cache\\TagInterop\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com",
- "homepage": "https://github.com/nyholm"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com",
- "homepage": "https://github.com/nicolas-grekas"
- }
- ],
- "description": "Framework interoperable interfaces for tags",
- "homepage": "https://www.php-cache.com/en/latest/",
- "keywords": [
- "cache",
- "psr",
- "psr6",
- "tag"
- ],
- "support": {
- "issues": "https://github.com/php-cache/tag-interop/issues",
- "source": "https://github.com/php-cache/tag-interop/tree/1.1.0"
- },
- "time": "2021-12-31T10:03:23+00:00"
- },
- {
- "name": "comfino/shop-plugins-shared",
- "version": "dev-master",
- "source": {
- "type": "git",
- "url": "git@github.com:comfino/shop-plugins-shared.git",
- "reference": "9d0680060b63f2514519f8268115c841ddcc466e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/comfino/shop-plugins-shared/zipball/9d0680060b63f2514519f8268115c841ddcc466e",
- "reference": "9d0680060b63f2514519f8268115c841ddcc466e",
- "shasum": ""
- },
- "require": {
- "cache/array-adapter": "1.1.0",
- "cache/filesystem-adapter": "1.1.0",
- "ext-curl": "*",
- "ext-json": "*",
- "ext-zlib": "*",
- "monolog/monolog": "^1.27",
- "php": ">=7.1",
- "psr/http-message": "1.0.1",
- "psr/log": "^1.1",
- "sunrise/http-client-curl": "^1.4",
- "sunrise/http-factory": "^2.0"
- },
- "require-dev": {
- "nyholm/psr7": "^1.6",
- "php-http/mock-client": "^1.6",
- "phpspec/prophecy-phpunit": "^1.1",
- "phpunit/phpunit": "^5.7"
- },
- "default-branch": true,
- "type": "library",
- "autoload": {
- "psr-4": {
- "Comfino\\": "src/"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Comfino\\Tests\\": "tests/"
- }
- },
- "license": [
- "proprietary"
- ],
- "authors": [
- {
- "name": "Artur Kozubski",
- "email": "akozubski@comperia.pl",
- "homepage": "https://comfino.pl/plugins"
- }
- ],
- "description": "Shared library for shop plugins with all dependencies cumulated from ecommerce packages.",
- "homepage": "https://github.com/comfino/shop-plugins-shared",
- "support": {
- "source": "https://github.com/comfino/shop-plugins-shared/tree/master",
- "issues": "https://github.com/comfino/shop-plugins-shared/issues"
- },
- "time": "2026-02-16T12:48:10+00:00"
- },
- {
- "name": "fig/http-message-util",
- "version": "1.1.5",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message-util.git",
- "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message-util/zipball/9d94dc0154230ac39e5bf89398b324a86f63f765",
- "reference": "9d94dc0154230ac39e5bf89398b324a86f63f765",
- "shasum": ""
- },
- "require": {
- "php": "^5.3 || ^7.0 || ^8.0"
- },
- "suggest": {
- "psr/http-message": "The package containing the PSR-7 interfaces"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Fig\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Utility classes and constants for use with PSR-7 (psr/http-message)",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "issues": "https://github.com/php-fig/http-message-util/issues",
- "source": "https://github.com/php-fig/http-message-util/tree/1.1.5"
- },
- "time": "2020-11-24T22:02:12+00:00"
- },
- {
- "name": "league/flysystem",
- "version": "1.0.70",
- "source": {
- "type": "git",
- "url": "https://github.com/thephpleague/flysystem.git",
- "reference": "585824702f534f8d3cf7fab7225e8466cc4b7493"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/585824702f534f8d3cf7fab7225e8466cc4b7493",
- "reference": "585824702f534f8d3cf7fab7225e8466cc4b7493",
- "shasum": ""
- },
- "require": {
- "ext-fileinfo": "*",
- "php": ">=5.5.9"
- },
- "conflict": {
- "league/flysystem-sftp": "<1.0.6"
- },
- "require-dev": {
- "phpspec/phpspec": "^3.4 || ^4.0 || ^5.0 || ^6.0",
- "phpunit/phpunit": "^5.7.26"
- },
- "suggest": {
- "ext-fileinfo": "Required for MimeType",
- "ext-ftp": "Allows you to use FTP server storage",
- "ext-openssl": "Allows you to use FTPS server storage",
- "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
- "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
- "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
- "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
- "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
- "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
- "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
- "league/flysystem-webdav": "Allows you to use WebDAV storage",
- "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
- "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
- "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "League\\Flysystem\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Frank de Jonge",
- "email": "info@frenky.net"
- }
- ],
- "description": "Filesystem abstraction: Many filesystems, one API.",
- "keywords": [
- "Cloud Files",
- "WebDAV",
- "abstraction",
- "aws",
- "cloud",
- "copy.com",
- "dropbox",
- "file systems",
- "files",
- "filesystem",
- "filesystems",
- "ftp",
- "rackspace",
- "remote",
- "s3",
- "sftp",
- "storage"
- ],
- "support": {
- "issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/1.0.70"
- },
- "funding": [
- {
- "url": "https://offset.earth/frankdejonge",
- "type": "other"
- }
- ],
- "time": "2020-07-26T07:20:36+00:00"
- },
- {
- "name": "monolog/monolog",
- "version": "1.27.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Seldaek/monolog.git",
- "reference": "904713c5929655dc9b97288b69cfeedad610c9a1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1",
- "reference": "904713c5929655dc9b97288b69cfeedad610c9a1",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0",
- "psr/log": "~1.0"
- },
- "provide": {
- "psr/log-implementation": "1.0.0"
- },
- "require-dev": {
- "aws/aws-sdk-php": "^2.4.9 || ^3.0",
- "doctrine/couchdb": "~1.0@dev",
- "graylog2/gelf-php": "~1.0",
- "php-amqplib/php-amqplib": "~2.4",
- "php-console/php-console": "^3.1.3",
- "phpstan/phpstan": "^0.12.59",
- "phpunit/phpunit": "~4.5",
- "ruflin/elastica": ">=0.90 <3.0",
- "sentry/sentry": "^0.13",
- "swiftmailer/swiftmailer": "^5.3|^6.0"
- },
- "suggest": {
- "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
- "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
- "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mongo": "Allow sending log messages to a MongoDB server",
- "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
- "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
- "php-console/php-console": "Allow sending log messages to Google Chrome",
- "rollbar/rollbar": "Allow sending log messages to Rollbar",
- "ruflin/elastica": "Allow sending log messages to an Elastic Search server",
- "sentry/sentry": "Allow sending log messages to a Sentry server"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Monolog\\": "src/Monolog"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
- }
- ],
- "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "http://github.com/Seldaek/monolog",
- "keywords": [
- "log",
- "logging",
- "psr-3"
- ],
- "support": {
- "issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/1.27.1"
- },
- "funding": [
- {
- "url": "https://github.com/Seldaek",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
- "type": "tidelift"
- }
- ],
- "time": "2022-06-09T08:53:42+00:00"
- },
- {
- "name": "psr/cache",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/cache.git",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
- "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Cache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for caching libraries",
- "keywords": [
- "cache",
- "psr",
- "psr-6"
- ],
- "support": {
- "source": "https://github.com/php-fig/cache/tree/master"
- },
- "time": "2016-08-06T20:24:11+00:00"
- },
- {
- "name": "psr/http-client",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-client.git",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90",
- "shasum": ""
- },
- "require": {
- "php": "^7.0 || ^8.0",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP clients",
- "homepage": "https://github.com/php-fig/http-client",
- "keywords": [
- "http",
- "http-client",
- "psr",
- "psr-18"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-client"
- },
- "time": "2023-09-23T14:17:50+00:00"
- },
- {
- "name": "psr/http-factory",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-factory.git",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "https://www.php-fig.org/"
- }
- ],
- "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
- "keywords": [
- "factory",
- "http",
- "message",
- "psr",
- "psr-17",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-factory"
- },
- "time": "2024-04-15T12:06:14+00:00"
- },
- {
- "name": "psr/http-message",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-message.git",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
- "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for HTTP messages",
- "homepage": "https://github.com/php-fig/http-message",
- "keywords": [
- "http",
- "http-message",
- "psr",
- "psr-7",
- "request",
- "response"
- ],
- "support": {
- "source": "https://github.com/php-fig/http-message/tree/master"
- },
- "time": "2016-08-06T14:39:51+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": "psr/simple-cache",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/simple-cache.git",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
- "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\SimpleCache\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interfaces for simple caching",
- "keywords": [
- "cache",
- "caching",
- "psr",
- "psr-16",
- "simple-cache"
- ],
- "support": {
- "source": "https://github.com/php-fig/simple-cache/tree/master"
- },
- "time": "2017-10-23T01:57:42+00:00"
- },
- {
- "name": "sunrise/http-client-curl",
- "version": "v1.4.6",
- "source": {
- "type": "git",
- "url": "https://github.com/sunrise-php/http-client-curl.git",
- "reference": "df3fa3f7f9bf9f88fb6afc6ce79866bc51e789f8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sunrise-php/http-client-curl/zipball/df3fa3f7f9bf9f88fb6afc6ce79866bc51e789f8",
- "reference": "df3fa3f7f9bf9f88fb6afc6ce79866bc51e789f8",
- "shasum": ""
- },
- "require": {
- "ext-curl": "*",
- "php": "^7.1|^8.0",
- "psr/http-client": "^1.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0"
- },
- "provide": {
- "php-http/client-implementation": "1.0",
- "psr/http-client-implementation": "1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "7.5.20|9.5.0",
- "sunrise/coding-standard": "1.0.0",
- "sunrise/http-factory": "2.0.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Sunrise\\Http\\Client\\Curl\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anatoly Fenric",
- "email": "afenric@gmail.com",
- "homepage": "https://github.com/fenric"
- },
- {
- "name": "李昀陞 (Peter)",
- "email": "peter279k@gmail.com",
- "homepage": "https://github.com/peter279k"
- }
- ],
- "description": "Simple HTTP cURL client for PHP 7.1+ based on PSR-18",
- "homepage": "https://github.com/sunrise-php/http-client-curl",
- "keywords": [
- "PSR-2",
- "client",
- "curl",
- "fenric",
- "http",
- "php-7",
- "php-8",
- "psr-17",
- "psr-18",
- "psr-7",
- "sunrise"
- ],
- "support": {
- "issues": "https://github.com/sunrise-php/http-client-curl/issues",
- "source": "https://github.com/sunrise-php/http-client-curl/tree/v1.4.6"
- },
- "time": "2022-04-19T19:08:14+00:00"
- },
- {
- "name": "sunrise/http-factory",
- "version": "v2.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sunrise-php/http-factory.git",
- "reference": "c923fcd8ac770f68e5070f06324d50713c6fe681"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sunrise-php/http-factory/zipball/c923fcd8ac770f68e5070f06324d50713c6fe681",
- "reference": "c923fcd8ac770f68e5070f06324d50713c6fe681",
- "shasum": ""
- },
- "require": {
- "php": "^7.1|^8.0",
- "sunrise/http-message": "^2.0",
- "sunrise/http-server-request": "^2.0",
- "sunrise/stream": "^1.2",
- "sunrise/uri": "^1.2"
- },
- "provide": {
- "psr/http-factory-implementation": "1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "7.5.20|9.5.0",
- "sunrise/coding-standard": "1.0.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Sunrise\\Http\\Factory\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anatoly Fenric",
- "email": "afenric@gmail.com",
- "homepage": "https://github.com/fenric"
- }
- ],
- "description": "HTTP factory for PHP 7.1+ based on PSR-17",
- "homepage": "https://github.com/sunrise-php/http-factory",
- "keywords": [
- "PHP7",
- "factory",
- "fenric",
- "http",
- "php8",
- "psr-17",
- "psr-7",
- "sunrise"
- ],
- "support": {
- "issues": "https://github.com/sunrise-php/http-factory/issues",
- "source": "https://github.com/sunrise-php/http-factory/tree/v2.0.3"
- },
- "abandoned": "sunrise/http-message",
- "time": "2022-12-31T01:52:59+00:00"
- },
- {
- "name": "sunrise/http-header",
- "version": "v2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sunrise-php/http-header.git",
- "reference": "b291196b4f0b041e6f546d1eed91cbcdb1e773b8"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sunrise-php/http-header/zipball/b291196b4f0b041e6f546d1eed91cbcdb1e773b8",
- "reference": "b291196b4f0b041e6f546d1eed91cbcdb1e773b8",
- "shasum": ""
- },
- "require": {
- "php": "^7.1|^8.0"
- },
- "require-dev": {
- "sunrise/coding-standard": "1.0.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Sunrise\\Http\\Header\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anatoly Fenric",
- "email": "afenric@gmail.com",
- "homepage": "https://github.com/fenric"
- }
- ],
- "description": "HTTP header interface",
- "homepage": "https://github.com/sunrise-php/http-header",
- "keywords": [
- "fenric",
- "header",
- "http",
- "sunrise"
- ],
- "support": {
- "issues": "https://github.com/sunrise-php/http-header/issues",
- "source": "https://github.com/sunrise-php/http-header/tree/v2.0.2"
- },
- "abandoned": "sunrise/http-message",
- "time": "2022-04-18T23:18:22+00:00"
- },
- {
- "name": "sunrise/http-message",
- "version": "v2.1.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sunrise-php/http-message.git",
- "reference": "cd6ebddf984ff2169c30c315a5d87ae88aa930da"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sunrise-php/http-message/zipball/cd6ebddf984ff2169c30c315a5d87ae88aa930da",
- "reference": "cd6ebddf984ff2169c30c315a5d87ae88aa930da",
- "shasum": ""
- },
- "require": {
- "fig/http-message-util": "^1.1",
- "php": "^7.1|^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0",
- "sunrise/http-header": "^2.0",
- "sunrise/stream": "^1.2",
- "sunrise/uri": "^1.2"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "7.5.20|9.5.0",
- "sunrise/coding-standard": "1.0.0"
- },
- "type": "library",
- "autoload": {
- "files": [
- "constants/REASON_PHRASES.php"
- ],
- "psr-4": {
- "Sunrise\\Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anatoly Fenric",
- "email": "afenric@gmail.com",
- "homepage": "https://github.com/fenric"
- }
- ],
- "description": "HTTP message wrapper for PHP 7.1+ based on RFC-7230, PSR-7 and PSR-17",
- "homepage": "https://github.com/sunrise-php/http-message",
- "keywords": [
- "fenric",
- "http",
- "message",
- "php-7",
- "php-8",
- "psr-17",
- "psr-7",
- "request",
- "response",
- "rfc-7230",
- "sunrise"
- ],
- "support": {
- "issues": "https://github.com/sunrise-php/http-message/issues",
- "source": "https://github.com/sunrise-php/http-message/tree/v2.1.3"
- },
- "time": "2022-04-19T19:10:25+00:00"
- },
- {
- "name": "sunrise/http-server-request",
- "version": "v2.2.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sunrise-php/http-server-request.git",
- "reference": "431ed2d5b27def62b23196987cd9db654dcda7ce"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sunrise-php/http-server-request/zipball/431ed2d5b27def62b23196987cd9db654dcda7ce",
- "reference": "431ed2d5b27def62b23196987cd9db654dcda7ce",
- "shasum": ""
- },
- "require": {
- "php": "^7.1|^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0",
- "sunrise/http-message": "^2.0",
- "sunrise/stream": "^1.2",
- "sunrise/uri": "^1.2"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "7.5.20|9.5.0",
- "sunrise/coding-standard": "1.0.0"
- },
- "type": "library",
- "autoload": {
- "files": [
- "constants/UPLOAD_ERRORS.php",
- "functions/request_body.php",
- "functions/request_files.php",
- "functions/request_headers.php",
- "functions/request_method.php",
- "functions/request_protocol.php",
- "functions/request_uri.php"
- ],
- "psr-4": {
- "Sunrise\\Http\\ServerRequest\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anatoly Fenric",
- "email": "afenric@gmail.com",
- "homepage": "https://github.com/fenric"
- },
- {
- "name": "李昀陞 (Peter)",
- "email": "peter279k@gmail.com",
- "homepage": "https://github.com/peter279k"
- }
- ],
- "description": "HTTP server request wrapper for PHP 7.1+ based on PSR-7 and PSR-17",
- "homepage": "https://github.com/sunrise-php/http-server-request",
- "keywords": [
- "PHP7",
- "fenric",
- "http",
- "php8",
- "psr-17",
- "psr-7",
- "request",
- "server",
- "sunrise"
- ],
- "support": {
- "issues": "https://github.com/sunrise-php/http-server-request/issues",
- "source": "https://github.com/sunrise-php/http-server-request/tree/v2.2.2"
- },
- "abandoned": "sunrise/http-message",
- "time": "2022-12-31T01:57:49+00:00"
- },
- {
- "name": "sunrise/stream",
- "version": "v1.3.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sunrise-php/stream.git",
- "reference": "d1a4764f51b9b6710c0c216820accba3d43e5644"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sunrise-php/stream/zipball/d1a4764f51b9b6710c0c216820accba3d43e5644",
- "reference": "d1a4764f51b9b6710c0c216820accba3d43e5644",
- "shasum": ""
- },
- "require": {
- "php": "^7.1|^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "7.5.20|9.5.0",
- "sunrise/coding-standard": "1.0.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Sunrise\\Stream\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anatoly Fenric",
- "email": "afenric@gmail.com",
- "homepage": "https://github.com/fenric"
- },
- {
- "name": "李昀陞 (Peter)",
- "email": "peter279k@gmail.com",
- "homepage": "https://github.com/peter279k"
- }
- ],
- "description": "Stream wrapper for PHP 7.1+ based on PSR-7 and PSR-17",
- "homepage": "https://github.com/sunrise-php/stream",
- "keywords": [
- "PHP7",
- "fenric",
- "http",
- "php8",
- "psr-17",
- "psr-7",
- "stream",
- "sunrise"
- ],
- "support": {
- "issues": "https://github.com/sunrise-php/stream/issues",
- "source": "https://github.com/sunrise-php/stream/tree/v1.3.4"
- },
- "abandoned": "sunrise/http-message",
- "time": "2022-12-31T02:00:59+00:00"
- },
- {
- "name": "sunrise/uri",
- "version": "v1.2.5",
- "source": {
- "type": "git",
- "url": "https://github.com/sunrise-php/uri.git",
- "reference": "cf636bb78bec0888ad0e0645588a1ee2d783adae"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sunrise-php/uri/zipball/cf636bb78bec0888ad0e0645588a1ee2d783adae",
- "reference": "cf636bb78bec0888ad0e0645588a1ee2d783adae",
- "shasum": ""
- },
- "require": {
- "php": "^7.1|^8.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "phpunit/phpunit": "7.5.20|9.5.0",
- "sunrise/coding-standard": "1.0.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Sunrise\\Uri\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Anatoly Fenric",
- "email": "afenric@gmail.com",
- "homepage": "https://github.com/fenric"
- },
- {
- "name": "李昀陞 (Peter)",
- "email": "peter279k@gmail.com",
- "homepage": "https://github.com/peter279k"
- }
- ],
- "description": "URI wrapper for PHP 7.1+ based on RFC-3986, PSR-7 and PSR-17",
- "homepage": "https://github.com/sunrise-php/uri",
- "keywords": [
- "PHP7",
- "fenric",
- "http",
- "parser",
- "php8",
- "psr-17",
- "psr-7",
- "rfc-3986",
- "sunrise",
- "uri"
- ],
- "support": {
- "issues": "https://github.com/sunrise-php/uri/issues",
- "source": "https://github.com/sunrise-php/uri/tree/v1.2.5"
- },
- "abandoned": "sunrise/http-message",
- "time": "2022-12-31T02:03:56+00:00"
- },
- {
- "name": "symfony/deprecation-contracts",
- "version": "v2.5.4",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/605389f2a7e5625f273b53960dc46aeaf9c62918",
- "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/contracts",
- "name": "symfony/contracts"
- },
- "branch-alias": {
- "dev-main": "2.5-dev"
- }
- },
- "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.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-09-25T14:11:13+00:00"
- },
- {
- "name": "symfony/options-resolver",
- "version": "v4.4.44",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/options-resolver.git",
- "reference": "583f56160f716dd435f1cd721fd14b548f4bb510"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/583f56160f716dd435f1cd721fd14b548f4bb510",
- "reference": "583f56160f716dd435f1cd721fd14b548f4bb510",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1.3",
- "symfony/polyfill-php80": "^1.16"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\OptionsResolver\\": ""
- },
- "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": "Provides an improved replacement for the array_replace PHP function",
- "homepage": "https://symfony.com",
- "keywords": [
- "config",
- "configuration",
- "options"
- ],
- "support": {
- "source": "https://github.com/symfony/options-resolver/tree/v4.4.44"
- },
- "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": "2022-07-20T09:59:04+00:00"
- },
- {
- "name": "symfony/polyfill-ctype",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "0424dff1c58f028c451efff2045f5d92410bd540"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
- "reference": "0424dff1c58f028c451efff2045f5d92410bd540",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "provide": {
- "ext-ctype": "*"
- },
- "suggest": {
- "ext-ctype": "For best performance"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony polyfill for ctype functions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-ctype/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/polyfill-php73",
- "version": "v1.30.0",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/ec444d3f3f6505bb28d11afa41e75faadebc10a1",
- "reference": "ec444d3f3f6505bb28d11afa41e75faadebc10a1",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "thanks": {
- "url": "https://github.com/symfony/polyfill",
- "name": "symfony/polyfill"
- }
- },
- "autoload": {
- "files": [
- "bootstrap.php"
- ],
- "psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
- },
- "classmap": [
- "Resources/stubs"
- ]
- },
- "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": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
- "homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
- ],
- "support": {
- "source": "https://github.com/symfony/polyfill-php73/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/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": {
- "url": "https://github.com/symfony/polyfill",
- "name": "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/yaml",
- "version": "v4.4.45",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d",
- "reference": "aeccc4dc52a9e634f1d1eebeb21eacfdcff1053d",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1.3",
- "symfony/polyfill-ctype": "~1.8"
- },
- "conflict": {
- "symfony/console": "<3.4"
- },
- "require-dev": {
- "symfony/console": "^3.4|^4.0|^5.0"
- },
- "suggest": {
- "symfony/console": "For validating YAML files using the lint command"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "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": "Loads and dumps YAML files",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/yaml/tree/v4.4.45"
- },
- "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": "2022-08-02T15:47:23+00:00"
- }
- ],
- "packages-dev": [
- {
- "name": "clue/stream-filter",
- "version": "v1.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/clue/stream-filter.git",
- "reference": "049509fef80032cb3f051595029ab75b49a3c2f7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7",
- "reference": "049509fef80032cb3f051595029ab75b49a3c2f7",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions_include.php"
- ],
- "psr-4": {
- "Clue\\StreamFilter\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Christian Lück",
- "email": "christian@clue.engineering"
- }
- ],
- "description": "A simple and modern approach to stream filtering in PHP",
- "homepage": "https://github.com/clue/stream-filter",
- "keywords": [
- "bucket brigade",
- "callback",
- "filter",
- "php_user_filter",
- "stream",
- "stream_filter_append",
- "stream_filter_register"
- ],
- "support": {
- "issues": "https://github.com/clue/stream-filter/issues",
- "source": "https://github.com/clue/stream-filter/tree/v1.7.0"
- },
- "funding": [
- {
- "url": "https://clue.engineering/support",
- "type": "custom"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
- }
- ],
- "time": "2023-12-20T15:40:13+00:00"
- },
- {
- "name": "doctrine/instantiator",
- "version": "1.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b",
- "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "doctrine/coding-standard": "^9 || ^11",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^0.16 || ^1",
- "phpstan/phpstan": "^1.4",
- "phpstan/phpstan-phpunit": "^1",
- "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
- "vimeo/psalm": "^4.30 || ^5.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
- "keywords": [
- "constructor",
- "instantiate"
- ],
- "support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.5.0"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "time": "2022-12-30T00:15:36+00:00"
- },
- {
- "name": "myclabs/deep-copy",
- "version": "1.13.4",
- "source": {
- "type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a",
- "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "doctrine/collections": "<1.6.8",
- "doctrine/common": "<2.13.3 || >=3 <3.2.2"
- },
- "require-dev": {
- "doctrine/collections": "^1.6.8",
- "doctrine/common": "^2.13.3 || ^3.2.2",
- "phpspec/prophecy": "^1.10",
- "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/DeepCopy/deep_copy.php"
- ],
- "psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "Create deep copies (clones) of your objects",
- "keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
- ],
- "support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4"
- },
- "funding": [
- {
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
- "type": "tidelift"
- }
- ],
- "time": "2025-08-01T08:46:24+00:00"
- },
- {
- "name": "nyholm/psr7",
- "version": "1.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/Nyholm/psr7.git",
- "reference": "e874c8c4286a1e010fb4f385f3a55ac56a05cc93"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Nyholm/psr7/zipball/e874c8c4286a1e010fb4f385f3a55ac56a05cc93",
- "reference": "e874c8c4286a1e010fb4f385f3a55ac56a05cc93",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1",
- "php-http/message-factory": "^1.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0"
- },
- "provide": {
- "php-http/message-factory-implementation": "1.0",
- "psr/http-factory-implementation": "1.0",
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "http-interop/http-factory-tests": "^0.9",
- "php-http/psr7-integration-tests": "^1.0",
- "phpunit/phpunit": "^7.5 || 8.5 || 9.4",
- "symfony/error-handler": "^4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.6-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Nyholm\\Psr7\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Tobias Nyholm",
- "email": "tobias.nyholm@gmail.com"
- },
- {
- "name": "Martijn van der Ven",
- "email": "martijn@vanderven.se"
- }
- ],
- "description": "A fast PHP7 implementation of PSR-7",
- "homepage": "https://tnyholm.se",
- "keywords": [
- "psr-17",
- "psr-7"
- ],
- "support": {
- "issues": "https://github.com/Nyholm/psr7/issues",
- "source": "https://github.com/Nyholm/psr7/tree/1.6.1"
- },
- "funding": [
- {
- "url": "https://github.com/Zegnat",
- "type": "github"
- },
- {
- "url": "https://github.com/nyholm",
- "type": "github"
- }
- ],
- "time": "2023-04-17T16:03:48+00:00"
- },
- {
- "name": "php-http/client-common",
- "version": "2.7.3",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/client-common.git",
- "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/client-common/zipball/dcc6de29c90dd74faab55f71b79d89409c4bf0c1",
- "reference": "dcc6de29c90dd74faab55f71b79d89409c4bf0c1",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0",
- "php-http/httplug": "^2.0",
- "php-http/message": "^1.6",
- "psr/http-client": "^1.0",
- "psr/http-factory": "^1.0",
- "psr/http-message": "^1.0 || ^2.0",
- "symfony/options-resolver": "~4.0.15 || ~4.1.9 || ^4.2.1 || ^5.0 || ^6.0 || ^7.0 || ^8.0",
- "symfony/polyfill-php80": "^1.17"
- },
- "require-dev": {
- "doctrine/instantiator": "^1.1",
- "guzzlehttp/psr7": "^1.4",
- "nyholm/psr7": "^1.2",
- "phpunit/phpunit": "^7.5.20 || ^8.5.33 || ^9.6.7"
- },
- "suggest": {
- "ext-json": "To detect JSON responses with the ContentTypePlugin",
- "ext-libxml": "To detect XML responses with the ContentTypePlugin",
- "php-http/cache-plugin": "PSR-6 Cache plugin",
- "php-http/logger-plugin": "PSR-3 Logger plugin",
- "php-http/stopwatch-plugin": "Symfony Stopwatch plugin"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Client\\Common\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Common HTTP Client implementations and tools for HTTPlug",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "common",
- "http",
- "httplug"
- ],
- "support": {
- "issues": "https://github.com/php-http/client-common/issues",
- "source": "https://github.com/php-http/client-common/tree/2.7.3"
- },
- "time": "2025-11-29T19:12:34+00:00"
- },
- {
- "name": "php-http/discovery",
- "version": "1.20.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/discovery.git",
- "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d",
- "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^1.0|^2.0",
- "php": "^7.1 || ^8.0"
- },
- "conflict": {
- "nyholm/psr7": "<1.0",
- "zendframework/zend-diactoros": "*"
- },
- "provide": {
- "php-http/async-client-implementation": "*",
- "php-http/client-implementation": "*",
- "psr/http-client-implementation": "*",
- "psr/http-factory-implementation": "*",
- "psr/http-message-implementation": "*"
- },
- "require-dev": {
- "composer/composer": "^1.0.2|^2.0",
- "graham-campbell/phpspec-skip-example-extension": "^5.0",
- "php-http/httplug": "^1.0 || ^2.0",
- "php-http/message-factory": "^1.0",
- "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
- "sebastian/comparator": "^3.0.5 || ^4.0.8",
- "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1"
- },
- "type": "composer-plugin",
- "extra": {
- "class": "Http\\Discovery\\Composer\\Plugin",
- "plugin-optional": true
- },
- "autoload": {
- "psr-4": {
- "Http\\Discovery\\": "src/"
- },
- "exclude-from-classmap": [
- "src/Composer/Plugin.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations",
- "homepage": "http://php-http.org",
- "keywords": [
- "adapter",
- "client",
- "discovery",
- "factory",
- "http",
- "message",
- "psr17",
- "psr7"
- ],
- "support": {
- "issues": "https://github.com/php-http/discovery/issues",
- "source": "https://github.com/php-http/discovery/tree/1.20.0"
- },
- "time": "2024-10-02T11:20:13+00:00"
- },
- {
- "name": "php-http/httplug",
- "version": "2.4.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/httplug.git",
- "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/httplug/zipball/5cad731844891a4c282f3f3e1b582c46839d22f4",
- "reference": "5cad731844891a4c282f3f3e1b582c46839d22f4",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0",
- "php-http/promise": "^1.1",
- "psr/http-client": "^1.0",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "require-dev": {
- "friends-of-phpspec/phpspec-code-coverage": "^4.1 || ^5.0 || ^6.0",
- "phpspec/phpspec": "^5.1 || ^6.0 || ^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Client\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Eric GELOEN",
- "email": "geloen.eric@gmail.com"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
- }
- ],
- "description": "HTTPlug, the HTTP client abstraction for PHP",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "http"
- ],
- "support": {
- "issues": "https://github.com/php-http/httplug/issues",
- "source": "https://github.com/php-http/httplug/tree/2.4.1"
- },
- "time": "2024-09-23T11:39:58+00:00"
- },
- {
- "name": "php-http/message",
- "version": "1.14.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/message.git",
- "reference": "2ccee04a28c3d98eb3f2b85ce1e2fcff70c0e63b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/message/zipball/2ccee04a28c3d98eb3f2b85ce1e2fcff70c0e63b",
- "reference": "2ccee04a28c3d98eb3f2b85ce1e2fcff70c0e63b",
- "shasum": ""
- },
- "require": {
- "clue/stream-filter": "^1.5",
- "php": "^7.1 || ^8.0",
- "php-http/message-factory": "^1.0.2",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "provide": {
- "php-http/message-factory-implementation": "1.0"
- },
- "require-dev": {
- "ergebnis/composer-normalize": "^2.6",
- "ext-zlib": "*",
- "guzzlehttp/psr7": "^1.0",
- "laminas/laminas-diactoros": "^2.0",
- "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1",
- "slim/slim": "^3.0"
- },
- "suggest": {
- "ext-zlib": "Used with compressor/decompressor streams",
- "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories",
- "laminas/laminas-diactoros": "Used with Diactoros Factories",
- "slim/slim": "Used with Slim Framework PSR-7 implementation"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/filters.php"
- ],
- "psr-4": {
- "Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "HTTP Message related tools",
- "homepage": "http://php-http.org",
- "keywords": [
- "http",
- "message",
- "psr-7"
- ],
- "support": {
- "issues": "https://github.com/php-http/message/issues",
- "source": "https://github.com/php-http/message/tree/1.14.0"
- },
- "time": "2023-04-14T14:26:18+00:00"
- },
- {
- "name": "php-http/message-factory",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/message-factory.git",
- "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
- "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Factory interfaces for PSR-7 HTTP Message",
- "homepage": "http://php-http.org",
- "keywords": [
- "factory",
- "http",
- "message",
- "stream",
- "uri"
- ],
- "support": {
- "issues": "https://github.com/php-http/message-factory/issues",
- "source": "https://github.com/php-http/message-factory/tree/1.1.0"
- },
- "abandoned": "psr/http-factory",
- "time": "2023-04-14T14:16:17+00:00"
- },
- {
- "name": "php-http/mock-client",
- "version": "1.6.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/mock-client.git",
- "reference": "81f558234421f7da58ed015604a03808996017d0"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/mock-client/zipball/81f558234421f7da58ed015604a03808996017d0",
- "reference": "81f558234421f7da58ed015604a03808996017d0",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0",
- "php-http/client-common": "^2.0",
- "php-http/discovery": "^1.16",
- "php-http/httplug": "^2.0",
- "psr/http-client": "^1.0",
- "psr/http-factory-implementation": "^1.0",
- "psr/http-message": "^1.0 || ^2.0",
- "symfony/polyfill-php80": "^1.17"
- },
- "provide": {
- "php-http/async-client-implementation": "1.0",
- "php-http/client-implementation": "1.0",
- "psr/http-client-implementation": "1.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Mock\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "David de Boer",
- "email": "david@ddeboer.nl"
- }
- ],
- "description": "Mock HTTP client",
- "homepage": "http://httplug.io",
- "keywords": [
- "client",
- "http",
- "mock",
- "psr7"
- ],
- "support": {
- "issues": "https://github.com/php-http/mock-client/issues",
- "source": "https://github.com/php-http/mock-client/tree/1.6.1"
- },
- "time": "2024-10-31T10:30:18+00:00"
- },
- {
- "name": "php-http/promise",
- "version": "1.3.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/promise.git",
- "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
- "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83",
- "shasum": ""
- },
- "require": {
- "php": "^7.1 || ^8.0"
- },
- "require-dev": {
- "friends-of-phpspec/phpspec-code-coverage": "^4.3.2 || ^6.3",
- "phpspec/phpspec": "^5.1.2 || ^6.2 || ^7.4"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Http\\Promise\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Joel Wurtz",
- "email": "joel.wurtz@gmail.com"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Promise used for asynchronous HTTP requests",
- "homepage": "http://httplug.io",
- "keywords": [
- "promise"
- ],
- "support": {
- "issues": "https://github.com/php-http/promise/issues",
- "source": "https://github.com/php-http/promise/tree/1.3.1"
- },
- "time": "2024-03-15T13:55:21+00:00"
- },
- {
- "name": "phpdocumentor/reflection-common",
- "version": "2.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/6568f4687e5b41b054365f9ae03fcb1ed5f2069b",
- "reference": "6568f4687e5b41b054365f9ae03fcb1ed5f2069b",
- "shasum": ""
- },
- "require": {
- "php": ">=7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
- }
- ],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
- "keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
- ],
- "support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/master"
- },
- "time": "2020-04-27T09:25:28+00:00"
- },
- {
- "name": "phpdocumentor/reflection-docblock",
- "version": "4.3.4",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c",
- "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c",
- "shasum": ""
- },
- "require": {
- "php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0",
- "phpdocumentor/type-resolver": "~0.4 || ^1.0.0",
- "webmozart/assert": "^1.0"
- },
- "require-dev": {
- "doctrine/instantiator": "^1.0.5",
- "mockery/mockery": "^1.0",
- "phpdocumentor/type-resolver": "0.4.*",
- "phpunit/phpunit": "^6.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": [
- "src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "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/release/4.x"
- },
- "time": "2019-12-28T18:55:12+00:00"
- },
- {
- "name": "phpdocumentor/type-resolver",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
- "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9",
- "shasum": ""
- },
- "require": {
- "php": "^7.1",
- "phpdocumentor/reflection-common": "^2.0"
- },
- "require-dev": {
- "ext-tokenizer": "^7.1",
- "mockery/mockery": "~1",
- "phpunit/phpunit": "^7.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "phpDocumentor\\Reflection\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- }
- ],
- "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/0.7.2"
- },
- "time": "2019-08-22T18:11:29+00:00"
- },
- {
- "name": "phpspec/prophecy",
- "version": "v1.10.3",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "451c3cd1418cf640de218914901e51b064abb093"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093",
- "reference": "451c3cd1418cf640de218914901e51b064abb093",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.3|^7.0",
- "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0",
- "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0",
- "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^2.5 || ^3.2",
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\": "src/Prophecy"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
- }
- ],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
- "keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
- ],
- "support": {
- "issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/v1.10.3"
- },
- "time": "2020-03-05T15:02:03+00:00"
- },
- {
- "name": "phpspec/prophecy-phpunit",
- "version": "v1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/phpspec/prophecy-phpunit.git",
- "reference": "0d06c84b9f26aab2b9940354f0fe6037dd9799c3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/0d06c84b9f26aab2b9940354f0fe6037dd9799c3",
- "reference": "0d06c84b9f26aab2b9940354f0fe6037dd9799c3",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "phpspec/prophecy": "~1.3"
- },
- "suggest": {
- "phpunit/phpunit": "if it is not installed globally"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Prophecy\\PhpUnit\\": ""
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Christophe Coevoet",
- "email": "stof@notk.org"
- }
- ],
- "description": "PhpUnit test case integrating the Prophecy mocking library",
- "homepage": "http://phpspec.net",
- "keywords": [
- "phpunit",
- "prophecy"
- ],
- "support": {
- "issues": "https://github.com/phpspec/prophecy-phpunit/issues",
- "source": "https://github.com/phpspec/prophecy-phpunit/tree/master"
- },
- "time": "2015-02-09T11:20:26+00:00"
- },
- {
- "name": "phpunit/php-code-coverage",
- "version": "4.0.8",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
- "reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-xmlwriter": "*",
- "php": "^5.6 || ^7.0",
- "phpunit/php-file-iterator": "^1.3",
- "phpunit/php-text-template": "^1.2",
- "phpunit/php-token-stream": "^1.4.2 || ^2.0",
- "sebastian/code-unit-reverse-lookup": "^1.0",
- "sebastian/environment": "^1.3.2 || ^2.0",
- "sebastian/version": "^1.0 || ^2.0"
- },
- "require-dev": {
- "ext-xdebug": "^2.1.4",
- "phpunit/phpunit": "^5.7"
- },
- "suggest": {
- "ext-xdebug": "^2.5.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
- "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
- "keywords": [
- "coverage",
- "testing",
- "xunit"
- ],
- "support": {
- "irc": "irc://irc.freenode.net/phpunit",
- "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/4.0"
- },
- "time": "2017-04-02T07:44:40+00:00"
- },
- {
- "name": "phpunit/php-file-iterator",
- "version": "1.4.5",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
- "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "FilterIterator implementation that filters files based on a list of suffixes.",
- "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
- "keywords": [
- "filesystem",
- "iterator"
- ],
- "support": {
- "irc": "irc://irc.freenode.net/phpunit",
- "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/1.4.5"
- },
- "time": "2017-11-27T13:52:08+00:00"
- },
- {
- "name": "phpunit/php-text-template",
- "version": "1.2.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "type": "library",
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/1.2.1"
- },
- "time": "2015-06-21T13:50:34+00:00"
- },
- {
- "name": "phpunit/php-timer",
- "version": "1.0.9",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
- "reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
- "keywords": [
- "timer"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/master"
- },
- "time": "2017-02-26T11:10:40+00:00"
- },
- {
- "name": "phpunit/php-token-stream",
- "version": "2.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "791198a2c6254db10131eecfe8c06670700904db"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db",
- "reference": "791198a2c6254db10131eecfe8c06670700904db",
- "shasum": ""
- },
- "require": {
- "ext-tokenizer": "*",
- "php": "^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^6.2.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Wrapper around PHP's tokenizer extension.",
- "homepage": "https://github.com/sebastianbergmann/php-token-stream/",
- "keywords": [
- "tokenizer"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/php-token-stream/issues",
- "source": "https://github.com/sebastianbergmann/php-token-stream/tree/master"
- },
- "abandoned": true,
- "time": "2017-11-27T05:48:46+00:00"
- },
- {
- "name": "phpunit/phpunit",
- "version": "5.7.27",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
- "reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
- "shasum": ""
- },
- "require": {
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "myclabs/deep-copy": "~1.3",
- "php": "^5.6 || ^7.0",
- "phpspec/prophecy": "^1.6.2",
- "phpunit/php-code-coverage": "^4.0.4",
- "phpunit/php-file-iterator": "~1.4",
- "phpunit/php-text-template": "~1.2",
- "phpunit/php-timer": "^1.0.6",
- "phpunit/phpunit-mock-objects": "^3.2",
- "sebastian/comparator": "^1.2.4",
- "sebastian/diff": "^1.4.3",
- "sebastian/environment": "^1.3.4 || ^2.0",
- "sebastian/exporter": "~2.0",
- "sebastian/global-state": "^1.1",
- "sebastian/object-enumerator": "~2.0",
- "sebastian/resource-operations": "~1.0",
- "sebastian/version": "^1.0.6|^2.0.1",
- "symfony/yaml": "~2.1|~3.0|~4.0"
- },
- "conflict": {
- "phpdocumentor/reflection-docblock": "3.0.2"
- },
- "require-dev": {
- "ext-pdo": "*"
- },
- "suggest": {
- "ext-xdebug": "*",
- "phpunit/php-invoker": "~1.1"
- },
- "bin": [
- "phpunit"
- ],
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.7.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/5.7.27"
- },
- "time": "2018-02-01T05:50:59+00:00"
- },
- {
- "name": "phpunit/phpunit-mock-objects",
- "version": "3.4.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "a23b761686d50a560cc56233b9ecf49597cc9118"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118",
- "reference": "a23b761686d50a560cc56233b9ecf49597cc9118",
- "shasum": ""
- },
- "require": {
- "doctrine/instantiator": "^1.0.2",
- "php": "^5.6 || ^7.0",
- "phpunit/php-text-template": "^1.2",
- "sebastian/exporter": "^1.2 || ^2.0"
- },
- "conflict": {
- "phpunit/phpunit": "<5.4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.4"
- },
- "suggest": {
- "ext-soap": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.2.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
- "role": "lead"
- }
- ],
- "description": "Mock Object library for PHPUnit",
- "homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
- "keywords": [
- "mock",
- "xunit"
- ],
- "support": {
- "irc": "irc://irc.freenode.net/phpunit",
- "issues": "https://github.com/sebastianbergmann/phpunit-mock-objects/issues",
- "source": "https://github.com/sebastianbergmann/phpunit-mock-objects/tree/3.4"
- },
- "abandoned": true,
- "time": "2017-06-30T09:13:00+00:00"
- },
- {
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "1.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54",
- "reference": "92a1a52e86d34cde6caa54f1b5ffa9fda18e5d54",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "phpunit/phpunit": "^8.5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/1.0.3"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-01T13:45:45+00:00"
- },
- {
- "name": "sebastian/comparator",
- "version": "1.2.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
- "reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "sebastian/diff": "~1.2",
- "sebastian/exporter": "~1.2 || ~2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.2.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "http://www.github.com/sebastianbergmann/comparator",
- "keywords": [
- "comparator",
- "compare",
- "equality"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/1.2"
- },
- "time": "2017-01-29T09:50:25+00:00"
- },
- {
- "name": "sebastian/diff",
- "version": "1.4.3",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
- "reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/1.4"
- },
- "time": "2017-05-22T07:24:03+00:00"
- },
- {
- "name": "sebastian/environment",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
- "reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
- "shasum": ""
- },
- "require": {
- "php": "^5.6 || ^7.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/master"
- },
- "time": "2016-11-26T07:53:53+00:00"
- },
- {
- "name": "sebastian/exporter",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
- "reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3",
- "sebastian/recursion-context": "~2.0"
- },
- "require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "~4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/master"
- },
- "time": "2016-11-19T08:54:04+00:00"
- },
- {
- "name": "sebastian/global-state",
- "version": "1.1.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
- "reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.2"
- },
- "suggest": {
- "ext-uopz": "*"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
- "support": {
- "issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/1.1.1"
- },
- "time": "2015-10-12T03:26:01+00:00"
- },
- {
- "name": "sebastian/object-enumerator",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
- "reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6",
- "sebastian/recursion-context": "~2.0"
- },
- "require-dev": {
- "phpunit/phpunit": "~5"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
- "support": {
- "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/master"
- },
- "time": "2017-02-18T15:18:39+00:00"
- },
- {
- "name": "sebastian/recursion-context",
- "version": "2.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
- "reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "phpunit/phpunit": "~4.4"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
- }
- ],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
- "support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/master"
- },
- "time": "2016-11-19T07:33:16+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
- "reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/master"
- },
- "time": "2015-07-28T20:34:47+00:00"
- },
- {
- "name": "sebastian/version",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
- "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.0.x-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/master"
- },
- "time": "2016-10-03T07:35:21+00:00"
- },
- {
- "name": "webmozart/assert",
- "version": "1.9.1",
- "source": {
- "type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "shasum": ""
- },
- "require": {
- "php": "^5.3.3 || ^7.0 || ^8.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<3.9.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Webmozart\\Assert\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
- "keywords": [
- "assert",
- "check",
- "validate"
- ],
- "support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.9.1"
- },
- "time": "2020-07-08T17:02:28+00:00"
- }
- ],
- "aliases": [],
- "minimum-stability": "stable",
- "stability-flags": {
- "comfino/shop-plugins-shared": 20
- },
- "prefer-stable": false,
- "prefer-lowest": false,
- "platform": {
- "php": ">=7.1",
- "ext-ctype": "*",
- "ext-curl": "*",
- "ext-json": "*",
- "ext-zlib": "*"
- },
- "platform-dev": [],
- "platform-overrides": {
- "php": "7.1.3"
- },
- "plugin-api-version": "2.6.0"
-}
diff --git a/docs/comfino.en.md b/docs/comfino.en.md
index 02c55d87..73a81cb6 100644
--- a/docs/comfino.en.md
+++ b/docs/comfino.en.md
@@ -32,17 +32,29 @@ Configuration parameter fields:
* **Show logo** — visibility status of the Comfino logo next to the title at the list of payment methods (default: enabled)
* **Order number** — Use customer-visible order reference instead of numeric order ID for Comfino API integration. New orders only.
+**Paywall settings**
+* **Direct redirect mode** — Do not display the Comfino paywall. Disables the automatic display of the paywall on the payment summary, allowing you to proceed to the application without having to select one of Comfino's financial products.
+* **Custom paywall CSS style** — Link to a CSS file with styles that override the paywall's appearance (only absolute addresses from the store's domain are accepted).
+

**SALE SETTINGS**
+**Rules for the availability of financial products**
+
+The financial product availability rules section allows you to narrow down the available terms for each type of financial product, corresponding to the available financing methods for purchases under your Comfino contract. For each type, you can specify a minimum and maximum repayment term, and specify specific terms (separated by commas). To avoid applying any restrictions to a given product type, simply leave the fields blank. All restrictions are cumulative: if "Specific terms" are set, only those specific terms are offered; "Min/Max" values further narrow them. Restrictions are applied to both the paywall and the application.
+
+
+
+**Product categories**
+
The tab contains settings related to sales management.
-Financial product availability rules (product category filters) enable Comfino payments to be assigned to specific product categories. Category filters are divided into sections corresponding to available methods of financing purchases under the contract concluded with Comfino. Moreover, managing the availability of Comfino payments is only possible for the following types of financial products: "Zero percent installments", "Pay later", "Leasing". If the concluded contract does not include one or all of these items, the tab will contain a list of trees limited to this one financing method or it will contain a list of trees for other types of products from the contract, if the contract does not include the "Zero percent installments", "Pay later" and "Leasing" products.
+Financial product availability rules (product category filters) enable Comfino payments to be assigned to specific product categories. Category filters are divided into sections corresponding to available methods of financing purchases under the contract concluded with Comfino. Moreover, managing the availability of Comfino payments is only possible for the following types of financial products: "Zero percent installments", "Pay later", "Installments for companies", "Deferred payments for companies", "Divide into 3", "Leasing". If the concluded contract does not include one or all of these items, the tab will contain a list of trees limited to this one financing method or it will contain a list of trees for other types of products from the contract, if the contract does not include the "Zero percent installments", "Pay later", "Installments for companies", "Deferred payments for companies", "Divide into 3" and "Leasing" products.
By default, Comfino payments are available unconditionally for all product types. To disable Comfino for selected product types, uncheck the appropriate categories in the category tree for each type of financial offer and click "Save".
-
+
**WIDGET SETTINGS**
diff --git a/docs/comfino.pl.md b/docs/comfino.pl.md
index e12159fe..a55e00fe 100644
--- a/docs/comfino.pl.md
+++ b/docs/comfino.pl.md
@@ -31,17 +31,29 @@ Pola parametrów konfiguracyjnych:
* **Wyświetlanie logo** — status widoczności logo Comfino obok tytułu na liście metod płatności (domyślnie: włączone)
* **Numer zamówienia** — Używaj numeru zamówienia widocznego dla klienta zamiast numerycznego ID zamówienia w komunikacji z API Comfino. Dotyczy tylko nowych zamówień.
+**Ustawienia paywalla**
+* **Tryb bezpośredniego przekierowania** — Nie wyświetlaj paywalla Comfino, wyłącza automatyczne wyświetlanie paywalla na podsumowaniu płatności, pozwalając przejść na wniosek bez potrzeby wyboru jednego z produktów finansowych Comfino.
+* **Niestandardowy styl CSS paywalla** — Odnośnik do pliku CSS ze stylami nadpisującymi wygląd paywalla (akceptowane są tylko adresy bezwzględne z domeny sklepu)
+

**USTAWIENIA SPRZEDAŻY**
+**Reguły dostępności produktów finansowych**
+
+Sekcja reguł dostępności produktów finansowych umożliwia zawężenie dostępnych okresów dla każdego typu produktu finansowego, odpowiadającego dostępnym metodom finansowania zakupów w ramach umowy zawartej z Comfino. Dla każdego typu można określić minimalny i maksymalny okres spłaty oraz wyszczególnić konkretne okresy (rozdzielone przecinkami). Aby nie stosować żadnych ograniczeń dla danego typu produktu, wystarczy zostawić puste pola. Wszystkie ograniczenia działają łącznie: jeśli ustawione są "Wyszczególnione okresy", oferowane są tylko te konkretne okresy; wartości "Min./Maks." dodatkowo je zawężają. Ograniczenia są stosowane zarówno na paywallu, jak i wniosku.
+
+
+
+**Kategorie produktów**
+
Zakładka zawiera ustawienia dotyczące zarządzania sprzedażą.
-Reguły dostępności produktów finansowych (filtry kategorii produktowych) umożliwiają przypisanie płatności Comfino do określonych kategorii produktów. Filtry kategorii są podzielone na sekcje odpowiadające dostępnym metodom finansowania zakupów w ramach umowy zawartej z Comfino. Ponadto zarządzanie dostępnością płatności Comfino jest możliwe tylko dla następujących typów produktów finansowych: "Raty zero procent", "Zapłać później", "Leasing". Jeśli zawarta umowa nie zawiera jednej z tych pozycji lub wszystkich, to zakładka będzie zawierała listę drzew ograniczonych do tej jednej metody finansowania lub będzie zawierać listę drzew dla pozostałych typów produktów z umowy, w przypadku braku obecności w umowie produktów "Raty zero procent", "Zapłać później" i "Leasing".
+Reguły dostępności produktów finansowych (filtry kategorii produktowych) umożliwiają przypisanie płatności Comfino do określonych kategorii produktów. Filtry kategorii są podzielone na sekcje odpowiadające dostępnym metodom finansowania zakupów w ramach umowy zawartej z Comfino. Ponadto zarządzanie dostępnością płatności Comfino jest możliwe tylko dla następujących typów produktów finansowych: "Raty zero procent", "Zapłać później", "Raty dla firm", "Odroczone płatności dla firm", "Podziel na 3", "Leasing". Jeśli zawarta umowa nie zawiera jednej z tych pozycji lub wszystkich, to zakładka będzie zawierała listę drzew ograniczonych do tej jednej metody finansowania lub będzie zawierać listę drzew dla pozostałych typów produktów z umowy, w przypadku braku obecności w umowie produktów "Raty zero procent", "Zapłać później", "Raty dla firm", "Odroczone płatności dla firm", "Podziel na 3" i "Leasing".
Domyślnie płatności Comfino są dostępne bezwarunkowo dla wszystkich typów produktów. W celu wyłączenia Comfino dla wybranych typów produktów należy odznaczyć odpowiednie kategorie w drzewie kategorii dla każdego typu oferty finansowej i kliknąć "Zapisz".
-
+
**USTAWIENIA WIDGETU**
diff --git a/docs/images/en/configuration1.png b/docs/images/en/configuration1.png
index a72b254b..6a5b0e42 100644
Binary files a/docs/images/en/configuration1.png and b/docs/images/en/configuration1.png differ
diff --git a/docs/images/en/configuration2.png b/docs/images/en/configuration2.png
deleted file mode 100644
index 1ee21c0d..00000000
Binary files a/docs/images/en/configuration2.png and /dev/null differ
diff --git a/docs/images/en/configuration2a.png b/docs/images/en/configuration2a.png
new file mode 100644
index 00000000..03d87257
Binary files /dev/null and b/docs/images/en/configuration2a.png differ
diff --git a/docs/images/en/configuration2b.png b/docs/images/en/configuration2b.png
new file mode 100644
index 00000000..c3cda7b5
Binary files /dev/null and b/docs/images/en/configuration2b.png differ
diff --git a/docs/images/pl/configuration1.png b/docs/images/pl/configuration1.png
index 27e011c9..4de135e0 100644
Binary files a/docs/images/pl/configuration1.png and b/docs/images/pl/configuration1.png differ
diff --git a/docs/images/pl/configuration2.png b/docs/images/pl/configuration2.png
deleted file mode 100644
index d4c24584..00000000
Binary files a/docs/images/pl/configuration2.png and /dev/null differ
diff --git a/docs/images/pl/configuration2a.png b/docs/images/pl/configuration2a.png
new file mode 100644
index 00000000..77ce1ea2
Binary files /dev/null and b/docs/images/pl/configuration2a.png differ
diff --git a/docs/images/pl/configuration2b.png b/docs/images/pl/configuration2b.png
new file mode 100644
index 00000000..81c1d3ac
Binary files /dev/null and b/docs/images/pl/configuration2b.png differ
diff --git a/languages/comfino-payment-gateway-pl_PL.mo b/languages/comfino-payment-gateway-pl_PL.mo
index 4d4141d6..f064cc6c 100644
Binary files a/languages/comfino-payment-gateway-pl_PL.mo and b/languages/comfino-payment-gateway-pl_PL.mo differ
diff --git a/languages/comfino-payment-gateway-pl_PL.po b/languages/comfino-payment-gateway-pl_PL.po
index ab116ddb..0456538a 100644
--- a/languages/comfino-payment-gateway-pl_PL.po
+++ b/languages/comfino-payment-gateway-pl_PL.po
@@ -5,15 +5,15 @@ msgstr ""
"Project-Id-Version: Comfino payment gateway 4.2.7\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/comfino-payment-"
"gateway\n"
-"POT-Creation-Date: 2026-02-12T14:01:18+00:00\n"
-"PO-Revision-Date: 2026-02-12 15:02+0100\n"
+"POT-Creation-Date: 2026-05-21T19:49:14+00:00\n"
+"PO-Revision-Date: 2026-05-21 21:51+0200\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: pl_PL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: Poedit 3.8\n"
+"X-Generator: Poedit 3.9\n"
"X-Domain: comfino-payment-gateway\n"
#. Plugin Name of the plugin
@@ -41,34 +41,40 @@ msgstr "Comfino"
msgid "https://github.com/comfino"
msgstr "https://github.com/comfino"
+#: comfino-payment-gateway.php:262
+msgid "Comfino requires OpenSSL >= 1.1.0 (SHA-3 support) for the V3 paywall."
+msgstr ""
+"Comfino wymaga biblioteki OpenSSL w wersji co najmniej 1.1.0 (z obsługą "
+"algorytmu SHA-3) do obsługi mechanizmu płatności V3."
+
#. translators: 1: Previous plugin version 2: Current plugin version
-#: comfino-payment-gateway.php:324
+#: comfino-payment-gateway.php:338
msgid "Comfino plugin updated from version %1$s to %2$s."
msgstr "Wtyczka Comfino została zaktualizowana z wersji %1$s do %2$s."
-#: comfino-payment-gateway.php:337
+#: comfino-payment-gateway.php:351
msgid "Plugin reset completed with some errors."
msgstr "Resetowanie wtyczki zakończone z pewnymi błędami."
-#: comfino-payment-gateway.php:338
+#: comfino-payment-gateway.php:352
msgid "Plugin reset completed successfully."
msgstr "Resetowanie wtyczki zakończony pomyślnie."
#. translators: 1: Number of configuration options repaired 2: Number of configuration options failed
-#: comfino-payment-gateway.php:341
+#: comfino-payment-gateway.php:355
msgid "Configuration: %1$d repaired, %2$d failed"
msgstr "Konfiguracja: %1$d naprawionych, %2$d nieudanych"
-#: comfino-payment-gateway.php:356
+#: comfino-payment-gateway.php:370
msgid "Error log cleared successfully."
msgstr "Log błędów wyczyszczony pomyślnie."
-#: comfino-payment-gateway.php:367
+#: comfino-payment-gateway.php:381
msgid "Debug log cleared successfully."
msgstr "Log debugowania wyczyszczony pomyślnie."
#. translators: 1: Current version 2: Available version 3: GitHub releases URL
-#: comfino-payment-gateway.php:416
+#: comfino-payment-gateway.php:430
msgid ""
"Comfino Payment Gateway: A new version (%2$s) is available "
"on GitHub. You are currently using version %1$s. Visit GitHub Releases, aby uzyskać więcej informacji."
-#: comfino-payment-gateway.php:480
+#: comfino-payment-gateway.php:494
msgid "Invalid nonce."
msgstr "Nieprawidłowy nonce."
-#: comfino-payment-gateway.php:486
+#: comfino-payment-gateway.php:500
msgid "Insufficient permissions."
msgstr "Niewystarczające uprawnienia."
-#: comfino-payment-gateway.php:493
+#: comfino-payment-gateway.php:507
msgid "Notice dismissed."
msgstr "Powiadomienie zostało odrzucone."
-#: src/Api/ApiClient.php:79 src/View/FrontendManager.php:566
+#: src/Api/ApiClient.php:79 src/View/FrontendManager.php:578
msgid ""
"There was a technical problem. Please try again in a moment and it should "
"work!"
@@ -107,12 +113,12 @@ msgid "It looks like we have an outage. We'll fix it as soon as possible!"
msgstr ""
"Wygląda na to, że mamy awarię. Naprawimy ją tak szybko, jak to możliwe!"
-#: src/Main.php:138
+#: src/Main.php:139
msgid "Settings"
msgstr "Ustawienia"
#. translators: 1: Minimum required PHP version 2: Current PHP version
-#: src/Main.php:383
+#: src/Main.php:455
msgid ""
"The plugin could not be activated. The minimum PHP version required for "
"Comfino is %1$s. You are running %2$s."
@@ -121,7 +127,7 @@ msgstr ""
"to %1$s. Używasz %2$s."
#. translators: 1: Minimum required PHP version 2: Current PHP version
-#: src/Main.php:389
+#: src/Main.php:461
msgid ""
"The Comfino plugin has been deactivated. The minimum PHP version required "
"for Comfino is %1$s. You are running %2$s."
@@ -129,17 +135,17 @@ msgstr ""
"Wtyczka Comfino została wyłączona. Minimalna wersja PHP wymagana dla Comfino "
"to %1$s. Używasz %2$s."
-#: src/Main.php:397
+#: src/Main.php:469
msgid "The plugin could not be activated. WooCommerce needs to be activated."
msgstr "Wtyczka nie mogła zostać włączona. WooCommerce musi zostać aktywowany."
-#: src/Main.php:398
+#: src/Main.php:470
msgid ""
"The Comfino plugin has been deactivated. WooCommerce needs to be activated."
msgstr "Wtyczka Comfino została wyłączona. WooCommerce musi zostać aktywowany."
#. translators: 1: Minimum required WooCommerce version 2: Current WooCommerce version
-#: src/Main.php:405
+#: src/Main.php:477
msgid ""
"The plugin could not be activated. The minimum WooCommerce version required "
"for Comfino is %1$s. You are running %2$s."
@@ -148,7 +154,7 @@ msgstr ""
"Comfino to %1$s. Używasz %2$s."
#. translators: 1: Minimum required WooCommerce version 2: Current WooCommerce version
-#: src/Main.php:411
+#: src/Main.php:483
msgid ""
"The Comfino plugin has been deactivated. The minimum WooCommerce version "
"required for Comfino is %1$s. You are running %2$s."
@@ -156,7 +162,7 @@ msgstr ""
"Wtyczka Comfino została wyłączona. Minimalna wersja WooCommerce wymagana dla "
"Comfino to %1$s. Używasz %2$s."
-#: src/Main.php:419
+#: src/Main.php:491
msgid ""
"The plugin could not be activated. It requires PHP cURL extension which is "
"not installed. More details: https://www.php.net/manual/en/book.curl.php"
@@ -165,7 +171,7 @@ msgstr ""
"jest zainstalowane. Więcej szczegółów: https://www.php.net/manual/en/"
"book.curl.php"
-#: src/Main.php:420
+#: src/Main.php:492
msgid ""
"The Comfino plugin has been deactivated. It requires PHP cURL extension "
"which is not installed. More details: https://www.php.net/manual/en/"
@@ -175,11 +181,11 @@ msgstr ""
"jest zainstalowane. Więcej szczegółów: https://www.php.net/manual/en/"
"book.curl.php"
-#: src/Order/ShopStatusManager.php:72
+#: src/Order/ShopStatusManager.php:73
msgid "Order cancellation sent to Comfino."
msgstr "Anulowanie wniosku wysłane do Comfino."
-#: src/Order/ShopStatusManager.php:84
+#: src/Order/ShopStatusManager.php:85
msgid "Order reminder"
msgstr "Przypomnienie o zamówieniu"
@@ -187,11 +193,11 @@ msgstr "Przypomnienie o zamówieniu"
msgid "Comfino status"
msgstr "Status Comfino"
-#: src/PaymentGateway.php:43
+#: src/PaymentGateway.php:44
msgid "Comfino payments"
msgstr "Płatności Comfino"
-#: src/PaymentGateway.php:44
+#: src/PaymentGateway.php:45
msgid ""
"Comfino is an innovative payment method for customers of e-commerce stores! "
"These are installment payments, deferred (buy now, pay later) and corporate "
@@ -203,7 +209,7 @@ msgstr ""
"firm dostępne na jednej platformie za pomocą szybkiej integracji. Rozwijaj "
"swój biznes z Comfino!"
-#: src/PaymentGateway.php:48
+#: src/PaymentGateway.php:49
msgid ""
"The wide range of Comfino installment payments means fast and safe shopping "
"without burdening your budget here and now. Unexpected expenses, larger "
@@ -218,26 +224,26 @@ msgstr ""
"Niskie Raty oraz płatności odroczone \"Kup teraz, zapłać później\". Wszystko "
"po to, abyś mógł cieszyć się zakupami bez obawy o finanse."
-#: src/PaymentGateway.php:170
+#: src/PaymentGateway.php:169
msgid "Preselected financial offer data incomplete. Please try again."
msgstr ""
"Dane wstępnie wybranej oferty finansowej są niekompletne. Spróbuj ponownie."
-#: src/PaymentGateway.php:227
+#: src/PaymentGateway.php:224
msgid "Comfino create order"
msgstr "Wniosek Comfino stworzony"
#. translators: 1: WordPress version 2: WooCommerce version 3: Comfino plugin version
-#: src/PaymentGateway.php:285
+#: src/PaymentGateway.php:282
msgid "WordPress %1$s WooCommerce %2$s Comfino %3$s - question"
msgstr "WordPress %1$s WooCommerce %2$s Comfino %3$s - pytanie"
-#: src/PaymentGateway.php:297
+#: src/PaymentGateway.php:294
msgid "Do you want to ask about something? Write to us at"
msgstr "Chcesz o coś zapytać? Napisz do nas na adres"
#. translators: s%: Comfino support telephone
-#: src/PaymentGateway.php:300
+#: src/PaymentGateway.php:297
msgid ""
"or contact us by phone. We are waiting on the number: %s. We will answer all "
"your questions!"
@@ -245,12 +251,12 @@ msgstr ""
"lub skontaktuj się telefonicznie. Czekamy pod numerem: %s. Odpowiemy na "
"każde Twoje pytanie!"
-#: src/PaymentGateway.php:527
+#: src/PaymentGateway.php:529
msgid ""
"Invalid customer e-mail address. Please check your account contact data."
msgstr "Nieprawidłowy adres e-mail klienta. Sprawdź dane kontaktowe konta."
-#: src/PaymentGateway.php:534
+#: src/PaymentGateway.php:536
msgid ""
"Phone number is required. Please add a phone number to your billing or "
"delivery address."
@@ -258,35 +264,35 @@ msgstr ""
"Numer telefonu jest wymagany. Dodaj numer telefonu do adresu rozliczeniowego "
"lub dostawy."
-#: src/PaymentGateway.php:542
+#: src/PaymentGateway.php:544
msgid "First name is required."
msgstr "Imię jest wymagane."
-#: src/PaymentGateway.php:546
+#: src/PaymentGateway.php:548
msgid "Last name is required."
msgstr "Nazwisko jest wymagane."
-#: src/PaymentGateway.php:553
+#: src/PaymentGateway.php:555
msgid "Delivery address is required."
msgstr "Adres dostawy jest wymagany."
-#: src/PaymentGateway.php:556
+#: src/PaymentGateway.php:558
msgid "City/Town is required."
msgstr "Miejscowość jest wymagana."
-#: src/PaymentGateway.php:560
+#: src/PaymentGateway.php:562
msgid "Postal code is required."
msgstr "Kod pocztowy jest wymagany."
-#: src/PaymentGateway.php:568
+#: src/PaymentGateway.php:570
msgid "Cart is empty. Please add products to your cart."
msgstr "Koszyk jest pusty. Dodaj produkty do koszyka."
-#: src/PaymentGateway.php:573
+#: src/PaymentGateway.php:575
msgid "Cart total amount must be greater than zero."
msgstr "Łączna kwota koszyka musi być większa niż zero."
-#: src/PaymentGateway.php:578
+#: src/PaymentGateway.php:580
msgid ""
"Comfino payment is not available for this cart. Please check cart amount and "
"product types."
@@ -295,91 +301,124 @@ msgstr ""
"typy produktów."
#. translators: s%: Validated form field name
-#: src/View/SettingsForm.php:49
+#: src/View/SettingsForm.php:50
msgid "Field '%s' can not be empty."
msgstr "Pole '%s' nie może być puste."
#. translators: s%: Validated form field name
-#: src/View/SettingsForm.php:51
+#: src/View/SettingsForm.php:52
msgid "Field '%s' has wrong numeric format."
msgstr "Pole '%s' ma nieprawidłowy format numeryczny."
-#: src/View/SettingsForm.php:63 src/View/SettingsForm.php:467
+#: src/View/SettingsForm.php:64 src/View/SettingsForm.php:571
msgid "Production environment API key"
msgstr "Klucz API środowiska produkcyjnego"
-#: src/View/SettingsForm.php:66
+#: src/View/SettingsForm.php:67
msgid "Payment text"
msgstr "Tekst płatności"
-#: src/View/SettingsForm.php:69 src/View/SettingsForm.php:71
-#: src/View/SettingsForm.php:477
+#: src/View/SettingsForm.php:70 src/View/SettingsForm.php:72
+#: src/View/SettingsForm.php:581
msgid "Minimal amount in cart"
msgstr "Minimalna kwota w koszyku"
-#. translators: s%: Comfino API key
-#: src/View/SettingsForm.php:116 src/View/SettingsForm.php:226
-msgid "API key %s is not valid."
-msgstr "Klucz API %s jest nieprawidłowy."
-
-#: src/View/SettingsForm.php:176 src/View/SettingsForm.php:597
-msgid "Price change detection - container hierarchy level"
-msgstr "Wykrywanie zmian ceny - poziom hierarchii kontenera"
-
#. translators: s%: Custom CSS URL
-#: src/View/SettingsForm.php:189
+#: src/View/SettingsForm.php:78 src/View/SettingsForm.php:263
msgid "Custom CSS URL \"%s\" is not valid."
msgstr "Niestandardowy adres URL CSS \"%s\" jest nieprawidłowy."
#. translators: s%: Custom CSS URL
-#: src/View/SettingsForm.php:192
+#: src/View/SettingsForm.php:81 src/View/SettingsForm.php:266
msgid "Custom CSS URL \"%s\" is not absolute."
msgstr "Niestandardowy adres URL CSS \"%s\" nie jest absolutny."
#. translators: 1: Custom CSS URL 2: Shop domain
-#: src/View/SettingsForm.php:196
+#: src/View/SettingsForm.php:85 src/View/SettingsForm.php:270
msgid "Custom CSS URL \"%1$s\" is not in shop domain \"%2$s\"."
msgstr ""
"Niestandardowy adres URL CSS \"%1$s\" nie znajduje się w domenie sklepu "
"\"%2$s\"."
-#: src/View/SettingsForm.php:460 src/View/SettingsForm.php:648
+#. translators: s%: Comfino API key
+#: src/View/SettingsForm.php:134 src/View/SettingsForm.php:300
+msgid "API key %s is not valid."
+msgstr "Klucz API %s jest nieprawidłowy."
+
+#: src/View/SettingsForm.php:195
+msgid "Unknown product type \"%s\" in term limits — entry skipped."
+msgstr "Nieznany typ produktu „%s” w ograniczeniach terminów — pominięto wpis."
+
+#: src/View/SettingsForm.php:221
+msgid "Term limits for \"%s\": minTerm must not exceed maxTerm."
+msgstr ""
+"Ograniczenia dotyczące długości kadencji dla „%s”: wartość minTerm nie może "
+"przekraczać wartości maxTerm."
+
+#: src/View/SettingsForm.php:250 src/View/SettingsForm.php:729
+msgid "Price change detection - container hierarchy level"
+msgstr "Wykrywanie zmian ceny - poziom hierarchii kontenera"
+
+#: src/View/SettingsForm.php:398 src/View/SettingsForm.php:668
+msgid "Product categories"
+msgstr "Kategorie produktów"
+
+#: src/View/SettingsForm.php:400
+msgid ""
+"Restrict the availability of each financial product type by product "
+"category. For each financial product listed below, select the categories "
+"whose products should be eligible for that payment option. If a customer's "
+"cart contains only products from unselected categories, that financial "
+"product will not be offered at checkout."
+msgstr ""
+"Ograniczanie dostępności poszczególnych typów produktów finansowych według "
+"kategorii produktów. Dla każdego wymienionego poniżej produktu finansowego "
+"wybierz kategorie, których produkty powinny kwalifikować się do tej opcji "
+"płatności. Jeśli koszyk klienta zawiera wyłącznie produkty z niewybranych "
+"kategorii, dany produkt finansowy nie będzie oferowany podczas finalizacji "
+"zamówienia."
+
+#: src/View/SettingsForm.php:437 src/View/SettingsForm.php:664
+msgid "Installment term limits"
+msgstr "Ograniczenia dotyczące okresu spłaty"
+
+#: src/View/SettingsForm.php:564 src/View/SettingsForm.php:780
msgid "Enable/Disable"
msgstr "Włączony/Wyłączony"
-#: src/View/SettingsForm.php:462
+#: src/View/SettingsForm.php:566
msgid "Enable Comfino payment module"
msgstr "Włączony moduł płatności Comfino"
-#: src/View/SettingsForm.php:464
+#: src/View/SettingsForm.php:568
msgid "Shows Comfino payment option at the payment list."
msgstr "Pokaż opcję płatności Comfino na liście płatności."
-#: src/View/SettingsForm.php:469
+#: src/View/SettingsForm.php:573
msgid "Please enter the key provided during registration"
msgstr "Proszę wprowadzić klucz podany podczas rejestracji"
-#: src/View/SettingsForm.php:472
+#: src/View/SettingsForm.php:576
msgid "Title"
msgstr "Tytuł"
-#: src/View/SettingsForm.php:482
+#: src/View/SettingsForm.php:586
msgid "Show logo"
msgstr "Wyświetlanie logo"
-#: src/View/SettingsForm.php:484
+#: src/View/SettingsForm.php:588
msgid "Show logo on payment method"
msgstr "Pokaż logo na metodzie płatności"
-#: src/View/SettingsForm.php:488
+#: src/View/SettingsForm.php:592
msgid "Order number"
msgstr "Numer zamówienia"
-#: src/View/SettingsForm.php:490
+#: src/View/SettingsForm.php:594
msgid "Use order reference as external ID"
msgstr "Użyj numeru zamówienia jako zewnętrznego ID"
-#: src/View/SettingsForm.php:492
+#: src/View/SettingsForm.php:596
msgid ""
"Use customer-visible order reference instead of numeric order ID for Comfino "
"API integration. New orders only."
@@ -387,15 +426,49 @@ msgstr ""
"Używaj numeru zamówienia widocznego dla klienta zamiast numerycznego ID "
"zamówienia w komunikacji z API Comfino. Dotyczy tylko nowych zamówień."
-#: src/View/SettingsForm.php:498
+#: src/View/SettingsForm.php:602
+msgid "Paywall settings"
+msgstr "Ustawienia paywalla"
+
+#: src/View/SettingsForm.php:606
+msgid "Direct redirect mode"
+msgstr "Tryb bezpośredniego przekierowania"
+
+#: src/View/SettingsForm.php:608
+msgid "Enable direct redirect to Comfino payment gateway"
+msgstr "Włącz bezpośrednie przekierowanie do bramki płatniczej Comfino"
+
+#: src/View/SettingsForm.php:610
+msgid ""
+"When enabled, the full paywall offer browser is not displayed. The order is "
+"submitted with the default financial product and the customer is redirected "
+"directly to the Comfino payment gateway."
+msgstr ""
+"Po włączeniu tej opcji nie wyświetla się pełna przeglądarka oferty z "
+"paywallem. Zamówienie jest składane z domyślnym produktem finansowym, a "
+"klient zostaje przekierowany bezpośrednio do bramki płatniczej Comfino."
+
+#: src/View/SettingsForm.php:616
+msgid "Custom paywall CSS style"
+msgstr "Niestandardowy styl CSS paywalla"
+
+#: src/View/SettingsForm.php:619
+msgid ""
+"URL for a custom CSS file injected into the paywall iframe. Only links from "
+"your store domain are allowed."
+msgstr ""
+"Adres URL niestandardowego pliku CSS, który ma zostać wstawiony do ramki "
+"iframe paywalla. Dozwolone są wyłącznie linki z domeny Twojego sklepu."
+
+#: src/View/SettingsForm.php:625
msgid "Test environment"
msgstr "Środowisko testowe"
-#: src/View/SettingsForm.php:500
+#: src/View/SettingsForm.php:627
msgid "Use test environment"
msgstr "Użyj środowiska testowego"
-#: src/View/SettingsForm.php:502
+#: src/View/SettingsForm.php:629
msgid ""
"The test environment allows the store owner to get acquainted with the "
"functionality of the Comfino module. This is a Comfino simulator, thanks to "
@@ -407,11 +480,11 @@ msgstr ""
"poznać wszystkie zalety tej metody płatności. Użycie trybu testowego jest "
"darmowe (nie są również pobierane opłaty za zamówienia)."
-#: src/View/SettingsForm.php:508
+#: src/View/SettingsForm.php:635
msgid "Test environment API key"
msgstr "Klucz API środowiska testowego"
-#: src/View/SettingsForm.php:510
+#: src/View/SettingsForm.php:637
msgid ""
"Ask the supervisor for access to the test environment (key, login, password, "
"link). Remember, the test key is different from the production key."
@@ -419,15 +492,15 @@ msgstr ""
"Poproś opiekuna o dostęp do środowiska testowego (klucz, login, hasło, "
"link). Pamiętaj, klucz testowy różni się od klucza produkcyjnego."
-#: src/View/SettingsForm.php:513
+#: src/View/SettingsForm.php:640
msgid "Debug mode"
msgstr "Tryb debugowania"
-#: src/View/SettingsForm.php:515
+#: src/View/SettingsForm.php:642
msgid "Enable debug mode"
msgstr "Włącz tryb debugowania"
-#: src/View/SettingsForm.php:517
+#: src/View/SettingsForm.php:644
msgid ""
"Debug mode is useful in case of problems with Comfino payment availability. "
"In this mode module logs details of internal process responsible for "
@@ -438,15 +511,15 @@ msgstr ""
"odpowiedzialnego za wyświetlenie opcji płatności Comfino na liście metod "
"płatności."
-#: src/View/SettingsForm.php:523
+#: src/View/SettingsForm.php:650
msgid "Service mode"
msgstr "Tryb serwisowy"
-#: src/View/SettingsForm.php:525
+#: src/View/SettingsForm.php:652
msgid "Enable service mode"
msgstr "Włącz tryb serwisowy"
-#: src/View/SettingsForm.php:527
+#: src/View/SettingsForm.php:654
msgid ""
"Service mode is useful in testing Comfino payment gateway without sharing it "
"with customers. In this mode Comfino payment method is visible only for "
@@ -457,39 +530,39 @@ msgstr ""
"Comfino widoczna jest tylko dla wybranych sesji, a logi debugowania są "
"zbierane wyłącznie dla tych sesji."
-#: src/View/SettingsForm.php:537
+#: src/View/SettingsForm.php:660
msgid "Rules for the availability of financial products"
msgstr "Reguły dostępności produktów finansowych"
-#: src/View/SettingsForm.php:541
+#: src/View/SettingsForm.php:673
msgid "Basic settings"
msgstr "Ustawienia podstawowe"
-#: src/View/SettingsForm.php:545
+#: src/View/SettingsForm.php:677
msgid "Widget enable"
msgstr "Widget włączony"
-#: src/View/SettingsForm.php:547
+#: src/View/SettingsForm.php:679
msgid "Enable Comfino widget"
msgstr "Włączony widget Comfino"
-#: src/View/SettingsForm.php:549
+#: src/View/SettingsForm.php:681
msgid "Show Comfino widget in the product."
msgstr "Pokazuj widget Comfino w produkcie."
-#: src/View/SettingsForm.php:552
+#: src/View/SettingsForm.php:684
msgid "Widget key"
msgstr "Klucz widgetu"
-#: src/View/SettingsForm.php:556
+#: src/View/SettingsForm.php:688
msgid "Widget type"
msgstr "Typ widgetu"
-#: src/View/SettingsForm.php:561
+#: src/View/SettingsForm.php:693
msgid "Offer types"
msgstr "Typy ofert"
-#: src/View/SettingsForm.php:565
+#: src/View/SettingsForm.php:697
msgid ""
"Other payment methods (Installments 0%, Buy now, pay later, Installments for "
"companies, Leasing) available after consulting a Comfino advisor "
@@ -498,50 +571,50 @@ msgstr ""
"Inne sposoby płatności (Raty 0%, Kup teraz, zapłać później, Raty dla firm, "
"Leasing) dostępne po konsultacji z doradcą Comfino (kontakt@comfino.pl)."
-#: src/View/SettingsForm.php:568
+#: src/View/SettingsForm.php:700
msgid "Show logos"
msgstr "Wyświetlanie logotypów"
-#: src/View/SettingsForm.php:570
+#: src/View/SettingsForm.php:702
msgid "Show logos of financial services providers"
msgstr "Pokaż loga dostawców usług finansowych"
-#: src/View/SettingsForm.php:574
+#: src/View/SettingsForm.php:706
msgid "Advanced settings"
msgstr "Ustawienia zaawansowane"
-#: src/View/SettingsForm.php:578
+#: src/View/SettingsForm.php:710
msgid "Widget price element selector"
msgstr "Selektor elementu ceny widgetu"
-#: src/View/SettingsForm.php:583
+#: src/View/SettingsForm.php:715
msgid "Widget anchor element selector"
msgstr "Selektor elementu zakotwiczenia widgetu"
-#: src/View/SettingsForm.php:588
+#: src/View/SettingsForm.php:720
msgid "Price change detection - container selector"
msgstr "Wykrywanie zmian ceny - selektor kontenera"
-#: src/View/SettingsForm.php:591
+#: src/View/SettingsForm.php:723
msgid "Selector of observed parent element which contains price element."
msgstr ""
"Selektor obserwowanego elementu nadrzędnego, który zawiera element ceny."
-#: src/View/SettingsForm.php:600
+#: src/View/SettingsForm.php:732
msgid ""
"Hierarchy level of observed parent element relative to the price element."
msgstr ""
"Poziom hierarchii obserwowanego elementu nadrzędnego względem elementu ceny."
-#: src/View/SettingsForm.php:606
+#: src/View/SettingsForm.php:738
msgid "Embedding method"
msgstr "Metoda osadzania"
-#: src/View/SettingsForm.php:616
+#: src/View/SettingsForm.php:748
msgid "Custom banner CSS style"
msgstr "Niestandardowy styl CSS banera"
-#: src/View/SettingsForm.php:619
+#: src/View/SettingsForm.php:751
msgid ""
"URL for the custom banner style. Only links from your store domain are "
"allowed."
@@ -549,11 +622,11 @@ msgstr ""
"Adres URL niestandardowego stylu banera. Dozwolone są tylko linki z domeny "
"sklepu."
-#: src/View/SettingsForm.php:625
+#: src/View/SettingsForm.php:757
msgid "Custom calculator CSS style"
msgstr "Niestandardowy styl CSS kalkulatora"
-#: src/View/SettingsForm.php:628
+#: src/View/SettingsForm.php:760
msgid ""
"URL for the custom calculator style. Only links from your store domain are "
"allowed."
@@ -561,20 +634,21 @@ msgstr ""
"Adres URL niestandardowego stylu kalkulatora. Dozwolone są tylko linki z "
"domeny sklepu."
-#: src/View/SettingsForm.php:634
+#: src/View/SettingsForm.php:766
msgid "Widget initialization code"
msgstr "Kod inicjalizacji widgetu"
-#: src/View/SettingsForm.php:650
+#: src/View/SettingsForm.php:782
msgid ""
-"By enabling \"Saving shopping cart\", you agree and accept Regulations"
+"By enabling \"Saving shopping cart\", you agree and accept Regulations"
msgstr ""
"Włączając \"Ratowanie koszyków\" zgadzasz się i akceptujesz Regulamin"
-#: src/View/SettingsForm.php:652
+#: src/View/SettingsForm.php:784
msgid ""
"With the \"Cart Rescue\" feature, you will effectively minimize the problem "
"of abandoned carts that all sellers face. When a customer adds products to "
@@ -590,27 +664,27 @@ msgstr ""
"linkiem prowadzącym do płatności. Ta usługa pozwala skutecznie odzyskiwać "
"potencjalne transakcje i zwiększać konwersję zamówień."
-#: src/View/SettingsForm.php:655
+#: src/View/SettingsForm.php:787
msgid "View in payment list"
msgstr "Wyświetlaj na liście płatności"
-#: src/View/SettingsForm.php:658
+#: src/View/SettingsForm.php:790
msgid "Only Comfino"
msgstr "Tylko Comfino"
-#: src/View/SettingsForm.php:659
+#: src/View/SettingsForm.php:791
msgid "All payments"
msgstr "Wszystkie płatności"
-#: src/View/SettingsForm.php:666
+#: src/View/SettingsForm.php:798
msgid "Environment variables"
msgstr "Zmienne środowiskowe"
-#: src/View/SettingsForm.php:668
+#: src/View/SettingsForm.php:800
msgid "Use development environment variables"
msgstr "Użyj zmiennych środowiska deweloperskiego"
-#: src/View/SettingsForm.php:670
+#: src/View/SettingsForm.php:802
msgid ""
"Use of development environment variables with custom hosts which overwrite "
"hosts stored in the plugin."
@@ -681,6 +755,42 @@ msgstr ""
"wyłączona, aby zapobiec błędom krytycznym. Rozwiąż problem z wersją PHP "
"przed ponownym włączeniem."
+#: views/admin/_configure/allowed-products-config.php:20
+msgid "Product type"
+msgstr "Typ produktu finansowego"
+
+#: views/admin/_configure/allowed-products-config.php:21
+msgid "Min term"
+msgstr "Minimalny okres"
+
+#: views/admin/_configure/allowed-products-config.php:22
+msgid "Max term"
+msgstr "Maksymalny okres"
+
+#: views/admin/_configure/allowed-products-config.php:23
+msgid "Specific terms (comma-separated)"
+msgstr "Wyszczególnione okresy (rozdzielone przecinkami)"
+
+#: views/admin/_configure/allowed-products-config.php:40
+#: views/admin/_configure/allowed-products-config.php:48
+msgid "No limit"
+msgstr "Brak ograniczeń"
+
+#: views/admin/_configure/allowed-products-config.php:56
+msgid "e.g. 6,12,24,36"
+msgstr "np. 6,12,24,36"
+
+#: views/admin/_configure/allowed-products-config.php:65
+msgid ""
+"Leave fields empty to apply no restriction for that product type. All "
+"constraints are cumulative: when \"Specific terms\" is set, only those exact "
+"terms are offered; \"Min/Max term\" further narrows them down."
+msgstr ""
+"Pozostaw pola puste, aby nie stosować żadnych ograniczeń dla danego typu "
+"produktu. Wszystkie ograniczenia działają łącznie: jeśli ustawione są "
+"\"Wyszczególnione okresy\", oferowane są tylko te konkretne okresy; wartości "
+"\"Min./Maks. okres\" dodatkowo je zawężają."
+
#: views/admin/_configure/debug-log.php:16
msgid "Debug log"
msgstr "Log trybu debugowania"
@@ -733,31 +843,31 @@ msgstr "Log dezinstalacji"
msgid "No uninstallation log available."
msgstr "Log dezinstalacji niedostępny."
-#: views/admin/_configure/module-reset.php:12
-#: views/admin/_configure/module-reset.php:16
+#: views/admin/_configure/module-reset.php:17
+#: views/admin/_configure/module-reset.php:21
msgid "Plugin reset"
msgstr "Reset wtyczki"
-#: views/admin/_configure/module-reset.php:17
+#: views/admin/_configure/module-reset.php:22
msgid "This operation will"
msgstr "Ta operacja wykona"
-#: views/admin/_configure/module-reset.php:19
+#: views/admin/_configure/module-reset.php:24
msgid "Add missing configuration options (preserves existing values)."
msgstr ""
"Dodanie brakujących opcji konfiguracyjnych (z zachowaniem istniejących "
"wartości)."
-#: views/admin/_configure/module-reset.php:20
+#: views/admin/_configure/module-reset.php:25
msgid "Clear module cache."
msgstr "Wyczyszczenie pamięci podręcznej modułu."
-#: views/admin/_configure/module-reset.php:22
+#: views/admin/_configure/module-reset.php:27
msgid ""
"Note: This operation does NOT delete any existing configuration or data."
msgstr "Uwaga: Ta operacja NIE usuwa istniejącej konfiguracji ani danych."
-#: views/admin/_configure/module-reset.php:25
+#: views/admin/_configure/module-reset.php:30
msgid ""
"Are you sure you want to reset the plugin? This will repair missing options "
"and clear all caches."
@@ -765,7 +875,7 @@ msgstr ""
"Czy na pewno chcesz zresetować wtyczkę? Spowoduje to naprawienie brakujących "
"opcji i wyczyści całą pamięć podręczną."
-#: views/admin/_configure/module-reset.php:26
+#: views/admin/_configure/module-reset.php:31
msgid "Reset plugin"
msgstr "Zresetuj wtyczkę"
@@ -794,9 +904,8 @@ msgstr ""
msgid "Proceed to payment"
msgstr "Przejdź do płatności"
-#: views/front/paywall.php:18
-msgid "Comfino - installment and deferred on-line payments"
-msgstr "Comfino - raty i odroczone płatności online"
+#~ msgid "Comfino - installment and deferred on-line payments"
+#~ msgstr "Comfino - raty i odroczone płatności online"
#~ msgid "Cache: %1$d files cleared, %2$d errors"
#~ msgstr "Cache: %1$d plików wyczyszczonych, %2$d błędów"
diff --git a/languages/comfino-payment-gateway.pot b/languages/comfino-payment-gateway.pot
index 421dc8dc..d18e6dbf 100644
--- a/languages/comfino-payment-gateway.pot
+++ b/languages/comfino-payment-gateway.pot
@@ -2,14 +2,14 @@
# This file is distributed under the GPLv3.
msgid ""
msgstr ""
-"Project-Id-Version: Comfino Payment Gateway 4.2.8\n"
+"Project-Id-Version: Comfino Payment Gateway 4.3.0\n"
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/comfino-payment-gateway\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"POT-Creation-Date: 2026-02-12T14:01:18+00:00\n"
+"POT-Creation-Date: 2026-05-21T19:49:14+00:00\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"X-Generator: WP-CLI 2.10.0\n"
"X-Domain: comfino-payment-gateway\n"
@@ -39,51 +39,55 @@ msgstr ""
msgid "https://github.com/comfino"
msgstr ""
+#: comfino-payment-gateway.php:262
+msgid "Comfino requires OpenSSL >= 1.1.0 (SHA-3 support) for the V3 paywall."
+msgstr ""
+
#. translators: 1: Previous plugin version 2: Current plugin version
-#: comfino-payment-gateway.php:324
+#: comfino-payment-gateway.php:338
msgid "Comfino plugin updated from version %1$s to %2$s."
msgstr ""
-#: comfino-payment-gateway.php:337
+#: comfino-payment-gateway.php:351
msgid "Plugin reset completed with some errors."
msgstr ""
-#: comfino-payment-gateway.php:338
+#: comfino-payment-gateway.php:352
msgid "Plugin reset completed successfully."
msgstr ""
#. translators: 1: Number of configuration options repaired 2: Number of configuration options failed
-#: comfino-payment-gateway.php:341
+#: comfino-payment-gateway.php:355
msgid "Configuration: %1$d repaired, %2$d failed"
msgstr ""
-#: comfino-payment-gateway.php:356
+#: comfino-payment-gateway.php:370
msgid "Error log cleared successfully."
msgstr ""
-#: comfino-payment-gateway.php:367
+#: comfino-payment-gateway.php:381
msgid "Debug log cleared successfully."
msgstr ""
#. translators: 1: Current version 2: Available version 3: GitHub releases URL
-#: comfino-payment-gateway.php:416
+#: comfino-payment-gateway.php:430
msgid "Comfino Payment Gateway: A new version (%2$s) is available on GitHub. You are currently using version %1$s. Visit GitHub Releases for more information."
msgstr ""
-#: comfino-payment-gateway.php:480
+#: comfino-payment-gateway.php:494
msgid "Invalid nonce."
msgstr ""
-#: comfino-payment-gateway.php:486
+#: comfino-payment-gateway.php:500
msgid "Insufficient permissions."
msgstr ""
-#: comfino-payment-gateway.php:493
+#: comfino-payment-gateway.php:507
msgid "Notice dismissed."
msgstr ""
#: src/Api/ApiClient.php:79
-#: src/View/FrontendManager.php:566
+#: src/View/FrontendManager.php:578
msgid "There was a technical problem. Please try again in a moment and it should work!"
msgstr ""
@@ -95,51 +99,51 @@ msgstr ""
msgid "It looks like we have an outage. We'll fix it as soon as possible!"
msgstr ""
-#: src/Main.php:138
+#: src/Main.php:139
msgid "Settings"
msgstr ""
#. translators: 1: Minimum required PHP version 2: Current PHP version
-#: src/Main.php:383
+#: src/Main.php:455
msgid "The plugin could not be activated. The minimum PHP version required for Comfino is %1$s. You are running %2$s."
msgstr ""
#. translators: 1: Minimum required PHP version 2: Current PHP version
-#: src/Main.php:389
+#: src/Main.php:461
msgid "The Comfino plugin has been deactivated. The minimum PHP version required for Comfino is %1$s. You are running %2$s."
msgstr ""
-#: src/Main.php:397
+#: src/Main.php:469
msgid "The plugin could not be activated. WooCommerce needs to be activated."
msgstr ""
-#: src/Main.php:398
+#: src/Main.php:470
msgid "The Comfino plugin has been deactivated. WooCommerce needs to be activated."
msgstr ""
#. translators: 1: Minimum required WooCommerce version 2: Current WooCommerce version
-#: src/Main.php:405
+#: src/Main.php:477
msgid "The plugin could not be activated. The minimum WooCommerce version required for Comfino is %1$s. You are running %2$s."
msgstr ""
#. translators: 1: Minimum required WooCommerce version 2: Current WooCommerce version
-#: src/Main.php:411
+#: src/Main.php:483
msgid "The Comfino plugin has been deactivated. The minimum WooCommerce version required for Comfino is %1$s. You are running %2$s."
msgstr ""
-#: src/Main.php:419
+#: src/Main.php:491
msgid "The plugin could not be activated. It requires PHP cURL extension which is not installed. More details: https://www.php.net/manual/en/book.curl.php"
msgstr ""
-#: src/Main.php:420
+#: src/Main.php:492
msgid "The Comfino plugin has been deactivated. It requires PHP cURL extension which is not installed. More details: https://www.php.net/manual/en/book.curl.php"
msgstr ""
-#: src/Order/ShopStatusManager.php:72
+#: src/Order/ShopStatusManager.php:73
msgid "Order cancellation sent to Comfino."
msgstr ""
-#: src/Order/ShopStatusManager.php:84
+#: src/Order/ShopStatusManager.php:85
msgid "Order reminder"
msgstr ""
@@ -147,337 +151,386 @@ msgstr ""
msgid "Comfino status"
msgstr ""
-#: src/PaymentGateway.php:43
+#: src/PaymentGateway.php:44
msgid "Comfino payments"
msgstr ""
-#: src/PaymentGateway.php:44
+#: src/PaymentGateway.php:45
msgid "Comfino is an innovative payment method for customers of e-commerce stores! These are installment payments, deferred (buy now, pay later) and corporate payments available on one platform with the help of quick integration. Grow your business with Comfino!"
msgstr ""
-#: src/PaymentGateway.php:48
+#: src/PaymentGateway.php:49
msgid "The wide range of Comfino installment payments means fast and safe shopping without burdening your budget here and now. Unexpected expenses, larger purchases, or maybe you just prefer to pay later? With Comfino you have a choice! 0% installments, Convenient Installments and deferred payments \"Buy now, pay later\". All so that you can enjoy shopping without worrying about your finances."
msgstr ""
-#: src/PaymentGateway.php:170
+#: src/PaymentGateway.php:169
msgid "Preselected financial offer data incomplete. Please try again."
msgstr ""
-#: src/PaymentGateway.php:227
+#: src/PaymentGateway.php:224
msgid "Comfino create order"
msgstr ""
#. translators: 1: WordPress version 2: WooCommerce version 3: Comfino plugin version
-#: src/PaymentGateway.php:285
+#: src/PaymentGateway.php:282
msgid "WordPress %1$s WooCommerce %2$s Comfino %3$s - question"
msgstr ""
-#: src/PaymentGateway.php:297
+#: src/PaymentGateway.php:294
msgid "Do you want to ask about something? Write to us at"
msgstr ""
#. translators: s%: Comfino support telephone
-#: src/PaymentGateway.php:300
+#: src/PaymentGateway.php:297
msgid "or contact us by phone. We are waiting on the number: %s. We will answer all your questions!"
msgstr ""
-#: src/PaymentGateway.php:527
+#: src/PaymentGateway.php:529
msgid "Invalid customer e-mail address. Please check your account contact data."
msgstr ""
-#: src/PaymentGateway.php:534
+#: src/PaymentGateway.php:536
msgid "Phone number is required. Please add a phone number to your billing or delivery address."
msgstr ""
-#: src/PaymentGateway.php:542
+#: src/PaymentGateway.php:544
msgid "First name is required."
msgstr ""
-#: src/PaymentGateway.php:546
+#: src/PaymentGateway.php:548
msgid "Last name is required."
msgstr ""
-#: src/PaymentGateway.php:553
+#: src/PaymentGateway.php:555
msgid "Delivery address is required."
msgstr ""
-#: src/PaymentGateway.php:556
+#: src/PaymentGateway.php:558
msgid "City/Town is required."
msgstr ""
-#: src/PaymentGateway.php:560
+#: src/PaymentGateway.php:562
msgid "Postal code is required."
msgstr ""
-#: src/PaymentGateway.php:568
+#: src/PaymentGateway.php:570
msgid "Cart is empty. Please add products to your cart."
msgstr ""
-#: src/PaymentGateway.php:573
+#: src/PaymentGateway.php:575
msgid "Cart total amount must be greater than zero."
msgstr ""
-#: src/PaymentGateway.php:578
+#: src/PaymentGateway.php:580
msgid "Comfino payment is not available for this cart. Please check cart amount and product types."
msgstr ""
#. translators: s%: Validated form field name
-#: src/View/SettingsForm.php:49
+#: src/View/SettingsForm.php:50
msgid "Field '%s' can not be empty."
msgstr ""
#. translators: s%: Validated form field name
-#: src/View/SettingsForm.php:51
+#: src/View/SettingsForm.php:52
msgid "Field '%s' has wrong numeric format."
msgstr ""
-#: src/View/SettingsForm.php:63
-#: src/View/SettingsForm.php:467
+#: src/View/SettingsForm.php:64
+#: src/View/SettingsForm.php:571
msgid "Production environment API key"
msgstr ""
-#: src/View/SettingsForm.php:66
+#: src/View/SettingsForm.php:67
msgid "Payment text"
msgstr ""
-#: src/View/SettingsForm.php:69
-#: src/View/SettingsForm.php:71
-#: src/View/SettingsForm.php:477
+#: src/View/SettingsForm.php:70
+#: src/View/SettingsForm.php:72
+#: src/View/SettingsForm.php:581
msgid "Minimal amount in cart"
msgstr ""
+#. translators: s%: Custom CSS URL
+#: src/View/SettingsForm.php:78
+#: src/View/SettingsForm.php:263
+msgid "Custom CSS URL \"%s\" is not valid."
+msgstr ""
+
+#. translators: s%: Custom CSS URL
+#: src/View/SettingsForm.php:81
+#: src/View/SettingsForm.php:266
+msgid "Custom CSS URL \"%s\" is not absolute."
+msgstr ""
+
+#. translators: 1: Custom CSS URL 2: Shop domain
+#: src/View/SettingsForm.php:85
+#: src/View/SettingsForm.php:270
+msgid "Custom CSS URL \"%1$s\" is not in shop domain \"%2$s\"."
+msgstr ""
+
#. translators: s%: Comfino API key
-#: src/View/SettingsForm.php:116
-#: src/View/SettingsForm.php:226
+#: src/View/SettingsForm.php:134
+#: src/View/SettingsForm.php:300
msgid "API key %s is not valid."
msgstr ""
-#: src/View/SettingsForm.php:176
-#: src/View/SettingsForm.php:597
+#: src/View/SettingsForm.php:195
+msgid "Unknown product type \"%s\" in term limits — entry skipped."
+msgstr ""
+
+#: src/View/SettingsForm.php:221
+msgid "Term limits for \"%s\": minTerm must not exceed maxTerm."
+msgstr ""
+
+#: src/View/SettingsForm.php:250
+#: src/View/SettingsForm.php:729
msgid "Price change detection - container hierarchy level"
msgstr ""
-#. translators: s%: Custom CSS URL
-#: src/View/SettingsForm.php:189
-msgid "Custom CSS URL \"%s\" is not valid."
+#: src/View/SettingsForm.php:398
+#: src/View/SettingsForm.php:668
+msgid "Product categories"
msgstr ""
-#. translators: s%: Custom CSS URL
-#: src/View/SettingsForm.php:192
-msgid "Custom CSS URL \"%s\" is not absolute."
+#: src/View/SettingsForm.php:400
+msgid "Restrict the availability of each financial product type by product category. For each financial product listed below, select the categories whose products should be eligible for that payment option. If a customer's cart contains only products from unselected categories, that financial product will not be offered at checkout."
msgstr ""
-#. translators: 1: Custom CSS URL 2: Shop domain
-#: src/View/SettingsForm.php:196
-msgid "Custom CSS URL \"%1$s\" is not in shop domain \"%2$s\"."
+#: src/View/SettingsForm.php:437
+#: src/View/SettingsForm.php:664
+msgid "Installment term limits"
msgstr ""
-#: src/View/SettingsForm.php:460
-#: src/View/SettingsForm.php:648
+#: src/View/SettingsForm.php:564
+#: src/View/SettingsForm.php:780
msgid "Enable/Disable"
msgstr ""
-#: src/View/SettingsForm.php:462
+#: src/View/SettingsForm.php:566
msgid "Enable Comfino payment module"
msgstr ""
-#: src/View/SettingsForm.php:464
+#: src/View/SettingsForm.php:568
msgid "Shows Comfino payment option at the payment list."
msgstr ""
-#: src/View/SettingsForm.php:469
+#: src/View/SettingsForm.php:573
msgid "Please enter the key provided during registration"
msgstr ""
-#: src/View/SettingsForm.php:472
+#: src/View/SettingsForm.php:576
msgid "Title"
msgstr ""
-#: src/View/SettingsForm.php:482
+#: src/View/SettingsForm.php:586
msgid "Show logo"
msgstr ""
-#: src/View/SettingsForm.php:484
+#: src/View/SettingsForm.php:588
msgid "Show logo on payment method"
msgstr ""
-#: src/View/SettingsForm.php:488
+#: src/View/SettingsForm.php:592
msgid "Order number"
msgstr ""
-#: src/View/SettingsForm.php:490
+#: src/View/SettingsForm.php:594
msgid "Use order reference as external ID"
msgstr ""
-#: src/View/SettingsForm.php:492
+#: src/View/SettingsForm.php:596
msgid "Use customer-visible order reference instead of numeric order ID for Comfino API integration. New orders only."
msgstr ""
-#: src/View/SettingsForm.php:498
+#: src/View/SettingsForm.php:602
+msgid "Paywall settings"
+msgstr ""
+
+#: src/View/SettingsForm.php:606
+msgid "Direct redirect mode"
+msgstr ""
+
+#: src/View/SettingsForm.php:608
+msgid "Enable direct redirect to Comfino payment gateway"
+msgstr ""
+
+#: src/View/SettingsForm.php:610
+msgid "When enabled, the full paywall offer browser is not displayed. The order is submitted with the default financial product and the customer is redirected directly to the Comfino payment gateway."
+msgstr ""
+
+#: src/View/SettingsForm.php:616
+msgid "Custom paywall CSS style"
+msgstr ""
+
+#: src/View/SettingsForm.php:619
+msgid "URL for a custom CSS file injected into the paywall iframe. Only links from your store domain are allowed."
+msgstr ""
+
+#: src/View/SettingsForm.php:625
msgid "Test environment"
msgstr ""
-#: src/View/SettingsForm.php:500
+#: src/View/SettingsForm.php:627
msgid "Use test environment"
msgstr ""
-#: src/View/SettingsForm.php:502
+#: src/View/SettingsForm.php:629
msgid "The test environment allows the store owner to get acquainted with the functionality of the Comfino module. This is a Comfino simulator, thanks to which you can get to know all the advantages of this payment method. The use of the test mode is free (there are also no charges for orders)."
msgstr ""
-#: src/View/SettingsForm.php:508
+#: src/View/SettingsForm.php:635
msgid "Test environment API key"
msgstr ""
-#: src/View/SettingsForm.php:510
+#: src/View/SettingsForm.php:637
msgid "Ask the supervisor for access to the test environment (key, login, password, link). Remember, the test key is different from the production key."
msgstr ""
-#: src/View/SettingsForm.php:513
+#: src/View/SettingsForm.php:640
msgid "Debug mode"
msgstr ""
-#: src/View/SettingsForm.php:515
+#: src/View/SettingsForm.php:642
msgid "Enable debug mode"
msgstr ""
-#: src/View/SettingsForm.php:517
+#: src/View/SettingsForm.php:644
msgid "Debug mode is useful in case of problems with Comfino payment availability. In this mode module logs details of internal process responsible for displaying of Comfino payment option at the payment methods list."
msgstr ""
-#: src/View/SettingsForm.php:523
+#: src/View/SettingsForm.php:650
msgid "Service mode"
msgstr ""
-#: src/View/SettingsForm.php:525
+#: src/View/SettingsForm.php:652
msgid "Enable service mode"
msgstr ""
-#: src/View/SettingsForm.php:527
+#: src/View/SettingsForm.php:654
msgid "Service mode is useful in testing Comfino payment gateway without sharing it with customers. In this mode Comfino payment method is visible only for selected sessions and debug logs are collected only for these sessions."
msgstr ""
-#: src/View/SettingsForm.php:537
+#: src/View/SettingsForm.php:660
msgid "Rules for the availability of financial products"
msgstr ""
-#: src/View/SettingsForm.php:541
+#: src/View/SettingsForm.php:673
msgid "Basic settings"
msgstr ""
-#: src/View/SettingsForm.php:545
+#: src/View/SettingsForm.php:677
msgid "Widget enable"
msgstr ""
-#: src/View/SettingsForm.php:547
+#: src/View/SettingsForm.php:679
msgid "Enable Comfino widget"
msgstr ""
-#: src/View/SettingsForm.php:549
+#: src/View/SettingsForm.php:681
msgid "Show Comfino widget in the product."
msgstr ""
-#: src/View/SettingsForm.php:552
+#: src/View/SettingsForm.php:684
msgid "Widget key"
msgstr ""
-#: src/View/SettingsForm.php:556
+#: src/View/SettingsForm.php:688
msgid "Widget type"
msgstr ""
-#: src/View/SettingsForm.php:561
+#: src/View/SettingsForm.php:693
msgid "Offer types"
msgstr ""
-#: src/View/SettingsForm.php:565
+#: src/View/SettingsForm.php:697
msgid "Other payment methods (Installments 0%, Buy now, pay later, Installments for companies, Leasing) available after consulting a Comfino advisor (kontakt@comfino.pl)."
msgstr ""
-#: src/View/SettingsForm.php:568
+#: src/View/SettingsForm.php:700
msgid "Show logos"
msgstr ""
-#: src/View/SettingsForm.php:570
+#: src/View/SettingsForm.php:702
msgid "Show logos of financial services providers"
msgstr ""
-#: src/View/SettingsForm.php:574
+#: src/View/SettingsForm.php:706
msgid "Advanced settings"
msgstr ""
-#: src/View/SettingsForm.php:578
+#: src/View/SettingsForm.php:710
msgid "Widget price element selector"
msgstr ""
-#: src/View/SettingsForm.php:583
+#: src/View/SettingsForm.php:715
msgid "Widget anchor element selector"
msgstr ""
-#: src/View/SettingsForm.php:588
+#: src/View/SettingsForm.php:720
msgid "Price change detection - container selector"
msgstr ""
-#: src/View/SettingsForm.php:591
+#: src/View/SettingsForm.php:723
msgid "Selector of observed parent element which contains price element."
msgstr ""
-#: src/View/SettingsForm.php:600
+#: src/View/SettingsForm.php:732
msgid "Hierarchy level of observed parent element relative to the price element."
msgstr ""
-#: src/View/SettingsForm.php:606
+#: src/View/SettingsForm.php:738
msgid "Embedding method"
msgstr ""
-#: src/View/SettingsForm.php:616
+#: src/View/SettingsForm.php:748
msgid "Custom banner CSS style"
msgstr ""
-#: src/View/SettingsForm.php:619
+#: src/View/SettingsForm.php:751
msgid "URL for the custom banner style. Only links from your store domain are allowed."
msgstr ""
-#: src/View/SettingsForm.php:625
+#: src/View/SettingsForm.php:757
msgid "Custom calculator CSS style"
msgstr ""
-#: src/View/SettingsForm.php:628
+#: src/View/SettingsForm.php:760
msgid "URL for the custom calculator style. Only links from your store domain are allowed."
msgstr ""
-#: src/View/SettingsForm.php:634
+#: src/View/SettingsForm.php:766
msgid "Widget initialization code"
msgstr ""
-#: src/View/SettingsForm.php:650
-msgid "By enabling \"Saving shopping cart\", you agree and accept Regulations"
+#: src/View/SettingsForm.php:782
+msgid "By enabling \"Saving shopping cart\", you agree and accept Regulations"
msgstr ""
-#: src/View/SettingsForm.php:652
+#: src/View/SettingsForm.php:784
msgid "With the \"Cart Rescue\" feature, you will effectively minimize the problem of abandoned carts that all sellers face. When a customer adds products to the cart but abandons it, also due to an unsuccessful payment, they will automatically receive a reminder e-mail with a direct link leading to payment. This service allows you to effectively recover potential transactions and increase order conversions."
msgstr ""
-#: src/View/SettingsForm.php:655
+#: src/View/SettingsForm.php:787
msgid "View in payment list"
msgstr ""
-#: src/View/SettingsForm.php:658
+#: src/View/SettingsForm.php:790
msgid "Only Comfino"
msgstr ""
-#: src/View/SettingsForm.php:659
+#: src/View/SettingsForm.php:791
msgid "All payments"
msgstr ""
-#: src/View/SettingsForm.php:666
+#: src/View/SettingsForm.php:798
msgid "Environment variables"
msgstr ""
-#: src/View/SettingsForm.php:668
+#: src/View/SettingsForm.php:800
msgid "Use development environment variables"
msgstr ""
-#: src/View/SettingsForm.php:670
+#: src/View/SettingsForm.php:802
msgid "Use of development environment variables with custom hosts which overwrite hosts stored in the plugin."
msgstr ""
@@ -527,6 +580,35 @@ msgstr ""
msgid "Comfino Payment Gateway: The plugin has been automatically deactivated to prevent fatal errors. Please resolve the PHP version issue before reactivating."
msgstr ""
+#: views/admin/_configure/allowed-products-config.php:20
+msgid "Product type"
+msgstr ""
+
+#: views/admin/_configure/allowed-products-config.php:21
+msgid "Min term"
+msgstr ""
+
+#: views/admin/_configure/allowed-products-config.php:22
+msgid "Max term"
+msgstr ""
+
+#: views/admin/_configure/allowed-products-config.php:23
+msgid "Specific terms (comma-separated)"
+msgstr ""
+
+#: views/admin/_configure/allowed-products-config.php:40
+#: views/admin/_configure/allowed-products-config.php:48
+msgid "No limit"
+msgstr ""
+
+#: views/admin/_configure/allowed-products-config.php:56
+msgid "e.g. 6,12,24,36"
+msgstr ""
+
+#: views/admin/_configure/allowed-products-config.php:65
+msgid "Leave fields empty to apply no restriction for that product type. All constraints are cumulative: when \"Specific terms\" is set, only those exact terms are offered; \"Min/Max term\" further narrows them down."
+msgstr ""
+
#: views/admin/_configure/debug-log.php:16
msgid "Debug log"
msgstr ""
@@ -579,32 +661,32 @@ msgstr ""
msgid "No uninstallation log available."
msgstr ""
-#: views/admin/_configure/module-reset.php:12
-#: views/admin/_configure/module-reset.php:16
+#: views/admin/_configure/module-reset.php:17
+#: views/admin/_configure/module-reset.php:21
msgid "Plugin reset"
msgstr ""
-#: views/admin/_configure/module-reset.php:17
+#: views/admin/_configure/module-reset.php:22
msgid "This operation will"
msgstr ""
-#: views/admin/_configure/module-reset.php:19
+#: views/admin/_configure/module-reset.php:24
msgid "Add missing configuration options (preserves existing values)."
msgstr ""
-#: views/admin/_configure/module-reset.php:20
+#: views/admin/_configure/module-reset.php:25
msgid "Clear module cache."
msgstr ""
-#: views/admin/_configure/module-reset.php:22
+#: views/admin/_configure/module-reset.php:27
msgid "Note: This operation does NOT delete any existing configuration or data."
msgstr ""
-#: views/admin/_configure/module-reset.php:25
+#: views/admin/_configure/module-reset.php:30
msgid "Are you sure you want to reset the plugin? This will repair missing options and clear all caches."
msgstr ""
-#: views/admin/_configure/module-reset.php:26
+#: views/admin/_configure/module-reset.php:31
msgid "Reset plugin"
msgstr ""
@@ -627,7 +709,3 @@ msgstr ""
#: views/emails/failed-order.php:20
msgid "Proceed to payment"
msgstr ""
-
-#: views/front/paywall.php:18
-msgid "Comfino - installment and deferred on-line payments"
-msgstr ""
diff --git a/phpunit.xml b/phpunit.xml
index ea189395..5f59259a 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -9,29 +9,17 @@
beStrictAboutOutputDuringTests="true"
beStrictAboutTestsThatDoNotTestAnything="true">
-
+
-
+
+
+
-
tests
-
-
-
- src
-
- vendor
-
-
-
-
-
-
-
-
-
diff --git a/readme.txt b/readme.txt
index 1371ad6d..e6b26af8 100644
--- a/readme.txt
+++ b/readme.txt
@@ -2,10 +2,10 @@
Contributors: comfino
Donate link: https://comfino.pl/
Tags: comfino, woocommerce, gateway, payment, bank
-WC tested up to: 10.5.0
+WC tested up to: 10.7.0
WC requires at least: 3.0
-Stable tag: 4.2.8
-Tested up to: 6.9
+Stable tag: 4.3.0
+Tested up to: 7.0
Requires at least: 5.0
Requires PHP: 7.1
License: GPLv3
@@ -21,5 +21,14 @@ Comfino is an innovative payment method for customers of e-commerce stores! Thes
=== Changelog ===
-4.2.8
- * Fixed a bug in webhook (payment status notifications): order not found error when "Use order reference as external ID" option is active, fixed a frontend bug concerned with Gutenberg blocks (empty comfino_loan_type error).
+4.3.0
+ * Paywall frontend migrated to V3 API and new frontend Comfino SDK — faster loading, improved stability.
+ * Fixed: paywall invisible when Cloudflare RocketLoader is active (added data-cfasync="false" to prevent async script deferral).
+ * Fixed: paywall invisible or broken with JS optimization plugins (PhastPress, Autoptimize, WP Rocket) that bundle or defer scripts.
+ * Fixed: paywall rendered inside hidden Elementor builder wrapper instead of the visible checkout — only the first visible paywall container is now used.
+ * Fixed: paywall invisible or malfunctioning when Google Consent Management Platform (Google CMP) is active.
+ * Fixed: paywall loan amount now updates correctly when cart items or shipping costs change.
+ * Added support for strict Content Security Policy environments: shops using a nonce-based CSP can now propagate the nonce to the dynamically injected SDK script via the comfino_csp_script_nonce WordPress filter.
+ * Added per-product-type installment term limits (allowedProductsConfig): admins can now restrict available installment terms per financial product type in the sale settings. Limits are enforced on both the paywall (financial products listing) and order creation.
+ * Added direct redirect mode: when enabled, the full paywall offer browser is skipped and the customer is redirected straight to the Comfino payment gateway with the default financial product.
+ * Added a custom paywall CSS style option: admins can inject a custom CSS file into the paywall iframe (only URLs within the store domain are accepted).
diff --git a/resources/css/front/comfino-item-gate.css b/resources/css/front/comfino-item-gate.css
new file mode 100644
index 00000000..35cab718
--- /dev/null
+++ b/resources/css/front/comfino-item-gate.css
@@ -0,0 +1,25 @@
+/* Hide the Comfino payment method item until the SDK signals a successful init.
+ The --ready modifier class is applied by the SDK (DefaultPaymentMethodItemRenderer.setReady)
+ on the classic shortcode path, and by comfino-blocks.js on the Blocks path (the SDK adapter
+ only walks up to li.wc_payment_method, which doesn't exist in Blocks markup).
+ If the CDN script never runs or iframe init fails, the item stays hidden — users are not misled. */
+
+/* Classic shortcode checkout: */
+li.wc_payment_method.payment_method_comfino {
+ display: none !important;
+}
+
+li.wc_payment_method.payment_method_comfino.comfino-payment-method-item--ready {
+ display: list-item !important;
+}
+
+/* WooCommerce Blocks checkout: with input[value="comfino"].
+ :has() is widely supported in modern evergreen browsers; older browsers will simply not hide the tile
+ (graceful degradation — the SDK still bootstraps, paywall iframe still renders). */
+.wc-block-checkout__payment-methods .wc-block-components-radio-control:has(input[value="comfino"]) {
+ display: none !important;
+}
+
+.wc-block-checkout__payment-methods .wc-block-components-radio-control.comfino-payment-method-item--ready:has(input[value="comfino"]) {
+ display: block !important;
+}
\ No newline at end of file
diff --git a/resources/js/front/comfino-blocks.js b/resources/js/front/comfino-blocks.js
new file mode 100644
index 00000000..0fd8fda0
--- /dev/null
+++ b/resources/js/front/comfino-blocks.js
@@ -0,0 +1,202 @@
+/* Comfino web frontend SDK — WooCommerce Blocks checkout init */
+(function () {
+ 'use strict';
+
+ // Resolve the Blocks payment-method registration API; bail if absent (this page is not a Blocks checkout).
+ const registerPaymentMethod = window.wc && window.wc.wcBlocksRegistry
+ ? window.wc.wcBlocksRegistry.registerPaymentMethod
+ : null;
+
+ if (!registerPaymentMethod) {
+ return;
+ }
+
+ const { createElement, Fragment, useEffect } = window.wp.element;
+
+ // Comfino payment method configuration
+ const config = window.wc.wcSettings.getSetting('comfino_data', {});
+
+ /* Content component for Blocks checkout. Registers onPaymentSetup so the selected loanType/loanTerm — written
+ into the hidden inputs by the SDK on every UPDATE_PAYMENT_STATE — are forwarded as paymentMethodData in the
+ /wc/store/checkout REST request, which is what populates $_POST for process_payment(). The handler body is
+ built by WooCommercePaywallController.createBlocksPaymentSetupHandler so input IDs and the response envelope
+ stay in the SDK; the wrapper here resolves the SDK lazily — useEffect can run before the SDK script is
+ loaded (Comfino not yet selected when checkout mounts). Prefer the cached promise on window over reading
+ window.Comfino directly so the ESM branch (which doesn't populate the global) still resolves. */
+ function resolveSdk() {
+ if (window.Comfino && typeof window.Comfino.WooCommercePaywallController === 'function') {
+ return Promise.resolve(window.Comfino);
+ }
+
+ if (window.__comfinoSdkPromise) {
+ return window.__comfinoSdkPromise;
+ }
+
+ return Promise.resolve(null);
+ }
+
+ function ComfinoContent(props) {
+ const eventRegistration = props.eventRegistration;
+ const emitResponse = props.emitResponse;
+
+ useEffect(function () {
+ return eventRegistration.onPaymentSetup(function () {
+ /* Resolve the SDK at fire-time. By the time onPaymentSetup runs (i.e., the user pressed
+ "Place order" with Comfino selected), the SDK script has been injected. If for any reason it
+ isn't, fall back to a SUCCESS response with empty payment-method data — WooCommerce will then
+ reject server-side via the API rather than crashing the checkout. */
+ return resolveSdk().then(function (sdk) {
+ if (sdk && typeof sdk.WooCommercePaywallController === 'function') {
+ return sdk.WooCommercePaywallController.createBlocksPaymentSetupHandler(emitResponse)();
+ }
+
+ return {
+ type: emitResponse.responseTypes.SUCCESS,
+ meta: {paymentMethodData: {comfino_loan_type: '', comfino_loan_term: '0'}}
+ };
+ });
+ });
+ }, [eventRegistration.onPaymentSetup, emitResponse.responseTypes.SUCCESS]);
+
+ return createElement(
+ Fragment,
+ null,
+ createElement('input', {id: 'comfino-loan-type', name: 'comfino_loan_type', type: 'hidden', defaultValue: ''}),
+ createElement('input', {id: 'comfino-loan-term', name: 'comfino_loan_term', type: 'hidden', defaultValue: ''}),
+ createElement('div', {id: 'comfino-paywall-container'})
+ );
+ }
+
+ /* WooCommerce Blocks requires `label` and `ariaLabel` on the registered payment method. The SDK's
+ DefaultPaymentMethodItemRenderer stamps the Comfino logo over this tile, so the literal strings here
+ only matter as accessibility fallback before the SDK boots — no need to plumb them through PHP. */
+ const ComfinoPaymentContent = {
+ name: 'comfino',
+ label: 'Comfino',
+ content: createElement(ComfinoContent),
+ edit: createElement('div', null, 'Comfino'),
+ canMakePayment: () => true,
+ ariaLabel: 'Comfino payment method',
+ supports: {features: config.supports || []},
+ paymentMethodId: 'comfino',
+ savedTokenComponent: null,
+ };
+
+ registerPaymentMethod(ComfinoPaymentContent);
+
+ /* Load the Comfino web frontend SDK. Two code paths based on config.sdkScriptKind:
+
+ - 'umd' (default today): the bundle is loaded as a classic
-