diff --git a/.github/workflows/checkout.yml b/.github/workflows/checkout.yml
index 31bbb77..43ff81d 100644
--- a/.github/workflows/checkout.yml
+++ b/.github/workflows/checkout.yml
@@ -2,9 +2,9 @@ name: Pckg Payment CI
on:
push:
- branches: [ master ]
+ branches: [ master, next-8.0 ]
pull_request:
- branches: [ master ]
+ branches: [ master, next-8.0 ]
jobs:
@@ -16,7 +16,7 @@ jobs:
strategy:
fail-fast: true
matrix:
- php-versions: [ '7.4', '8.0' ]
+ php-versions: [ '8.0' ]
steps:
- uses: actions/checkout@v2
diff --git a/composer.json b/composer.json
index 1c05e49..4c5495f 100644
--- a/composer.json
+++ b/composer.json
@@ -18,23 +18,39 @@
}
],
"require": {
+ "ext-json": "*",
"paymill/paymill": "4.*",
"paypal/rest-api-sdk-php": "1.*",
"braintree/braintree_php": "3.*",
"mollie/mollie-api-php": "^2.0",
"stripe/stripe-php": "7.*",
- "wirecard/payment-sdk-php": "dev-master",
+ "wirecard/payment-sdk-php": "dev-patch-php-8 as dev-master",
"icepay/api": "^0.0.1",
"ampeco/omnipay-bankart": "dev-master",
"eoler/omnipay-corvuspay": "*"
},
"require-dev": {
- "pckg-app/frontend-dev": "dev-master"
+ "pckg-app/frontend-dev": "dev-next-8.0 as dev-master",
+ "pckg/database": "dev-next-8.0 as dev-master",
+ "pckg/framework": "dev-next-8.0 as dev-master",
+ "pckg/auth": "dev-next-8.0 as dev-master",
+ "pckg/htmlbuilder": "dev-next-8.0 as dev-master",
+ "pckg/collection": "dev-next-8.0 as dev-master",
+ "pckg/generic": "dev-next-8.0 as dev-master",
+ "nesbot/carbon": "2.*"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/Eoler/omnipay-corvuspay.git"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/schtr4jh/omnipay-revolut.git"
+ },
+ {
+ "type": "vcs",
+ "url": "https://github.com/schtr4jh/paymentSDK-php.git"
}
],
"autoload": {
@@ -44,11 +60,17 @@
},
"scripts": {
"test": [
- "vendor/bin/phpunit --help --stop-on-defect",
- "vendor/bin/phpcloc cloc src/",
+ "true || vendor/bin/phpunit --help --stop-on-defect",
+ "true || vendor/bin/phpcloc cloc src/",
"vendor/bin/phpstan analyse src/ --level=1 || true",
- "vendor/bin/phpcs -p src/ || true",
+ "vendor/bin/phpcs --extensions=php --warning-severity=8 --error-severity=1 --standard=PSR12 --parallel=2 -p src/",
"vendor/bin/codecept run"
+ ],
+ "autofix": [
+ "vendor/bin/phpcs --extensions=php --report-diff=phpcs.diff --warning-severity=8 --error-severity=1 --standard=PSR12 --parallel=2 -p src/"
+ ],
+ "autopatch": [
+ "patch -p0 -ui phpcs.diff && rm phpcs.diff"
]
},
"scripts-descriptions": {
diff --git a/composer.lock b/composer.lock
index ae5e699..68c8da2 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "cb32a7be13696e94a616cf292907b68c",
+ "content-hash": "36ae5424ce77fc6bbdce13a5b99665c4",
"packages": [
{
"name": "ampeco/omnipay-bankart",
@@ -34,8 +34,8 @@
"type": "project",
"autoload": {
"psr-4": {
- "PaymentGateway\\Client\\": "api/",
- "Ampeco\\OmnipayBankart\\": "src/"
+ "Ampeco\\OmnipayBankart\\": "src/",
+ "PaymentGateway\\Client\\": "api/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -102,16 +102,16 @@
},
{
"name": "clue/stream-filter",
- "version": "v1.5.0",
+ "version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/clue/stream-filter.git",
- "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320"
+ "reference": "d6169430c7731d8509da7aecd0af756a5747b78e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/clue/stream-filter/zipball/aeb7d8ea49c7963d3b581378955dbf5bc49aa320",
- "reference": "aeb7d8ea49c7963d3b581378955dbf5bc49aa320",
+ "url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e",
+ "reference": "d6169430c7731d8509da7aecd0af756a5747b78e",
"shasum": ""
},
"require": {
@@ -122,12 +122,12 @@
},
"type": "library",
"autoload": {
- "psr-4": {
- "Clue\\StreamFilter\\": "src/"
- },
"files": [
"src/functions_include.php"
- ]
+ ],
+ "psr-4": {
+ "Clue\\StreamFilter\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -152,7 +152,7 @@
],
"support": {
"issues": "https://github.com/clue/stream-filter/issues",
- "source": "https://github.com/clue/stream-filter/tree/v1.5.0"
+ "source": "https://github.com/clue/stream-filter/tree/v1.6.0"
},
"funding": [
{
@@ -164,20 +164,20 @@
"type": "github"
}
],
- "time": "2020-10-02T12:38:20+00:00"
+ "time": "2022-02-21T13:15:14+00:00"
},
{
"name": "composer/ca-bundle",
- "version": "1.2.9",
+ "version": "1.3.1",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
- "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5"
+ "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/ca-bundle/zipball/78a0e288fdcebf92aa2318a8d3656168da6ac1a5",
- "reference": "78a0e288fdcebf92aa2318a8d3656168da6ac1a5",
+ "url": "https://api.github.com/repos/composer/ca-bundle/zipball/4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b",
+ "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b",
"shasum": ""
},
"require": {
@@ -189,7 +189,7 @@
"phpstan/phpstan": "^0.12.55",
"psr/log": "^1.0",
"symfony/phpunit-bridge": "^4.2 || ^5",
- "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0"
+ "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0"
},
"type": "library",
"extra": {
@@ -224,7 +224,7 @@
"support": {
"irc": "irc://irc.freenode.org/composer",
"issues": "https://github.com/composer/ca-bundle/issues",
- "source": "https://github.com/composer/ca-bundle/tree/1.2.9"
+ "source": "https://github.com/composer/ca-bundle/tree/1.3.1"
},
"funding": [
{
@@ -240,7 +240,7 @@
"type": "tidelift"
}
],
- "time": "2021-01-12T12:10:35+00:00"
+ "time": "2021-10-28T20:44:15+00:00"
},
{
"name": "eoler/omnipay-corvuspay",
@@ -300,238 +300,6 @@
},
"time": "2019-06-06T22:51:13+00:00"
},
- {
- "name": "guzzlehttp/guzzle",
- "version": "7.2.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/guzzle.git",
- "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/0aa74dfb41ae110835923ef10a9d803a22d50e79",
- "reference": "0aa74dfb41ae110835923ef10a9d803a22d50e79",
- "shasum": ""
- },
- "require": {
- "ext-json": "*",
- "guzzlehttp/promises": "^1.4",
- "guzzlehttp/psr7": "^1.7",
- "php": "^7.2.5 || ^8.0",
- "psr/http-client": "^1.0"
- },
- "provide": {
- "psr/http-client-implementation": "1.0"
- },
- "require-dev": {
- "ext-curl": "*",
- "php-http/client-integration-tests": "^3.0",
- "phpunit/phpunit": "^8.5.5 || ^9.3.5",
- "psr/log": "^1.1"
- },
- "suggest": {
- "ext-curl": "Required for CURL handler support",
- "ext-intl": "Required for Internationalized Domain Name (IDN) support",
- "psr/log": "Required for using the Log middleware"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "7.1-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com",
- "homepage": "https://sagikazarmark.hu"
- }
- ],
- "description": "Guzzle is a PHP HTTP client library",
- "homepage": "http://guzzlephp.org/",
- "keywords": [
- "client",
- "curl",
- "framework",
- "http",
- "http client",
- "psr-18",
- "psr-7",
- "rest",
- "web service"
- ],
- "support": {
- "issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.2.0"
- },
- "funding": [
- {
- "url": "https://github.com/GrahamCampbell",
- "type": "github"
- },
- {
- "url": "https://github.com/Nyholm",
- "type": "github"
- },
- {
- "url": "https://github.com/alexeyshockov",
- "type": "github"
- },
- {
- "url": "https://github.com/gmponos",
- "type": "github"
- }
- ],
- "time": "2020-10-10T11:47:56+00:00"
- },
- {
- "name": "guzzlehttp/promises",
- "version": "1.4.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/promises.git",
- "reference": "60d379c243457e073cff02bc323a2a86cb355631"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/60d379c243457e073cff02bc323a2a86cb355631",
- "reference": "60d379c243457e073cff02bc323a2a86cb355631",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5"
- },
- "require-dev": {
- "symfony/phpunit-bridge": "^4.4 || ^5.1"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Promise\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- }
- ],
- "description": "Guzzle promises library",
- "keywords": [
- "promise"
- ],
- "support": {
- "issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/1.4.0"
- },
- "time": "2020-09-30T07:37:28+00:00"
- },
- {
- "name": "guzzlehttp/psr7",
- "version": "1.7.0",
- "source": {
- "type": "git",
- "url": "https://github.com/guzzle/psr7.git",
- "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/53330f47520498c0ae1f61f7e2c90f55690c06a3",
- "reference": "53330f47520498c0ae1f61f7e2c90f55690c06a3",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0",
- "psr/http-message": "~1.0",
- "ralouphie/getallheaders": "^2.0.5 || ^3.0.0"
- },
- "provide": {
- "psr/http-message-implementation": "1.0"
- },
- "require-dev": {
- "ext-zlib": "*",
- "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10"
- },
- "suggest": {
- "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.7-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "GuzzleHttp\\Psr7\\": "src/"
- },
- "files": [
- "src/functions_include.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Michael Dowling",
- "email": "mtdowling@gmail.com",
- "homepage": "https://github.com/mtdowling"
- },
- {
- "name": "Tobias Schultze",
- "homepage": "https://github.com/Tobion"
- }
- ],
- "description": "PSR-7 message implementation that also provides common utility methods",
- "keywords": [
- "http",
- "message",
- "psr-7",
- "request",
- "response",
- "stream",
- "uri",
- "url"
- ],
- "support": {
- "issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/1.7.0"
- },
- "time": "2020-09-30T07:37:11+00:00"
- },
{
"name": "icepay/api",
"version": "0.0.1",
@@ -599,30 +367,31 @@
},
{
"name": "mollie/mollie-api-php",
- "version": "v2.29.0",
+ "version": "v2.42.1",
"source": {
"type": "git",
"url": "https://github.com/mollie/mollie-api-php.git",
- "reference": "619349868112df2825d7a225d4e92f9fb7e9f2d8"
+ "reference": "1ced5854c98af5cffca09b1093156ebdac277285"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/619349868112df2825d7a225d4e92f9fb7e9f2d8",
- "reference": "619349868112df2825d7a225d4e92f9fb7e9f2d8",
+ "url": "https://api.github.com/repos/mollie/mollie-api-php/zipball/1ced5854c98af5cffca09b1093156ebdac277285",
+ "reference": "1ced5854c98af5cffca09b1093156ebdac277285",
"shasum": ""
},
"require": {
- "composer/ca-bundle": "^1.1",
+ "composer/ca-bundle": "^1.2",
"ext-curl": "*",
"ext-json": "*",
"ext-openssl": "*",
- "guzzlehttp/guzzle": "^6.3 || ^7.0",
- "php": ">=5.6"
+ "php": "^7.0|^8.0"
},
"require-dev": {
- "eloquent/liberator": "^2.0",
- "friendsofphp/php-cs-fixer": "^v2.17",
- "phpunit/phpunit": "^5.7 || ^6.5 || ^7.1 || ^8.5"
+ "eloquent/liberator": "^2.0||^3.0",
+ "friendsofphp/php-cs-fixer": "^3.0",
+ "guzzlehttp/guzzle": "^6.3 || ^7.0",
+ "phpstan/phpstan": "^1.4",
+ "phpunit/phpunit": "^6.5 || ^7.1 || ^8.5 || ^9.5"
},
"suggest": {
"mollie/oauth2-mollie-php": "Use OAuth to authenticate with the Mollie API. This is needed for some endpoints. Visit https://docs.mollie.com/ for more information."
@@ -684,47 +453,50 @@
],
"support": {
"issues": "https://github.com/mollie/mollie-api-php/issues",
- "source": "https://github.com/mollie/mollie-api-php/tree/v2.29.0"
+ "source": "https://github.com/mollie/mollie-api-php/tree/v2.42.1"
},
- "time": "2021-01-27T10:05:15+00:00"
+ "time": "2022-04-21T11:21:14+00:00"
},
{
"name": "moneyphp/money",
- "version": "v3.3.1",
+ "version": "v4.0.3",
"source": {
"type": "git",
"url": "https://github.com/moneyphp/money.git",
- "reference": "122664c2621a95180a13c1ac81fea1d2ef20781e"
+ "reference": "d945f775bd6ab0920d9d205813d8831a899a8844"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/moneyphp/money/zipball/122664c2621a95180a13c1ac81fea1d2ef20781e",
- "reference": "122664c2621a95180a13c1ac81fea1d2ef20781e",
+ "url": "https://api.github.com/repos/moneyphp/money/zipball/d945f775bd6ab0920d9d205813d8831a899a8844",
+ "reference": "d945f775bd6ab0920d9d205813d8831a899a8844",
"shasum": ""
},
"require": {
+ "ext-bcmath": "*",
+ "ext-filter": "*",
"ext-json": "*",
- "php": ">=5.6"
+ "php": "^8.0"
},
"require-dev": {
- "cache/taggable-cache": "^0.4.0",
- "doctrine/instantiator": "^1.0.5",
- "ext-bcmath": "*",
+ "cache/taggable-cache": "^1.1.0",
+ "doctrine/coding-standard": "^9.0",
+ "doctrine/instantiator": "^1.4.0",
"ext-gmp": "*",
"ext-intl": "*",
- "florianv/exchanger": "^1.0",
- "florianv/swap": "^3.0",
- "friends-of-phpspec/phpspec-code-coverage": "^3.1.1 || ^4.3",
+ "florianv/exchanger": "^2.6.3",
+ "florianv/swap": "^4.3.0",
"moneyphp/iso-currencies": "^3.2.1",
- "php-http/message": "^1.4",
- "php-http/mock-client": "^1.0.0",
- "phpspec/phpspec": "^3.4.3",
- "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.18 || ^8.5",
- "psr/cache": "^1.0",
- "symfony/phpunit-bridge": "^4"
+ "php-http/message": "^1.11.0",
+ "php-http/mock-client": "^1.4.1",
+ "phpbench/phpbench": "1.0.0-beta1@BETA",
+ "phpspec/phpspec": "^7.0.1",
+ "phpunit/phpunit": "^9.5.4",
+ "psalm/plugin-phpunit": "^0.15.1",
+ "psr/cache": "^1.0.1",
+ "roave/infection-static-analysis-plugin": "^1.7",
+ "vimeo/psalm": "~4.7.0 || ^4.8.2"
},
"suggest": {
- "ext-bcmath": "Calculate without integer limits",
"ext-gmp": "Calculate without integer limits",
"ext-intl": "Format Money objects with intl",
"florianv/exchanger": "Exchange rates library for PHP",
@@ -770,57 +542,70 @@
],
"support": {
"issues": "https://github.com/moneyphp/money/issues",
- "source": "https://github.com/moneyphp/money/tree/master"
+ "source": "https://github.com/moneyphp/money/tree/v4.0.3"
},
- "time": "2020-03-18T17:49:59+00:00"
+ "time": "2021-12-01T10:39:00+00:00"
},
{
"name": "monolog/monolog",
- "version": "1.26.0",
+ "version": "2.5.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "2209ddd84e7ef1256b7af205d0717fb62cfc9c33"
+ "reference": "4192345e260f1d51b365536199744b987e160edc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/2209ddd84e7ef1256b7af205d0717fb62cfc9c33",
- "reference": "2209ddd84e7ef1256b7af205d0717fb62cfc9c33",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4192345e260f1d51b365536199744b987e160edc",
+ "reference": "4192345e260f1d51b365536199744b987e160edc",
"shasum": ""
},
"require": {
- "php": ">=5.3.0",
- "psr/log": "~1.0"
+ "php": ">=7.2",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
},
"provide": {
- "psr/log-implementation": "1.0.0"
+ "psr/log-implementation": "1.0.0 || 2.0.0 || 3.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",
+ "elasticsearch/elasticsearch": "^7",
+ "graylog2/gelf-php": "^1.4.2",
+ "mongodb/mongodb": "^1.8",
+ "php-amqplib/php-amqplib": "~2.4 || ^3",
"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",
+ "phpspec/prophecy": "^1.6.1",
+ "phpstan/phpstan": "^0.12.91",
+ "phpunit/phpunit": "^8.5",
+ "predis/predis": "^1.1",
+ "rollbar/rollbar": "^1.3 || ^2 || ^3",
+ "ruflin/elastica": ">=0.90@dev",
"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",
+ "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
"ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
- "ext-mongo": "Allow sending log messages to a MongoDB server",
+ "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
+ "ext-mbstring": "Allow to work properly with unicode symbols",
+ "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
+ "ext-openssl": "Required to send log messages using SSL",
+ "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
"graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
- "mongodb/mongodb": "Allow sending log messages to a MongoDB server via PHP Driver",
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
"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"
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Monolog\\": "src/Monolog"
@@ -834,11 +619,11 @@
{
"name": "Jordi Boggiano",
"email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "homepage": "https://seld.be"
}
],
"description": "Sends your logs to files, sockets, inboxes, databases and various web services",
- "homepage": "http://github.com/Seldaek/monolog",
+ "homepage": "https://github.com/Seldaek/monolog",
"keywords": [
"log",
"logging",
@@ -846,7 +631,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/1.26.0"
+ "source": "https://github.com/Seldaek/monolog/tree/2.5.0"
},
"funding": [
{
@@ -858,34 +643,34 @@
"type": "tidelift"
}
],
- "time": "2020-12-14T12:56:38+00:00"
+ "time": "2022-04-08T15:43:54+00:00"
},
{
"name": "omnipay/common",
- "version": "v3.0.5",
+ "version": "v3.2.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/omnipay-common.git",
- "reference": "0d1f4486c1c873537ac030d37c7ce2986c4de1d2"
+ "reference": "e278ff00676c05cd0f4aaaf6189a226f26ae056e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/0d1f4486c1c873537ac030d37c7ce2986c4de1d2",
- "reference": "0d1f4486c1c873537ac030d37c7ce2986c4de1d2",
+ "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/e278ff00676c05cd0f4aaaf6189a226f26ae056e",
+ "reference": "e278ff00676c05cd0f4aaaf6189a226f26ae056e",
"shasum": ""
},
"require": {
- "moneyphp/money": "^3.1",
- "php": "^5.6|^7",
+ "moneyphp/money": "^3.1|^4.0.3",
+ "php": "^7.2|^8",
"php-http/client-implementation": "^1",
- "php-http/discovery": "^1.2.1",
+ "php-http/discovery": "^1.14",
"php-http/message": "^1.5",
- "symfony/http-foundation": "^2.1|^3|^4|^5"
+ "symfony/http-foundation": "^2.1|^3|^4|^5|^6"
},
"require-dev": {
- "omnipay/tests": "^3",
+ "omnipay/tests": "^4.1",
+ "php-http/guzzle7-adapter": "^1",
"php-http/mock-client": "^1",
- "phpro/grumphp": "^0.14",
"squizlabs/php_codesniffer": "^3.5"
},
"suggest": {
@@ -894,7 +679,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0.x-dev"
+ "dev-master": "3.1.x-dev"
}
},
"autoload": {
@@ -942,9 +727,15 @@
],
"support": {
"issues": "https://github.com/thephpleague/omnipay-common/issues",
- "source": "https://github.com/thephpleague/omnipay-common/tree/v3.0.5"
+ "source": "https://github.com/thephpleague/omnipay-common/tree/v3.2.0"
},
- "time": "2020-08-20T18:22:12+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/barryvdh",
+ "type": "github"
+ }
+ ],
+ "time": "2021-12-30T11:32:00+00:00"
},
{
"name": "paymill/paymill",
@@ -1044,28 +835,29 @@
},
{
"name": "php-http/client-common",
- "version": "1.10.0",
+ "version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/php-http/client-common.git",
- "reference": "c0390ae3c8f2ae9d50901feef0127fb9e396f6b4"
+ "reference": "1901ad36347227c14751a218d8f4ea1467d1f1ed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/client-common/zipball/c0390ae3c8f2ae9d50901feef0127fb9e396f6b4",
- "reference": "c0390ae3c8f2ae9d50901feef0127fb9e396f6b4",
+ "url": "https://api.github.com/repos/php-http/client-common/zipball/1901ad36347227c14751a218d8f4ea1467d1f1ed",
+ "reference": "1901ad36347227c14751a218d8f4ea1467d1f1ed",
"shasum": ""
},
"require": {
- "php": "^5.4 || ^7.0",
+ "php": ">=5.4",
"php-http/httplug": "^1.1",
"php-http/message": "^1.6",
"php-http/message-factory": "^1.0",
- "symfony/options-resolver": "^2.6 || ^3.0 || ^4.0 || ^5.0"
+ "symfony/options-resolver": "^2.6 || ^3.0"
},
"require-dev": {
"guzzlehttp/psr7": "^1.4",
- "phpspec/phpspec": "^2.5 || ^3.4 || ^4.2"
+ "henrikbjorn/phpspec-code-coverage": "^1.0",
+ "phpspec/phpspec": "^2.4"
},
"suggest": {
"php-http/cache-plugin": "PSR-6 Cache plugin",
@@ -1075,7 +867,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.10.x-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
@@ -1103,44 +895,44 @@
],
"support": {
"issues": "https://github.com/php-http/client-common/issues",
- "source": "https://github.com/php-http/client-common/tree/1.x"
+ "source": "https://github.com/php-http/client-common/tree/master"
},
- "time": "2019-11-18T08:54:36+00:00"
+ "time": "2017-10-16T16:16:36+00:00"
},
{
"name": "php-http/discovery",
- "version": "1.6.1",
+ "version": "1.14.1",
"source": {
"type": "git",
"url": "https://github.com/php-http/discovery.git",
- "reference": "684855f2c2e9d0a61868b8f8d6bd0295c8a4b651"
+ "reference": "de90ab2b41d7d61609f504e031339776bc8c7223"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/discovery/zipball/684855f2c2e9d0a61868b8f8d6bd0295c8a4b651",
- "reference": "684855f2c2e9d0a61868b8f8d6bd0295c8a4b651",
+ "url": "https://api.github.com/repos/php-http/discovery/zipball/de90ab2b41d7d61609f504e031339776bc8c7223",
+ "reference": "de90ab2b41d7d61609f504e031339776bc8c7223",
"shasum": ""
},
"require": {
- "php": "^5.5 || ^7.0"
+ "php": "^7.1 || ^8.0"
},
"conflict": {
"nyholm/psr7": "<1.0"
},
"require-dev": {
+ "graham-campbell/phpspec-skip-example-extension": "^5.0",
"php-http/httplug": "^1.0 || ^2.0",
"php-http/message-factory": "^1.0",
- "phpspec/phpspec": "^2.4",
+ "phpspec/phpspec": "^5.1 || ^6.1",
"puli/composer-plugin": "1.0.0-beta10"
},
"suggest": {
- "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories",
- "puli/composer-plugin": "Sets up Puli which is recommended for Discovery to work. Check http://docs.php-http.org/en/latest/discovery.html for more details."
+ "php-http/message": "Allow to use Guzzle, Diactoros or Slim Framework factories"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.5-dev"
+ "dev-master": "1.9-dev"
}
},
"autoload": {
@@ -1171,9 +963,9 @@
],
"support": {
"issues": "https://github.com/php-http/discovery/issues",
- "source": "https://github.com/php-http/discovery/tree/master"
+ "source": "https://github.com/php-http/discovery/tree/1.14.1"
},
- "time": "2019-02-23T07:42:53+00:00"
+ "time": "2021-09-18T07:57:46+00:00"
},
{
"name": "php-http/httplug",
@@ -1237,21 +1029,21 @@
},
{
"name": "php-http/message",
- "version": "1.7.2",
+ "version": "1.6.0",
"source": {
"type": "git",
"url": "https://github.com/php-http/message.git",
- "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1"
+ "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-http/message/zipball/b159ffe570dffd335e22ef0b91a946eacb182fa1",
- "reference": "b159ffe570dffd335e22ef0b91a946eacb182fa1",
+ "url": "https://api.github.com/repos/php-http/message/zipball/2edd63bae5f52f79363c5f18904b05ce3a4b7253",
+ "reference": "2edd63bae5f52f79363c5f18904b05ce3a4b7253",
"shasum": ""
},
"require": {
- "clue/stream-filter": "^1.4",
- "php": "^5.4 || ^7.0",
+ "clue/stream-filter": "^1.3",
+ "php": ">=5.4",
"php-http/message-factory": "^1.0.2",
"psr/http-message": "^1.0"
},
@@ -1281,12 +1073,12 @@
}
},
"autoload": {
- "psr-4": {
- "Http\\Message\\": "src/"
- },
"files": [
"src/filters.php"
- ]
+ ],
+ "psr-4": {
+ "Http\\Message\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -1309,7 +1101,7 @@
"issues": "https://github.com/php-http/message/issues",
"source": "https://github.com/php-http/message/tree/master"
},
- "time": "2018-11-01T09:32:41+00:00"
+ "time": "2017-07-05T06:40:53+00:00"
},
{
"name": "php-http/message-factory",
@@ -1473,25 +1265,25 @@
},
{
"name": "psr/container",
- "version": "1.0.0",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/php-fig/container.git",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f"
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
- "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
"shasum": ""
},
"require": {
- "php": ">=5.3.0"
+ "php": ">=7.4.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "2.0.x-dev"
}
},
"autoload": {
@@ -1506,7 +1298,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common Container Interface (PHP FIG PSR-11)",
@@ -1520,61 +1312,9 @@
],
"support": {
"issues": "https://github.com/php-fig/container/issues",
- "source": "https://github.com/php-fig/container/tree/master"
- },
- "time": "2017-02-14T16:28:37+00:00"
- },
- {
- "name": "psr/http-client",
- "version": "1.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/http-client.git",
- "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
- "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
- "shasum": ""
- },
- "require": {
- "php": "^7.0 || ^8.0",
- "psr/http-message": "^1.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": "http://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/tree/master"
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
},
- "time": "2020-06-29T06:28:15+00:00"
+ "time": "2021-11-05T16:47:00+00:00"
},
{
"name": "psr/http-message",
@@ -1631,16 +1371,16 @@
},
{
"name": "psr/log",
- "version": "1.1.3",
+ "version": "1.1.4",
"source": {
"type": "git",
"url": "https://github.com/php-fig/log.git",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc"
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc",
- "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11",
+ "reference": "d49695b909c3b7628b6289db5479a1c204601f11",
"shasum": ""
},
"require": {
@@ -1664,7 +1404,7 @@
"authors": [
{
"name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
+ "homepage": "https://www.php-fig.org/"
}
],
"description": "Common interface for logging libraries",
@@ -1675,53 +1415,9 @@
"psr-3"
],
"support": {
- "source": "https://github.com/php-fig/log/tree/1.1.3"
- },
- "time": "2020-03-23T09:12:05+00:00"
- },
- {
- "name": "ralouphie/getallheaders",
- "version": "3.0.3",
- "source": {
- "type": "git",
- "url": "https://github.com/ralouphie/getallheaders.git",
- "reference": "120b605dfeb996808c31b6477290a714d356e822"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
- "reference": "120b605dfeb996808c31b6477290a714d356e822",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5 || ^6.5"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/getallheaders.php"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Ralph Khattar",
- "email": "ralph.khattar@gmail.com"
- }
- ],
- "description": "A polyfill for getallheaders.",
- "support": {
- "issues": "https://github.com/ralouphie/getallheaders/issues",
- "source": "https://github.com/ralouphie/getallheaders/tree/develop"
+ "source": "https://github.com/php-fig/log/tree/1.1.4"
},
- "time": "2019-03-08T08:55:37+00:00"
+ "time": "2021-05-03T11:20:27+00:00"
},
{
"name": "robrichards/xmlseclibs",
@@ -1767,16 +1463,16 @@
},
{
"name": "stripe/stripe-php",
- "version": "v7.69.0",
+ "version": "v7.125.0",
"source": {
"type": "git",
"url": "https://github.com/stripe/stripe-php.git",
- "reference": "6716cbc4ebf8cba7d45374a059c7c6e5bf53277d"
+ "reference": "822c00aa380c10c2a3c55d105c5da72ad577b7c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/stripe/stripe-php/zipball/6716cbc4ebf8cba7d45374a059c7c6e5bf53277d",
- "reference": "6716cbc4ebf8cba7d45374a059c7c6e5bf53277d",
+ "url": "https://api.github.com/repos/stripe/stripe-php/zipball/822c00aa380c10c2a3c55d105c5da72ad577b7c4",
+ "reference": "822c00aa380c10c2a3c55d105c5da72ad577b7c4",
"shasum": ""
},
"require": {
@@ -1786,11 +1482,10 @@
"php": ">=5.6.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "2.17.1",
- "php-coveralls/php-coveralls": "^2.1",
- "phpunit/phpunit": "^5.7",
- "squizlabs/php_codesniffer": "^3.3",
- "symfony/process": "~3.4"
+ "friendsofphp/php-cs-fixer": "3.5.0",
+ "phpstan/phpstan": "^1.2",
+ "phpunit/phpunit": "^5.7 || ^9.0",
+ "squizlabs/php_codesniffer": "^3.3"
},
"type": "library",
"extra": {
@@ -1822,31 +1517,31 @@
],
"support": {
"issues": "https://github.com/stripe/stripe-php/issues",
- "source": "https://github.com/stripe/stripe-php/tree/v7.69.0"
+ "source": "https://github.com/stripe/stripe-php/tree/v7.125.0"
},
- "time": "2021-01-22T03:21:13+00:00"
+ "time": "2022-04-21T22:31:37+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v2.2.0",
+ "version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665"
+ "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665",
- "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
+ "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.0.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2-dev"
+ "dev-main": "3.0-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -1875,7 +1570,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/master"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1"
},
"funding": [
{
@@ -1891,49 +1586,47 @@
"type": "tidelift"
}
],
- "time": "2020-09-07T11:33:47+00:00"
+ "time": "2022-01-02T09:55:41+00:00"
},
{
"name": "symfony/http-client",
- "version": "v5.2.1",
+ "version": "v6.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "a77cbec69ea90dea509beef29b79748c0df33a83"
+ "reference": "a7930c47248b9b57e9d0b8da100ffc1e031536dc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/a77cbec69ea90dea509beef29b79748c0df33a83",
- "reference": "a77cbec69ea90dea509beef29b79748c0df33a83",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/a7930c47248b9b57e9d0b8da100ffc1e031536dc",
+ "reference": "a7930c47248b9b57e9d0b8da100ffc1e031536dc",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/log": "^1.0",
- "symfony/http-client-contracts": "^2.2",
- "symfony/polyfill-php73": "^1.11",
- "symfony/polyfill-php80": "^1.15",
- "symfony/service-contracts": "^1.0|^2"
+ "php": ">=8.0.2",
+ "psr/log": "^1|^2|^3",
+ "symfony/http-client-contracts": "^3",
+ "symfony/service-contracts": "^1.0|^2|^3"
},
"provide": {
"php-http/async-client-implementation": "*",
"php-http/client-implementation": "*",
"psr/http-client-implementation": "1.0",
- "symfony/http-client-implementation": "1.1"
+ "symfony/http-client-implementation": "3.0"
},
"require-dev": {
"amphp/amp": "^2.5",
"amphp/http-client": "^4.2.1",
"amphp/http-tunnel": "^1.0",
"amphp/socket": "^1.1",
- "guzzlehttp/promises": "^1.3.1",
+ "guzzlehttp/promises": "^1.4",
"nyholm/psr7": "^1.0",
"php-http/httplug": "^1.0|^2.0",
"psr/http-client": "^1.0",
- "symfony/dependency-injection": "^4.4|^5.0",
- "symfony/http-kernel": "^4.4.13|^5.1.5",
- "symfony/process": "^4.4|^5.0",
- "symfony/stopwatch": "^4.4|^5.0"
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/stopwatch": "^5.4|^6.0"
},
"type": "library",
"autoload": {
@@ -1958,10 +1651,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony HttpClient component",
+ "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-client/tree/v5.2.1"
+ "source": "https://github.com/symfony/http-client/tree/v6.0.7"
},
"funding": [
{
@@ -1977,33 +1670,32 @@
"type": "tidelift"
}
],
- "time": "2020-12-14T10:56:50+00:00"
+ "time": "2022-04-01T12:27:43+00:00"
},
{
"name": "symfony/http-client-contracts",
- "version": "v2.3.1",
+ "version": "v3.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "41db680a15018f9c1d4b23516059633ce280ca33"
+ "reference": "f7525778c712be78ad5b6ca31f47fdcfd404c280"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/41db680a15018f9c1d4b23516059633ce280ca33",
- "reference": "41db680a15018f9c1d4b23516059633ce280ca33",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/f7525778c712be78ad5b6ca31f47fdcfd404c280",
+ "reference": "f7525778c712be78ad5b6ca31f47fdcfd404c280",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=8.0.2"
},
"suggest": {
"symfony/http-client-implementation": ""
},
"type": "library",
"extra": {
- "branch-version": "2.3",
"branch-alias": {
- "dev-main": "2.3-dev"
+ "dev-main": "3.0-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -2040,7 +1732,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v2.3.1"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v3.0.1"
},
"funding": [
{
@@ -2056,33 +1748,32 @@
"type": "tidelift"
}
],
- "time": "2020-10-14T17:08:19+00:00"
+ "time": "2022-03-13T20:10:05+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v5.2.1",
+ "version": "v6.0.7",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d"
+ "reference": "c816b26f03b6902dba79b352c84a17f53d815f0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a1f6218b29897ab52acba58cfa905b83625bef8d",
- "reference": "a1f6218b29897ab52acba58cfa905b83625bef8d",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c816b26f03b6902dba79b352c84a17f53d815f0d",
+ "reference": "c816b26f03b6902dba79b352c84a17f53d815f0d",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php80": "^1.15"
+ "php": ">=8.0.2",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-mbstring": "~1.1"
},
"require-dev": {
"predis/predis": "~1.0",
- "symfony/cache": "^4.4|^5.0",
- "symfony/expression-language": "^4.4|^5.0",
- "symfony/mime": "^4.4|^5.0"
+ "symfony/cache": "^5.4|^6.0",
+ "symfony/expression-language": "^5.4|^6.0",
+ "symfony/mime": "^5.4|^6.0"
},
"suggest": {
"symfony/mime": "To use the file extension guesser"
@@ -2110,10 +1801,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony HttpFoundation Component",
+ "description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v5.2.1"
+ "source": "https://github.com/symfony/http-foundation/tree/v6.0.7"
},
"funding": [
{
@@ -2129,27 +1820,24 @@
"type": "tidelift"
}
],
- "time": "2020-12-18T10:00:10+00:00"
+ "time": "2022-03-24T14:13:59+00:00"
},
{
"name": "symfony/options-resolver",
- "version": "v5.2.1",
+ "version": "v3.4.47",
"source": {
"type": "git",
"url": "https://github.com/symfony/options-resolver.git",
- "reference": "87a2a4a766244e796dd9cb9d6f58c123358cd986"
+ "reference": "c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/options-resolver/zipball/87a2a4a766244e796dd9cb9d6f58c123358cd986",
- "reference": "87a2a4a766244e796dd9cb9d6f58c123358cd986",
+ "url": "https://api.github.com/repos/symfony/options-resolver/zipball/c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744",
+ "reference": "c7efc97a47b2ebaabc19d5b6c6b50f5c37c92744",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-php73": "~1.0",
- "symfony/polyfill-php80": "^1.15"
+ "php": "^5.5.9|>=7.0.8"
},
"type": "library",
"autoload": {
@@ -2182,7 +1870,7 @@
"options"
],
"support": {
- "source": "https://github.com/symfony/options-resolver/tree/v5.2.1"
+ "source": "https://github.com/symfony/options-resolver/tree/v3.4.47"
},
"funding": [
{
@@ -2198,32 +1886,35 @@
"type": "tidelift"
}
],
- "time": "2020-10-24T12:08:07+00:00"
+ "time": "2020-10-24T10:57:07+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.22.0",
+ "version": "v1.25.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13"
+ "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/f377a3dd1fde44d37b9831d68dc8dea3ffd28e13",
- "reference": "f377a3dd1fde44d37b9831d68dc8dea3ffd28e13",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825",
+ "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825",
"shasum": ""
},
"require": {
"php": ">=7.1"
},
+ "provide": {
+ "ext-mbstring": "*"
+ },
"suggest": {
"ext-mbstring": "For best performance"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "1.23-dev"
},
"thanks": {
"name": "symfony/polyfill",
@@ -2231,12 +1922,12 @@
}
},
"autoload": {
- "psr-4": {
- "Symfony\\Polyfill\\Mbstring\\": ""
- },
"files": [
"bootstrap.php"
- ]
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2262,7 +1953,7 @@
"shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.22.0"
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.25.0"
},
"funding": [
{
@@ -2278,45 +1969,46 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2021-11-30T18:21:41+00:00"
},
{
- "name": "symfony/polyfill-php73",
- "version": "v1.22.0",
+ "name": "symfony/service-contracts",
+ "version": "v3.0.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php73.git",
- "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2"
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
- "reference": "a678b42e92f86eca04b7fa4c0f6f19d097fb69e2",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c",
+ "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.0.2",
+ "psr/container": "^2.0"
+ },
+ "conflict": {
+ "ext-psr": "<1.1|>=2"
+ },
+ "suggest": {
+ "symfony/service-implementation": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.22-dev"
+ "dev-main": "3.0-dev"
},
"thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
}
},
"autoload": {
"psr-4": {
- "Symfony\\Polyfill\\Php73\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
+ "Symfony\\Contracts\\Service\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2332,16 +2024,18 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions",
+ "description": "Generic abstractions related to writing services",
"homepage": "https://symfony.com",
"keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php73/tree/v1.22.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.0.1"
},
"funding": [
{
@@ -2357,45 +2051,45 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2022-03-13T20:10:05+00:00"
},
{
- "name": "symfony/polyfill-php80",
- "version": "v1.22.0",
+ "name": "whichbrowser/parser",
+ "version": "v2.0.42",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-php80.git",
- "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91"
+ "url": "https://github.com/WhichBrowser/Parser-PHP.git",
+ "reference": "4899110cd2f87b01e04ced62dbb9dec541031dee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dc3063ba22c2a1fd2f45ed856374d79114998f91",
- "reference": "dc3063ba22c2a1fd2f45ed856374d79114998f91",
+ "url": "https://api.github.com/repos/WhichBrowser/Parser-PHP/zipball/4899110cd2f87b01e04ced62dbb9dec541031dee",
+ "reference": "4899110cd2f87b01e04ced62dbb9dec541031dee",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=5.4.0",
+ "psr/cache": "^1.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.22-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
+ "require-dev": {
+ "icomefromthenet/reverse-regex": "0.0.6.3",
+ "phpunit/php-code-coverage": "^2.2 || ^3.0",
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0",
+ "satooshi/php-coveralls": "^1.0",
+ "squizlabs/php_codesniffer": "2.5.*",
+ "symfony/yaml": "~2.8 || ~3.4 || ~4.2 || ~5.0"
},
+ "suggest": {
+ "cache/array-adapter": "Allows testing of the caching functionality"
+ },
+ "type": "library",
"autoload": {
"psr-4": {
- "Symfony\\Polyfill\\Php80\\": ""
- },
- "files": [
- "bootstrap.php"
- ],
- "classmap": [
- "Resources/stubs"
- ]
+ "WhichBrowser\\": [
+ "src/",
+ "tests/src/"
+ ]
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -2403,207 +2097,45 @@
],
"authors": [
{
- "name": "Ion Bazan",
- "email": "ion.bazan@gmail.com"
- },
- {
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
+ "name": "Niels Leenheer",
+ "email": "niels@leenheer.nl",
+ "role": "Developer"
}
],
- "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
- "homepage": "https://symfony.com",
+ "description": "Useragent sniffing library for PHP",
+ "homepage": "http://whichbrowser.net",
"keywords": [
- "compatibility",
- "polyfill",
- "portable",
- "shim"
+ "browser",
+ "sniffing",
+ "ua",
+ "useragent"
],
"support": {
- "source": "https://github.com/symfony/polyfill-php80/tree/v1.22.0"
+ "issues": "https://github.com/WhichBrowser/Parser-PHP/issues",
+ "source": "https://github.com/WhichBrowser/Parser-PHP/tree/v2.0.42"
},
- "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": "2021-01-07T16:49:33+00:00"
+ "time": "2020-02-12T10:54:23+00:00"
},
{
- "name": "symfony/service-contracts",
- "version": "v2.2.0",
+ "name": "wirecard/iso-paypal-converter",
+ "version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/service-contracts.git",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1"
+ "url": "https://github.com/wirecard/iso-paypal-converter.git",
+ "reference": "94bf024f71fdbd9b21344c03e14ec99197cf672a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d15da7ba4957ffb8f1747218be9e1a121fd298a1",
- "reference": "d15da7ba4957ffb8f1747218be9e1a121fd298a1",
+ "url": "https://api.github.com/repos/wirecard/iso-paypal-converter/zipball/94bf024f71fdbd9b21344c03e14ec99197cf672a",
+ "reference": "94bf024f71fdbd9b21344c03e14ec99197cf672a",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "psr/container": "^1.0"
+ "php": ">=5.6"
},
- "suggest": {
- "symfony/service-implementation": ""
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.2-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Contracts\\Service\\": ""
- }
- },
- "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": "Generic abstractions related to writing services",
- "homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
- "support": {
- "source": "https://github.com/symfony/service-contracts/tree/master"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2020-09-07T11:33:47+00:00"
- },
- {
- "name": "whichbrowser/parser",
- "version": "v2.0.42",
- "source": {
- "type": "git",
- "url": "https://github.com/WhichBrowser/Parser-PHP.git",
- "reference": "4899110cd2f87b01e04ced62dbb9dec541031dee"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/WhichBrowser/Parser-PHP/zipball/4899110cd2f87b01e04ced62dbb9dec541031dee",
- "reference": "4899110cd2f87b01e04ced62dbb9dec541031dee",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4.0",
- "psr/cache": "^1.0"
- },
- "require-dev": {
- "icomefromthenet/reverse-regex": "0.0.6.3",
- "phpunit/php-code-coverage": "^2.2 || ^3.0",
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0",
- "satooshi/php-coveralls": "^1.0",
- "squizlabs/php_codesniffer": "2.5.*",
- "symfony/yaml": "~2.8 || ~3.4 || ~4.2 || ~5.0"
- },
- "suggest": {
- "cache/array-adapter": "Allows testing of the caching functionality"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "WhichBrowser\\": [
- "src/",
- "tests/src/"
- ]
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Niels Leenheer",
- "email": "niels@leenheer.nl",
- "role": "Developer"
- }
- ],
- "description": "Useragent sniffing library for PHP",
- "homepage": "http://whichbrowser.net",
- "keywords": [
- "browser",
- "sniffing",
- "ua",
- "useragent"
- ],
- "support": {
- "issues": "https://github.com/WhichBrowser/Parser-PHP/issues",
- "source": "https://github.com/WhichBrowser/Parser-PHP/tree/v2.0.42"
- },
- "time": "2020-02-12T10:54:23+00:00"
- },
- {
- "name": "wirecard/iso-paypal-converter",
- "version": "1.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/wirecard/iso-paypal-converter.git",
- "reference": "94bf024f71fdbd9b21344c03e14ec99197cf672a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/wirecard/iso-paypal-converter/zipball/94bf024f71fdbd9b21344c03e14ec99197cf672a",
- "reference": "94bf024f71fdbd9b21344c03e14ec99197cf672a",
- "shasum": ""
- },
- "require": {
- "php": ">=5.6"
- },
- "require-dev": {
- "phpunit/phpunit": "^5.7",
- "squizlabs/php_codesniffer": "^2.7"
+ "require-dev": {
+ "phpunit/phpunit": "^5.7",
+ "squizlabs/php_codesniffer": "^2.7"
},
"type": "library",
"autoload": {
@@ -2624,16 +2156,16 @@
},
{
"name": "wirecard/payment-sdk-php",
- "version": "dev-master",
+ "version": "dev-patch-php-8",
"source": {
"type": "git",
- "url": "https://github.com/wirecard/paymentSDK-php.git",
- "reference": "21e5f961237343606f049b8b97fff46eed63bf75"
+ "url": "https://github.com/schtr4jh/paymentSDK-php.git",
+ "reference": "c5749b68011c73644cf40e64c68712f4efe8af13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wirecard/paymentSDK-php/zipball/21e5f961237343606f049b8b97fff46eed63bf75",
- "reference": "21e5f961237343606f049b8b97fff46eed63bf75",
+ "url": "https://api.github.com/repos/schtr4jh/paymentSDK-php/zipball/c5749b68011c73644cf40e64c68712f4efe8af13",
+ "reference": "c5749b68011c73644cf40e64c68712f4efe8af13",
"shasum": ""
},
"require": {
@@ -2645,10 +2177,10 @@
"ext-mbstring": "*",
"ext-openssl": "*",
"ext-simplexml": "*",
- "monolog/monolog": "^1.16",
- "php": "5.6.* || 7.0.* || 7.1.* || 7.2.* || 7.3.* || 7.4.*",
+ "monolog/monolog": "1.* || 2.*",
+ "php": "5.6.* || 7.0.* || 7.1.* || 7.2.* || 7.3.* || 7.4.* || 8.0.*",
"php-http/client-common": "^1.0",
- "php-http/discovery": "^1.0 <= 1.6.1",
+ "php-http/discovery": "1.*",
"php-http/message": "~1.6.0 || ~1.7.0",
"psr/log": "^1.0.0",
"robrichards/xmlseclibs": "~3.1.0",
@@ -2664,96 +2196,70 @@
"phpunit/phpunit": "^5.7",
"squizlabs/php_codesniffer": "^3.3"
},
- "default-branch": true,
"type": "library",
"autoload": {
"psr-4": {
"Wirecard\\PaymentSdk\\": "src/"
}
},
- "notification-url": "https://packagist.org/downloads/",
+ "autoload-dev": {
+ "psr-4": {
+ "WirecardTest\\PaymentSdk\\": "test/",
+ "Wirecard\\PaymentSdk\\Example\\Constants\\": "examples/inc/constants/"
+ }
+ },
+ "scripts": {
+ "upload-coverage": [
+ "codacycoverage clover build/coverage/xml"
+ ],
+ "cs-check": [
+ "phpcs"
+ ],
+ "cs-fix": [
+ "phpcbf"
+ ],
+ "test": [
+ "phpunit --colors=always"
+ ],
+ "test-coverage": [
+ "phpunit --coverage-clover build/coverage/xml"
+ ],
+ "infection": [
+ "infection --threads=4 --min-msi=75 --min-covered-msi=75 --only-covered --log-verbosity=2"
+ ]
+ },
"license": [
"MIT"
],
"description": "PHP SDK for the payment processing ReST API of Wirecard",
"support": {
- "source": "https://github.com/wirecard/paymentSDK-php/tree/master"
+ "source": "https://github.com/schtr4jh/paymentSDK-php/tree/patch-php-8"
},
- "time": "2020-08-20T09:22:04+00:00"
+ "time": "2022-04-18T13:00:15+00:00"
}
],
"packages-dev": [
- {
- "name": "appzcoder/phpcloc",
- "version": "v0.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/appzcoder/phpcloc.git",
- "reference": "b8da7420a826361e66959e024e8223a76b5139eb"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/appzcoder/phpcloc/zipball/b8da7420a826361e66959e024e8223a76b5139eb",
- "reference": "b8da7420a826361e66959e024e8223a76b5139eb",
- "shasum": ""
- },
- "require": {
- "php": ">=5.5.9",
- "symfony/console": "^3.4 || ^4.0"
- },
- "bin": [
- "phpcloc"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "Appzcoder\\PHPCloc\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Sohel Amin",
- "email": "sohelamincse@gmail.com"
- }
- ],
- "description": "Cloc & duplicate code checker tool.",
- "keywords": [
- "cloc",
- "count lines of code",
- "duplicate code checker",
- "phpcloc"
- ],
- "support": {
- "issues": "https://github.com/appzcoder/phpcloc/issues",
- "source": "https://github.com/appzcoder/phpcloc/tree/master"
- },
- "time": "2018-05-27T06:27:35+00:00"
- },
{
"name": "behat/gherkin",
- "version": "v4.7.1",
+ "version": "v4.9.0",
"source": {
"type": "git",
"url": "https://github.com/Behat/Gherkin.git",
- "reference": "987bcdc3d29ba433e6bd4b1db4ae59737ba3dacd"
+ "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Behat/Gherkin/zipball/987bcdc3d29ba433e6bd4b1db4ae59737ba3dacd",
- "reference": "987bcdc3d29ba433e6bd4b1db4ae59737ba3dacd",
+ "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4",
+ "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4",
"shasum": ""
},
"require": {
- "php": ">=5.6"
+ "php": "~7.2|~8.0"
},
"require-dev": {
- "phpunit/phpunit": "~5.7|~6|~7",
- "symfony/phpunit-bridge": "~2.7|~3|~4",
- "symfony/yaml": "~2.3|~3|~4"
+ "cucumber/cucumber": "dev-gherkin-22.0.0",
+ "phpunit/phpunit": "~8|~9",
+ "symfony/yaml": "~3|~4|~5"
},
"suggest": {
"symfony/yaml": "If you want to parse features, represented in YAML files"
@@ -2761,7 +2267,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.4-dev"
+ "dev-master": "4.x-dev"
}
},
"autoload": {
@@ -2792,33 +2298,33 @@
],
"support": {
"issues": "https://github.com/Behat/Gherkin/issues",
- "source": "https://github.com/Behat/Gherkin/tree/v4.7.1"
+ "source": "https://github.com/Behat/Gherkin/tree/v4.9.0"
},
- "time": "2021-01-26T16:24:32+00:00"
+ "time": "2021-10-12T13:05:09+00:00"
},
{
"name": "codeception/codeception",
- "version": "4.1.16",
+ "version": "4.1.31",
"source": {
"type": "git",
"url": "https://github.com/Codeception/Codeception.git",
- "reference": "daf4fe110b33855252009a0dcab87ce8bcf7c009"
+ "reference": "15524571ae0686a7facc2eb1f40f600e5bbce9e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/Codeception/zipball/daf4fe110b33855252009a0dcab87ce8bcf7c009",
- "reference": "daf4fe110b33855252009a0dcab87ce8bcf7c009",
+ "url": "https://api.github.com/repos/Codeception/Codeception/zipball/15524571ae0686a7facc2eb1f40f600e5bbce9e5",
+ "reference": "15524571ae0686a7facc2eb1f40f600e5bbce9e5",
"shasum": ""
},
"require": {
"behat/gherkin": "^4.4.0",
- "codeception/lib-asserts": "^1.0",
+ "codeception/lib-asserts": "^1.0 | 2.0.*@dev",
"codeception/phpunit-wrapper": ">6.0.15 <6.1.0 | ^6.6.1 | ^7.7.1 | ^8.1.1 | ^9.0",
- "codeception/stub": "^2.0 | ^3.0",
+ "codeception/stub": "^2.0 | ^3.0 | ^4.0",
"ext-curl": "*",
"ext-json": "*",
"ext-mbstring": "*",
- "guzzlehttp/psr7": "~1.4",
+ "guzzlehttp/psr7": "^1.4 | ^2.0",
"php": ">=5.6.0 <9.0",
"symfony/console": ">=2.7 <6.0",
"symfony/css-selector": ">=2.7 <6.0",
@@ -2827,11 +2333,11 @@
"symfony/yaml": ">=2.7 <6.0"
},
"require-dev": {
- "codeception/module-asserts": "*@dev",
- "codeception/module-cli": "*@dev",
- "codeception/module-db": "*@dev",
- "codeception/module-filesystem": "*@dev",
- "codeception/module-phpbrowser": "*@dev",
+ "codeception/module-asserts": "^1.0 | 2.0.*@dev",
+ "codeception/module-cli": "^1.0 | 2.0.*@dev",
+ "codeception/module-db": "^1.0 | 2.0.*@dev",
+ "codeception/module-filesystem": "^1.0 | 2.0.*@dev",
+ "codeception/module-phpbrowser": "^1.0 | 2.0.*@dev",
"codeception/specify": "~0.3",
"codeception/util-universalframework": "*@dev",
"monolog/monolog": "~1.8",
@@ -2854,6 +2360,9 @@
"branch-alias": []
},
"autoload": {
+ "files": [
+ "functions.php"
+ ],
"psr-4": {
"Codeception\\": "src/Codeception",
"Codeception\\Extension\\": "ext"
@@ -2881,7 +2390,7 @@
],
"support": {
"issues": "https://github.com/Codeception/Codeception/issues",
- "source": "https://github.com/Codeception/Codeception/tree/4.1.16"
+ "source": "https://github.com/Codeception/Codeception/tree/4.1.31"
},
"funding": [
{
@@ -2889,7 +2398,7 @@
"type": "open_collective"
}
],
- "time": "2021-01-26T07:25:32+00:00"
+ "time": "2022-03-13T17:07:08+00:00"
},
{
"name": "codeception/lib-asserts",
@@ -2947,20 +2456,20 @@
},
{
"name": "codeception/lib-innerbrowser",
- "version": "1.3.6",
+ "version": "1.5.1",
"source": {
"type": "git",
"url": "https://github.com/Codeception/lib-innerbrowser.git",
- "reference": "41b79ba6761001bdb1f373a347400180693ad4e7"
+ "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/41b79ba6761001bdb1f373a347400180693ad4e7",
- "reference": "41b79ba6761001bdb1f373a347400180693ad4e7",
+ "url": "https://api.github.com/repos/Codeception/lib-innerbrowser/zipball/31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2",
+ "reference": "31b4b56ad53c3464fcb2c0a14d55a51a201bd3c2",
"shasum": ""
},
"require": {
- "codeception/codeception": "*@dev",
+ "codeception/codeception": "4.*@dev",
"ext-dom": "*",
"ext-json": "*",
"ext-mbstring": "*",
@@ -3001,9 +2510,9 @@
],
"support": {
"issues": "https://github.com/Codeception/lib-innerbrowser/issues",
- "source": "https://github.com/Codeception/lib-innerbrowser/tree/1.3.6"
+ "source": "https://github.com/Codeception/lib-innerbrowser/tree/1.5.1"
},
- "time": "2021-01-17T11:21:09+00:00"
+ "time": "2021-08-30T15:21:42+00:00"
},
{
"name": "codeception/module-asserts",
@@ -3063,34 +2572,26 @@
"time": "2020-10-21T16:48:15+00:00"
},
{
- "name": "codeception/module-phpbrowser",
- "version": "1.0.2",
+ "name": "codeception/module-db",
+ "version": "1.2.0",
"source": {
"type": "git",
- "url": "https://github.com/Codeception/module-phpbrowser.git",
- "reference": "770a6be4160a5c0c08d100dd51bff35f6056bbf1"
+ "url": "https://github.com/Codeception/module-db.git",
+ "reference": "04c3e66fbd3a3ced17fcccc49627f6393a97b04b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/770a6be4160a5c0c08d100dd51bff35f6056bbf1",
- "reference": "770a6be4160a5c0c08d100dd51bff35f6056bbf1",
+ "url": "https://api.github.com/repos/Codeception/module-db/zipball/04c3e66fbd3a3ced17fcccc49627f6393a97b04b",
+ "reference": "04c3e66fbd3a3ced17fcccc49627f6393a97b04b",
"shasum": ""
},
"require": {
- "codeception/codeception": "^4.0",
- "codeception/lib-innerbrowser": "^1.3",
- "guzzlehttp/guzzle": "^6.3|^7.0",
+ "codeception/codeception": "*@dev",
"php": ">=5.6.0 <9.0"
},
"conflict": {
"codeception/codeception": "<4.0"
},
- "require-dev": {
- "codeception/module-rest": "^1.0"
- },
- "suggest": {
- "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
- },
"type": "library",
"autoload": {
"classmap": [
@@ -3109,45 +2610,47 @@
"name": "Gintautas Miselis"
}
],
- "description": "Codeception module for testing web application over HTTP",
+ "description": "DB module for Codeception",
"homepage": "http://codeception.com/",
"keywords": [
"codeception",
- "functional-testing",
- "http"
+ "database-testing",
+ "db-testing"
],
"support": {
- "issues": "https://github.com/Codeception/module-phpbrowser/issues",
- "source": "https://github.com/Codeception/module-phpbrowser/tree/1.0.2"
+ "issues": "https://github.com/Codeception/module-db/issues",
+ "source": "https://github.com/Codeception/module-db/tree/1.2.0"
},
- "time": "2020-10-24T15:29:28+00:00"
+ "time": "2022-03-05T19:38:40+00:00"
},
{
- "name": "codeception/module-rest",
- "version": "1.2.7",
+ "name": "codeception/module-phpbrowser",
+ "version": "1.0.2",
"source": {
"type": "git",
- "url": "https://github.com/Codeception/module-rest.git",
- "reference": "beeb5a91a97d042273bf10f00063e9b8f541879a"
+ "url": "https://github.com/Codeception/module-phpbrowser.git",
+ "reference": "770a6be4160a5c0c08d100dd51bff35f6056bbf1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/module-rest/zipball/beeb5a91a97d042273bf10f00063e9b8f541879a",
- "reference": "beeb5a91a97d042273bf10f00063e9b8f541879a",
+ "url": "https://api.github.com/repos/Codeception/module-phpbrowser/zipball/770a6be4160a5c0c08d100dd51bff35f6056bbf1",
+ "reference": "770a6be4160a5c0c08d100dd51bff35f6056bbf1",
"shasum": ""
},
"require": {
"codeception/codeception": "^4.0",
- "justinrainbow/json-schema": "~5.2.9",
- "php": ">=5.6.0 <9.0",
- "softcreatr/jsonpath": "^0.5 || ^0.7"
+ "codeception/lib-innerbrowser": "^1.3",
+ "guzzlehttp/guzzle": "^6.3|^7.0",
+ "php": ">=5.6.0 <9.0"
+ },
+ "conflict": {
+ "codeception/codeception": "<4.0"
},
"require-dev": {
- "codeception/lib-innerbrowser": "^1.0",
- "codeception/util-universalframework": "^1.0"
+ "codeception/module-rest": "^1.0"
},
"suggest": {
- "aws/aws-sdk-php": "For using AWS Auth"
+ "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
},
"type": "library",
"autoload": {
@@ -3160,45 +2663,49 @@
"MIT"
],
"authors": [
+ {
+ "name": "Michael Bodnarchuk"
+ },
{
"name": "Gintautas Miselis"
}
],
- "description": "REST module for Codeception",
+ "description": "Codeception module for testing web application over HTTP",
"homepage": "http://codeception.com/",
"keywords": [
"codeception",
- "rest"
+ "functional-testing",
+ "http"
],
"support": {
- "issues": "https://github.com/Codeception/module-rest/issues",
- "source": "https://github.com/Codeception/module-rest/tree/1.2.7"
+ "issues": "https://github.com/Codeception/module-phpbrowser/issues",
+ "source": "https://github.com/Codeception/module-phpbrowser/tree/1.0.2"
},
- "time": "2020-11-04T16:58:11+00:00"
+ "time": "2020-10-24T15:29:28+00:00"
},
{
- "name": "codeception/module-webdriver",
- "version": "dev-master",
+ "name": "codeception/module-redis",
+ "version": "1.4.1",
"source": {
"type": "git",
- "url": "https://github.com/Codeception/module-webdriver.git",
- "reference": "63ea08880a44df809bdfbca08597e1b68cee9f87"
+ "url": "https://github.com/Codeception/module-redis.git",
+ "reference": "a0f26804200346761500a37a39aed919ada20b3f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/63ea08880a44df809bdfbca08597e1b68cee9f87",
- "reference": "63ea08880a44df809bdfbca08597e1b68cee9f87",
+ "url": "https://api.github.com/repos/Codeception/module-redis/zipball/a0f26804200346761500a37a39aed919ada20b3f",
+ "reference": "a0f26804200346761500a37a39aed919ada20b3f",
"shasum": ""
},
"require": {
- "codeception/codeception": "^4.0",
- "php": ">=5.6.0 <9.0",
- "php-webdriver/webdriver": "^1.8.0"
+ "codeception/codeception": "^4.1",
+ "php": "^7.4 | ^8.0",
+ "predis/predis": "^1.1",
+ "sebastian/comparator": "^4.0"
},
- "suggest": {
- "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
+ "require-dev": {
+ "codeception/stub": "^4.0"
},
- "default-branch": true,
"type": "library",
"autoload": {
"classmap": [
@@ -3214,10 +2721,116 @@
"name": "Michael Bodnarchuk"
},
{
- "name": "Gintautas Miselis"
- },
- {
- "name": "Zaahid Bateson"
+ "name": "Dmitriy Maltsev"
+ }
+ ],
+ "description": "Redis module for Codeception",
+ "homepage": "https://codeception.com/",
+ "keywords": [
+ "codeception",
+ "redis"
+ ],
+ "support": {
+ "issues": "https://github.com/Codeception/module-redis/issues",
+ "source": "https://github.com/Codeception/module-redis/tree/1.4.1"
+ },
+ "time": "2021-12-21T01:52:19+00:00"
+ },
+ {
+ "name": "codeception/module-rest",
+ "version": "1.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Codeception/module-rest.git",
+ "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Codeception/module-rest/zipball/9cd7a87fd9343494e7782f7bdb51687c25046917",
+ "reference": "9cd7a87fd9343494e7782f7bdb51687c25046917",
+ "shasum": ""
+ },
+ "require": {
+ "codeception/codeception": "^4.0",
+ "justinrainbow/json-schema": "~5.2.9",
+ "php": ">=5.6.6 <9.0",
+ "softcreatr/jsonpath": "^0.5 || ^0.7"
+ },
+ "require-dev": {
+ "codeception/lib-innerbrowser": "^1.0",
+ "codeception/util-universalframework": "^1.0"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "For using AWS Auth"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gintautas Miselis"
+ }
+ ],
+ "description": "REST module for Codeception",
+ "homepage": "http://codeception.com/",
+ "keywords": [
+ "codeception",
+ "rest"
+ ],
+ "support": {
+ "issues": "https://github.com/Codeception/module-rest/issues",
+ "source": "https://github.com/Codeception/module-rest/tree/1.4.2"
+ },
+ "time": "2021-11-18T18:58:15+00:00"
+ },
+ {
+ "name": "codeception/module-webdriver",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Codeception/module-webdriver.git",
+ "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Codeception/module-webdriver/zipball/baa18b7bf70aa024012f967b5ce5021e1faa9151",
+ "reference": "baa18b7bf70aa024012f967b5ce5021e1faa9151",
+ "shasum": ""
+ },
+ "require": {
+ "codeception/codeception": "^4.0",
+ "php": ">=5.6.0 <9.0",
+ "php-webdriver/webdriver": "^1.8.0"
+ },
+ "suggest": {
+ "codeception/phpbuiltinserver": "Start and stop PHP built-in web server for your tests"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Bodnarchuk"
+ },
+ {
+ "name": "Gintautas Miselis"
+ },
+ {
+ "name": "Zaahid Bateson"
}
],
"description": "WebDriver module for Codeception",
@@ -3229,22 +2842,22 @@
],
"support": {
"issues": "https://github.com/Codeception/module-webdriver/issues",
- "source": "https://github.com/Codeception/module-webdriver/tree/1.2.0"
+ "source": "https://github.com/Codeception/module-webdriver/tree/1.4.0"
},
- "time": "2021-01-17T19:23:20+00:00"
+ "time": "2021-09-02T12:01:02+00:00"
},
{
"name": "codeception/phpunit-wrapper",
- "version": "9.0.6",
+ "version": "9.0.7",
"source": {
"type": "git",
"url": "https://github.com/Codeception/phpunit-wrapper.git",
- "reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc"
+ "reference": "7d6b1a5ea4ed28d010e5d36b993db813eb49710b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/b0c06abb3181eedca690170f7ed0fd26a70bfacc",
- "reference": "b0c06abb3181eedca690170f7ed0fd26a70bfacc",
+ "url": "https://api.github.com/repos/Codeception/phpunit-wrapper/zipball/7d6b1a5ea4ed28d010e5d36b993db813eb49710b",
+ "reference": "7d6b1a5ea4ed28d010e5d36b993db813eb49710b",
"shasum": ""
},
"require": {
@@ -3278,26 +2891,76 @@
"description": "PHPUnit classes used by Codeception",
"support": {
"issues": "https://github.com/Codeception/phpunit-wrapper/issues",
- "source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.6"
+ "source": "https://github.com/Codeception/phpunit-wrapper/tree/9.0.7"
+ },
+ "time": "2022-01-26T14:43:10+00:00"
+ },
+ {
+ "name": "codeception/specify",
+ "version": "1.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Codeception/Specify.git",
+ "reference": "17ae6d4d6cb201ef5461f6587ecfcff8c177f854"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Codeception/Specify/zipball/17ae6d4d6cb201ef5461f6587ecfcff8c177f854",
+ "reference": "17ae6d4d6cb201ef5461f6587ecfcff8c177f854",
+ "shasum": ""
+ },
+ "require": {
+ "myclabs/deep-copy": "~1.1",
+ "php": ">=7.1.0",
+ "phpunit/phpunit": ">=7.0 <10.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Codeception\\": "src/"
+ }
},
- "time": "2020-12-28T13:59:47+00:00"
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Michael Bodnarchuk",
+ "email": "davert@codeception.com"
+ },
+ {
+ "name": "Gustavo Nieves",
+ "homepage": "https://medium.com/@ganieves"
+ }
+ ],
+ "description": "BDD code blocks for PHPUnit and Codeception",
+ "support": {
+ "issues": "https://github.com/Codeception/Specify/issues",
+ "source": "https://github.com/Codeception/Specify/tree/1.4.0"
+ },
+ "time": "2020-08-27T20:17:29+00:00"
},
{
"name": "codeception/stub",
- "version": "3.7.0",
+ "version": "4.0.2",
"source": {
"type": "git",
"url": "https://github.com/Codeception/Stub.git",
- "reference": "468dd5fe659f131fc997f5196aad87512f9b1304"
+ "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Codeception/Stub/zipball/468dd5fe659f131fc997f5196aad87512f9b1304",
- "reference": "468dd5fe659f131fc997f5196aad87512f9b1304",
+ "url": "https://api.github.com/repos/Codeception/Stub/zipball/18a148dacd293fc7b044042f5aa63a82b08bff5d",
+ "reference": "18a148dacd293fc7b044042f5aa63a82b08bff5d",
"shasum": ""
},
"require": {
- "phpunit/phpunit": "^8.4 | ^9.0"
+ "php": "^7.4 | ^8.0",
+ "phpunit/phpunit": "^8.4 | ^9.0 | ^10.0 | 10.0.x-dev"
+ },
+ "require-dev": {
+ "consolidation/robo": "^3.0"
},
"type": "library",
"autoload": {
@@ -3312,35 +2975,135 @@
"description": "Flexible Stub wrapper for PHPUnit's Mock Builder",
"support": {
"issues": "https://github.com/Codeception/Stub/issues",
- "source": "https://github.com/Codeception/Stub/tree/3.7.0"
+ "source": "https://github.com/Codeception/Stub/tree/4.0.2"
+ },
+ "time": "2022-01-31T19:25:15+00:00"
+ },
+ {
+ "name": "doctrine/cache",
+ "version": "1.12.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/cache.git",
+ "reference": "4cf401d14df219fa6f38b671f5493449151c9ad8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/cache/zipball/4cf401d14df219fa6f38b671f5493449151c9ad8",
+ "reference": "4cf401d14df219fa6f38b671f5493449151c9ad8",
+ "shasum": ""
+ },
+ "require": {
+ "php": "~7.1 || ^8.0"
+ },
+ "conflict": {
+ "doctrine/common": ">2.2,<2.4"
+ },
+ "require-dev": {
+ "alcaeus/mongo-php-adapter": "^1.1",
+ "cache/integration-tests": "dev-master",
+ "doctrine/coding-standard": "^8.0",
+ "mongodb/mongodb": "^1.1",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0",
+ "predis/predis": "~1.0",
+ "psr/cache": "^1.0 || ^2.0 || ^3.0",
+ "symfony/cache": "^4.4 || ^5.2 || ^6.0@dev",
+ "symfony/var-exporter": "^4.4 || ^5.2 || ^6.0@dev"
+ },
+ "suggest": {
+ "alcaeus/mongo-php-adapter": "Required to use legacy MongoDB driver"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.",
+ "homepage": "https://www.doctrine-project.org/projects/cache.html",
+ "keywords": [
+ "abstraction",
+ "apcu",
+ "cache",
+ "caching",
+ "couchdb",
+ "memcached",
+ "php",
+ "redis",
+ "xcache"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/cache/issues",
+ "source": "https://github.com/doctrine/cache/tree/1.12.1"
},
- "time": "2020-07-03T15:54:43+00:00"
+ "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%2Fcache",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-07-17T14:39:21+00:00"
},
{
"name": "doctrine/instantiator",
- "version": "1.4.0",
+ "version": "1.4.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b"
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b",
- "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/10dcfce151b967d20fde1b34ae6640712c3891bc",
+ "reference": "10dcfce151b967d20fde1b34ae6640712c3891bc",
"shasum": ""
},
"require": {
"php": "^7.1 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^8.0",
+ "doctrine/coding-standard": "^9",
"ext-pdo": "*",
"ext-phar": "*",
- "phpbench/phpbench": "^0.13 || 1.0.0-alpha2",
- "phpstan/phpstan": "^0.12",
- "phpstan/phpstan-phpunit": "^0.12",
- "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ "phpbench/phpbench": "^0.16 || ^1",
+ "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan-phpunit": "^1",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "vimeo/psalm": "^4.22"
},
"type": "library",
"autoload": {
@@ -3367,7 +3130,7 @@
],
"support": {
"issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/1.4.0"
+ "source": "https://github.com/doctrine/instantiator/tree/1.4.1"
},
"funding": [
{
@@ -3383,114 +3146,96 @@
"type": "tidelift"
}
],
- "time": "2020-11-10T18:47:58+00:00"
+ "time": "2022-03-03T08:28:38+00:00"
},
{
- "name": "justinrainbow/json-schema",
- "version": "5.2.10",
+ "name": "ezyang/htmlpurifier",
+ "version": "dev-master",
"source": {
"type": "git",
- "url": "https://github.com/justinrainbow/json-schema.git",
- "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b"
+ "url": "https://github.com/ezyang/htmlpurifier.git",
+ "reference": "1dd3e52365c32a142fb7c9c9f8f038f18e353270"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b",
- "reference": "2ba9c8c862ecd5510ed16c6340aa9f6eadb4f31b",
+ "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/1dd3e52365c32a142fb7c9c9f8f038f18e353270",
+ "reference": "1dd3e52365c32a142fb7c9c9f8f038f18e353270",
"shasum": ""
},
"require": {
- "php": ">=5.3.3"
- },
- "require-dev": {
- "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
- "json-schema/json-schema-test-suite": "1.2.0",
- "phpunit/phpunit": "^4.8.35"
+ "php": ">=5.2"
},
- "bin": [
- "bin/validate-json"
- ],
+ "default-branch": true,
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.0.x-dev"
- }
- },
"autoload": {
- "psr-4": {
- "JsonSchema\\": "src/JsonSchema/"
- }
+ "files": [
+ "library/HTMLPurifier.composer.php"
+ ],
+ "psr-0": {
+ "HTMLPurifier": "library/"
+ },
+ "exclude-from-classmap": [
+ "/library/HTMLPurifier/Language/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "LGPL-2.1-or-later"
],
"authors": [
{
- "name": "Bruno Prieto Reis",
- "email": "bruno.p.reis@gmail.com"
- },
- {
- "name": "Justin Rainbow",
- "email": "justin.rainbow@gmail.com"
- },
- {
- "name": "Igor Wiedler",
- "email": "igor@wiedler.ch"
- },
- {
- "name": "Robert Schönthal",
- "email": "seroscho@googlemail.com"
+ "name": "Edward Z. Yang",
+ "email": "admin@htmlpurifier.org",
+ "homepage": "http://ezyang.com"
}
],
- "description": "A library to validate a json schema.",
- "homepage": "https://github.com/justinrainbow/json-schema",
+ "description": "Standards compliant HTML filter written in PHP",
+ "homepage": "http://htmlpurifier.org/",
"keywords": [
- "json",
- "schema"
+ "html"
],
"support": {
- "issues": "https://github.com/justinrainbow/json-schema/issues",
- "source": "https://github.com/justinrainbow/json-schema/tree/5.2.10"
+ "issues": "https://github.com/ezyang/htmlpurifier/issues",
+ "source": "https://github.com/ezyang/htmlpurifier/tree/master"
},
- "time": "2020-05-27T16:41:55+00:00"
+ "time": "2022-04-08T17:48:12+00:00"
},
{
- "name": "maximebf/debugbar",
- "version": "v1.16.5",
+ "name": "filp/whoops",
+ "version": "2.14.5",
"source": {
"type": "git",
- "url": "https://github.com/maximebf/php-debugbar.git",
- "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62"
+ "url": "https://github.com/filp/whoops.git",
+ "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/6d51ee9e94cff14412783785e79a4e7ef97b9d62",
- "reference": "6d51ee9e94cff14412783785e79a4e7ef97b9d62",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
+ "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
"shasum": ""
},
"require": {
- "php": "^7.1|^8",
- "psr/log": "^1.0",
- "symfony/var-dumper": "^2.6|^3|^4|^5"
+ "php": "^5.5.9 || ^7.0 || ^8.0",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
},
"require-dev": {
- "phpunit/phpunit": "^7.5.20 || ^9.4.2"
+ "mockery/mockery": "^0.9 || ^1.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
+ "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
},
"suggest": {
- "kriswallsmith/assetic": "The best way to manage assets",
- "monolog/monolog": "Log using Monolog",
- "predis/predis": "Redis storage"
+ "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
+ "whoops/soap": "Formats errors as SOAP responses"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.16-dev"
+ "dev-master": "2.7-dev"
}
},
"autoload": {
"psr-4": {
- "DebugBar\\": "src/DebugBar/"
+ "Whoops\\": "src/Whoops/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3499,120 +3244,2760 @@
],
"authors": [
{
- "name": "Maxime Bouroumeau-Fuseau",
- "email": "maxime.bouroumeau@gmail.com",
- "homepage": "http://maximebf.com"
- },
- {
- "name": "Barry vd. Heuvel",
- "email": "barryvdh@gmail.com"
+ "name": "Filipe Dobreira",
+ "homepage": "https://github.com/filp",
+ "role": "Developer"
}
],
- "description": "Debug bar in the browser for php application",
- "homepage": "https://github.com/maximebf/php-debugbar",
+ "description": "php error handling for cool kids",
+ "homepage": "https://filp.github.io/whoops/",
"keywords": [
- "debug",
- "debugbar"
+ "error",
+ "exception",
+ "handling",
+ "library",
+ "throwable",
+ "whoops"
],
"support": {
- "issues": "https://github.com/maximebf/php-debugbar/issues",
- "source": "https://github.com/maximebf/php-debugbar/tree/v1.16.5"
+ "issues": "https://github.com/filp/whoops/issues",
+ "source": "https://github.com/filp/whoops/tree/2.14.5"
},
- "time": "2020-12-07T11:07:24+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/denis-sokolov",
+ "type": "github"
+ }
+ ],
+ "time": "2022-01-07T12:00:00+00:00"
},
{
- "name": "myclabs/deep-copy",
- "version": "1.10.2",
+ "name": "guzzlehttp/guzzle",
+ "version": "7.4.2",
"source": {
"type": "git",
- "url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220"
+ "url": "https://github.com/guzzle/guzzle.git",
+ "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220",
- "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ac1ec1cd9b5624694c3a40be801d94137afb12b4",
+ "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0"
+ "ext-json": "*",
+ "guzzlehttp/promises": "^1.5",
+ "guzzlehttp/psr7": "^1.8.3 || ^2.1",
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-client": "^1.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
},
- "replace": {
- "myclabs/deep-copy": "self.version"
+ "provide": {
+ "psr/http-client-implementation": "1.0"
},
"require-dev": {
- "doctrine/collections": "^1.0",
- "doctrine/common": "^2.6",
- "phpunit/phpunit": "^7.1"
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "ext-curl": "*",
+ "php-http/client-integration-tests": "^3.0",
+ "phpunit/phpunit": "^8.5.5 || ^9.3.5",
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
+ },
+ "suggest": {
+ "ext-curl": "Required for CURL handler support",
+ "ext-intl": "Required for Internationalized Domain Name (IDN) support",
+ "psr/log": "Required for using the Log middleware"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.4-dev"
+ }
+ },
"autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
"psr-4": {
- "DeepCopy\\": "src/DeepCopy/"
+ "GuzzleHttp\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Jeremy Lindblom",
+ "email": "jeremeamia@gmail.com",
+ "homepage": "https://github.com/jeremeamia"
+ },
+ {
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ }
+ ],
+ "description": "Guzzle is a PHP HTTP client library",
+ "keywords": [
+ "client",
+ "curl",
+ "framework",
+ "http",
+ "http client",
+ "psr-18",
+ "psr-7",
+ "rest",
+ "web service"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/guzzle/issues",
+ "source": "https://github.com/guzzle/guzzle/tree/7.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
},
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-03-20T14:16:28+00:00"
+ },
+ {
+ "name": "guzzlehttp/promises",
+ "version": "1.5.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/guzzle/promises.git",
+ "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
+ "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.5"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^4.4 || ^5.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.5-dev"
+ }
+ },
+ "autoload": {
"files": [
- "src/DeepCopy/deep_copy.php"
- ]
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "GuzzleHttp\\Promise\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Create deep copies (clones) of your objects",
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ }
+ ],
+ "description": "Guzzle promises library",
"keywords": [
- "clone",
- "copy",
- "duplicate",
- "object",
- "object graph"
+ "promise"
],
"support": {
- "issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.10.2"
+ "issues": "https://github.com/guzzle/promises/issues",
+ "source": "https://github.com/guzzle/promises/tree/1.5.1"
},
"funding": [
{
- "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises",
"type": "tidelift"
}
],
- "time": "2020-11-13T09:40:50+00:00"
+ "time": "2021-10-22T20:56:57+00:00"
},
{
- "name": "nikic/php-parser",
- "version": "v4.10.4",
+ "name": "guzzlehttp/psr7",
+ "version": "2.2.1",
"source": {
"type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e"
+ "url": "https://github.com/guzzle/psr7.git",
+ "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/c6d052fc58cb876152f89f532b95a8d7907e7f0e",
- "reference": "c6d052fc58cb876152f89f532b95a8d7907e7f0e",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/c94a94f120803a18554c1805ef2e539f8285f9a2",
+ "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2",
"shasum": ""
},
"require": {
- "ext-tokenizer": "*",
- "php": ">=7.0"
+ "php": "^7.2.5 || ^8.0",
+ "psr/http-factory": "^1.0",
+ "psr/http-message": "^1.0",
+ "ralouphie/getallheaders": "^3.0"
+ },
+ "provide": {
+ "psr/http-factory-implementation": "1.0",
+ "psr/http-message-implementation": "1.0"
},
"require-dev": {
- "ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "http-interop/http-factory-tests": "^0.9",
+ "phpunit/phpunit": "^8.5.8 || ^9.3.10"
+ },
+ "suggest": {
+ "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "GuzzleHttp\\Psr7\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Graham Campbell",
+ "email": "hello@gjcampbell.co.uk",
+ "homepage": "https://github.com/GrahamCampbell"
+ },
+ {
+ "name": "Michael Dowling",
+ "email": "mtdowling@gmail.com",
+ "homepage": "https://github.com/mtdowling"
+ },
+ {
+ "name": "George Mponos",
+ "email": "gmponos@gmail.com",
+ "homepage": "https://github.com/gmponos"
+ },
+ {
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com",
+ "homepage": "https://github.com/Nyholm"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://github.com/sagikazarmark"
+ },
+ {
+ "name": "Tobias Schultze",
+ "email": "webmaster@tubo-world.de",
+ "homepage": "https://github.com/Tobion"
+ },
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com",
+ "homepage": "https://sagikazarmark.hu"
+ }
+ ],
+ "description": "PSR-7 message implementation that also provides common utility methods",
+ "keywords": [
+ "http",
+ "message",
+ "psr-7",
+ "request",
+ "response",
+ "stream",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "issues": "https://github.com/guzzle/psr7/issues",
+ "source": "https://github.com/guzzle/psr7/tree/2.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/GrahamCampbell",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/Nyholm",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-03-20T21:55:58+00:00"
+ },
+ {
+ "name": "josegonzalez/dotenv",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/josegonzalez/php-dotenv.git",
+ "reference": "f6d2fb63610f98b7ae859031566228dbade1a79c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/josegonzalez/php-dotenv/zipball/f6d2fb63610f98b7ae859031566228dbade1a79c",
+ "reference": "f6d2fb63610f98b7ae859031566228dbade1a79c",
+ "shasum": ""
+ },
+ "require": {
+ "m1/env": "2.*",
+ "php": ">=5.5.0"
+ },
+ "require-dev": {
+ "php-mock/php-mock-phpunit": "^1.1",
+ "satooshi/php-coveralls": "1.*",
+ "squizlabs/php_codesniffer": "2.*"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "josegonzalez\\Dotenv": [
+ "src",
+ "tests"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jose Diaz-Gonzalez",
+ "email": "dotenv@josegonzalez.com",
+ "homepage": "http://josediazgonzalez.com",
+ "role": "Maintainer"
+ }
+ ],
+ "description": "dotenv file parsing for PHP",
+ "homepage": "https://github.com/josegonzalez/php-dotenv",
+ "keywords": [
+ "configuration",
+ "dotenv",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/josegonzalez/php-dotenv/issues",
+ "source": "https://github.com/josegonzalez/php-dotenv/tree/master"
+ },
+ "time": "2019-07-07T21:21:39+00:00"
+ },
+ {
+ "name": "justinrainbow/json-schema",
+ "version": "5.2.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/justinrainbow/json-schema.git",
+ "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60",
+ "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.3"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1",
+ "json-schema/json-schema-test-suite": "1.2.0",
+ "phpunit/phpunit": "^4.8.35"
+ },
+ "bin": [
+ "bin/validate-json"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "JsonSchema\\": "src/JsonSchema/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bruno Prieto Reis",
+ "email": "bruno.p.reis@gmail.com"
+ },
+ {
+ "name": "Justin Rainbow",
+ "email": "justin.rainbow@gmail.com"
+ },
+ {
+ "name": "Igor Wiedler",
+ "email": "igor@wiedler.ch"
+ },
+ {
+ "name": "Robert Schönthal",
+ "email": "seroscho@googlemail.com"
+ }
+ ],
+ "description": "A library to validate a json schema.",
+ "homepage": "https://github.com/justinrainbow/json-schema",
+ "keywords": [
+ "json",
+ "schema"
+ ],
+ "support": {
+ "issues": "https://github.com/justinrainbow/json-schema/issues",
+ "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12"
+ },
+ "time": "2022-04-13T08:02:27+00:00"
+ },
+ {
+ "name": "laminas/laminas-escaper",
+ "version": "2.10.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laminas/laminas-escaper.git",
+ "reference": "58af67282db37d24e584a837a94ee55b9c7552be"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/58af67282db37d24e584a837a94ee55b9c7552be",
+ "reference": "58af67282db37d24e584a837a94ee55b9c7552be",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-mbstring": "*",
+ "php": "^7.4 || ~8.0.0 || ~8.1.0"
+ },
+ "conflict": {
+ "zendframework/zend-escaper": "*"
+ },
+ "require-dev": {
+ "infection/infection": "^0.26.6",
+ "laminas/laminas-coding-standard": "~2.3.0",
+ "maglnet/composer-require-checker": "^3.8.0",
+ "phpunit/phpunit": "^9.5.18",
+ "psalm/plugin-phpunit": "^0.16.1",
+ "vimeo/psalm": "^4.22.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Laminas\\Escaper\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs",
+ "homepage": "https://laminas.dev",
+ "keywords": [
+ "escaper",
+ "laminas"
+ ],
+ "support": {
+ "chat": "https://laminas.dev/chat",
+ "docs": "https://docs.laminas.dev/laminas-escaper/",
+ "forum": "https://discourse.laminas.dev",
+ "issues": "https://github.com/laminas/laminas-escaper/issues",
+ "rss": "https://github.com/laminas/laminas-escaper/releases.atom",
+ "source": "https://github.com/laminas/laminas-escaper"
+ },
+ "funding": [
+ {
+ "url": "https://funding.communitybridge.org/projects/laminas-project",
+ "type": "community_bridge"
+ }
+ ],
+ "time": "2022-03-08T20:15:36+00:00"
+ },
+ {
+ "name": "league/uri-parser",
+ "version": "1.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/uri-parser.git",
+ "reference": "671548427e4c932352d9b9279fdfa345bf63fa00"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/uri-parser/zipball/671548427e4c932352d9b9279fdfa345bf63fa00",
+ "reference": "671548427e4c932352d9b9279fdfa345bf63fa00",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.0.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^2.0",
+ "phpstan/phpstan": "^0.9.2",
+ "phpstan/phpstan-phpunit": "^0.9.4",
+ "phpstan/phpstan-strict-rules": "^0.9.0",
+ "phpunit/phpunit": "^6.0"
+ },
+ "suggest": {
+ "ext-intl": "Allow parsing RFC3987 compliant hosts",
+ "league/uri-schemes": "Allow validating and normalizing URI parsing results"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions_include.php"
+ ],
+ "psr-4": {
+ "League\\Uri\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ignace Nyamagana Butera",
+ "email": "nyamsprod@gmail.com",
+ "homepage": "https://nyamsprod.com"
+ }
+ ],
+ "description": "userland URI parser RFC 3986 compliant",
+ "homepage": "https://github.com/thephpleague/uri-parser",
+ "keywords": [
+ "parse_url",
+ "parser",
+ "rfc3986",
+ "rfc3987",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "issues": "https://github.com/thephpleague/uri-parser/issues",
+ "source": "https://github.com/thephpleague/uri-parser/tree/master"
+ },
+ "time": "2018-11-22T07:55:51+00:00"
+ },
+ {
+ "name": "m1/env",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/m1/Env.git",
+ "reference": "5c296e3e13450a207e12b343f3af1d7ab569f6f3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/m1/Env/zipball/5c296e3e13450a207e12b343f3af1d7ab569f6f3",
+ "reference": "5c296e3e13450a207e12b343f3af1d7ab569f6f3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "4.*",
+ "scrutinizer/ocular": "~1.1",
+ "squizlabs/php_codesniffer": "^2.3"
+ },
+ "suggest": {
+ "josegonzalez/dotenv": "For loading of .env",
+ "m1/vars": "For loading of configs"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "M1\\Env\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Miles Croxford",
+ "email": "hello@milescroxford.com",
+ "homepage": "http://milescroxford.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "Env is a lightweight library bringing .env file parser compatibility to PHP. In short - it enables you to read .env files with PHP.",
+ "homepage": "https://github.com/m1/Env",
+ "keywords": [
+ ".env",
+ "config",
+ "dotenv",
+ "env",
+ "loader",
+ "m1",
+ "parser",
+ "support"
+ ],
+ "support": {
+ "issues": "https://github.com/m1/Env/issues",
+ "source": "https://github.com/m1/Env/tree/2.2.0"
+ },
+ "time": "2020-02-19T09:02:13+00:00"
+ },
+ {
+ "name": "maennchen/zipstream-php",
+ "version": "2.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/maennchen/ZipStream-PHP.git",
+ "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/maennchen/ZipStream-PHP/zipball/c4c5803cc1f93df3d2448478ef79394a5981cc58",
+ "reference": "c4c5803cc1f93df3d2448478ef79394a5981cc58",
+ "shasum": ""
+ },
+ "require": {
+ "myclabs/php-enum": "^1.5",
+ "php": ">= 7.1",
+ "psr/http-message": "^1.0",
+ "symfony/polyfill-mbstring": "^1.0"
+ },
+ "require-dev": {
+ "ext-zip": "*",
+ "guzzlehttp/guzzle": ">= 6.3",
+ "mikey179/vfsstream": "^1.6",
+ "phpunit/phpunit": ">= 7.5"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "ZipStream\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Paul Duncan",
+ "email": "pabs@pablotron.org"
+ },
+ {
+ "name": "Jonatan Männchen",
+ "email": "jonatan@maennchen.ch"
+ },
+ {
+ "name": "Jesse Donat",
+ "email": "donatj@gmail.com"
+ },
+ {
+ "name": "András Kolesár",
+ "email": "kolesar@kolesar.hu"
+ }
+ ],
+ "description": "ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.",
+ "keywords": [
+ "stream",
+ "zip"
+ ],
+ "support": {
+ "issues": "https://github.com/maennchen/ZipStream-PHP/issues",
+ "source": "https://github.com/maennchen/ZipStream-PHP/tree/master"
+ },
+ "funding": [
+ {
+ "url": "https://opencollective.com/zipstream",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2020-05-30T13:11:16+00:00"
+ },
+ {
+ "name": "markbaker/complex",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/MarkBaker/PHPComplex.git",
+ "reference": "6f724d7e04606fd8adaa4e3bb381c3e9db09c946"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/6f724d7e04606fd8adaa4e3bb381c3e9db09c946",
+ "reference": "6f724d7e04606fd8adaa4e3bb381c3e9db09c946",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
+ "phpcompatibility/php-compatibility": "^9.0",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.3",
+ "squizlabs/php_codesniffer": "^3.4"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "classes/src/functions/abs.php",
+ "classes/src/functions/acos.php",
+ "classes/src/functions/acosh.php",
+ "classes/src/functions/acot.php",
+ "classes/src/functions/acoth.php",
+ "classes/src/functions/acsc.php",
+ "classes/src/functions/acsch.php",
+ "classes/src/functions/argument.php",
+ "classes/src/functions/asec.php",
+ "classes/src/functions/asech.php",
+ "classes/src/functions/asin.php",
+ "classes/src/functions/asinh.php",
+ "classes/src/functions/atan.php",
+ "classes/src/functions/atanh.php",
+ "classes/src/functions/conjugate.php",
+ "classes/src/functions/cos.php",
+ "classes/src/functions/cosh.php",
+ "classes/src/functions/cot.php",
+ "classes/src/functions/coth.php",
+ "classes/src/functions/csc.php",
+ "classes/src/functions/csch.php",
+ "classes/src/functions/exp.php",
+ "classes/src/functions/inverse.php",
+ "classes/src/functions/ln.php",
+ "classes/src/functions/log2.php",
+ "classes/src/functions/log10.php",
+ "classes/src/functions/negative.php",
+ "classes/src/functions/pow.php",
+ "classes/src/functions/rho.php",
+ "classes/src/functions/sec.php",
+ "classes/src/functions/sech.php",
+ "classes/src/functions/sin.php",
+ "classes/src/functions/sinh.php",
+ "classes/src/functions/sqrt.php",
+ "classes/src/functions/tan.php",
+ "classes/src/functions/tanh.php",
+ "classes/src/functions/theta.php",
+ "classes/src/operations/add.php",
+ "classes/src/operations/subtract.php",
+ "classes/src/operations/multiply.php",
+ "classes/src/operations/divideby.php",
+ "classes/src/operations/divideinto.php"
+ ],
+ "psr-4": {
+ "Complex\\": "classes/src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mark Baker",
+ "email": "mark@lange.demon.co.uk"
+ }
+ ],
+ "description": "PHP Class for working with complex numbers",
+ "homepage": "https://github.com/MarkBaker/PHPComplex",
+ "keywords": [
+ "complex",
+ "mathematics"
+ ],
+ "support": {
+ "issues": "https://github.com/MarkBaker/PHPComplex/issues",
+ "source": "https://github.com/MarkBaker/PHPComplex/tree/2.0.3"
+ },
+ "time": "2021-06-02T09:44:11+00:00"
+ },
+ {
+ "name": "markbaker/matrix",
+ "version": "2.1.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/MarkBaker/PHPMatrix.git",
+ "reference": "174395a901b5ba0925f1d790fa91bab531074b61"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/174395a901b5ba0925f1d790fa91bab531074b61",
+ "reference": "174395a901b5ba0925f1d790fa91bab531074b61",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
+ "phpcompatibility/php-compatibility": "^9.0",
+ "phpdocumentor/phpdocumentor": "2.*",
+ "phploc/phploc": "^4.0",
+ "phpmd/phpmd": "2.*",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.3",
+ "sebastian/phpcpd": "^4.0",
+ "squizlabs/php_codesniffer": "^3.4"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "classes/src/Functions/adjoint.php",
+ "classes/src/Functions/antidiagonal.php",
+ "classes/src/Functions/cofactors.php",
+ "classes/src/Functions/determinant.php",
+ "classes/src/Functions/diagonal.php",
+ "classes/src/Functions/identity.php",
+ "classes/src/Functions/inverse.php",
+ "classes/src/Functions/minors.php",
+ "classes/src/Functions/trace.php",
+ "classes/src/Functions/transpose.php",
+ "classes/src/Operations/add.php",
+ "classes/src/Operations/directsum.php",
+ "classes/src/Operations/subtract.php",
+ "classes/src/Operations/multiply.php",
+ "classes/src/Operations/divideby.php",
+ "classes/src/Operations/divideinto.php"
+ ],
+ "psr-4": {
+ "Matrix\\": "classes/src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mark Baker",
+ "email": "mark@demon-angel.eu"
+ }
+ ],
+ "description": "PHP Class for working with matrices",
+ "homepage": "https://github.com/MarkBaker/PHPMatrix",
+ "keywords": [
+ "mathematics",
+ "matrix",
+ "vector"
+ ],
+ "support": {
+ "issues": "https://github.com/MarkBaker/PHPMatrix/issues",
+ "source": "https://github.com/MarkBaker/PHPMatrix/tree/2.1.3"
+ },
+ "time": "2021-05-25T15:42:17+00:00"
+ },
+ {
+ "name": "masterminds/html5",
+ "version": "2.7.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Masterminds/html5-php.git",
+ "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Masterminds/html5-php/zipball/f640ac1bdddff06ea333a920c95bbad8872429ab",
+ "reference": "f640ac1bdddff06ea333a920c95bbad8872429ab",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "php": ">=5.3.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35 || ^5.7.21 || ^6 || ^7"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Masterminds\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Matt Butcher",
+ "email": "technosophos@gmail.com"
+ },
+ {
+ "name": "Matt Farina",
+ "email": "matt@mattfarina.com"
+ },
+ {
+ "name": "Asmir Mustafic",
+ "email": "goetas@gmail.com"
+ }
+ ],
+ "description": "An HTML5 parser and serializer.",
+ "homepage": "http://masterminds.github.io/html5-php",
+ "keywords": [
+ "HTML5",
+ "dom",
+ "html",
+ "parser",
+ "querypath",
+ "serializer",
+ "xml"
+ ],
+ "support": {
+ "issues": "https://github.com/Masterminds/html5-php/issues",
+ "source": "https://github.com/Masterminds/html5-php/tree/2.7.5"
+ },
+ "time": "2021-07-01T14:25:37+00:00"
+ },
+ {
+ "name": "maximebf/debugbar",
+ "version": "v1.18.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/maximebf/php-debugbar.git",
+ "reference": "0d44b75f3b5d6d41ae83b79c7a4bceae7fbc78b6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0d44b75f3b5d6d41ae83b79c7a4bceae7fbc78b6",
+ "reference": "0d44b75f3b5d6d41ae83b79c7a4bceae7fbc78b6",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1|^8",
+ "psr/log": "^1|^2|^3",
+ "symfony/var-dumper": "^2.6|^3|^4|^5|^6"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7.5.20 || ^9.4.2",
+ "twig/twig": "^1.38|^2.7|^3.0"
+ },
+ "suggest": {
+ "kriswallsmith/assetic": "The best way to manage assets",
+ "monolog/monolog": "Log using Monolog",
+ "predis/predis": "Redis storage"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.17-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "DebugBar\\": "src/DebugBar/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Maxime Bouroumeau-Fuseau",
+ "email": "maxime.bouroumeau@gmail.com",
+ "homepage": "http://maximebf.com"
+ },
+ {
+ "name": "Barry vd. Heuvel",
+ "email": "barryvdh@gmail.com"
+ }
+ ],
+ "description": "Debug bar in the browser for php application",
+ "homepage": "https://github.com/maximebf/php-debugbar",
+ "keywords": [
+ "debug",
+ "debugbar"
+ ],
+ "support": {
+ "issues": "https://github.com/maximebf/php-debugbar/issues",
+ "source": "https://github.com/maximebf/php-debugbar/tree/v1.18.0"
+ },
+ "time": "2021-12-27T18:49:48+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "reference": "14daed4296fae74d9e3201d2c4925d1acb7aa614",
+ "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",
+ "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.11.0"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-03-03T13:19:32+00:00"
+ },
+ {
+ "name": "myclabs/php-enum",
+ "version": "1.8.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/php-enum.git",
+ "reference": "b942d263c641ddb5190929ff840c68f78713e937"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/php-enum/zipball/b942d263c641ddb5190929ff840c68f78713e937",
+ "reference": "b942d263c641ddb5190929ff840c68f78713e937",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": "^7.3 || ^8.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5",
+ "squizlabs/php_codesniffer": "1.*",
+ "vimeo/psalm": "^4.6.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "MyCLabs\\Enum\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP Enum contributors",
+ "homepage": "https://github.com/myclabs/php-enum/graphs/contributors"
+ }
+ ],
+ "description": "PHP Enum implementation",
+ "homepage": "http://github.com/myclabs/php-enum",
+ "keywords": [
+ "enum"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/php-enum/issues",
+ "source": "https://github.com/myclabs/php-enum/tree/1.8.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/mnapoli",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/php-enum",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-07-05T08:18:36+00:00"
+ },
+ {
+ "name": "nesbot/carbon",
+ "version": "2.57.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/briannesbitt/Carbon.git",
+ "reference": "4a54375c21eea4811dbd1149fe6b246517554e78"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4a54375c21eea4811dbd1149fe6b246517554e78",
+ "reference": "4a54375c21eea4811dbd1149fe6b246517554e78",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "php": "^7.1.8 || ^8.0",
+ "symfony/polyfill-mbstring": "^1.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ },
+ "require-dev": {
+ "doctrine/dbal": "^2.0 || ^3.0",
+ "doctrine/orm": "^2.7",
+ "friendsofphp/php-cs-fixer": "^3.0",
+ "kylekatarnls/multi-tester": "^2.0",
+ "phpmd/phpmd": "^2.9",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^0.12.54 || ^1.0",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.14",
+ "squizlabs/php_codesniffer": "^3.4"
+ },
+ "bin": [
+ "bin/carbon"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-3.x": "3.x-dev",
+ "dev-master": "2.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Carbon\\Laravel\\ServiceProvider"
+ ]
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Carbon\\": "src/Carbon/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brian Nesbitt",
+ "email": "brian@nesbot.com",
+ "homepage": "https://markido.com"
+ },
+ {
+ "name": "kylekatarnls",
+ "homepage": "https://github.com/kylekatarnls"
+ }
+ ],
+ "description": "An API extension for DateTime that supports 281 different languages.",
+ "homepage": "https://carbon.nesbot.com",
+ "keywords": [
+ "date",
+ "datetime",
+ "time"
+ ],
+ "support": {
+ "docs": "https://carbon.nesbot.com/docs",
+ "issues": "https://github.com/briannesbitt/Carbon/issues",
+ "source": "https://github.com/briannesbitt/Carbon"
+ },
+ "funding": [
+ {
+ "url": "https://opencollective.com/Carbon",
+ "type": "open_collective"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-02-13T18:13:33+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v4.13.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "210577fe3cf7badcc5814d99455df46564f3c077"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077",
+ "reference": "210577fe3cf7badcc5814d99455df46564f3c077",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "php": ">=7.0"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.9-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2"
+ },
+ "time": "2021-11-30T19:35:32+00:00"
+ },
+ {
+ "name": "pckg-app/frontend-dev",
+ "version": "dev-next-8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg-app/frontend-dev.git",
+ "reference": "6c7928bcfd463c8a5014f66cf7564009de21400d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg-app/frontend-dev/zipball/6c7928bcfd463c8a5014f66cf7564009de21400d",
+ "reference": "6c7928bcfd463c8a5014f66cf7564009de21400d",
+ "shasum": ""
+ },
+ "require": {
+ "codeception/codeception": "4.*",
+ "codeception/module-asserts": "1.*",
+ "codeception/module-db": "1.*",
+ "codeception/module-phpbrowser": "1.*",
+ "codeception/module-redis": "1.*",
+ "codeception/module-rest": "^1.2",
+ "codeception/module-webdriver": "1.*",
+ "codeception/specify": "^1.4",
+ "maximebf/debugbar": "1.*",
+ "php": ">=8.0",
+ "phpstan/phpstan": "1.*",
+ "phpstan/phpstan-strict-rules": "1.*",
+ "squizlabs/php_codesniffer": "3.*"
+ },
+ "type": "library",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Frontend pckg dev package",
+ "homepage": "https://github.com/pckg-app/frontend-dev",
+ "support": {
+ "issues": "https://github.com/pckg-app/frontend-dev/issues",
+ "source": "https://github.com/pckg-app/frontend-dev/tree/next-8.0"
+ },
+ "time": "2022-04-18T16:14:59+00:00"
+ },
+ {
+ "name": "pckg/auth",
+ "version": "dev-next-8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/auth.git",
+ "reference": "026f06d996eaa844897c4602961911700110a83e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/auth/zipball/026f06d996eaa844897c4602961911700110a83e",
+ "reference": "026f06d996eaa844897c4602961911700110a83e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*"
+ },
+ "require-dev": {
+ "defuse/php-encryption": "^2.0",
+ "league/oauth2-client": "^2.6",
+ "pckg-app/api": "dev-next-8.0 as dev-master",
+ "pckg-app/frontend-dev": "dev-next-8.0 as dev-master",
+ "pckg/collection": "dev-next-8.0 as dev-master",
+ "pckg/concept": "dev-master",
+ "pckg/database": "dev-next-8.0 as dev-master",
+ "pckg/framework": "dev-next-8.0 as dev-master",
+ "pckg/htmlbuilder": "dev-next-8.0 as dev-master",
+ "pckg/mail": "dev-master",
+ "pckg/manager": "dev-next-8.0 as dev-master",
+ "pckg/migrator": "dev-next-8.0 as dev-master"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Pckg": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Provides basic functionality for authentication and authorization users in database, on Twitter, Facebook and with OAuth2 standard",
+ "homepage": "https://github.com/pckg/auth",
+ "support": {
+ "issues": "https://github.com/pckg/auth/issues",
+ "source": "https://github.com/pckg/auth/tree/next-8.0"
+ },
+ "time": "2022-04-18T13:09:02+00:00"
+ },
+ {
+ "name": "pckg/cache",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/cache.git",
+ "reference": "7b56641cbacf9deb724e337335ccfe38c72c06bf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/cache/zipball/7b56641cbacf9deb724e337335ccfe38c72c06bf",
+ "reference": "7b56641cbacf9deb724e337335ccfe38c72c06bf",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/cache": "^1.6"
+ },
+ "require-dev": {
+ "pckg-app/frontend-dev": "dev-master",
+ "pckg/framework": "dev-master"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Pckg": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "PHP cache",
+ "homepage": "https://github.com/pckg/cache",
+ "support": {
+ "issues": "https://github.com/pckg/cache/issues",
+ "source": "https://github.com/pckg/cache/tree/master"
+ },
+ "time": "2021-03-05T18:25:17+00:00"
+ },
+ {
+ "name": "pckg/collection",
+ "version": "dev-next-8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/collection.git",
+ "reference": "afd3a3aba2863beb7fe95a5da3a88b042ec4c39c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/collection/zipball/afd3a3aba2863beb7fe95a5da3a88b042ec4c39c",
+ "reference": "afd3a3aba2863beb7fe95a5da3a88b042ec4c39c",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "pckg/concept": "dev-master"
+ },
+ "require-dev": {
+ "pckg-app/frontend-dev": "dev-next-8.0 as dev-master",
+ "pckg/database": "dev-next-8.0 as dev-master",
+ "pckg/framework": "dev-next-8.0 as dev-master"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/Pckg/Collection/Helper/functions.php"
+ ],
+ "psr-0": {
+ "Pckg": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Implementation for more human-like dealing with collections",
+ "homepage": "https://github.com/pckg/collection",
+ "support": {
+ "issues": "https://github.com/pckg/collection/issues",
+ "source": "https://github.com/pckg/collection/tree/next-8.0"
+ },
+ "time": "2022-04-20T11:29:18+00:00"
+ },
+ {
+ "name": "pckg/concept",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/concept.git",
+ "reference": "0ebc4a200faab53a3990da8b9793336c8f91e3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/concept/zipball/0ebc4a200faab53a3990da8b9793336c8f91e3e5",
+ "reference": "0ebc4a200faab53a3990da8b9793336c8f91e3e5",
+ "shasum": ""
+ },
+ "require-dev": {
+ "pckg-app/frontend-dev": "dev-master",
+ "pckg/framework": "dev-master-yoda",
+ "pckg/htmlbuilder": "dev-master",
+ "pckg/manager": "dev-master"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/Pckg/Concept/Helper/functions.php",
+ "src/Pckg/Concept/Helper/functions_bc.php"
+ ],
+ "psr-0": {
+ "Pckg": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Simple php concepts",
+ "homepage": "https://github.com/pckg/concept",
+ "support": {
+ "issues": "https://github.com/pckg/concept/issues",
+ "source": "https://github.com/pckg/concept/tree/master"
+ },
+ "time": "2021-11-09T11:25:31+00:00"
+ },
+ {
+ "name": "pckg/database",
+ "version": "dev-next-8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/database.git",
+ "reference": "382d3e67edf9812328b0594babee575dd073228a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/database/zipball/382d3e67edf9812328b0594babee575dd073228a",
+ "reference": "382d3e67edf9812328b0594babee575dd073228a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-pdo": "*",
+ "pckg/cache": "dev-master",
+ "pckg/concept": "dev-master",
+ "pckg/locale": "dev-master"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php-resources": "^0.3.0",
+ "fakerphp/faker": "1.*",
+ "pckg-app/frontend-dev": "dev-next-8.0 as dev-master",
+ "pckg/auth": "dev-next-8.0 as dev-master",
+ "pckg/collection": "dev-next-8.0 as dev-master",
+ "pckg/framework": "dev-next-8.0 as dev-master",
+ "pckg/htmlbuilder": "dev-next-8.0 as dev-master",
+ "pckg/manager": "dev-next-8.0 as dev-master",
+ "pckg/migrator": "dev-next-8.0 as dev-master"
+ },
+ "suggest": {
+ "fakerphp/faker": "Use faker to mock data*",
+ "maximebf/debugbar": "Push queries and events to debugbar"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Pckg": "src\\",
+ "Test": "tests\\src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Just another php / orm / pdo implementation for simple and advanced data management",
+ "homepage": "https://github.com/pckg/database",
+ "support": {
+ "issues": "https://github.com/pckg/database/issues",
+ "source": "https://github.com/pckg/database/tree/next-8.0"
+ },
+ "time": "2022-04-18T19:20:05+00:00"
+ },
+ {
+ "name": "pckg/framework",
+ "version": "dev-next-8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/framework.git",
+ "reference": "2a3550d5c67c857a86eeee7abb1a1a857d82a136"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/framework/zipball/2a3550d5c67c857a86eeee7abb1a1a857d82a136",
+ "reference": "2a3550d5c67c857a86eeee7abb1a1a857d82a136",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-pcntl": "*",
+ "ezyang/htmlpurifier": "dev-master",
+ "filp/whoops": "2.*",
+ "josegonzalez/dotenv": "dev-master",
+ "pckg/cache": "dev-master",
+ "pckg/concept": "dev-master",
+ "pckg/locale": "dev-master",
+ "php": "8.0.*",
+ "rollbar/rollbar": "3.*",
+ "tgalopin/html-sanitizer": "dev-master",
+ "twig/twig": "1.*"
+ },
+ "require-dev": {
+ "defuse/php-encryption": "2.*",
+ "ext-pdo": "*",
+ "maximebf/debugbar": "1.*",
+ "nesbot/carbon": "2.*",
+ "pckg-app/frontend-dev": "dev-next-8.0 as dev-master",
+ "pckg/auth": "dev-next-8.0 as dev-master",
+ "pckg/collection": "dev-next-8.0 as dev-master",
+ "pckg/database": "dev-next-8.0 as dev-master",
+ "pckg/htmlbuilder": "dev-next-8.0 as dev-master",
+ "pckg/mail": "dev-master",
+ "pckg/manager": "dev-next-8.0 as dev-master",
+ "pckg/migrator": "dev-master",
+ "pckg/queue": "dev-next-8.0 as dev-master",
+ "pckg/translator": "dev-master",
+ "ramsey/uuid": "4.*"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/Pckg/Framework/Helper/functions_bc.php",
+ "src/Pckg/Framework/Helper/functions.php"
+ ],
+ "psr-0": {
+ "Pckg": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Fully featured lightweight php framework with multilingual support, twig templating engine, and tons of other features.",
+ "homepage": "https://github.com/pckg/framework",
+ "support": {
+ "issues": "https://github.com/pckg/framework/issues",
+ "source": "https://github.com/pckg/framework/tree/next-8.0"
+ },
+ "time": "2022-04-19T06:48:24+00:00"
+ },
+ {
+ "name": "pckg/generic",
+ "version": "dev-next-8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/generic.git",
+ "reference": "7afe1fd68b55f8a15ae2f84fe5b76eb825607266"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/generic/zipball/7afe1fd68b55f8a15ae2f84fe5b76eb825607266",
+ "reference": "7afe1fd68b55f8a15ae2f84fe5b76eb825607266",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "phpoffice/phpspreadsheet": "1.*",
+ "phpoffice/phpword": "0.*"
+ },
+ "require-dev": {
+ "commscenter/comms-hub-api": "dev-master",
+ "defuse/php-encryption": "2.*",
+ "fakerphp/faker": "1.*",
+ "league/csv": "9.*",
+ "pckg-app/frontend-dev": "dev-next-8.0 as dev-master",
+ "pckg/auth": "dev-next-8.0 as dev-master",
+ "pckg/collection": "dev-next-8.0 as dev-master",
+ "pckg/database": "dev-next-8.0 as dev-master",
+ "pckg/framework": "dev-next-8.0 as dev-master",
+ "pckg/htmlbuilder": "dev-next-8.0 as dev-master",
+ "pckg/manager": "dev-next-8.0 as dev-master",
+ "pckg/migrator": "dev-next-8.0 as dev-master"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Pckg": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Building admin interface and generic frontend made simple",
+ "homepage": "https://github.com/pckg/generic",
+ "support": {
+ "issues": "https://github.com/pckg/generic/issues",
+ "source": "https://github.com/pckg/generic/tree/next-8.0"
+ },
+ "time": "2022-04-22T16:47:44+00:00"
+ },
+ {
+ "name": "pckg/htmlbuilder",
+ "version": "dev-next-8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/htmlbuilder.git",
+ "reference": "fe6ac15fd98aa2155804c3c223664cd042b69131"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/htmlbuilder/zipball/fe6ac15fd98aa2155804c3c223664cd042b69131",
+ "reference": "fe6ac15fd98aa2155804c3c223664cd042b69131",
+ "shasum": ""
+ },
+ "require": {
+ "pckg/concept": "dev-master",
+ "php": ">=8.0"
+ },
+ "require-dev": {
+ "pckg-app/frontend-dev": "dev-master",
+ "pckg/framework": "dev-master || dev-master-yoda"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Pckg\\Htmlbuilder": [
+ "src\\"
+ ],
+ "Pckg\\Htmlbuilder\\Test": [
+ "test\\"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "Build advanced forms in php with datasources, decorators, handlers and validators",
+ "homepage": "https://bitbucket.org/lfw/htmlbuilder",
+ "support": {
+ "issues": "https://github.com/pckg/htmlbuilder/issues",
+ "source": "https://github.com/pckg/htmlbuilder/tree/next-8.0"
+ },
+ "time": "2022-04-18T11:56:07+00:00"
+ },
+ {
+ "name": "pckg/locale",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pckg/locale.git",
+ "reference": "5ad051c578910670d8619d04adeadaf440facff6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pckg/locale/zipball/5ad051c578910670d8619d04adeadaf440facff6",
+ "reference": "5ad051c578910670d8619d04adeadaf440facff6",
+ "shasum": ""
+ },
+ "require-dev": {
+ "pckg-app/frontend-dev": "dev-master",
+ "pckg/database": "dev-master",
+ "pckg/framework": "dev-master",
+ "pckg/manager": "dev-master"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "Pckg": "src\\"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bojan Rajh",
+ "email": "schtr4jh@schtr4jh.net"
+ }
+ ],
+ "description": "PHP locale",
+ "homepage": "https://github.com/pckg/locale",
+ "support": {
+ "issues": "https://github.com/pckg/locale/issues",
+ "source": "https://github.com/pckg/locale/tree/master"
+ },
+ "time": "2021-03-05T18:27:18+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.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": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ },
+ "time": "2021-07-20T11:28:43+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
+ },
+ "time": "2022-02-21T01:04:05+00:00"
+ },
+ {
+ "name": "php-webdriver/webdriver",
+ "version": "1.12.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-webdriver/php-webdriver.git",
+ "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/99d4856ed7dffcdf6a52eccd6551e83d8d557ceb",
+ "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-zip": "*",
+ "php": "^5.6 || ~7.0 || ^8.0",
+ "symfony/polyfill-mbstring": "^1.12",
+ "symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0 || ^6.0"
+ },
+ "replace": {
+ "facebook/webdriver": "*"
+ },
+ "require-dev": {
+ "ondram/ci-detector": "^2.1 || ^3.5 || ^4.0",
+ "php-coveralls/php-coveralls": "^2.4",
+ "php-mock/php-mock-phpunit": "^1.1 || ^2.0",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpunit/phpunit": "^5.7 || ^7 || ^8 || ^9",
+ "squizlabs/php_codesniffer": "^3.5",
+ "symfony/var-dumper": "^3.3 || ^4.0 || ^5.0 || ^6.0"
+ },
+ "suggest": {
+ "ext-SimpleXML": "For Firefox profile creation"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "lib/Exception/TimeoutException.php"
+ ],
+ "psr-4": {
+ "Facebook\\WebDriver\\": "lib/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A PHP client for Selenium WebDriver. Previously facebook/webdriver.",
+ "homepage": "https://github.com/php-webdriver/php-webdriver",
+ "keywords": [
+ "Chromedriver",
+ "geckodriver",
+ "php",
+ "selenium",
+ "webdriver"
+ ],
+ "support": {
+ "issues": "https://github.com/php-webdriver/php-webdriver/issues",
+ "source": "https://github.com/php-webdriver/php-webdriver/tree/1.12.0"
+ },
+ "time": "2021-10-14T09:30:02+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "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/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.3",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.2",
+ "psalm/phar": "^4.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.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"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "account@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
+ },
+ "time": "2021-10-19T17:43:47+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.6.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "77a32518733312af16a44300404e945338981de3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/77a32518733312af16a44300404e945338981de3",
+ "reference": "77a32518733312af16a44300404e945338981de3",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*",
+ "psalm/phar": "^4.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "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/1.6.1"
+ },
+ "time": "2022-03-15T21:29:03+00:00"
+ },
+ {
+ "name": "phpoffice/phpspreadsheet",
+ "version": "1.15.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPOffice/PhpSpreadsheet.git",
+ "reference": "a8e8068b31b8119e1daa5b1eb5715a3a8ea8305f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/a8e8068b31b8119e1daa5b1eb5715a3a8ea8305f",
+ "reference": "a8e8068b31b8119e1daa5b1eb5715a3a8ea8305f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-dom": "*",
+ "ext-fileinfo": "*",
+ "ext-gd": "*",
+ "ext-iconv": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-simplexml": "*",
+ "ext-xml": "*",
+ "ext-xmlreader": "*",
+ "ext-xmlwriter": "*",
+ "ext-zip": "*",
+ "ext-zlib": "*",
+ "maennchen/zipstream-php": "^2.1",
+ "markbaker/complex": "^1.5|^2.0",
+ "markbaker/matrix": "^1.2|^2.0",
+ "php": "^7.2|^8.0",
+ "psr/http-client": "^1.0",
+ "psr/http-factory": "^1.0",
+ "psr/simple-cache": "^1.0"
+ },
+ "require-dev": {
+ "dompdf/dompdf": "^0.8.5",
+ "friendsofphp/php-cs-fixer": "^2.16",
+ "jpgraph/jpgraph": "^4.0",
+ "mpdf/mpdf": "^8.0",
+ "phpcompatibility/php-compatibility": "^9.3",
+ "phpunit/phpunit": "^8.5|^9.3",
+ "squizlabs/php_codesniffer": "^3.5",
+ "tecnickcom/tcpdf": "^6.3"
+ },
+ "suggest": {
+ "dompdf/dompdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)",
+ "jpgraph/jpgraph": "Option for rendering charts, or including charts with PDF or HTML Writers",
+ "mpdf/mpdf": "Option for rendering PDF with PDF Writer",
+ "tecnickcom/tcpdf": "Option for rendering PDF with PDF Writer (doesn't yet support PHP8)"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PhpOffice\\PhpSpreadsheet\\": "src/PhpSpreadsheet"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Maarten Balliauw",
+ "homepage": "https://blog.maartenballiauw.be"
+ },
+ {
+ "name": "Mark Baker",
+ "homepage": "https://markbakeruk.net"
+ },
+ {
+ "name": "Franck Lefevre",
+ "homepage": "https://rootslabs.net"
+ },
+ {
+ "name": "Erik Tilt"
+ },
+ {
+ "name": "Adrien Crivelli"
+ }
+ ],
+ "description": "PHPSpreadsheet - Read, Create and Write Spreadsheet documents in PHP - Spreadsheet engine",
+ "homepage": "https://github.com/PHPOffice/PhpSpreadsheet",
+ "keywords": [
+ "OpenXML",
+ "excel",
+ "gnumeric",
+ "ods",
+ "php",
+ "spreadsheet",
+ "xls",
+ "xlsx"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues",
+ "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.15.0"
+ },
+ "time": "2020-10-11T13:20:59+00:00"
+ },
+ {
+ "name": "phpoffice/phpword",
+ "version": "0.18.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPOffice/PHPWord.git",
+ "reference": "be0190cd5d8f95b4be08d5853b107aa4e352759a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPOffice/PHPWord/zipball/be0190cd5d8f95b4be08d5853b107aa4e352759a",
+ "reference": "be0190cd5d8f95b4be08d5853b107aa4e352759a",
+ "shasum": ""
+ },
+ "require": {
+ "ext-xml": "*",
+ "laminas/laminas-escaper": "^2.2",
+ "php": "^5.3.3 || ^7.0 || ^8.0"
+ },
+ "require-dev": {
+ "dompdf/dompdf": "0.8.* || 1.0.*",
+ "ext-gd": "*",
+ "ext-zip": "*",
+ "friendsofphp/php-cs-fixer": "^2.2",
+ "mpdf/mpdf": "5.7.4 || 6.* || 7.* || 8.*",
+ "php-coveralls/php-coveralls": "1.1.0 || ^2.0",
+ "phploc/phploc": "2.* || 3.* || 4.* || 5.* || 6.* || 7.*",
+ "phpmd/phpmd": "2.*",
+ "phpunit/phpunit": "^4.8.36 || ^7.0",
+ "squizlabs/php_codesniffer": "^2.9 || ^3.5",
+ "tecnickcom/tcpdf": "6.*"
+ },
+ "suggest": {
+ "dompdf/dompdf": "Allows writing PDF",
+ "ext-gd2": "Allows adding images",
+ "ext-xmlwriter": "Allows writing OOXML and ODF",
+ "ext-xsl": "Allows applying XSL style sheet to headers, to main document part, and to footers of an OOXML template",
+ "ext-zip": "Allows writing OOXML and ODF"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-develop": "0.19-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpOffice\\PhpWord\\": "src/PhpWord"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0"
+ ],
+ "authors": [
+ {
+ "name": "Mark Baker"
+ },
+ {
+ "name": "Gabriel Bull",
+ "email": "me@gabrielbull.com",
+ "homepage": "http://gabrielbull.com/"
+ },
+ {
+ "name": "Franck Lefevre",
+ "homepage": "https://rootslabs.net/blog/"
+ },
+ {
+ "name": "Ivan Lanin",
+ "homepage": "http://ivan.lanin.org"
+ },
+ {
+ "name": "Roman Syroeshko",
+ "homepage": "http://ru.linkedin.com/pub/roman-syroeshko/34/a53/994/"
+ },
+ {
+ "name": "Antoine de Troostembergh"
+ }
+ ],
+ "description": "PHPWord - A pure PHP library for reading and writing word processing documents (OOXML, ODF, RTF, HTML, PDF)",
+ "homepage": "http://phpoffice.github.io",
+ "keywords": [
+ "ISO IEC 29500",
+ "OOXML",
+ "Office Open XML",
+ "OpenDocument",
+ "OpenXML",
+ "PhpOffice",
+ "PhpWord",
+ "Rich Text Format",
+ "WordprocessingML",
+ "doc",
+ "docx",
+ "html",
+ "odf",
+ "odt",
+ "office",
+ "pdf",
+ "php",
+ "reader",
+ "rtf",
+ "template",
+ "template processor",
+ "word",
+ "writer"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPOffice/PHPWord/issues",
+ "source": "https://github.com/PHPOffice/PHPWord/tree/0.18.3"
+ },
+ "time": "2022-02-17T15:40:03+00:00"
+ },
+ {
+ "name": "phpspec/prophecy",
+ "version": "v1.15.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
+ "reference": "bbcd7380b0ebf3961ee21409db7b38bc31d69a13",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.2",
+ "php": "^7.2 || ~8.0, <8.2",
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "sebastian/comparator": "^3.0 || ^4.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "^6.0 || ^7.0",
+ "phpunit/phpunit": "^8.0 || ^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.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.15.0"
+ },
+ "time": "2021-12-08T12:19:24+00:00"
+ },
+ {
+ "name": "phpstan/phpstan",
+ "version": "1.5.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan.git",
+ "reference": "7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac",
+ "reference": "7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2|^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan-shim": "*"
+ },
+ "bin": [
+ "phpstan",
+ "phpstan.phar"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPStan - PHP Static Analysis Tool",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan/issues",
+ "source": "https://github.com/phpstan/phpstan/tree/1.5.7"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ondrejmirtes",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/phpstan",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/phpstan",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-04-20T12:20:27+00:00"
+ },
+ {
+ "name": "phpstan/phpstan-strict-rules",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpstan-strict-rules.git",
+ "reference": "e12d55f74a8cca18c6e684c6450767e055ba7717"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/e12d55f74a8cca18c6e684c6450767e055ba7717",
+ "reference": "e12d55f74a8cca18c6e684c6450767e055ba7717",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0",
+ "phpstan/phpstan": "^1.2.0"
+ },
+ "require-dev": {
+ "nikic/php-parser": "^4.13.0",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "phpstan-extension",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ },
+ "phpstan": {
+ "includes": [
+ "rules.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Extra strict and opinionated rules for PHPStan",
+ "support": {
+ "issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
+ "source": "https://github.com/phpstan/phpstan-strict-rules/tree/1.1.0"
+ },
+ "time": "2021-11-18T09:30:29+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "9.2.15",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
+ "reference": "2e9da11878c4202f97915c1cb4bb1ca318a63f5f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.13.0",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcov": "*",
+ "ext-xdebug": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-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 provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.15"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-03-07T09:28:20+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-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": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-12-02T12:48:52+00:00"
+ },
+ {
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
},
- "bin": [
- "bin/php-parse"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.9-dev"
+ "dev-master": "3.1-dev"
}
},
"autoload": {
- "psr-4": {
- "PhpParser\\": "lib/PhpParser"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -3620,91 +6005,52 @@
],
"authors": [
{
- "name": "Nikita Popov"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "A PHP parser written in PHP",
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
"keywords": [
- "parser",
- "php"
+ "process"
],
"support": {
- "issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.10.4"
- },
- "time": "2020-12-20T10:01:03+00:00"
- },
- {
- "name": "pckg-app/frontend-dev",
- "version": "dev-master",
- "source": {
- "type": "git",
- "url": "https://github.com/pckg-app/frontend-dev.git",
- "reference": "ca79231db124a87fa02808114a0b2143dd408b93"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/pckg-app/frontend-dev/zipball/ca79231db124a87fa02808114a0b2143dd408b93",
- "reference": "ca79231db124a87fa02808114a0b2143dd408b93",
- "shasum": ""
- },
- "require": {
- "appzcoder/phpcloc": "^0.0.2",
- "codeception/codeception": "4.*",
- "codeception/module-asserts": "1.*",
- "codeception/module-phpbrowser": "^1.0",
- "codeception/module-rest": "^1.2",
- "codeception/module-webdriver": "dev-master",
- "maximebf/debugbar": "^1.16",
- "phpstan/phpstan": "^0.12.42",
- "phpstan/phpstan-strict-rules": "^0.12.5",
- "squizlabs/php_codesniffer": "^3.5"
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
},
- "default-branch": true,
- "type": "library",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
+ "funding": [
{
- "name": "Bojan Rajh",
- "email": "schtr4jh@schtr4jh.net"
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
}
],
- "description": "Frontend pckg dev package",
- "homepage": "https://github.com/pckg-app/frontend-dev",
- "support": {
- "issues": "https://github.com/pckg-app/frontend-dev/issues",
- "source": "https://github.com/pckg-app/frontend-dev/tree/master"
- },
- "time": "2021-01-27T00:15:21+00:00"
+ "time": "2020-09-28T05:58:55+00:00"
},
{
- "name": "phar-io/manifest",
- "version": "2.0.1",
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
"source": {
"type": "git",
- "url": "https://github.com/phar-io/manifest.git",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133"
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
- "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-phar": "*",
- "ext-xmlwriter": "*",
- "phar-io/version": "^3.0.1",
- "php": "^7.2 || ^8.0"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -3717,47 +6063,55 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
- "role": "Developer"
+ "role": "lead"
}
],
- "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
"support": {
- "issues": "https://github.com/phar-io/manifest/issues",
- "source": "https://github.com/phar-io/manifest/tree/master"
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
},
- "time": "2020-06-27T14:33:11+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
},
{
- "name": "phar-io/version",
- "version": "3.0.4",
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
"source": {
"type": "git",
- "url": "https://github.com/phar-io/version.git",
- "reference": "e4782611070e50613683d2b9a57730e9a3ba5451"
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phar-io/version/zipball/e4782611070e50613683d2b9a57730e9a3ba5451",
- "reference": "e4782611070e50613683d2b9a57730e9a3ba5451",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
"autoload": {
"classmap": [
"src/"
@@ -3768,126 +6122,160 @@
"BSD-3-Clause"
],
"authors": [
- {
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
- },
- {
- "name": "Sebastian Heuer",
- "email": "sebastian@phpeople.de",
- "role": "Developer"
- },
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
- "role": "Developer"
+ "role": "lead"
}
],
- "description": "Library for handling version information and constraints",
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
"support": {
- "issues": "https://github.com/phar-io/version/issues",
- "source": "https://github.com/phar-io/version/tree/3.0.4"
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
},
- "time": "2020-12-13T23:18:30+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
},
{
- "name": "php-webdriver/webdriver",
- "version": "1.9.0",
+ "name": "phpunit/phpunit",
+ "version": "9.5.20",
"source": {
"type": "git",
- "url": "https://github.com/php-webdriver/php-webdriver.git",
- "reference": "e3633154554605274cc9d59837f55a7427d72003"
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/e3633154554605274cc9d59837f55a7427d72003",
- "reference": "e3633154554605274cc9d59837f55a7427d72003",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/12bc8879fb65aef2138b26fc633cb1e3620cffba",
+ "reference": "12bc8879fb65aef2138b26fc633cb1e3620cffba",
"shasum": ""
},
"require": {
- "ext-curl": "*",
+ "doctrine/instantiator": "^1.3.1",
+ "ext-dom": "*",
"ext-json": "*",
- "ext-zip": "*",
- "php": "^5.6 || ~7.0 || ^8.0",
- "symfony/polyfill-mbstring": "^1.12",
- "symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0"
- },
- "replace": {
- "facebook/webdriver": "*"
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.3",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpspec/prophecy": "^1.12.1",
+ "phpunit/php-code-coverage": "^9.2.13",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.5",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.3",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^3.0",
+ "sebastian/version": "^3.0.2"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^2.0",
- "ondram/ci-detector": "^2.1 || ^3.5",
- "php-coveralls/php-coveralls": "^2.4",
- "php-mock/php-mock-phpunit": "^1.1 || ^2.0",
- "php-parallel-lint/php-parallel-lint": "^1.2",
- "phpunit/phpunit": "^5.7 || ^7 || ^8 || ^9",
- "squizlabs/php_codesniffer": "^3.5",
- "symfony/var-dumper": "^3.3 || ^4.0 || ^5.0"
+ "ext-pdo": "*",
+ "phpspec/prophecy-phpunit": "^2.0.1"
},
"suggest": {
- "ext-SimpleXML": "For Firefox profile creation"
+ "ext-soap": "*",
+ "ext-xdebug": "*"
},
+ "bin": [
+ "phpunit"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.8.x-dev"
+ "dev-master": "9.5-dev"
}
},
"autoload": {
- "psr-4": {
- "Facebook\\WebDriver\\": "lib/"
- },
"files": [
- "lib/Exception/TimeoutException.php"
+ "src/Framework/Assert/Functions.php"
+ ],
+ "classmap": [
+ "src/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
- "description": "A PHP client for Selenium WebDriver. Previously facebook/webdriver.",
- "homepage": "https://github.com/php-webdriver/php-webdriver",
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
"keywords": [
- "Chromedriver",
- "geckodriver",
- "php",
- "selenium",
- "webdriver"
+ "phpunit",
+ "testing",
+ "xunit"
],
"support": {
- "issues": "https://github.com/php-webdriver/php-webdriver/issues",
- "source": "https://github.com/php-webdriver/php-webdriver/tree/1.9.0"
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.20"
},
- "time": "2020-11-19T15:21:05+00:00"
+ "funding": [
+ {
+ "url": "https://phpunit.de/sponsors.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-04-01T12:37:26+00:00"
},
{
- "name": "phpdocumentor/reflection-common",
- "version": "2.2.0",
+ "name": "predis/predis",
+ "version": "v1.1.10",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ "url": "https://github.com/predis/predis.git",
+ "reference": "a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
- "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "url": "https://api.github.com/repos/predis/predis/zipball/a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e",
+ "reference": "a2fb02d738bedadcffdbb07efa3a5e7bd57f8d6e",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0"
+ "php": ">=5.3.9"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-2.x": "2.x-dev"
- }
+ "require-dev": {
+ "phpunit/phpunit": "~4.8"
+ },
+ "suggest": {
+ "ext-curl": "Allows access to Webdis when paired with phpiredis",
+ "ext-phpiredis": "Allows faster serialization and deserialization of the Redis protocol"
},
+ "type": "library",
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src/"
+ "Predis\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3896,58 +6284,62 @@
],
"authors": [
{
- "name": "Jaap van Otterdijk",
- "email": "opensource@ijaap.nl"
+ "name": "Daniele Alessandri",
+ "email": "suppakilla@gmail.com",
+ "homepage": "http://clorophilla.net",
+ "role": "Creator & Maintainer"
+ },
+ {
+ "name": "Till Krüss",
+ "homepage": "https://till.im",
+ "role": "Maintainer"
}
],
- "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
- "homepage": "http://www.phpdoc.org",
+ "description": "Flexible and feature-complete Redis client for PHP and HHVM",
+ "homepage": "http://github.com/predis/predis",
"keywords": [
- "FQSEN",
- "phpDocumentor",
- "phpdoc",
- "reflection",
- "static analysis"
+ "nosql",
+ "predis",
+ "redis"
],
"support": {
- "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
- "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ "issues": "https://github.com/predis/predis/issues",
+ "source": "https://github.com/predis/predis/tree/v1.1.10"
},
- "time": "2020-06-27T09:03:43+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/tillkruss",
+ "type": "github"
+ }
+ ],
+ "time": "2022-01-05T17:46:08+00:00"
},
{
- "name": "phpdocumentor/reflection-docblock",
- "version": "5.2.2",
+ "name": "psr/event-dispatcher",
+ "version": "1.0.0",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556"
+ "url": "https://github.com/php-fig/event-dispatcher.git",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556",
- "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556",
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
"shasum": ""
},
"require": {
- "ext-filter": "*",
- "php": "^7.2 || ^8.0",
- "phpdocumentor/reflection-common": "^2.2",
- "phpdocumentor/type-resolver": "^1.3",
- "webmozart/assert": "^1.9.1"
- },
- "require-dev": {
- "mockery/mockery": "~1.3.2"
+ "php": ">=7.2.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.x-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "Psr\\EventDispatcher\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3956,51 +6348,49 @@
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
- },
- {
- "name": "Jaap van Otterdijk",
- "email": "account@ijaap.nl"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "description": "Standard interfaces for event handling.",
+ "keywords": [
+ "events",
+ "psr",
+ "psr-14"
+ ],
"support": {
- "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
- "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master"
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
},
- "time": "2020-09-03T19:13:55+00:00"
+ "time": "2019-01-08T18:20:26+00:00"
},
{
- "name": "phpdocumentor/type-resolver",
- "version": "1.4.0",
+ "name": "psr/http-client",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0"
+ "url": "https://github.com/php-fig/http-client.git",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
- "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0",
+ "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
+ "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621",
"shasum": ""
},
"require": {
- "php": "^7.2 || ^8.0",
- "phpdocumentor/reflection-common": "^2.0"
- },
- "require-dev": {
- "ext-tokenizer": "*"
+ "php": "^7.0 || ^8.0",
+ "psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-1.x": "1.x-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "phpDocumentor\\Reflection\\": "src"
+ "Psr\\Http\\Client\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4009,51 +6399,50 @@
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "me@mikevanriel.com"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "description": "Common interface for HTTP clients",
+ "homepage": "https://github.com/php-fig/http-client",
+ "keywords": [
+ "http",
+ "http-client",
+ "psr",
+ "psr-18"
+ ],
"support": {
- "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0"
+ "source": "https://github.com/php-fig/http-client/tree/master"
},
- "time": "2020-09-17T18:55:26+00:00"
+ "time": "2020-06-29T06:28:15+00:00"
},
{
- "name": "phpspec/prophecy",
- "version": "1.12.2",
+ "name": "psr/http-factory",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/phpspec/prophecy.git",
- "reference": "245710e971a030f42e08f4912863805570f23d39"
+ "url": "https://github.com/php-fig/http-factory.git",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/245710e971a030f42e08f4912863805570f23d39",
- "reference": "245710e971a030f42e08f4912863805570f23d39",
+ "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
+ "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.2",
- "php": "^7.2 || ~8.0, <8.1",
- "phpdocumentor/reflection-docblock": "^5.2",
- "sebastian/comparator": "^3.0 || ^4.0",
- "sebastian/recursion-context": "^3.0 || ^4.0"
- },
- "require-dev": {
- "phpspec/phpspec": "^6.0",
- "phpunit/phpunit": "^8.0 || ^9.0"
+ "php": ">=7.0.0",
+ "psr/http-message": "^1.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.11.x-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
- "Prophecy\\": "src/Prophecy"
+ "Psr\\Http\\Message\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -4062,231 +6451,196 @@
],
"authors": [
{
- "name": "Konstantin Kudryashov",
- "email": "ever.zet@gmail.com",
- "homepage": "http://everzet.com"
- },
- {
- "name": "Marcello Duarte",
- "email": "marcello.duarte@gmail.com"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "description": "Highly opinionated mocking framework for PHP 5.3+",
- "homepage": "https://github.com/phpspec/prophecy",
+ "description": "Common interfaces for PSR-7 HTTP message factories",
"keywords": [
- "Double",
- "Dummy",
- "fake",
- "mock",
- "spy",
- "stub"
+ "factory",
+ "http",
+ "message",
+ "psr",
+ "psr-17",
+ "psr-7",
+ "request",
+ "response"
],
"support": {
- "issues": "https://github.com/phpspec/prophecy/issues",
- "source": "https://github.com/phpspec/prophecy/tree/1.12.2"
+ "source": "https://github.com/php-fig/http-factory/tree/master"
},
- "time": "2020-12-19T10:15:11+00:00"
+ "time": "2019-04-30T12:38:16+00:00"
},
{
- "name": "phpstan/phpstan",
- "version": "0.12.69",
+ "name": "psr/simple-cache",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/phpstan/phpstan.git",
- "reference": "8f436ea35241da33487fd0d38b4bc3e6dfe30ea8"
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8f436ea35241da33487fd0d38b4bc3e6dfe30ea8",
- "reference": "8f436ea35241da33487fd0d38b4bc3e6dfe30ea8",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
+ "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b",
"shasum": ""
},
"require": {
- "php": "^7.1|^8.0"
- },
- "conflict": {
- "phpstan/phpstan-shim": "*"
+ "php": ">=5.3.0"
},
- "bin": [
- "phpstan",
- "phpstan.phar"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "0.12-dev"
+ "dev-master": "1.0.x-dev"
}
},
"autoload": {
- "files": [
- "bootstrap.php"
- ]
+ "psr-4": {
+ "Psr\\SimpleCache\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "PHPStan - PHP Static Analysis Tool",
- "support": {
- "issues": "https://github.com/phpstan/phpstan/issues",
- "source": "https://github.com/phpstan/phpstan/tree/0.12.69"
- },
- "funding": [
- {
- "url": "https://github.com/ondrejmirtes",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/phpstan",
- "type": "patreon"
- },
+ "authors": [
{
- "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan",
- "type": "tidelift"
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
}
],
- "time": "2021-01-24T14:55:37+00:00"
+ "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": "phpstan/phpstan-strict-rules",
- "version": "0.12.9",
+ "name": "ralouphie/getallheaders",
+ "version": "3.0.3",
"source": {
"type": "git",
- "url": "https://github.com/phpstan/phpstan-strict-rules.git",
- "reference": "0705fefc7c9168529fd130e341428f5f10f4f01d"
+ "url": "https://github.com/ralouphie/getallheaders.git",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan-strict-rules/zipball/0705fefc7c9168529fd130e341428f5f10f4f01d",
- "reference": "0705fefc7c9168529fd130e341428f5f10f4f01d",
+ "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822",
+ "reference": "120b605dfeb996808c31b6477290a714d356e822",
"shasum": ""
},
"require": {
- "php": "^7.1 || ^8.0",
- "phpstan/phpstan": "^0.12.66"
+ "php": ">=5.6"
},
"require-dev": {
- "phing/phing": "^2.16.3",
- "php-parallel-lint/php-parallel-lint": "^1.2",
- "phpstan/phpstan-phpunit": "^0.12.16",
- "phpunit/phpunit": "^7.5.20"
- },
- "type": "phpstan-extension",
- "extra": {
- "branch-alias": {
- "dev-master": "0.12-dev"
- },
- "phpstan": {
- "includes": [
- "rules.neon"
- ]
- }
+ "php-coveralls/php-coveralls": "^2.1",
+ "phpunit/phpunit": "^5 || ^6.5"
},
+ "type": "library",
"autoload": {
- "psr-4": {
- "PHPStan\\": "src/"
- }
+ "files": [
+ "src/getallheaders.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Extra strict and opinionated rules for PHPStan",
+ "authors": [
+ {
+ "name": "Ralph Khattar",
+ "email": "ralph.khattar@gmail.com"
+ }
+ ],
+ "description": "A polyfill for getallheaders.",
"support": {
- "issues": "https://github.com/phpstan/phpstan-strict-rules/issues",
- "source": "https://github.com/phpstan/phpstan-strict-rules/tree/0.12.9"
+ "issues": "https://github.com/ralouphie/getallheaders/issues",
+ "source": "https://github.com/ralouphie/getallheaders/tree/develop"
},
- "time": "2021-01-13T08:50:28+00:00"
+ "time": "2019-03-08T08:55:37+00:00"
},
{
- "name": "phpunit/php-code-coverage",
- "version": "9.2.5",
+ "name": "rollbar/rollbar",
+ "version": "v3.1.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1"
+ "url": "https://github.com/rollbar/rollbar-php.git",
+ "reference": "0d114753f47222ef32f5799b59a2a276acdf3cfa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1",
- "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1",
+ "url": "https://api.github.com/repos/rollbar/rollbar-php/zipball/0d114753f47222ef32f5799b59a2a276acdf3cfa",
+ "reference": "0d114753f47222ef32f5799b59a2a276acdf3cfa",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-libxml": "*",
- "ext-xmlwriter": "*",
- "nikic/php-parser": "^4.10.2",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.3",
- "phpunit/php-text-template": "^2.0.2",
- "sebastian/code-unit-reverse-lookup": "^2.0.2",
- "sebastian/complexity": "^2.0",
- "sebastian/environment": "^5.1.2",
- "sebastian/lines-of-code": "^1.0.3",
- "sebastian/version": "^3.0.1",
- "theseer/tokenizer": "^1.2.0"
+ "ext-curl": "*",
+ "monolog/monolog": "^2",
+ "php": ">=8.0.0 <9.0",
+ "psr/log": "^1 || ^2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "mockery/mockery": "^1",
+ "phpmd/phpmd": "^2",
+ "phpunit/phpunit": "^9",
+ "squizlabs/php_codesniffer": "^3.6 || 3.x-dev",
+ "vimeo/psalm": "^4.13"
},
"suggest": {
- "ext-pcov": "*",
- "ext-xdebug": "*"
+ "fluent/logger": "Needed to use the 'fluent' handler for fluentd support"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "9.2-dev"
- }
- },
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Rollbar\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.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": {
- "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.5"
- },
- "funding": [
+ "MIT"
+ ],
+ "authors": [
{
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
+ "name": "Rollbar, Inc.",
+ "email": "support@rollbar.com",
+ "role": "Developer"
}
],
- "time": "2020-11-28T06:44:49+00:00"
+ "description": "Monitors errors and exceptions and reports them to Rollbar",
+ "homepage": "https://github.com/rollbar/rollbar-php",
+ "keywords": [
+ "debugging",
+ "errors",
+ "exceptions",
+ "logging",
+ "monitoring"
+ ],
+ "support": {
+ "email": "support@rollbar.com",
+ "issues": "https://github.com/rollbar/rollbar-php/issues",
+ "source": "https://github.com/rollbar/rollbar-php/tree/v3.1.2"
+ },
+ "time": "2022-03-30T21:22:36+00:00"
},
{
- "name": "phpunit/php-file-iterator",
- "version": "3.0.5",
+ "name": "sebastian/cli-parser",
+ "version": "1.0.1",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8"
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8",
- "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
"shasum": ""
},
"require": {
@@ -4298,7 +6652,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -4317,15 +6671,11 @@
"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"
- ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
- "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.5"
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
},
"funding": [
{
@@ -4333,36 +6683,32 @@
"type": "github"
}
],
- "time": "2020-09-28T05:57:25+00:00"
+ "time": "2020-09-28T06:08:49+00:00"
},
{
- "name": "phpunit/php-invoker",
- "version": "3.1.1",
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
- "ext-pcntl": "*",
"phpunit/phpunit": "^9.3"
},
- "suggest": {
- "ext-pcntl": "*"
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -4381,14 +6727,11 @@
"role": "lead"
}
],
- "description": "Invoke callables with a timeout",
- "homepage": "https://github.com/sebastianbergmann/php-invoker/",
- "keywords": [
- "process"
- ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
"support": {
- "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
},
"funding": [
{
@@ -4396,20 +6739,20 @@
"type": "github"
}
],
- "time": "2020-09-28T05:58:55+00:00"
+ "time": "2020-10-26T13:08:54+00:00"
},
{
- "name": "phpunit/php-text-template",
- "version": "2.0.4",
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
"shasum": ""
},
"require": {
@@ -4436,18 +6779,14 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Simple template engine.",
- "homepage": "https://github.com/sebastianbergmann/php-text-template/",
- "keywords": [
- "template"
- ],
+ "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/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
},
"funding": [
{
@@ -4455,24 +6794,26 @@
"type": "github"
}
],
- "time": "2020-10-26T05:33:50+00:00"
+ "time": "2020-09-28T05:30:19+00:00"
},
{
- "name": "phpunit/php-timer",
- "version": "5.0.3",
+ "name": "sebastian/comparator",
+ "version": "4.0.6",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
+ "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
},
"require-dev": {
"phpunit/phpunit": "^9.3"
@@ -4480,7 +6821,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -4495,18 +6836,31 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
}
],
- "description": "Utility class for timing",
- "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [
- "timer"
+ "comparator",
+ "compare",
+ "equality"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
},
"funding": [
{
@@ -4514,75 +6868,38 @@
"type": "github"
}
],
- "time": "2020-10-26T13:16:10+00:00"
+ "time": "2020-10-26T15:49:45+00:00"
},
{
- "name": "phpunit/phpunit",
- "version": "9.5.1",
+ "name": "sebastian/complexity",
+ "version": "2.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360"
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/e7bdf4085de85a825f4424eae52c99a1cec2f360",
- "reference": "e7bdf4085de85a825f4424eae52c99a1cec2f360",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
+ "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.3.1",
- "ext-dom": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-mbstring": "*",
- "ext-xml": "*",
- "ext-xmlwriter": "*",
- "myclabs/deep-copy": "^1.10.1",
- "phar-io/manifest": "^2.0.1",
- "phar-io/version": "^3.0.2",
- "php": ">=7.3",
- "phpspec/prophecy": "^1.12.1",
- "phpunit/php-code-coverage": "^9.2.3",
- "phpunit/php-file-iterator": "^3.0.5",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.3",
- "phpunit/php-timer": "^5.0.2",
- "sebastian/cli-parser": "^1.0.1",
- "sebastian/code-unit": "^1.0.6",
- "sebastian/comparator": "^4.0.5",
- "sebastian/diff": "^4.0.3",
- "sebastian/environment": "^5.1.3",
- "sebastian/exporter": "^4.0.3",
- "sebastian/global-state": "^5.0.1",
- "sebastian/object-enumerator": "^4.0.3",
- "sebastian/resource-operations": "^3.0.3",
- "sebastian/type": "^2.3",
- "sebastian/version": "^3.0.2"
+ "nikic/php-parser": "^4.7",
+ "php": ">=7.3"
},
"require-dev": {
- "ext-pdo": "*",
- "phpspec/prophecy-phpunit": "^2.0.1"
- },
- "suggest": {
- "ext-soap": "*",
- "ext-xdebug": "*"
+ "phpunit/phpunit": "^9.3"
},
- "bin": [
- "phpunit"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.5-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
"classmap": [
"src/"
- ],
- "files": [
- "src/Framework/Assert/Functions.php"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -4596,53 +6913,45 @@
"role": "lead"
}
],
- "description": "The PHP Unit Testing framework.",
- "homepage": "https://phpunit.de/",
- "keywords": [
- "phpunit",
- "testing",
- "xunit"
- ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
- "issues": "https://github.com/sebastianbergmann/phpunit/issues",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.1"
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
},
"funding": [
- {
- "url": "https://phpunit.de/donate.html",
- "type": "custom"
- },
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
}
],
- "time": "2021-01-17T07:42:25+00:00"
+ "time": "2020-10-26T15:52:27+00:00"
},
{
- "name": "sebastian/cli-parser",
- "version": "1.0.1",
+ "name": "sebastian/diff",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
- "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
"shasum": ""
},
"require": {
"php": ">=7.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -4657,15 +6966,24 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
}
],
- "description": "Library for parsing CLI options",
- "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
},
"funding": [
{
@@ -4673,20 +6991,20 @@
"type": "github"
}
],
- "time": "2020-09-28T06:08:49+00:00"
+ "time": "2020-10-26T13:10:38+00:00"
},
{
- "name": "sebastian/code-unit",
- "version": "1.0.8",
+ "name": "sebastian/environment",
+ "version": "5.1.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/1b5dff7bb151a4db11d49d90e5408e4e938270f7",
+ "reference": "1b5dff7bb151a4db11d49d90e5408e4e938270f7",
"shasum": ""
},
"require": {
@@ -4695,10 +7013,13 @@
"require-dev": {
"phpunit/phpunit": "^9.3"
},
+ "suggest": {
+ "ext-posix": "*"
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "5.1-dev"
}
},
"autoload": {
@@ -4713,15 +7034,19 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Collection of value objects that represent the PHP code units",
- "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "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/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.4"
},
"funding": [
{
@@ -4729,32 +7054,34 @@
"type": "github"
}
],
- "time": "2020-10-26T13:08:54+00:00"
+ "time": "2022-04-03T09:37:03+00:00"
},
{
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
+ "name": "sebastian/exporter",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/65e8b7db476c5dd267e65eea9cab77584d3cfff9",
+ "reference": "65e8b7db476c5dd267e65eea9cab77584d3cfff9",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
+ "ext-mbstring": "*",
"phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -4770,13 +7097,33 @@
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
}
],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.4"
},
"funding": [
{
@@ -4784,34 +7131,38 @@
"type": "github"
}
],
- "time": "2020-09-28T05:30:19+00:00"
+ "time": "2021-11-11T14:18:36+00:00"
},
{
- "name": "sebastian/comparator",
- "version": "4.0.6",
+ "name": "sebastian/global-state",
+ "version": "5.0.5",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382"
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382",
- "reference": "55f4261989e546dc112258c7a75935a81a7ce382",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2",
+ "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2",
"shasum": ""
},
"require": {
"php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
+ "ext-dom": "*",
"phpunit/phpunit": "^9.3"
},
+ "suggest": {
+ "ext-uopz": "*"
+ },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "5.0-dev"
}
},
"autoload": {
@@ -4827,30 +7178,16 @@
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
- },
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
- {
- "name": "Bernhard Schussek",
- "email": "bschussek@2bepublished.at"
}
],
- "description": "Provides the functionality to compare PHP values for equality",
- "homepage": "https://github.com/sebastianbergmann/comparator",
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
"keywords": [
- "comparator",
- "compare",
- "equality"
+ "global state"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.6"
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5"
},
"funding": [
{
@@ -4858,24 +7195,24 @@
"type": "github"
}
],
- "time": "2020-10-26T15:49:45+00:00"
+ "time": "2022-02-14T08:28:10+00:00"
},
{
- "name": "sebastian/complexity",
- "version": "2.0.2",
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88"
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88",
- "reference": "739b35e53379900cc9ac327b2147867b8b6efd88",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.7",
+ "nikic/php-parser": "^4.6",
"php": ">=7.3"
},
"require-dev": {
@@ -4884,7 +7221,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "1.0-dev"
}
},
"autoload": {
@@ -4903,11 +7240,11 @@
"role": "lead"
}
],
- "description": "Library for calculating the complexity of PHP code units",
- "homepage": "https://github.com/sebastianbergmann/complexity",
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
- "issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2"
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
},
"funding": [
{
@@ -4915,28 +7252,29 @@
"type": "github"
}
],
- "time": "2020-10-26T15:52:27+00:00"
+ "time": "2020-11-28T06:42:11+00:00"
},
{
- "name": "sebastian/diff",
+ "name": "sebastian/object-enumerator",
"version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
- "symfony/process": "^4.2 || ^5"
+ "phpunit/phpunit": "^9.3"
},
"type": "library",
"extra": {
@@ -4957,23 +7295,13 @@
{
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de"
- },
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
}
],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
- "keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
- ],
+ "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/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
},
"funding": [
{
@@ -4981,20 +7309,20 @@
"type": "github"
}
],
- "time": "2020-10-26T13:10:38+00:00"
+ "time": "2020-10-26T13:12:34+00:00"
},
{
- "name": "sebastian/environment",
- "version": "5.1.3",
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac"
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac",
- "reference": "388b6ced16caa751030f6a69e588299fa09200ac",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
"shasum": ""
},
"require": {
@@ -5003,13 +7331,10 @@
"require-dev": {
"phpunit/phpunit": "^9.3"
},
- "suggest": {
- "ext-posix": "*"
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-master": "2.0-dev"
}
},
"autoload": {
@@ -5027,16 +7352,11 @@
"email": "sebastian@phpunit.de"
}
],
- "description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
- "keywords": [
- "Xdebug",
- "environment",
- "hhvm"
- ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
- "issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.3"
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
},
"funding": [
{
@@ -5044,28 +7364,26 @@
"type": "github"
}
],
- "time": "2020-09-28T05:52:38+00:00"
+ "time": "2020-10-26T13:14:26+00:00"
},
{
- "name": "sebastian/exporter",
- "version": "4.0.3",
+ "name": "sebastian/recursion-context",
+ "version": "4.0.4",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65"
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65",
- "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=7.3"
},
"require-dev": {
- "ext-mbstring": "*",
"phpunit/phpunit": "^9.3"
},
"type": "library",
@@ -5092,28 +7410,71 @@
"name": "Jeff Welch",
"email": "whatthejeff@gmail.com"
},
- {
- "name": "Volker Dusch",
- "email": "github@wallbash.com"
- },
{
"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/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:17:30+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
}
],
- "description": "Provides the functionality to export PHP variables for visualization",
- "homepage": "http://www.github.com/sebastianbergmann/exporter",
- "keywords": [
- "export",
- "exporter"
- ],
+ "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/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.3"
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
},
"funding": [
{
@@ -5121,38 +7482,32 @@
"type": "github"
}
],
- "time": "2020-09-28T05:24:23+00:00"
+ "time": "2020-09-28T06:45:17+00:00"
},
{
- "name": "sebastian/global-state",
- "version": "5.0.2",
+ "name": "sebastian/type",
+ "version": "3.0.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455"
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455",
- "reference": "a90ccbddffa067b51f574dea6eb25d5680839455",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
+ "reference": "b233b84bc4465aff7b57cf1c4bc75c86d00d6dad",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=7.3"
},
"require-dev": {
- "ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phpunit/phpunit": "^9.5"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -5167,17 +7522,15 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
- "keywords": [
- "global state"
- ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
"support": {
- "issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.2"
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/3.0.0"
},
"funding": [
{
@@ -5185,33 +7538,29 @@
"type": "github"
}
],
- "time": "2020-10-26T15:55:19+00:00"
+ "time": "2022-03-15T09:54:48+00:00"
},
{
- "name": "sebastian/lines-of-code",
- "version": "1.0.3",
+ "name": "sebastian/version",
+ "version": "3.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc"
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc",
- "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.6",
"php": ">=7.3"
},
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "3.0-dev"
}
},
"autoload": {
@@ -5230,11 +7579,11 @@
"role": "lead"
}
],
- "description": "Library for counting the lines of code in PHP source code",
- "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "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/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3"
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
},
"funding": [
{
@@ -5242,380 +7591,560 @@
"type": "github"
}
],
- "time": "2020-11-28T06:42:11+00:00"
+ "time": "2020-09-28T06:39:44+00:00"
},
{
- "name": "sebastian/object-enumerator",
- "version": "4.0.4",
+ "name": "softcreatr/jsonpath",
+ "version": "0.7.5",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ "url": "https://github.com/SoftCreatR/JSONPath.git",
+ "reference": "008569bf80aa3584834f7890781576bc7b65afa7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/008569bf80aa3584834f7890781576bc7b65afa7",
+ "reference": "008569bf80aa3584834f7890781576bc7b65afa7",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "ext-json": "*",
+ "php": ">=7.1"
+ },
+ "replace": {
+ "flow/jsonpath": "*"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": ">=7.0",
+ "roave/security-advisories": "dev-master",
+ "squizlabs/php_codesniffer": "^3.5"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
- },
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Flow\\JSONPath\\": "src/"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "name": "Stephen Frank",
+ "email": "stephen@flowsa.com",
+ "homepage": "https://prismaticbytes.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Sascha Greuel",
+ "email": "hello@1-2.dev",
+ "homepage": "http://1-2.dev",
+ "role": "Developer"
}
],
- "description": "Traverses array structures and object graphs to enumerate all referenced objects",
- "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "description": "JSONPath implementation for parsing, searching and flattening arrays",
"support": {
- "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ "email": "hello@1-2.dev",
+ "forum": "https://github.com/SoftCreatR/JSONPath/discussions",
+ "issues": "https://github.com/SoftCreatR/JSONPath/issues",
+ "source": "https://github.com/SoftCreatR/JSONPath"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/softcreatr",
"type": "github"
}
],
- "time": "2020-10-26T13:12:34+00:00"
+ "time": "2021-06-02T22:15:26+00:00"
},
{
- "name": "sebastian/object-reflector",
- "version": "2.0.4",
+ "name": "squizlabs/php_codesniffer",
+ "version": "3.6.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
+ "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a",
+ "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
},
+ "bin": [
+ "bin/phpcs",
+ "bin/phpcbf"
+ ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-master": "3.x-dev"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Greg Sherwood",
+ "role": "lead"
}
+ ],
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+ "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "keywords": [
+ "phpcs",
+ "standards"
+ ],
+ "support": {
+ "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
+ "source": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ },
+ "time": "2021-12-12T21:44:58+00:00"
+ },
+ {
+ "name": "symfony/browser-kit",
+ "version": "v5.4.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/browser-kit.git",
+ "reference": "18e73179c6a33d520de1b644941eba108dd811ad"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/18e73179c6a33d520de1b644941eba108dd811ad",
+ "reference": "18e73179c6a33d520de1b644941eba108dd811ad",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/dom-crawler": "^4.4|^5.0|^6.0",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "require-dev": {
+ "symfony/css-selector": "^4.4|^5.0|^6.0",
+ "symfony/http-client": "^4.4|^5.0|^6.0",
+ "symfony/mime": "^4.4|^5.0|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/process": ""
},
+ "type": "library",
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Component\\BrowserKit\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Allows reflection of object attributes, including inherited and non-public ones",
- "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
+ "homepage": "https://symfony.com",
"support": {
- "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ "source": "https://github.com/symfony/browser-kit/tree/v5.4.3"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-10-26T13:14:26+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
- "name": "sebastian/recursion-context",
- "version": "4.0.4",
+ "name": "symfony/console",
+ "version": "v5.4.7",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172"
+ "url": "https://github.com/symfony/console.git",
+ "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172",
- "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172",
+ "url": "https://api.github.com/repos/symfony/console/zipball/900275254f0a1a2afff1ab0e11abd5587a10e1d6",
+ "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php73": "^1.9",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/string": "^5.1|^6.0"
+ },
+ "conflict": {
+ "psr/log": ">=3",
+ "symfony/dependency-injection": "<4.4",
+ "symfony/dotenv": "<5.1",
+ "symfony/event-dispatcher": "<4.4",
+ "symfony/lock": "<4.4",
+ "symfony/process": "<4.4"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0|2.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "psr/log": "^1|^2",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/event-dispatcher": "^4.4|^5.0|^6.0",
+ "symfony/lock": "^4.4|^5.0|^6.0",
+ "symfony/process": "^4.4|^5.0|^6.0",
+ "symfony/var-dumper": "^4.4|^5.0|^6.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
- }
+ "suggest": {
+ "psr/log": "For using the console logger",
+ "symfony/event-dispatcher": "",
+ "symfony/lock": "",
+ "symfony/process": ""
},
+ "type": "library",
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Jeff Welch",
- "email": "whatthejeff@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
- "name": "Adam Harvey",
- "email": "aharvey@php.net"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides functionality to recursively process PHP variables",
- "homepage": "http://www.github.com/sebastianbergmann/recursion-context",
+ "description": "Eases the creation of beautiful and testable command line interfaces",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command line",
+ "console",
+ "terminal"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.4"
+ "source": "https://github.com/symfony/console/tree/v5.4.7"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-10-26T13:17:30+00:00"
+ "time": "2022-03-31T17:09:19+00:00"
},
{
- "name": "sebastian/resource-operations",
- "version": "3.0.3",
+ "name": "symfony/css-selector",
+ "version": "v5.4.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ "url": "https://github.com/symfony/css-selector.git",
+ "reference": "b0a190285cd95cb019237851205b8140ef6e368e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
- "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/b0a190285cd95cb019237851205b8140ef6e368e",
+ "reference": "b0a190285cd95cb019237851205b8140ef6e368e",
"shasum": ""
},
"require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
+ "php": ">=7.2.5",
+ "symfony/polyfill-php80": "^1.16"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
- },
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Component\\CssSelector\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Jean-François Simon",
+ "email": "jeanfrancois.simon@sensiolabs.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "description": "Converts CSS selectors to XPath expressions",
+ "homepage": "https://symfony.com",
"support": {
- "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ "source": "https://github.com/symfony/css-selector/tree/v5.4.3"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-09-28T06:45:17+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
- "name": "sebastian/type",
- "version": "2.3.1",
+ "name": "symfony/dom-crawler",
+ "version": "v5.4.6",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/type.git",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2"
+ "url": "https://github.com/symfony/dom-crawler.git",
+ "reference": "c0bda97480d96337bd3866026159a8b358665457"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
- "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/c0bda97480d96337bd3866026159a8b358665457",
+ "reference": "c0bda97480d96337bd3866026159a8b358665457",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "conflict": {
+ "masterminds/html5": "<2.6"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "masterminds/html5": "^2.6",
+ "symfony/css-selector": "^4.4|^5.0|^6.0"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.3-dev"
- }
+ "suggest": {
+ "symfony/css-selector": ""
},
+ "type": "library",
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Component\\DomCrawler\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Collection of value objects that represent the types of the PHP type system",
- "homepage": "https://github.com/sebastianbergmann/type",
+ "description": "Eases DOM navigation for HTML and XML documents",
+ "homepage": "https://symfony.com",
"support": {
- "issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/2.3.1"
+ "source": "https://github.com/symfony/dom-crawler/tree/v5.4.6"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-10-26T13:18:59+00:00"
+ "time": "2022-03-02T12:42:23+00:00"
},
{
- "name": "sebastian/version",
- "version": "3.0.2",
+ "name": "symfony/event-dispatcher",
+ "version": "v5.4.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/dec8a9f58d20df252b9cd89f1c6c1530f747685d",
+ "reference": "dec8a9f58d20df252b9cd89f1c6c1530f747685d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/event-dispatcher-contracts": "^2|^3",
+ "symfony/polyfill-php80": "^1.16"
},
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.0-dev"
- }
+ "conflict": {
+ "symfony/dependency-injection": "<4.4"
+ },
+ "provide": {
+ "psr/event-dispatcher-implementation": "1.0",
+ "symfony/event-dispatcher-implementation": "2.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^4.4|^5.0|^6.0",
+ "symfony/dependency-injection": "^4.4|^5.0|^6.0",
+ "symfony/error-handler": "^4.4|^5.0|^6.0",
+ "symfony/expression-language": "^4.4|^5.0|^6.0",
+ "symfony/http-foundation": "^4.4|^5.0|^6.0",
+ "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/stopwatch": "^4.4|^5.0|^6.0"
+ },
+ "suggest": {
+ "symfony/dependency-injection": "",
+ "symfony/http-kernel": ""
},
+ "type": "library",
"autoload": {
- "classmap": [
- "src/"
+ "psr-4": {
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
+ "homepage": "https://symfony.com",
"support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.3"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "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": "2020-09-28T06:39:44+00:00"
+ "time": "2022-01-02T09:53:40+00:00"
},
{
- "name": "softcreatr/jsonpath",
- "version": "0.7.2",
+ "name": "symfony/event-dispatcher-contracts",
+ "version": "v3.0.1",
"source": {
"type": "git",
- "url": "https://github.com/SoftCreatR/JSONPath.git",
- "reference": "46689608586a8081be399342755c36e179f3b5fc"
+ "url": "https://github.com/symfony/event-dispatcher-contracts.git",
+ "reference": "7bc61cc2db649b4637d331240c5346dcc7708051"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/SoftCreatR/JSONPath/zipball/46689608586a8081be399342755c36e179f3b5fc",
- "reference": "46689608586a8081be399342755c36e179f3b5fc",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051",
+ "reference": "7bc61cc2db649b4637d331240c5346dcc7708051",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "php": ">=7.1"
+ "php": ">=8.0.2",
+ "psr/event-dispatcher": "^1"
},
- "conflict": {
- "phpunit/phpunit": "<7.0 || >= 10.0"
- },
- "replace": {
- "flow/jsonpath": "*"
- },
- "require-dev": {
- "phpunit/phpunit": ">=7.0",
- "roave/security-advisories": "dev-master",
- "squizlabs/php_codesniffer": "^3.5"
+ "suggest": {
+ "symfony/event-dispatcher-implementation": ""
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.0-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
"autoload": {
"psr-4": {
- "Flow\\JSONPath\\": "src/"
+ "Symfony\\Contracts\\EventDispatcher\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -5624,123 +8153,146 @@
],
"authors": [
{
- "name": "Stephen Frank",
- "email": "stephen@flowsa.com",
- "homepage": "https://prismaticbytes.com",
- "role": "Developer"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
- "name": "Sascha Greuel",
- "email": "hello@1-2.dev",
- "homepage": "http://1-2.dev",
- "role": "Developer"
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "JSONPath implementation for parsing, searching and flattening arrays",
- "support": {
- "email": "hello@1-2.dev",
- "issues": "https://github.com/SoftCreatR/JSONPath/issues",
- "source": "https://github.com/SoftCreatR/JSONPath"
+ "description": "Generic abstractions related to dispatching event",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.0.1"
},
"funding": [
{
- "url": "https://github.com/softcreatr",
+ "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": "2020-10-27T11:37:08+00:00"
+ "time": "2022-01-02T09:55:41+00:00"
},
{
- "name": "squizlabs/php_codesniffer",
- "version": "3.5.8",
+ "name": "symfony/finder",
+ "version": "v5.4.3",
"source": {
"type": "git",
- "url": "https://github.com/squizlabs/PHP_CodeSniffer.git",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4"
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/9d583721a7157ee997f235f327de038e7ea6dac4",
- "reference": "9d583721a7157ee997f235f327de038e7ea6dac4",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d",
+ "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d",
"shasum": ""
},
"require": {
- "ext-simplexml": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": ">=5.4.0"
- },
- "require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "php": ">=7.2.5",
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-php80": "^1.16"
},
- "bin": [
- "bin/phpcs",
- "bin/phpcbf"
- ],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
- }
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Finder\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Greg Sherwood",
- "role": "lead"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
}
],
- "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
- "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
- "keywords": [
- "phpcs",
- "standards"
- ],
+ "description": "Finds files and directories via an intuitive fluent interface",
+ "homepage": "https://symfony.com",
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "source": "https://github.com/symfony/finder/tree/v5.4.3"
},
- "time": "2020-10-23T02:01:07+00:00"
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-01-26T16:34:36+00:00"
},
{
- "name": "symfony/browser-kit",
- "version": "v5.2.1",
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/browser-kit.git",
- "reference": "87d6f0a7436b03a57d4cf9a6a9cd0c83a355c49a"
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "30885182c981ab175d4d034db0f6f469898070ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/87d6f0a7436b03a57d4cf9a6a9cd0c83a355c49a",
- "reference": "87d6f0a7436b03a57d4cf9a6a9cd0c83a355c49a",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab",
+ "reference": "30885182c981ab175d4d034db0f6f469898070ab",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/dom-crawler": "^4.4|^5.0"
+ "php": ">=7.1"
},
- "require-dev": {
- "symfony/css-selector": "^4.4|^5.0",
- "symfony/http-client": "^4.4|^5.0",
- "symfony/mime": "^4.4|^5.0",
- "symfony/process": "^4.4|^5.0"
+ "provide": {
+ "ext-ctype": "*"
},
"suggest": {
- "symfony/process": ""
+ "ext-ctype": "For best performance"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\BrowserKit\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -5748,18 +8300,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony BrowserKit Component",
+ "description": "Symfony polyfill for ctype functions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v5.2.1"
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.25.0"
},
"funding": [
{
@@ -5775,61 +8333,45 @@
"type": "tidelift"
}
],
- "time": "2020-12-18T08:03:05+00:00"
+ "time": "2021-10-20T20:35:02+00:00"
},
{
- "name": "symfony/console",
- "version": "v4.4.18",
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/console.git",
- "reference": "12e071278e396cc3e1c149857337e9e192deca0b"
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "81b86b50cf841a64252b439e738e97f4a34e2783"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/12e071278e396cc3e1c149857337e9e192deca0b",
- "reference": "12e071278e396cc3e1c149857337e9e192deca0b",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783",
+ "reference": "81b86b50cf841a64252b439e738e97f4a34e2783",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php73": "^1.8",
- "symfony/polyfill-php80": "^1.15",
- "symfony/service-contracts": "^1.1|^2"
- },
- "conflict": {
- "symfony/dependency-injection": "<3.4",
- "symfony/event-dispatcher": "<4.3|>=5",
- "symfony/lock": "<4.4",
- "symfony/process": "<3.3"
- },
- "provide": {
- "psr/log-implementation": "1.0"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^3.4|^4.0|^5.0",
- "symfony/dependency-injection": "^3.4|^4.0|^5.0",
- "symfony/event-dispatcher": "^4.3",
- "symfony/lock": "^4.4|^5.0",
- "symfony/process": "^3.4|^4.0|^5.0",
- "symfony/var-dumper": "^4.3|^5.0"
+ "php": ">=7.1"
},
"suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
+ "ext-intl": "For best performance"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Console\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -5837,18 +8379,26 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Console Component",
+ "description": "Symfony polyfill for intl's grapheme_* functions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "grapheme",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "source": "https://github.com/symfony/console/tree/v4.4.18"
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.25.0"
},
"funding": [
{
@@ -5864,32 +8414,47 @@
"type": "tidelift"
}
],
- "time": "2020-12-18T07:41:31+00:00"
+ "time": "2021-11-23T21:10:46+00:00"
},
{
- "name": "symfony/css-selector",
- "version": "v5.2.1",
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/css-selector.git",
- "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054"
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/f789e7ead4c79e04ca9a6d6162fc629c89bd8054",
- "reference": "f789e7ead4c79e04ca9a6d6162fc629c89bd8054",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8",
+ "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\CssSelector\\": ""
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -5898,22 +8463,26 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Jean-François Simon",
- "email": "jeanfrancois.simon@sensiolabs.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony CssSelector Component",
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "intl",
+ "normalizer",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v5.2.1"
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.25.0"
},
"funding": [
{
@@ -5929,45 +8498,44 @@
"type": "tidelift"
}
],
- "time": "2020-12-08T17:02:38+00:00"
+ "time": "2021-02-19T12:13:01+00:00"
},
{
- "name": "symfony/dom-crawler",
- "version": "v5.2.1",
+ "name": "symfony/polyfill-php73",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/dom-crawler.git",
- "reference": "ee7cf316fb0de786cfe5ae32ee79502b290c81ea"
+ "url": "https://github.com/symfony/polyfill-php73.git",
+ "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/ee7cf316fb0de786cfe5ae32ee79502b290c81ea",
- "reference": "ee7cf316fb0de786cfe5ae32ee79502b290c81ea",
+ "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5",
+ "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "masterminds/html5": "<2.6"
- },
- "require-dev": {
- "masterminds/html5": "^2.6",
- "symfony/css-selector": "^4.4|^5.0"
- },
- "suggest": {
- "symfony/css-selector": ""
+ "php": ">=7.1"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\DomCrawler\\": ""
+ "Symfony\\Polyfill\\Php73\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -5976,18 +8544,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony DomCrawler Component",
+ "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/dom-crawler/tree/v5.2.1"
+ "source": "https://github.com/symfony/polyfill-php73/tree/v1.25.0"
},
"funding": [
{
@@ -6003,54 +8577,44 @@
"type": "tidelift"
}
],
- "time": "2020-12-18T08:02:46+00:00"
+ "time": "2021-06-05T21:20:04+00:00"
},
{
- "name": "symfony/event-dispatcher",
- "version": "v4.4.18",
+ "name": "symfony/polyfill-php80",
+ "version": "v1.25.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "5d4c874b0eb1c32d40328a09dbc37307a5a910b0"
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/5d4c874b0eb1c32d40328a09dbc37307a5a910b0",
- "reference": "5d4c874b0eb1c32d40328a09dbc37307a5a910b0",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c",
+ "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c",
"shasum": ""
},
"require": {
- "php": ">=7.1.3",
- "symfony/event-dispatcher-contracts": "^1.1"
- },
- "conflict": {
- "symfony/dependency-injection": "<3.4"
- },
- "provide": {
- "psr/event-dispatcher-implementation": "1.0",
- "symfony/event-dispatcher-implementation": "1.1"
- },
- "require-dev": {
- "psr/log": "~1.0",
- "symfony/config": "^3.4|^4.0|^5.0",
- "symfony/dependency-injection": "^3.4|^4.0|^5.0",
- "symfony/error-handler": "~3.4|~4.4",
- "symfony/expression-language": "^3.4|^4.0|^5.0",
- "symfony/http-foundation": "^3.4|^4.0|^5.0",
- "symfony/service-contracts": "^1.1|^2",
- "symfony/stopwatch": "^3.4|^4.0|^5.0"
+ "php": ">=7.1"
},
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.23-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
},
- "type": "library",
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\EventDispatcher\\": ""
+ "Symfony\\Polyfill\\Php80\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -6059,18 +8623,28 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "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 EventDispatcher Component",
+ "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/event-dispatcher/tree/v4.4.18"
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.25.0"
},
"funding": [
{
@@ -6086,43 +8660,33 @@
"type": "tidelift"
}
],
- "time": "2020-12-18T07:41:31+00:00"
+ "time": "2022-03-04T08:16:47+00:00"
},
{
- "name": "symfony/event-dispatcher-contracts",
- "version": "v1.1.9",
+ "name": "symfony/process",
+ "version": "v6.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7"
+ "url": "https://github.com/symfony/process.git",
+ "reference": "e13f6757e267d687e20ec5b26ccfcbbe511cd8f4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/84e23fdcd2517bf37aecbd16967e83f0caee25a7",
- "reference": "84e23fdcd2517bf37aecbd16967e83f0caee25a7",
+ "url": "https://api.github.com/repos/symfony/process/zipball/e13f6757e267d687e20ec5b26ccfcbbe511cd8f4",
+ "reference": "e13f6757e267d687e20ec5b26ccfcbbe511cd8f4",
"shasum": ""
},
"require": {
- "php": ">=7.1.3"
- },
- "suggest": {
- "psr/event-dispatcher": "",
- "symfony/event-dispatcher-implementation": ""
+ "php": ">=8.0.2"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.1-dev"
- },
- "thanks": {
- "name": "symfony/contracts",
- "url": "https://github.com/symfony/contracts"
- }
- },
"autoload": {
"psr-4": {
- "Symfony\\Contracts\\EventDispatcher\\": ""
- }
+ "Symfony\\Component\\Process\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -6130,26 +8694,18 @@
],
"authors": [
{
- "name": "Nicolas Grekas",
- "email": "p@tchwork.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Generic abstractions related to dispatching event",
+ "description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
- "keywords": [
- "abstractions",
- "contracts",
- "decoupling",
- "interfaces",
- "interoperability",
- "standards"
- ],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.9"
+ "source": "https://github.com/symfony/process/tree/v6.0.7"
},
"funding": [
{
@@ -6165,29 +8721,45 @@
"type": "tidelift"
}
],
- "time": "2020-07-06T13:19:58+00:00"
+ "time": "2022-03-18T16:21:55+00:00"
},
{
- "name": "symfony/finder",
- "version": "v5.2.1",
+ "name": "symfony/string",
+ "version": "v6.0.3",
"source": {
"type": "git",
- "url": "https://github.com/symfony/finder.git",
- "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba"
+ "url": "https://github.com/symfony/string.git",
+ "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/0b9231a5922fd7287ba5b411893c0ecd2733e5ba",
- "reference": "0b9231a5922fd7287ba5b411893c0ecd2733e5ba",
+ "url": "https://api.github.com/repos/symfony/string/zipball/522144f0c4c004c80d56fa47e40e17028e2eefc2",
+ "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=8.0.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/translation-contracts": "<2.0"
+ },
+ "require-dev": {
+ "symfony/error-handler": "^5.4|^6.0",
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/translation-contracts": "^2.0|^3.0",
+ "symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
"autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Finder\\": ""
+ "Symfony\\Component\\String\\": ""
},
"exclude-from-classmap": [
"/Tests/"
@@ -6199,18 +8771,26 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Finder Component",
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
"homepage": "https://symfony.com",
+ "keywords": [
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
+ ],
"support": {
- "source": "https://github.com/symfony/finder/tree/v5.2.1"
+ "source": "https://github.com/symfony/string/tree/v6.0.3"
},
"funding": [
{
@@ -6226,44 +8806,66 @@
"type": "tidelift"
}
],
- "time": "2020-12-08T17:02:38+00:00"
+ "time": "2022-01-02T09:55:41+00:00"
},
{
- "name": "symfony/polyfill-ctype",
- "version": "v1.22.0",
+ "name": "symfony/translation",
+ "version": "v6.0.7",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-ctype.git",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e"
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/c6c942b1ac76c82448322025e084cadc56048b4e",
- "reference": "c6c942b1ac76c82448322025e084cadc56048b4e",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1",
+ "reference": "b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": ">=8.0.2",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/translation-contracts": "^2.3|^3.0"
+ },
+ "conflict": {
+ "symfony/config": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-kernel": "<5.4",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/yaml": "<5.4"
+ },
+ "provide": {
+ "symfony/translation-implementation": "2.3|3.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0",
+ "symfony/console": "^5.4|^6.0",
+ "symfony/dependency-injection": "^5.4|^6.0",
+ "symfony/finder": "^5.4|^6.0",
+ "symfony/http-client-contracts": "^1.1|^2.0|^3.0",
+ "symfony/http-kernel": "^5.4|^6.0",
+ "symfony/intl": "^5.4|^6.0",
+ "symfony/polyfill-intl-icu": "^1.21",
+ "symfony/service-contracts": "^1.1.2|^2|^3",
+ "symfony/yaml": "^5.4|^6.0"
},
"suggest": {
- "ext-ctype": "For best performance"
+ "psr/log-implementation": "To use logging capability in translator",
+ "symfony/config": "",
+ "symfony/yaml": ""
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.22-dev"
- },
- "thanks": {
- "name": "symfony/polyfill",
- "url": "https://github.com/symfony/polyfill"
- }
- },
"autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
"psr-4": {
- "Symfony\\Polyfill\\Ctype\\": ""
+ "Symfony\\Component\\Translation\\": ""
},
- "files": [
- "bootstrap.php"
+ "exclude-from-classmap": [
+ "/Tests/"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -6272,24 +8874,18 @@
],
"authors": [
{
- "name": "Gert de Pagter",
- "email": "BackEndTea@gmail.com"
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for ctype functions",
+ "description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
- "keywords": [
- "compatibility",
- "ctype",
- "polyfill",
- "portable"
- ],
"support": {
- "source": "https://github.com/symfony/polyfill-ctype/tree/v1.22.0"
+ "source": "https://github.com/symfony/translation/tree/v6.0.7"
},
"funding": [
{
@@ -6305,34 +8901,42 @@
"type": "tidelift"
}
],
- "time": "2021-01-07T16:49:33+00:00"
+ "time": "2022-03-31T17:18:25+00:00"
},
{
- "name": "symfony/process",
- "version": "v5.2.1",
+ "name": "symfony/translation-contracts",
+ "version": "v3.0.1",
"source": {
"type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd"
+ "url": "https://github.com/symfony/translation-contracts.git",
+ "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/bd8815b8b6705298beaa384f04fabd459c10bedd",
- "reference": "bd8815b8b6705298beaa384f04fabd459c10bedd",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9",
+ "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-php80": "^1.15"
+ "php": ">=8.0.2"
+ },
+ "suggest": {
+ "symfony/translation-implementation": ""
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.0-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
"autoload": {
"psr-4": {
- "Symfony\\Component\\Process\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Contracts\\Translation\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -6340,18 +8944,26 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Process Component",
+ "description": "Generic abstractions related to translation",
"homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
"support": {
- "source": "https://github.com/symfony/process/tree/v5.2.1"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.0.1"
},
"funding": [
{
@@ -6367,36 +8979,36 @@
"type": "tidelift"
}
],
- "time": "2020-12-08T17:03:37+00:00"
+ "time": "2022-01-02T09:55:41+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v5.2.1",
+ "version": "v6.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089"
+ "reference": "38358405ae948963c50a3aae3dfea598223ba15e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/13e7e882eaa55863faa7c4ad7c60f12f1a8b5089",
- "reference": "13e7e882eaa55863faa7c4ad7c60f12f1a8b5089",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/38358405ae948963c50a3aae3dfea598223ba15e",
+ "reference": "38358405ae948963c50a3aae3dfea598223ba15e",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15"
+ "php": ">=8.0.2",
+ "symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
"phpunit/phpunit": "<5.4.3",
- "symfony/console": "<4.4"
+ "symfony/console": "<5.4"
},
"require-dev": {
"ext-iconv": "*",
- "symfony/console": "^4.4|^5.0",
- "symfony/process": "^4.4|^5.0",
- "twig/twig": "^2.4|^3.0"
+ "symfony/console": "^5.4|^6.0",
+ "symfony/process": "^5.4|^6.0",
+ "symfony/uid": "^5.4|^6.0",
+ "twig/twig": "^2.13|^3.0.4"
},
"suggest": {
"ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
@@ -6432,14 +9044,14 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony mechanism for exploring and dumping PHP variables",
+ "description": "Provides mechanisms for walking through any arbitrary PHP variable",
"homepage": "https://symfony.com",
"keywords": [
"debug",
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v5.2.1"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.0.6"
},
"funding": [
{
@@ -6455,32 +9067,32 @@
"type": "tidelift"
}
],
- "time": "2020-12-16T17:02:19+00:00"
+ "time": "2022-03-02T12:58:14+00:00"
},
{
"name": "symfony/yaml",
- "version": "v5.2.1",
+ "version": "v5.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "290ea5e03b8cf9b42c783163123f54441fb06939"
+ "reference": "e80f87d2c9495966768310fc531b487ce64237a2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/290ea5e03b8cf9b42c783163123f54441fb06939",
- "reference": "290ea5e03b8cf9b42c783163123f54441fb06939",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/e80f87d2c9495966768310fc531b487ce64237a2",
+ "reference": "e80f87d2c9495966768310fc531b487ce64237a2",
"shasum": ""
},
"require": {
"php": ">=7.2.5",
- "symfony/deprecation-contracts": "^2.1",
- "symfony/polyfill-ctype": "~1.8"
+ "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/console": "<4.4"
+ "symfony/console": "<5.3"
},
"require-dev": {
- "symfony/console": "^4.4|^5.0"
+ "symfony/console": "^5.3|^6.0"
},
"suggest": {
"symfony/console": "For validating YAML files using the lint command"
@@ -6511,10 +9123,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony Yaml Component",
+ "description": "Loads and dumps YAML files",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/yaml/tree/v5.2.1"
+ "source": "https://github.com/symfony/yaml/tree/v5.4.3"
},
"funding": [
{
@@ -6530,20 +9142,69 @@
"type": "tidelift"
}
],
- "time": "2020-12-08T17:02:38+00:00"
+ "time": "2022-01-26T16:32:32+00:00"
+ },
+ {
+ "name": "tgalopin/html-sanitizer",
+ "version": "dev-master",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/tgalopin/html-sanitizer.git",
+ "reference": "82da21fbb6ca4ed6ac3458391612529958b0a69f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/tgalopin/html-sanitizer/zipball/82da21fbb6ca4ed6ac3458391612529958b0a69f",
+ "reference": "82da21fbb6ca4ed6ac3458391612529958b0a69f",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "league/uri-parser": "^1.4.1",
+ "masterminds/html5": "^2.4",
+ "php": ">=7.1",
+ "psr/log": "^1.0|^2.0|^3.0"
+ },
+ "require-dev": {
+ "symfony/phpunit-bridge": "^4.4",
+ "symfony/var-dumper": "^4.4"
+ },
+ "default-branch": true,
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "HtmlSanitizer\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Titouan Galopin",
+ "email": "galopintitouan@gmail.com"
+ }
+ ],
+ "description": "Sanitize untrustworthy HTML user input",
+ "support": {
+ "issues": "https://github.com/tgalopin/html-sanitizer/issues",
+ "source": "https://github.com/tgalopin/html-sanitizer/tree/master"
+ },
+ "time": "2021-12-15T11:03:58+00:00"
},
{
"name": "theseer/tokenizer",
- "version": "1.2.0",
+ "version": "1.2.1",
"source": {
"type": "git",
"url": "https://github.com/theseer/tokenizer.git",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a"
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a",
- "reference": "75a63c33a8577608444246075ea0af0d052e452a",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/34a41e998c2183e22995f158c581e7b5e755ab9e",
+ "reference": "34a41e998c2183e22995f158c581e7b5e755ab9e",
"shasum": ""
},
"require": {
@@ -6572,7 +9233,7 @@
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
"issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/master"
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.1"
},
"funding": [
{
@@ -6580,34 +9241,117 @@
"type": "github"
}
],
- "time": "2020-07-12T23:59:07+00:00"
+ "time": "2021-07-28T10:34:58+00:00"
+ },
+ {
+ "name": "twig/twig",
+ "version": "v1.44.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/twigphp/Twig.git",
+ "reference": "ae39480f010ef88adc7938503c9b02d3baf2f3b3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/twigphp/Twig/zipball/ae39480f010ef88adc7938503c9b02d3baf2f3b3",
+ "reference": "ae39480f010ef88adc7938503c9b02d3baf2f3b3",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.5",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "require-dev": {
+ "psr/container": "^1.0",
+ "symfony/phpunit-bridge": "^4.4.9|^5.0.9"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.44-dev"
+ }
+ },
+ "autoload": {
+ "psr-0": {
+ "Twig_": "lib/"
+ },
+ "psr-4": {
+ "Twig\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com",
+ "homepage": "http://fabien.potencier.org",
+ "role": "Lead Developer"
+ },
+ {
+ "name": "Twig Team",
+ "role": "Contributors"
+ },
+ {
+ "name": "Armin Ronacher",
+ "email": "armin.ronacher@active-4.com",
+ "role": "Project Founder"
+ }
+ ],
+ "description": "Twig, the flexible, fast, and secure template language for PHP",
+ "homepage": "https://twig.symfony.com",
+ "keywords": [
+ "templating"
+ ],
+ "support": {
+ "issues": "https://github.com/twigphp/Twig/issues",
+ "source": "https://github.com/twigphp/Twig/tree/v1.44.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/twig/twig",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-11-25T13:31:46+00:00"
},
{
"name": "webmozart/assert",
- "version": "1.9.1",
+ "version": "1.10.0",
"source": {
"type": "git",
"url": "https://github.com/webmozarts/assert.git",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389"
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389",
- "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25",
+ "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25",
"shasum": ""
},
"require": {
- "php": "^5.3.3 || ^7.0 || ^8.0",
+ "php": "^7.2 || ^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
"phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<3.9.1"
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.36 || ^7.5.13"
+ "phpunit/phpunit": "^8.5.13"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
"autoload": {
"psr-4": {
"Webmozart\\Assert\\": "src/"
@@ -6631,21 +9375,78 @@
],
"support": {
"issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.9.1"
+ "source": "https://github.com/webmozarts/assert/tree/1.10.0"
},
- "time": "2020-07-08T17:02:28+00:00"
+ "time": "2021-03-09T10:59:23+00:00"
+ }
+ ],
+ "aliases": [
+ {
+ "package": "pckg-app/frontend-dev",
+ "version": "dev-next-8.0",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
+ },
+ {
+ "package": "pckg/auth",
+ "version": "dev-next-8.0",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
+ },
+ {
+ "package": "pckg/collection",
+ "version": "dev-next-8.0",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
+ },
+ {
+ "package": "pckg/database",
+ "version": "dev-next-8.0",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
+ },
+ {
+ "package": "pckg/framework",
+ "version": "dev-next-8.0",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
+ },
+ {
+ "package": "pckg/generic",
+ "version": "dev-next-8.0",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
+ },
+ {
+ "package": "pckg/htmlbuilder",
+ "version": "dev-next-8.0",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
+ },
+ {
+ "package": "wirecard/payment-sdk-php",
+ "version": "dev-patch-php-8",
+ "alias": "dev-master",
+ "alias_normalized": "dev-master"
}
],
- "aliases": [],
"minimum-stability": "dev",
"stability-flags": {
"wirecard/payment-sdk-php": 20,
"ampeco/omnipay-bankart": 20,
- "pckg-app/frontend-dev": 20
+ "pckg-app/frontend-dev": 20,
+ "pckg/database": 20,
+ "pckg/framework": 20,
+ "pckg/auth": 20,
+ "pckg/htmlbuilder": 20,
+ "pckg/collection": 20,
+ "pckg/generic": 20
},
"prefer-stable": true,
"prefer-lowest": false,
- "platform": [],
+ "platform": {
+ "ext-json": "*"
+ },
"platform-dev": [],
- "plugin-api-version": "2.0.0"
+ "plugin-api-version": "2.2.0"
}
diff --git a/src/Pckg/Payment/Adapter/AbstractCustomer.php b/src/Pckg/Payment/Adapter/AbstractCustomer.php
index 80d0b42..12480a3 100644
--- a/src/Pckg/Payment/Adapter/AbstractCustomer.php
+++ b/src/Pckg/Payment/Adapter/AbstractCustomer.php
@@ -1,18 +1,17 @@
-customer = $customer;
- }
-
- public function getFullName()
- {
- return $this->getLastName() . ' ' . $this->getFirstName();
- }
-
-}
\ No newline at end of file
+customer = $customer;
+ }
+
+ public function getFullName()
+ {
+ return $this->getLastName() . ' ' . $this->getFirstName();
+ }
+}
diff --git a/src/Pckg/Payment/Adapter/AbstractOrder.php b/src/Pckg/Payment/Adapter/AbstractOrder.php
index 1dc9bfe..dfa1210 100644
--- a/src/Pckg/Payment/Adapter/AbstractOrder.php
+++ b/src/Pckg/Payment/Adapter/AbstractOrder.php
@@ -1,28 +1,27 @@
-order = $order;
- }
-
- public function getOrder()
- {
- return $this->order;
- }
-
- public function getCurrency()
- {
- return config('pckg.payment.currency');
- }
-
- public function getIdString()
- {
- return sha1($this->getId());
- }
-
-}
\ No newline at end of file
+order = $order;
+ }
+
+ public function getOrder()
+ {
+ return $this->order;
+ }
+
+ public function getCurrency()
+ {
+ return config('pckg.payment.currency');
+ }
+
+ public function getIdString()
+ {
+ return sha1($this->getId());
+ }
+}
diff --git a/src/Pckg/Payment/Adapter/AbstractProduct.php b/src/Pckg/Payment/Adapter/AbstractProduct.php
index ee55f27..7016476 100644
--- a/src/Pckg/Payment/Adapter/AbstractProduct.php
+++ b/src/Pckg/Payment/Adapter/AbstractProduct.php
@@ -1,13 +1,12 @@
-product = $product;
- }
-
-}
\ No newline at end of file
+product = $product;
+ }
+}
diff --git a/src/Pckg/Payment/Adapter/Customer.php b/src/Pckg/Payment/Adapter/Customer.php
index c751476..4f2441f 100644
--- a/src/Pckg/Payment/Adapter/Customer.php
+++ b/src/Pckg/Payment/Adapter/Customer.php
@@ -1,24 +1,16 @@
-validator = Validator::make($request->all(), $rules);
-
- return $this->validator->passes();
- }
-
- public function errorJsonResponse()
- {
- return new JsonResponse($this->validator->getMessageBag()->toArray(), 422);
- }
-
- public function config($key)
- {
- return config('payment.' . $key);
- }
-
- public function request($key)
- {
- return request($key);
- }
-
- public function url($slug, $params = [])
- {
- return url($slug, $params);
- }
-
- public function fullUrl($slug, $params = [])
- {
- return full_url($slug, $params);
- }
-
- public function redirect($url)
- {
- redirect()->away($url)->send();
- }
-
-}
\ No newline at end of file
diff --git a/src/Pckg/Payment/Adapter/Environment/Pckg.php b/src/Pckg/Payment/Adapter/Environment/Pckg.php
index 47fad0d..90023f6 100644
--- a/src/Pckg/Payment/Adapter/Environment/Pckg.php
+++ b/src/Pckg/Payment/Adapter/Environment/Pckg.php
@@ -1,64 +1,63 @@
-respond(['error' => true, 'errors' => ['@T00D001']]);
- }
-
- public function config($key)
- {
- return config('pckg.payment.provider.' . $key);
- }
-
- public function request($key)
- {
- return request()->get($key);
- }
-
- public function post($key)
- {
- return request()->post($key);
- }
-
- public function get($key)
- {
- return request()->get($key);
- }
-
- public function url($slug, $params = [], $absolute = true)
- {
- return url($slug, $params, $absolute);
- }
-
- public function fullUrl($slug, $params = [])
- {
- return url($slug, $params, true);
- }
-
- public function redirect($url)
- {
- return response()->redirect($url);
- }
-
- public function flash($key, $val)
- {
- return flash($key, $val);
- }
-
-}
\ No newline at end of file
+respond(['error' => true, 'errors' => ['@T00D001']]);
+ }
+
+ public function config($key)
+ {
+ return config('pckg.payment.provider.' . $key);
+ }
+
+ public function request($key)
+ {
+ return request()->get($key);
+ }
+
+ public function post($key)
+ {
+ return request()->post($key);
+ }
+
+ public function get($key)
+ {
+ return request()->get($key);
+ }
+
+ public function url($slug, $params = [], $absolute = true)
+ {
+ return url($slug, $params, $absolute);
+ }
+
+ public function fullUrl($slug, $params = [])
+ {
+ return url($slug, $params, true);
+ }
+
+ public function redirect($url)
+ {
+ return response()->redirect($url);
+ }
+
+ public function flash($key, $val)
+ {
+ return flash($key, $val);
+ }
+}
diff --git a/src/Pckg/Payment/Adapter/Log.php b/src/Pckg/Payment/Adapter/Log.php
index 793e7d1..ba2505b 100644
--- a/src/Pckg/Payment/Adapter/Log.php
+++ b/src/Pckg/Payment/Adapter/Log.php
@@ -1,8 +1,8 @@
- true,
];
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Entity/Addresses.php b/src/Pckg/Payment/Entity/Addresses.php
new file mode 100644
index 0000000..390033b
--- /dev/null
+++ b/src/Pckg/Payment/Entity/Addresses.php
@@ -0,0 +1,22 @@
+belongsTo(Users::class)->foreignKey('user_id');
+ }
+
+ public function country()
+ {
+ return $this->belongsTo(Countries::class)->foreignKey('country_id');
+ }
+}
diff --git a/src/Pckg/Payment/Entity/Companies.php b/src/Pckg/Payment/Entity/Companies.php
new file mode 100644
index 0000000..04f039d
--- /dev/null
+++ b/src/Pckg/Payment/Entity/Companies.php
@@ -0,0 +1,27 @@
+withCountry();
+
+ return $this;
+ }
+
+ public function country()
+ {
+ return $this->belongsTo(Countries::class)
+ ->foreignKey('country_id');
+ }
+}
diff --git a/src/Pckg/Payment/Entity/Countries.php b/src/Pckg/Payment/Entity/Countries.php
new file mode 100644
index 0000000..a426212
--- /dev/null
+++ b/src/Pckg/Payment/Entity/Countries.php
@@ -0,0 +1,11 @@
+belongsTo(Orders::class)->foreignKey('poly_id');
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/Bancontact.php b/src/Pckg/Payment/Form/Bancontact.php
index c86ddaa..9309662 100644
--- a/src/Pckg/Payment/Form/Bancontact.php
+++ b/src/Pckg/Payment/Form/Bancontact.php
@@ -1,4 +1,6 @@
-setDecoratorClasses([
@@ -25,5 +26,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/CreditCard.php b/src/Pckg/Payment/Form/CreditCard.php
index d4e8a7f..23c636c 100644
--- a/src/Pckg/Payment/Form/CreditCard.php
+++ b/src/Pckg/Payment/Form/CreditCard.php
@@ -1,11 +1,12 @@
-setDecoratorClasses([
@@ -46,5 +47,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/Ideal.php b/src/Pckg/Payment/Form/Ideal.php
index 7eda58c..9e593ae 100644
--- a/src/Pckg/Payment/Form/Ideal.php
+++ b/src/Pckg/Payment/Form/Ideal.php
@@ -1,4 +1,6 @@
-setDecoratorClasses([
@@ -25,5 +26,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Axcess.php b/src/Pckg/Payment/Form/PlatformSettings/Axcess.php
index 863b37d..7531c37 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Axcess.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Axcess.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -19,5 +20,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/BankTransfer.php b/src/Pckg/Payment/Form/PlatformSettings/BankTransfer.php
index f68df07..f3a715e 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/BankTransfer.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/BankTransfer.php
@@ -1,4 +1,6 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -20,5 +21,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Braintree.php b/src/Pckg/Payment/Form/PlatformSettings/Braintree.php
index 2f0e25e..3de40ad 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Braintree.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Braintree.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -18,5 +19,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/CheckoutPortal.php b/src/Pckg/Payment/Form/PlatformSettings/CheckoutPortal.php
index 2b60b6a..503fd12 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/CheckoutPortal.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/CheckoutPortal.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -19,5 +20,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Cod.php b/src/Pckg/Payment/Form/PlatformSettings/Cod.php
index f151f70..e33031c 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Cod.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Cod.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -14,5 +15,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/CorvusPay.php b/src/Pckg/Payment/Form/PlatformSettings/CorvusPay.php
index e916081..8084397 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/CorvusPay.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/CorvusPay.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -16,5 +17,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Icepay.php b/src/Pckg/Payment/Form/PlatformSettings/Icepay.php
index 341f547..49a97d9 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Icepay.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Icepay.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -16,5 +17,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Leanpay.php b/src/Pckg/Payment/Form/PlatformSettings/Leanpay.php
index 36886c4..d7afaf7 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Leanpay.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Leanpay.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -16,5 +17,4 @@ public function initFields()
return $this;
}
-
}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Mollie.php b/src/Pckg/Payment/Form/PlatformSettings/Mollie.php
index 3f7cd00..a1bb521 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Mollie.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Mollie.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -15,5 +16,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Monri.php b/src/Pckg/Payment/Form/PlatformSettings/Monri.php
index eea54cf..19473d5 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Monri.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Monri.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -16,5 +17,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Paypal.php b/src/Pckg/Payment/Form/PlatformSettings/Paypal.php
index dc79f5e..bb3f1a8 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Paypal.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Paypal.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -16,5 +17,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/RequireWhenEnabled.php b/src/Pckg/Payment/Form/PlatformSettings/RequireWhenEnabled.php
index 2872cad..f059cf6 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/RequireWhenEnabled.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/RequireWhenEnabled.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -16,5 +17,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Stripe.php b/src/Pckg/Payment/Form/PlatformSettings/Stripe.php
index dccc6a6..c79af81 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Stripe.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Stripe.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -16,5 +17,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Upn.php b/src/Pckg/Payment/Form/PlatformSettings/Upn.php
index 2afb15d..719af24 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Upn.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Upn.php
@@ -1,16 +1,16 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/Valu.php b/src/Pckg/Payment/Form/PlatformSettings/Valu.php
index f1e1a04..ef09da6 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/Valu.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/Valu.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -15,5 +16,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/PlatformSettings/VivaWallet.php b/src/Pckg/Payment/Form/PlatformSettings/VivaWallet.php
index e1b09d0..e1b0faf 100644
--- a/src/Pckg/Payment/Form/PlatformSettings/VivaWallet.php
+++ b/src/Pckg/Payment/Form/PlatformSettings/VivaWallet.php
@@ -1,11 +1,12 @@
-addDecorator($this->decoratorFactory->create(VueJS::class));
@@ -19,5 +20,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Form/Sofort.php b/src/Pckg/Payment/Form/Sofort.php
index ea937c3..86c468b 100644
--- a/src/Pckg/Payment/Form/Sofort.php
+++ b/src/Pckg/Payment/Form/Sofort.php
@@ -1,4 +1,6 @@
-setDecoratorClasses([
@@ -25,5 +26,4 @@ public function initFields()
return $this;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler.php b/src/Pckg/Payment/Handler.php
new file mode 100644
index 0000000..279a41c
--- /dev/null
+++ b/src/Pckg/Payment/Handler.php
@@ -0,0 +1,7 @@
+order = $order;
- }
-
- public function setPaymentRecord($record)
- {
- $this->paymentRecord = $record;
-
- return $this;
- }
-
- public function initHandler()
- {
- return $this;
- }
-
- public function initPayment()
- {
- return [];
- }
-
- public function setLogger(Log $log)
- {
- $this->log = $log;
-
- return $this;
- }
-
- public function setEnvironment(Environment $environment)
- {
- $this->environment = $environment;
-
- return $this;
- }
-
- public function log($data)
- {
- $this->log->log($data);
- }
-
- public function getStart()
- {
- }
-
- public function getInfo()
- {
- }
-
- public function check()
- {
- }
-
- public function postStart()
- {
- }
-
- public function getPaymentRecord()
- {
- return $this->paymentRecord;
- }
-
- public function success()
- {
- }
-
- public function error()
- {
- }
-
- public function waiting()
- {
- }
-
- public function postNotification()
- {
- throw new \Exception('Missing notification implementation');
- }
-
- public function getNotification()
- {
- return 'GET notification is not supported.';
- }
-
- public function cancel()
- {
- }
-
- public function getDownload()
- {
-
- }
-
- public function postDownload()
- {
-
- }
-
- public function postUploadFile()
- {
-
- }
-
- public function getCompanySettings()
- {
- return [];
- }
-
- public function refund(Payment $payment, $amount = null)
- {
- throw new \Exception('Refunds are not supported by selected payment method');
- }
-
- public function getTotal()
- {
- return number_format($this->order->getTotal(), 2, '.', '');
- }
-
- public function getTotalToPay()
- {
- return number_format($this->order->getTotalToPay(), 2, '.', '');
- }
-
- public function getDescription()
- {
- return $this->paymentRecord->getDescription();
- }
-
- public function setPaymentId($paymentId)
- {
- $this->paymentRecord->setAndSave(['payment_id' => $paymentId]);
- }
-
- public function waitPayment($description, $log, $transactionId, $status = 'waiting')
- {
- $this->paymentRecord->addLog($status, $log);
-
- $this->order->getBills()->keyBy('order_id')->each(function(OrdersBill $ordersBill) use ($description) {
- $order = $ordersBill->order;
- /**
- * Payment confirms order so stock is okay.
- */
- $order->confirm();
- /**
- * Payment status is set as waiting.
- */
- $order->waitingForPayment();
- });
-
- $this->paymentRecord->setAndSave([
- 'status' => $status,
- 'transaction_id' => $transactionId,
- ]);
- }
-
- public function approvePayment($description, $log, $transactionId, $status = 'approved')
- {
- $this->paymentRecord->addLog($status, $log);
-
- $this->order->getBills()->each(function(OrdersBill $ordersBill) use ($description) {
- $ordersBill->confirm($description);
- });
-
- $this->paymentRecord->setAndSave([
- 'status' => $status,
- 'transaction_id' => $transactionId,
- ]);
- }
-
- public function approveRefund($description, $log, $transactionId)
- {
- $this->paymentRecord->addLog('completed', $log);
-
- $this->paymentRecord->setAndSave(['status' => 'refund', 'transaction_id' => $json->id]);
-
- $instalments = $this->paymentRecord->getBills();
- $order = $instalments->first()->order();
-
- OrdersBill::create([
- 'order_id' => $order->id,
- 'dt_added' => date('Y-m-d H:i:s'),
- 'dt_confirmed' => date('Y-m-d H:i:s'),
- 'dt_valid' => date('Y-m-d H:i:s'),
- 'type' => 'refund',
- 'price' => $amount,
- 'payed' => $amount,
- 'notes' => $description,
- ]);
- }
-
- public function errorPayment($data = null, $logStatus = 'error')
- {
- $this->paymentRecord->addLog($logStatus, $data);
- $this->paymentRecord->setAndSave([
- 'status' => 'error',
- ]);
- }
-
- public function cancelPayment($data = null, $logStatus = 'canceled')
- {
- $this->paymentRecord->addLog($logStatus, $data);
- $this->paymentRecord->setAndSave([
- 'status' => 'canceled',
- ]);
- }
-
- public function getCurrency()
- {
- return config('pckg.payment.currency');
- }
-
- public function getStartUrl()
- {
- return $this->environment->url('derive.payment.start', [
- // 'handler' => $this->handler, // ?needed?
- 'payment' => $this->paymentRecord,
- ]);
- }
-
- public function getErrorUrl()
- {
- return $this->environment->url('derive.payment.error', [
- 'payment' => $this->paymentRecord,
- ]);
- }
-
- public function getWaitingUrl()
- {
- return $this->environment->url('derive.payment.waiting', [
- 'payment' => $this->paymentRecord,
- ]);
- }
-
- public function getSuccessUrl()
- {
-
- return $this->environment->url('derive.payment.success', [
- 'payment' => $this->paymentRecord,
- ]);
- }
-
- public function getNotificationUrl()
- {
- return $this->environment->url('derive.payment.notification', [
- 'payment' => $this->paymentRecord,
- ]);
- }
-
- public function getCheckUrl()
- {
- return $this->environment->url('derive.payment.check', [
- 'payment' => $this->paymentRecord,
- ]);
- }
-
- public function getCancelUrl()
- {
- return $this->environment->url('derive.payment.cancel', [
- 'payment' => $this->paymentRecord,
- ]);
- }
-
- public function getDownloadUrl()
- {
- return $this->environment->url('derive.payment.download', [
- 'payment' => $this->paymentRecord,
- ]);
- }
-
-}
+order = $order;
+ }
+
+ public function setPaymentRecord($record)
+ {
+ $this->paymentRecord = $record;
+ return $this;
+ }
+
+ public function initHandler()
+ {
+ return $this;
+ }
+
+ public function initPayment()
+ {
+ return [];
+ }
+
+ public function setLogger(Log $log)
+ {
+ $this->log = $log;
+ return $this;
+ }
+
+ public function setEnvironment(Environment $environment)
+ {
+ $this->environment = $environment;
+ return $this;
+ }
+
+ public function log($data)
+ {
+ $this->log->log($data);
+ }
+
+ public function getStart()
+ {
+ }
+
+ public function getInfo()
+ {
+ }
+
+ public function check()
+ {
+ }
+
+ public function postStart()
+ {
+ }
+
+ public function getPaymentRecord()
+ {
+ return $this->paymentRecord;
+ }
+
+ public function success()
+ {
+ }
+
+ public function error()
+ {
+ }
+
+ public function waiting()
+ {
+ }
+
+ public function postNotification()
+ {
+ throw new \Exception('Missing notification implementation');
+ }
+
+ public function getNotification()
+ {
+ return 'GET notification is not supported.';
+ }
+
+ public function cancel()
+ {
+ }
+
+ public function getDownload()
+ {
+ }
+
+ public function postDownload()
+ {
+ }
+
+ public function postUploadFile()
+ {
+ }
+
+ public function getCompanySettings()
+ {
+ return [];
+ }
+
+ public function refund(Payment $payment, $amount = null)
+ {
+ throw new \Exception('Refunds are not supported by selected payment method');
+ }
+
+ public function getTotal()
+ {
+ return number_format($this->order->getTotal(), 2, '.', '');
+ }
+
+ public function getTotalToPay()
+ {
+ return number_format($this->order->getTotalToPay(), 2, '.', '');
+ }
+
+ public function getDescription()
+ {
+ return $this->paymentRecord->getDescription();
+ }
+
+ public function setPaymentId($paymentId)
+ {
+ $this->paymentRecord->setAndSave(['payment_id' => $paymentId]);
+ }
+
+ public function waitPayment($description, $log, $transactionId, $status = 'waiting')
+ {
+ $this->paymentRecord->addLog($status, $log);
+ $this->order->getBills()->keyBy('order_id')->each(function (OrdersBill $ordersBill) {
+
+ $order = $ordersBill->order;
+ /**
+ * Payment confirms order so stock is okay.
+ */
+ $order->confirm();
+ /**
+ * Payment status is set as waiting.
+ */
+ $order->waitingForPayment();
+ });
+ $this->paymentRecord->setAndSave([
+ 'status' => $status,
+ 'transaction_id' => $transactionId,
+ ]);
+ }
+
+ public function approvePayment($description, $log, $transactionId, $status = 'approved')
+ {
+ $this->paymentRecord->addLog($status, $log);
+ $this->order->getBills()->each(function (OrdersBill $ordersBill) use ($description) {
+
+ $ordersBill->confirm($description);
+ });
+ $this->paymentRecord->setAndSave([
+ 'status' => $status,
+ 'transaction_id' => $transactionId,
+ ]);
+ }
+
+ public function approveRefund($description, $log, $transactionId)
+ {
+ $this->paymentRecord->addLog('completed', $log);
+ $this->paymentRecord->setAndSave(['status' => 'refund', 'transaction_id' => $transactionId]);
+ $instalments = $this->paymentRecord->getBills();
+ $order = $instalments->first()->order();
+ OrdersBill::create([
+ 'order_id' => $order->id,
+ 'dt_added' => date('Y-m-d H:i:s'),
+ 'dt_confirmed' => date('Y-m-d H:i:s'),
+ 'dt_valid' => date('Y-m-d H:i:s'),
+ 'type' => 'refund',
+ 'price' => $this->paymentRecord->price,
+ 'payed' => $this->paymentRecord->price,
+ 'notes' => $description,
+ ]);
+ }
+
+ public function errorPayment($data = null, $logStatus = 'error')
+ {
+ $this->paymentRecord->addLog($logStatus, $data);
+ $this->paymentRecord->setAndSave([
+ 'status' => 'error',
+ ]);
+ }
+
+ public function cancelPayment($data = null, $logStatus = 'canceled')
+ {
+ $this->paymentRecord->addLog($logStatus, $data);
+ $this->paymentRecord->setAndSave([
+ 'status' => 'canceled',
+ ]);
+ }
+
+ public function getCurrency()
+ {
+ return config('pckg.payment.currency');
+ }
+
+ public function getStartUrl()
+ {
+ return $this->environment->url('derive.payment.start', [
+ // 'handler' => $this->handler, // ?needed?
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+
+ public function getErrorUrl()
+ {
+ return $this->environment->url('derive.payment.error', [
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+
+ public function getWaitingUrl()
+ {
+ return $this->environment->url('derive.payment.waiting', [
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+
+ public function getSuccessUrl()
+ {
+
+ return $this->environment->url('derive.payment.success', [
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+
+ public function getNotificationUrl()
+ {
+ return $this->environment->url('derive.payment.notification', [
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+
+ public function getCheckUrl()
+ {
+ return $this->environment->url('derive.payment.check', [
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+
+ public function getCancelUrl()
+ {
+ return $this->environment->url('derive.payment.cancel', [
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+
+ public function getDownloadUrl()
+ {
+ return $this->environment->url('derive.payment.download', [
+ 'payment' => $this->paymentRecord,
+ ]);
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Axcess.php b/src/Pckg/Payment/Handler/Axcess.php
index 0a1e448..e26dee4 100644
--- a/src/Pckg/Payment/Handler/Axcess.php
+++ b/src/Pckg/Payment/Handler/Axcess.php
@@ -1,10 +1,11 @@
-environment->redirect($this->getErrorUrl());
}
}
-
}
diff --git a/src/Pckg/Payment/Handler/BankTransfer.php b/src/Pckg/Payment/Handler/BankTransfer.php
index 1ebe746..a2f0be9 100644
--- a/src/Pckg/Payment/Handler/BankTransfer.php
+++ b/src/Pckg/Payment/Handler/BankTransfer.php
@@ -1,10 +1,11 @@
- $finalName,
];
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/Bankart.php b/src/Pckg/Payment/Handler/Bankart.php
index d7f8cf2..d64cc6d 100644
--- a/src/Pckg/Payment/Handler/Bankart.php
+++ b/src/Pckg/Payment/Handler/Bankart.php
@@ -1,4 +1,6 @@
-environment->config($this->handler . '.url') === 'https://bankart.paymentsandbox.cloud/';
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/BankartCC.php b/src/Pckg/Payment/Handler/BankartCC.php
index 2887589..8448072 100644
--- a/src/Pckg/Payment/Handler/BankartCC.php
+++ b/src/Pckg/Payment/Handler/BankartCC.php
@@ -1,8 +1,8 @@
-environment->config('braintree.environment'));
- Configuration::merchantId($this->environment->config('braintree.merchant'));
- Configuration::publicKey($this->environment->config('braintree.public'));
- Configuration::privateKey($this->environment->config('braintree.private'));
-
- return $this;
- }
-
- /**
- * @return array|AbstractHandler
- */
- public function initPayment()
- {
- $token = null;
- try {
- $token = ClientToken::generate();
- } catch (Throwable $e) {
- response()->unavailable('Braintree payments are not available at the moment: ' . $e->getMessage());
- }
-
- $this->paymentRecord->addLog('created', $token);
-
- return [
- 'token' => $token,
- 'threeDSecure' => $this->transform3DS(),
- ];
- }
-
- /**
- * @param $string
- * @return string|string[]|null
- * https://stackoverflow.com/questions/1176904/php-how-to-remove-all-non-printable-characters-in-a-string
- */
- public function cleanASCII($string)
- {
- return preg_replace('/[\x00-\x1F\x7F]/u', '', $string);
- }
-
- public function transform3DS()
- {
- return [
- 'amount' => $this->getTotal(),
- 'email' => $this->order->getCustomer()->getEmail(),
- 'billingAddress' => $this->transformBillingAddress($this->order->getBillingOrDeliveryAddress()),
- 'additionalInformation' => $this->transformAdditionalInformation(),
- ];
- }
-
- public function transformBillingAddress(Address $address = null)
- {
- if (!$address) {
- return [];
- }
-
- return [
- 'givenName' => $this->cleanASCII($address->name),
- 'surname' => $this->cleanASCII(''), // @T00D00
- 'phoneNumber' => $address->phone,
- ] + $this->transformAddress($address);
- }
-
- public function transformAdditionalInformation()
- {
- if (!$deliveryAddress) {
- return [];
- }
-
- $deliveryAddress = $this->order->getDeliveryAddress();
-
- return [
- 'workPhoneNumber' => '',
- 'shippingGivenName' => $this->cleanASCII($address->name),
- 'shippingSurname' => '',
- 'shippingPhone' => $deliveryAddress->phone,
- 'shippingAddress' => $deliveryAddress ? $this->transformAddress($deliveryAddress) : [],
- ];
- }
-
- public function transformAddress(Address $address)
- {
- return [
- 'streetAddress' => $address->address_line1,
- 'extendedAddress' => $address->address_line2,
- 'locality' => $address->city,
- 'region' => '', // @T00D00 - some countries have states/regions/provinces
- 'postalCode' => $address->postal,
- 'countryCodeAlpha2' => $address->country ? $address->country->getISO2() : '',
- ];
- }
-
- /**
- * @return array|void
- */
- public function postStart()
- {
- $braintreeNonce = request()->post('payment_method_nonce');
-
- if (!$braintreeNonce) {
- return [
- 'success' => false,
- 'message' => 'Missing payment method nonce.',
- ];
- }
-
- $this->getPaymentRecord()->addLog('submitted');
-
- $result = $braintreeNonce == $this->paymentRecord->getJsonData('braintree_payment_method_nonce') ? Transaction::find($this->paymentRecord->transaction_id) : Transaction::sale([
- 'amount' => $this->getTotal(),
- 'paymentMethodNonce' => $braintreeNonce,
- 'options' => [
- 'submitForSettlement' => true,
- ],
- ]);
-
- $this->paymentRecord->setJsonData('braintree_payment_method_nonce', $braintreeNonce)->save();
-
- /**
- * No success.
- */
- if (!$result->success) {
- $this->errorPayment($result);
-
- return [
- 'success' => false,
- 'message' => $result->message,
- 'modal' => 'error',
- ];
- }
-
- /**
- * If everything went fine, we got a transaction object.
- * Confirm payment when its submitted for settlement.
- */
- $transaction = $result->transaction;
- if ($transaction->status == Transaction::SUBMITTED_FOR_SETTLEMENT) {
- $this->approvePayment("Braintree #" . $transaction->id, $result, $transaction->id);
-
- return [
- 'success' => true,
- 'modal' => 'success',
- ];
- }
-
- $this->errorPayment($transaction, $transaction->status);
-
- $message = 'Unknown payment error';
- if ($transaction->status == Transaction::PROCESSOR_DECLINED) {
- $message = $transaction->processorResponseText;
- } elseif ($transaction->status == Transaction::GATEWAY_REJECTED) {
- $message = $transaction->gatewayRejectionReason;
- }
-
- return [
- 'success' => false,
- 'message' => $message,
- 'modal' => 'error',
- ];
- }
-
- public function refund(Payment $payment, $amount = null)
- {
- $refundPaymentRecord = Payment::createForRefund($payment, $amount);
-
- try {
-
- $result = Configuration::gateway()->transaction()->refund($payment->transaction_id, $amount);
-
- if ($result->success) {
- $this->paymentRecord = $refundPaymentRecord;
- $this->approveRefund('Refund Braintree #' . $result->transaction->id, $result, $refund->transaction->id);
-
- return [
- 'success' => true,
- ];
- }
-
- $refundPaymentRecord->addLog('response:failed', $result);
- } catch (Throwable $e) {
- $refundPaymentRecord->addLog('response:exception');
-
- return [
- 'success' => false,
- 'message' => 'Refunds are not available at the moment.' . exception($e),
- ];
- }
-
- return [
- 'success' => false,
- 'message' => 'Refunds are not available at the moment',
- ];
- }
-
-}
+environment->config('braintree.environment'));
+ Configuration::merchantId($this->environment->config('braintree.merchant'));
+ Configuration::publicKey($this->environment->config('braintree.public'));
+ Configuration::privateKey($this->environment->config('braintree.private'));
+ return $this;
+ }
+
+ /**
+ * @return array|AbstractHandler
+ */
+ public function initPayment()
+ {
+ $token = null;
+ try {
+ $token = ClientToken::generate();
+ } catch (Throwable $e) {
+ response()->unavailable('Braintree payments are not available at the moment: ' . $e->getMessage());
+ }
+
+ $this->paymentRecord->addLog('created', $token);
+ return [
+ 'token' => $token,
+ 'threeDSecure' => $this->transform3DS(),
+ ];
+ }
+
+ /**
+ * @param $string
+ * @return string|string[]|null
+ * https://stackoverflow.com/questions/1176904/php-how-to-remove-all-non-printable-characters-in-a-string
+ */
+ public function cleanASCII($string)
+ {
+ return preg_replace('/[\x00-\x1F\x7F]/u', '', $string);
+ }
+
+ public function transform3DS()
+ {
+ return [
+ 'amount' => $this->getTotal(),
+ 'email' => $this->order->getCustomer()->getEmail(),
+ 'billingAddress' => $this->transformBillingAddress($this->order->getBillingOrDeliveryAddress()),
+ 'additionalInformation' => $this->transformAdditionalInformation(),
+ ];
+ }
+
+ public function transformBillingAddress(Address $address = null)
+ {
+ if (!$address) {
+ return [];
+ }
+
+ return [
+ 'givenName' => $this->cleanASCII($address->name),
+ 'surname' => $this->cleanASCII(''), // @T00D00
+ 'phoneNumber' => $address->phone,
+ ] + $this->transformAddress($address);
+ }
+
+ public function transformAdditionalInformation()
+ {
+ $deliveryAddress = $this->order->getDeliveryAddress();
+ if (!$deliveryAddress) {
+ return [];
+ }
+
+ return [
+ 'workPhoneNumber' => '',
+ 'shippingGivenName' => $this->cleanASCII($deliveryAddress->name),
+ 'shippingSurname' => '',
+ 'shippingPhone' => $deliveryAddress->phone,
+ 'shippingAddress' => $deliveryAddress ? $this->transformAddress($deliveryAddress) : [],
+ ];
+ }
+
+ public function transformAddress(Address $address)
+ {
+ return [
+ 'streetAddress' => $address->address_line1,
+ 'extendedAddress' => $address->address_line2,
+ 'locality' => $address->city,
+ 'region' => '', // @T00D00 - some countries have states/regions/provinces
+ 'postalCode' => $address->postal,
+ 'countryCodeAlpha2' => $address->country ? $address->country->getISO2() : '',
+ ];
+ }
+
+ /**
+ * @return array|void
+ */
+ public function postStart()
+ {
+ $braintreeNonce = request()->post('payment_method_nonce');
+ if (!$braintreeNonce) {
+ return [
+ 'success' => false,
+ 'message' => 'Missing payment method nonce.',
+ ];
+ }
+
+ $this->getPaymentRecord()->addLog('submitted');
+ $result = $braintreeNonce == $this->paymentRecord->getJsonData('braintree_payment_method_nonce') ? Transaction::find($this->paymentRecord->transaction_id) : Transaction::sale([
+ 'amount' => $this->getTotal(),
+ 'paymentMethodNonce' => $braintreeNonce,
+ 'options' => [
+ 'submitForSettlement' => true,
+ ],
+ ]);
+ $this->paymentRecord->setJsonData('braintree_payment_method_nonce', $braintreeNonce)->save();
+/**
+ * No success.
+ */
+ if (!$result->success) {
+ $this->errorPayment($result);
+ return [
+ 'success' => false,
+ 'message' => $result->message,
+ 'modal' => 'error',
+ ];
+ }
+
+ /**
+ * If everything went fine, we got a transaction object.
+ * Confirm payment when its submitted for settlement.
+ */
+ $transaction = $result->transaction;
+ if ($transaction->status == Transaction::SUBMITTED_FOR_SETTLEMENT) {
+ $this->approvePayment("Braintree #" . $transaction->id, $result, $transaction->id);
+ return [
+ 'success' => true,
+ 'modal' => 'success',
+ ];
+ }
+
+ $this->errorPayment($transaction, $transaction->status);
+ $message = 'Unknown payment error';
+ if ($transaction->status == Transaction::PROCESSOR_DECLINED) {
+ $message = $transaction->processorResponseText;
+ } elseif ($transaction->status == Transaction::GATEWAY_REJECTED) {
+ $message = $transaction->gatewayRejectionReason;
+ }
+
+ return [
+ 'success' => false,
+ 'message' => $message,
+ 'modal' => 'error',
+ ];
+ }
+
+ public function refund(Payment $payment, $amount = null)
+ {
+ $refundPaymentRecord = Payment::createForRefund($payment, $amount);
+ try {
+ $result = Configuration::gateway()->transaction()->refund($payment->transaction_id, $amount);
+ if ($result->success) {
+ $this->paymentRecord = $refundPaymentRecord;
+ $this->approveRefund('Refund Braintree #' . $result->transaction->id, $result, $result->transaction->id);
+ return [
+ 'success' => true,
+ ];
+ }
+
+ $refundPaymentRecord->addLog('response:failed', $result);
+ } catch (Throwable $e) {
+ $refundPaymentRecord->addLog('response:exception');
+ return [
+ 'success' => false,
+ 'message' => 'Refunds are not available at the moment.' . exception($e),
+ ];
+ }
+
+ return [
+ 'success' => false,
+ 'message' => 'Refunds are not available at the moment',
+ ];
+ }
+}
diff --git a/src/Pckg/Payment/Handler/CheckoutPortal.php b/src/Pckg/Payment/Handler/CheckoutPortal.php
index bcc3d88..5a45c81 100644
--- a/src/Pckg/Payment/Handler/CheckoutPortal.php
+++ b/src/Pckg/Payment/Handler/CheckoutPortal.php
@@ -1,235 +1,219 @@
-environment->config('checkout-portal.mode', null);
- $username = $this->environment->config('checkout-portal.username', null);
- $password = $this->environment->config('checkout-portal.password', null);
- $merchantAccount = $this->environment->config('checkout-portal.maid', null);
- $endpoint = $this->environment->config('checkout-portal.endpoint', null);
-
- $value = number_format($this->paymentRecord->price, 2);
- $currency = config('pckg.payment.currency', null);
- $firstName = auth()->user('name');
- $lastName = auth()->user('surname');
- $ancestor = 'https://' . server('HTTP_HOST', null);
-
- $transactionType = 'purchase'; // authorization
-
- $successUrl = $this->getSuccessUrl();
- $errorUrl = $this->getErrorUrl();
- $cancelUrl = $this->getCancelUrl();
- $defaultUrl = $this->getCheckUrl();
- $pendingUrl = $this->getCheckUrl();
- $notificationUrl = $this->getNotificationUrl();
-
- $data = [
- 'payment' => [
- 'merchant-account-id' => [
- 'value' => $merchantAccount,
- ],
- 'request-id' => $this->paymentRecord->hash,
- 'transaction-type' => $transactionType,
- 'requested-amount' => [
- 'value' => $value,
- 'currency' => $currency,
- ],
- 'account-holder' => [
- 'first-name' => $firstName,
- 'last-name' => $lastName,
- ],
- 'redirect-url' => $defaultUrl,
- 'pending-redirect-url' => $pendingUrl,
- 'success-redirect-url' => $successUrl,
- 'fail-redirect-url' => $errorUrl,
- 'cancel-redirect-url' => $cancelUrl,
- /*'three-d' => [
- 'attempt-three-d' => 'true',
- ],*/
- 'notifications' => [
- 'format' => 'application/json-signed',
- 'notification' => [
- [
- 'url' => $notificationUrl,
- ],
- ],
- ],
- ],
- 'options' => [
- 'mode' => $mode,
- 'frame-ancestor' => $ancestor,
- ],
- ];
-
- if ($mode === 'seamless') {
- $data['payment']['payment-methods'] = [
- 'payment-method' => [
- [
- 'name' => 'creditcard',
- ],
- ],
- ];
- }
-
- $this->paymentRecord->addLog('requesting', $data);
-
- $request = $client->post($endpoint, [
- 'json' => $data,
- 'headers' => [
- 'Content-Type' => 'application/json',
- 'Authorization' => 'Basic ' . base64_encode($username . ':' . $password),
- ],
- ]);
-
- $response = json_decode($request->getBody()->getContents(), true);
-
- $this->paymentRecord->addLog('created', $response);
-
- return [
- 'mode' => $mode,
- 'iframe' => $response['payment-redirect-url'],
- ];
- }
-
- public function postNotification()
- {
- $response = $this->getIPNResponse();
- $state = $response['payment']['transaction-state'] ?? null;
- $type = $response['payment']['transaction-type'] ?? null;
-
- if ($type !== 'purchase') {
- parent::postNotification();
- }
-
- if ($state === 'success') {
- if ($this->getPaymentRecord()->status === 'approved') {
- return [
- 'success' => true,
- 'message' => 'Already approved',
- ];
- }
-
- $description = "CheckoutPortal " . $response['payment']['transaction-id'];
- $this->approvePayment($description, $response, $response['payment']['transaction-id']);
-
- return [
- 'success' => true,
- ];
- }
-
- if ($state === 'canceled') {
- $this->getPaymentRecord()->addLog('canceled', $response);
-
- return [
- 'success' => false,
- 'message' => 'Canceled',
- ];
- }
-
- if ($state === 'error') {
- $this->getPaymentRecord()->addLog('error', $response);
- return [
- 'success' => false,
- 'message' => 'Payment error',
- ];
- }
-
- if ($state === 'failed') {
- $this->getPaymentRecord()->addLog('failed', $response);
-
- return[
- 'success' => false,
- 'message' => 'Payment failed',
- ];
- }
-
- return parent::postNotification();
- }
-
- private function getIPNResponse()
- {
- $data = post()->all();
-
- if (!isset($data['response-signature-base64']) || !isset($data['response-signature-algorithm']) ||
- !isset($data['response-base64'])) {
- throw new Exception('Missing request data');
- }
-
- $secretKey = $this->environment->config('checkout-portal.secret');
- $sig = hash_hmac('sha256', $data['response-base64'], $secretKey, true);
-
- if (!hash_equals($sig, base64_decode($data['response-signature-base64']))) {
- $this->getPaymentRecord()->addLog('missmatch', $data);
-
- throw new Exception('Signature missmatch');
- }
-
- $response = json_decode(base64_decode($data['response-base64']), true);
- $requestId = $response['payment']['request-id'] ?? null;
-
- $this->getPaymentRecord()->addLog('notification', $response);
-
- if (strpos($requestId, $this->getPaymentRecord()->hash) === false) { // $hash, $hash-check-enrollment
- throw new Exception('Payment id missmatch: ' . $requestId);
- }
-
- return $response;
- }
-
- public function postSuccess()
- {
- $response = $this->getIPNResponse();
-
- $state = $response['payment']['transaction-state'] ?? null;
-
- if ($state != 'success') {
- throw new Exception('Not successful state');
- }
-
- $ok = collect($response['payment']['statuses']['status'] ?? [])->has(function($status) {
- return $status['code'] == '201.0000';
- });
-
- if (!$ok) {
- throw new Exception('No successful code');
- }
- }
-
- public function postError()
- {
- $response = $this->getIPNResponse();
- }
-
- public function postCancel()
- {
- $response = $this->getIPNResponse();
- }
-
-}
+environment->config('checkout-portal.mode', null);
+ $username = $this->environment->config('checkout-portal.username', null);
+ $password = $this->environment->config('checkout-portal.password', null);
+ $merchantAccount = $this->environment->config('checkout-portal.maid', null);
+ $endpoint = $this->environment->config('checkout-portal.endpoint', null);
+ $value = number_format($this->paymentRecord->price, 2);
+ $currency = config('pckg.payment.currency', null);
+ $firstName = auth()->user('name');
+ $lastName = auth()->user('surname');
+ $ancestor = 'https://' . server('HTTP_HOST', null);
+ $transactionType = 'purchase';
+// authorization
+
+ $successUrl = $this->getSuccessUrl();
+ $errorUrl = $this->getErrorUrl();
+ $cancelUrl = $this->getCancelUrl();
+ $defaultUrl = $this->getCheckUrl();
+ $pendingUrl = $this->getCheckUrl();
+ $notificationUrl = $this->getNotificationUrl();
+ $data = [
+ 'payment' => [
+ 'merchant-account-id' => [
+ 'value' => $merchantAccount,
+ ],
+ 'request-id' => $this->paymentRecord->hash,
+ 'transaction-type' => $transactionType,
+ 'requested-amount' => [
+ 'value' => $value,
+ 'currency' => $currency,
+ ],
+ 'account-holder' => [
+ 'first-name' => $firstName,
+ 'last-name' => $lastName,
+ ],
+ 'redirect-url' => $defaultUrl,
+ 'pending-redirect-url' => $pendingUrl,
+ 'success-redirect-url' => $successUrl,
+ 'fail-redirect-url' => $errorUrl,
+ 'cancel-redirect-url' => $cancelUrl,
+ /*'three-d' => [
+ 'attempt-three-d' => 'true',
+ ],*/
+ 'notifications' => [
+ 'format' => 'application/json-signed',
+ 'notification' => [
+ [
+ 'url' => $notificationUrl,
+ ],
+ ],
+ ],
+ ],
+ 'options' => [
+ 'mode' => $mode,
+ 'frame-ancestor' => $ancestor,
+ ],
+ ];
+ if ($mode === 'seamless') {
+ $data['payment']['payment-methods'] = [
+ 'payment-method' => [
+ [
+ 'name' => 'creditcard',
+ ],
+ ],
+ ];
+ }
+
+ $this->paymentRecord->addLog('requesting', $data);
+ $request = $client->post($endpoint, [
+ 'json' => $data,
+ 'headers' => [
+ 'Content-Type' => 'application/json',
+ 'Authorization' => 'Basic ' . base64_encode($username . ':' . $password),
+ ],
+ ]);
+ $response = json_decode($request->getBody()->getContents(), true);
+ $this->paymentRecord->addLog('created', $response);
+ return [
+ 'mode' => $mode,
+ 'iframe' => $response['payment-redirect-url'],
+ ];
+ }
+
+ public function postNotification()
+ {
+ $response = $this->getIPNResponse();
+ $state = $response['payment']['transaction-state'] ?? null;
+ $type = $response['payment']['transaction-type'] ?? null;
+ if ($type !== 'purchase') {
+ parent::postNotification();
+ }
+
+ if ($state === 'success') {
+ if ($this->getPaymentRecord()->status === 'approved') {
+ return [
+ 'success' => true,
+ 'message' => 'Already approved',
+ ];
+ }
+
+ $description = "CheckoutPortal " . $response['payment']['transaction-id'];
+ $this->approvePayment($description, $response, $response['payment']['transaction-id']);
+ return [
+ 'success' => true,
+ ];
+ }
+
+ if ($state === 'canceled') {
+ $this->getPaymentRecord()->addLog('canceled', $response);
+ return [
+ 'success' => false,
+ 'message' => 'Canceled',
+ ];
+ }
+
+ if ($state === 'error') {
+ $this->getPaymentRecord()->addLog('error', $response);
+ return [
+ 'success' => false,
+ 'message' => 'Payment error',
+ ];
+ }
+
+ if ($state === 'failed') {
+ $this->getPaymentRecord()->addLog('failed', $response);
+ return[
+ 'success' => false,
+ 'message' => 'Payment failed',
+ ];
+ }
+
+ return parent::postNotification();
+ }
+
+ private function getIPNResponse()
+ {
+ $data = post()->all();
+
+ if (
+ !isset($data['response-signature-base64']) || !isset($data['response-signature-algorithm']) ||
+ !isset($data['response-base64'])
+ ) {
+ throw new Exception('Missing request data');
+ }
+
+ $secretKey = $this->environment->config('checkout-portal.secret');
+ $sig = hash_hmac('sha256', $data['response-base64'], $secretKey, true);
+ if (!hash_equals($sig, base64_decode($data['response-signature-base64']))) {
+ $this->getPaymentRecord()->addLog('missmatch', $data);
+ throw new Exception('Signature missmatch');
+ }
+
+ $response = json_decode(base64_decode($data['response-base64']), true);
+ $requestId = $response['payment']['request-id'] ?? null;
+ $this->getPaymentRecord()->addLog('notification', $response);
+ if (strpos($requestId, $this->getPaymentRecord()->hash) === false) {
+ // $hash, $hash-check-enrollment
+ throw new Exception('Payment id missmatch: ' . $requestId);
+ }
+
+ return $response;
+ }
+
+ public function postSuccess()
+ {
+ $response = $this->getIPNResponse();
+ $state = $response['payment']['transaction-state'] ?? null;
+ if ($state != 'success') {
+ throw new Exception('Not successful state');
+ }
+
+ $ok = collect($response['payment']['statuses']['status'] ?? [])->has(function ($status) {
+
+ return $status['code'] == '201.0000';
+ });
+ if (!$ok) {
+ throw new Exception('No successful code');
+ }
+ }
+
+ public function postError()
+ {
+ $response = $this->getIPNResponse();
+ }
+
+ public function postCancel()
+ {
+ $response = $this->getIPNResponse();
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Cod.php b/src/Pckg/Payment/Handler/Cod.php
index 1f6be7e..de4d21e 100644
--- a/src/Pckg/Payment/Handler/Cod.php
+++ b/src/Pckg/Payment/Handler/Cod.php
@@ -1,10 +1,11 @@
- $transactionId,
]);
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/CommsWallet.php b/src/Pckg/Payment/Handler/CommsWallet.php
index d0de6b3..1a0bf89 100644
--- a/src/Pckg/Payment/Handler/CommsWallet.php
+++ b/src/Pckg/Payment/Handler/CommsWallet.php
@@ -1,11 +1,12 @@
-errorPayment('Insufficient balance');
-
+
return [
'success' => true,
'modal' => 'error',
@@ -66,5 +67,4 @@ public function postStart()
'message' => 'Error making payment',
];
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/Handler.php b/src/Pckg/Payment/Handler/Handler.php
index 3c2520d..e44f055 100644
--- a/src/Pckg/Payment/Handler/Handler.php
+++ b/src/Pckg/Payment/Handler/Handler.php
@@ -1,50 +1,38 @@
-icepay = new Client();
- $this->icepay->setApiKey($this->environment->config('icepay.merchant'));
- $this->icepay->setApiSecret($this->environment->config('icepay.secret'));
-
- $this->icepay->setCompletedURL(url('derive.payment.success',
- ['handler' => $this->handler, 'order' => null],
- true));
- $this->icepay->setErrorURL(url('derive.payment.error', ['handler' => $this->handler, 'order' => null], true));
-
- return $this;
- }
-
- protected function setUrls()
- {
- $this->icepay->setCompletedURL($this->getSuccessUrl());
- $this->icepay->setErrorURL($this->getErrorUrl());
- }
-
- private function getIcepayDefaultsData()
- {
- $order = $this->order->getOrder();
- $price = $this->getTotal();
-
- $data = [
- 'Amount' => $price,
- 'Currency' => config('pckg.payment.currency'),
- 'Paymentmethod' => $this->paymentMethod,
- 'Issuer' => $this->issuer,
- 'Language' => 'EN',
- 'Country' => '00',
- 'Description' => $this->order->getDescription(),
- 'OrderID' => $this->paymentRecord->id,
- 'Reference' => $this->paymentRecord->id,
- 'EndUserIP' => request()->clientIp(),
- ];
-
- return $data;
- }
-
- public function getTotal()
- {
- return round($this->order->getTotal() * 100);
- }
-
- public function getTotalToPay()
- {
- return round($this->order->getTotalToPay() * 100);
- }
-
- protected function validatePostbackChecksum()
- {
- $calculatedChecksum = sha1(sprintf("%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s",
- $this->icepay->api_secret,
- $this->icepay->api_key,
- $this->environment->post('Status'),
- $this->environment->post('StatusCode'),
- $this->environment->post('OrderID'),
- $this->environment->post('PaymentID'),
- $this->environment->post('Reference'),
- $this->environment->post('TransactionID'),
- $this->environment->post('Amount'),
- $this->environment->post('Currency'),
- $this->environment->post('Duration'),
- $this->environment->post('ConsumerIPAddress')));
-
- $checksum = $this->environment->post('Checksum');
-
- if ($checksum !== $calculatedChecksum) {
- throw new Exception('Checksum missmatch!');
- }
- }
-
- public function getPaymentMethods()
- {
- $response = $this->icepay->payment->getMyPaymentMethods();
-
- return $response;
- }
-
- public function getPaymentMethod($method)
- {
- return (new Collection($this->getPaymentMethods()->PaymentMethods))->first(function($paymentMethod) use ($method
- ) {
- return $paymentMethod->PaymentMethodCode == $method;
- });
- }
-
- public function postNotification()
- {
- $this->validatePostbackChecksum();
-
- $status = $this->environment->post('Status');
- $reference = $this->environment->post('Reference');
-
- $bodyData = (array)$this->environment->post(null);
-
- $payment = Payment::getOrFail([
- 'id' => $reference,
- ]);
-
- $this->setPaymentRecord($payment);
-
- if ($status == 'OK') {
- $this->approvePayment('Icepay #' . $reference, $bodyData, $this->environment->post('TransactionID'));
-
- return [
- 'success' => true,
- ];
- }
-
- $this->errorPayment($bodyData, $status);
-
- return [
- 'success' => false,
- 'message' => 'Payment error',
- ];
- }
-
- public function initPayment()
- {
- $config = $this->getPaymentMethod($this->paymentMethod);
-
- $countries = collect($config->Issuers[0]->Countries ?? [])->keyBy('CountryCode')->map('CountryCode');
- $issuers = collect($config->Issuers ?? [])->keyBy('IssuerKeyword')->map('Description');
-
- return [
- 'countries' => $countries->all(),
- 'issuers' => $issuers->all(),
- 'formData' => [
- 'country' => $countries->keys()[0] ?? null,
- 'issuer' => $issuers->keys()[0] ?? null,
- ],
- ];
- }
-
- public function postStart()
- {
- try {
- /**
- * Set completed and error url.
- */
- $this->setUrls();
-
- /**
- * Log payment started.
- */
- $this->paymentRecord->addLog('started');
-
- /**
- * Create payment request.
- */
- $data = array_merge($this->getIcepayDefaultsData(), $this->getIcepayData());
- $payment = $this->icepay->payment->checkOut($data);
-
- /**
- * Log payment submitted.
- */
- $this->paymentRecord->addLog('submitted', $payment);
-
- /**
- * Validate response.
- */
- if (!isset($payment->ProviderTransactionID) || !isset($payment->PaymentID)) {
- return [
- 'success' => false,
- 'message' => 'Icepay payment provider error - ' . ($payment->Message ?? 'unknown error'),
- ];
- }
-
- /**
- * Set ids.
- */
- $this->paymentRecord->setAndSave([
- 'transaction_id' => $payment->ProviderTransactionID,
- 'payment_id' => $payment->PaymentID,
- ]);
-
- /**
- * Redirect to payment page.
- */
- $this->paymentRecord->addLog('redirected', $payment->PaymentScreenURL);
-
- return [
- 'success' => true,
- 'redirect' => $payment->PaymentScreenURL,
- ];
- } catch (Throwable $e) {
- $this->paymentRecord->addLog('error');
-
- return [
- 'success' => false,
- 'message' => 'Icepay payments are not available at the moment: ' . $e->getMessage(),
- ];
- }
- }
-
- public function getIcepayData()
- {
- return [];
- }
-
- public function startIcepayPartialData($formClass, $handler, $fetch = [])
- {
- $form = resolve($formClass);
- $form->setAction(url('derive.payment.postStartPartial',
- [
- 'handler' => $handler,
- 'order' => $this->order->getOrder(),
- 'payment' => $this->paymentRecord,
- ]));
-
- $config = $this->getPaymentMethod($this->paymentMethod);
- if ($config) {
- if (in_array('country', $fetch)) {
- foreach ($config->Issuers[0]->Countries as $country) {
- $form->country->addOption($country->CountryCode, $country->CountryCode);
- }
- }
-
- if (in_array('issuer', $fetch)) {
- foreach ($config->Issuers as $issuer) {
- $form->issuer->addOption($issuer->IssuerKeyword, $issuer->Description);
- }
- }
- }
- }
-
-}
+icepay = new Client();
+ $this->icepay->setApiKey($this->environment->config('icepay.merchant'));
+ $this->icepay->setApiSecret($this->environment->config('icepay.secret'));
+
+ $this->icepay->setCompletedURL(url(
+ 'derive.payment.success',
+ ['handler' => $this->handler, 'order' => null],
+ true
+ ));
+ $this->icepay->setErrorURL(url('derive.payment.error', ['handler' => $this->handler, 'order' => null], true));
+ return $this;
+ }
+
+ protected function setUrls()
+ {
+ $this->icepay->setCompletedURL($this->getSuccessUrl());
+ $this->icepay->setErrorURL($this->getErrorUrl());
+ }
+
+ private function getIcepayDefaultsData()
+ {
+ $order = $this->order->getOrder();
+ $price = $this->getTotal();
+ $data = [
+ 'Amount' => $price,
+ 'Currency' => config('pckg.payment.currency'),
+ 'Paymentmethod' => $this->paymentMethod,
+ 'Issuer' => $this->issuer,
+ 'Language' => 'EN',
+ 'Country' => '00',
+ 'Description' => $this->order->getDescription(),
+ 'OrderID' => $this->paymentRecord->id,
+ 'Reference' => $this->paymentRecord->id,
+ 'EndUserIP' => request()->clientIp(),
+ ];
+ return $data;
+ }
+
+ public function getTotal()
+ {
+ return round($this->order->getTotal() * 100);
+ }
+
+ public function getTotalToPay()
+ {
+ return round($this->order->getTotalToPay() * 100);
+ }
+
+ protected function validatePostbackChecksum()
+ {
+ $calculatedChecksum = sha1(sprintf(
+ "%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s",
+ $this->icepay->api_secret,
+ $this->icepay->api_key,
+ $this->environment->post('Status'),
+ $this->environment->post('StatusCode'),
+ $this->environment->post('OrderID'),
+ $this->environment->post('PaymentID'),
+ $this->environment->post('Reference'),
+ $this->environment->post('TransactionID'),
+ $this->environment->post('Amount'),
+ $this->environment->post('Currency'),
+ $this->environment->post('Duration'),
+ $this->environment->post('ConsumerIPAddress')
+ ));
+ $checksum = $this->environment->post('Checksum');
+ if ($checksum !== $calculatedChecksum) {
+ throw new Exception('Checksum missmatch!');
+ }
+ }
+
+ public function getPaymentMethods()
+ {
+ $response = $this->icepay->payment->getMyPaymentMethods();
+ return $response;
+ }
+
+ public function getPaymentMethod($method)
+ {
+ return (new Collection($this->getPaymentMethods()->PaymentMethods))->first(function ($paymentMethod) use ($method) {
+
+ return $paymentMethod->PaymentMethodCode == $method;
+ });
+ }
+
+ public function postNotification()
+ {
+ $this->validatePostbackChecksum();
+ $status = $this->environment->post('Status');
+ $reference = $this->environment->post('Reference');
+ $bodyData = (array)$this->environment->post(null);
+ $payment = Payment::getOrFail([
+ 'id' => $reference,
+ ]);
+ $this->setPaymentRecord($payment);
+ if ($status == 'OK') {
+ $this->approvePayment('Icepay #' . $reference, $bodyData, $this->environment->post('TransactionID'));
+ return [
+ 'success' => true,
+ ];
+ }
+
+ $this->errorPayment($bodyData, $status);
+ return [
+ 'success' => false,
+ 'message' => 'Payment error',
+ ];
+ }
+
+ public function initPayment()
+ {
+ $config = $this->getPaymentMethod($this->paymentMethod);
+ $countries = collect($config->Issuers[0]->Countries ?? [])->keyBy('CountryCode')->map('CountryCode');
+ $issuers = collect($config->Issuers ?? [])->keyBy('IssuerKeyword')->map('Description');
+ return [
+ 'countries' => $countries->all(),
+ 'issuers' => $issuers->all(),
+ 'formData' => [
+ 'country' => $countries->keys()[0] ?? null,
+ 'issuer' => $issuers->keys()[0] ?? null,
+ ],
+ ];
+ }
+
+ public function postStart()
+ {
+ try {
+/**
+ * Set completed and error url.
+ */
+ $this->setUrls();
+/**
+ * Log payment started.
+ */
+ $this->paymentRecord->addLog('started');
+/**
+ * Create payment request.
+ */
+ $data = array_merge($this->getIcepayDefaultsData(), $this->getIcepayData());
+ $payment = $this->icepay->payment->checkOut($data);
+/**
+ * Log payment submitted.
+ */
+ $this->paymentRecord->addLog('submitted', $payment);
+/**
+ * Validate response.
+ */
+ if (!isset($payment->ProviderTransactionID) || !isset($payment->PaymentID)) {
+ return [
+ 'success' => false,
+ 'message' => 'Icepay payment provider error - ' . ($payment->Message ?? 'unknown error'),
+ ];
+ }
+
+ /**
+ * Set ids.
+ */
+ $this->paymentRecord->setAndSave([
+ 'transaction_id' => $payment->ProviderTransactionID,
+ 'payment_id' => $payment->PaymentID,
+ ]);
+/**
+ * Redirect to payment page.
+ */
+ $this->paymentRecord->addLog('redirected', $payment->PaymentScreenURL);
+ return [
+ 'success' => true,
+ 'redirect' => $payment->PaymentScreenURL,
+ ];
+ } catch (Throwable $e) {
+ $this->paymentRecord->addLog('error');
+ return [
+ 'success' => false,
+ 'message' => 'Icepay payments are not available at the moment: ' . $e->getMessage(),
+ ];
+ }
+ }
+
+ public function getIcepayData()
+ {
+ return [];
+ }
+
+ public function startIcepayPartialData($formClass, $handler, $fetch = [])
+ {
+ $form = resolve($formClass);
+ $form->setAction(url(
+ 'derive.payment.postStartPartial',
+ [
+ 'handler' => $handler,
+ 'order' => $this->order->getOrder(),
+ 'payment' => $this->paymentRecord,
+ ]
+ ));
+ $config = $this->getPaymentMethod($this->paymentMethod);
+ if ($config) {
+ if (in_array('country', $fetch)) {
+ foreach ($config->Issuers[0]->Countries as $country) {
+ $form->country->addOption($country->CountryCode, $country->CountryCode);
+ }
+ }
+
+ if (in_array('issuer', $fetch)) {
+ foreach ($config->Issuers as $issuer) {
+ $form->issuer->addOption($issuer->IssuerKeyword, $issuer->Description);
+ }
+ }
+ }
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Icepay/Americanexpress.php b/src/Pckg/Payment/Handler/Icepay/Americanexpress.php
index fb0ed8c..d6e2c2d 100644
--- a/src/Pckg/Payment/Handler/Icepay/Americanexpress.php
+++ b/src/Pckg/Payment/Handler/Icepay/Americanexpress.php
@@ -1,10 +1,9 @@
- post('country', null),
- ];
- }
-
- public function startPartialData()
- {
- $this->startIcepayPartialData(BancontactForm::class, 'icepay-bancontact', ['country']);
-
- return [];
- }
-
-}
\ No newline at end of file
+ post('country', null),
+ ];
+ }
+
+ public function startPartialData()
+ {
+ $this->startIcepayPartialData(BancontactForm::class, 'icepay-bancontact', ['country']);
+ return [];
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Icepay/CreditCard.php b/src/Pckg/Payment/Handler/Icepay/CreditCard.php
index cf4fd8c..8b5c61c 100644
--- a/src/Pckg/Payment/Handler/Icepay/CreditCard.php
+++ b/src/Pckg/Payment/Handler/Icepay/CreditCard.php
@@ -1,15 +1,14 @@
-postStartPartial();
- }
-
-}
\ No newline at end of file
+postStartPartial();
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Icepay/Eps.php b/src/Pckg/Payment/Handler/Icepay/Eps.php
index 634ac93..2c8426b 100644
--- a/src/Pckg/Payment/Handler/Icepay/Eps.php
+++ b/src/Pckg/Payment/Handler/Icepay/Eps.php
@@ -1,27 +1,24 @@
-postStartPartial();
- }
-
- public function getIcepayData()
- {
- return [
- 'Language' => 'DE',
- 'Country' => 'DE',
- ];
- }
-
-}
\ No newline at end of file
+postStartPartial();
+ }
+
+ public function getIcepayData()
+ {
+ return [
+ 'Language' => 'DE',
+ 'Country' => 'DE',
+ ];
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Icepay/Giropay.php b/src/Pckg/Payment/Handler/Icepay/Giropay.php
index e5cd020..048d5f2 100644
--- a/src/Pckg/Payment/Handler/Icepay/Giropay.php
+++ b/src/Pckg/Payment/Handler/Icepay/Giropay.php
@@ -1,27 +1,24 @@
-postStartPartial();
- }
-
- public function getIcepayData()
- {
- return [
- 'Language' => 'DE',
- 'Country' => 'DE',
- ];
- }
-
-}
\ No newline at end of file
+postStartPartial();
+ }
+
+ public function getIcepayData()
+ {
+ return [
+ 'Language' => 'DE',
+ 'Country' => 'DE',
+ ];
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Icepay/Ideal.php b/src/Pckg/Payment/Handler/Icepay/Ideal.php
index b24960d..bbc7c47 100644
--- a/src/Pckg/Payment/Handler/Icepay/Ideal.php
+++ b/src/Pckg/Payment/Handler/Icepay/Ideal.php
@@ -1,30 +1,26 @@
- 'NL',
- 'Issuer' => post('issuer', null),
- ];
- }
-
- public function startPartialData()
- {
- $this->startIcepayPartialData(IdealForm::class, 'icepay-ideal', ['issuer']);
-
- return [];
- }
-
-}
\ No newline at end of file
+ 'NL',
+ 'Issuer' => post('issuer', null),
+ ];
+ }
+
+ public function startPartialData()
+ {
+ $this->startIcepayPartialData(IdealForm::class, 'icepay-ideal', ['issuer']);
+ return [];
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Icepay/Mastercard.php b/src/Pckg/Payment/Handler/Icepay/Mastercard.php
index 966212a..b64d587 100644
--- a/src/Pckg/Payment/Handler/Icepay/Mastercard.php
+++ b/src/Pckg/Payment/Handler/Icepay/Mastercard.php
@@ -1,10 +1,9 @@
- post('country', null),
- ];
- }
-
- public function startPartialData()
- {
- $this->startIcepayPartialData(SofortForm::class, 'icepay-sofort', ['country']);
-
- return [];
- }
-
-}
\ No newline at end of file
+ post('country', null),
+ ];
+ }
+
+ public function startPartialData()
+ {
+ $this->startIcepayPartialData(SofortForm::class, 'icepay-sofort', ['country']);
+ return [];
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Icepay/Visa.php b/src/Pckg/Payment/Handler/Icepay/Visa.php
index a3c3b52..1916846 100644
--- a/src/Pckg/Payment/Handler/Icepay/Visa.php
+++ b/src/Pckg/Payment/Handler/Icepay/Visa.php
@@ -1,10 +1,9 @@
-mollie = new \Mollie\Api\MollieApiClient();
- $this->mollie->setApiKey(config('pckg.payment.provider.mollie.apiKey'));
-
- return $this;
- }
-
- public function getCompanySettings()
- {
- $paymentMethods = collect($this->mollie->methods->allActive(['resource' => 'orders']))->keyBy('id')->map('description')->all();
-
- return [
- 'paymentMethods' => $paymentMethods,
- ];
- }
-
- private function getMolliePaymentData()
- {
- return [
- 'amount' => [
- 'currency' => $this->order->getCurrency(),
- 'value' => (string)number_format($this->order->getTotal(), 2, '.', ''),
- ],
- 'description' => $this->getDescription(),
- 'redirectUrl' => $this->getCheckUrl(),
- 'webhookUrl' => $this->getNotificationUrl(),
- 'method' => substr($this->handler, strpos($this->handler, '-') + 1),
- ];
- }
-
- public function postStart()
- {
- try {
- /**
- * Send payment request to Mollie API.
- */
- $paymentData = $this->getMolliePaymentData();
- $payment = $this->mollie->payments->create($paymentData);
-
- /**
- * Save created payment id for future references.
- */
- $this->setPaymentId($payment->id);
-
- /**
- * Redirect to URL in Mollie response.
- */
- $url = $payment->getCheckoutUrl();
- $this->paymentRecord->addLog('redirected', $url);
-
- return [
- 'success' => true,
- 'redirect' => $url,
- ];
-
- } catch (ApiException $e) {
- /**
- * Catch Mollie payments exception.
- */
- $this->paymentRecord->addLog('error', $e->getMessage());
-
- return [
- 'success' => false,
- 'message' => 'Mollie payments not available: ' . $e->getMessage(),
- ];
- } catch (Throwable $e) {
- /**
- * Catch all other exceptions.
- */
- $this->paymentRecord->addLog('error', $e->getMessage());
-
- return [
- 'success' => false,
- 'message' => 'System error:' . $e->getMessage(),
- ];
- }
- }
-
- public function getTotal()
- {
- return round($this->order->getTotal() * 100);
- }
-
- public function getTotalToPay()
- {
- return round($this->order->getTotalToPay() * 100);
- }
-
- public function getPaymentMethods()
- {
- ddd('getting payment methods');
- $response = $this->icepay->payment->getMyPaymentMethods();
-
- return $response;
- }
-
- public function getPaymentMethod($method)
- {
- ddd('get payment method');
-
- return (new Collection($this->getPaymentMethods()->PaymentMethods))->first(function($paymentMethod) use ($method
- ) {
- return $paymentMethod->PaymentMethodCode == $method;
- });
- }
-
- public function check()
- {
- try {
- $payment = $this->mollie->payments->get($this->paymentRecord->payment_id);
-
- if ($payment->isPaid() && !$payment->hasRefunds() && !$payment->hasChargebacks()) {
- return $this->environment->redirect($this->getSuccessUrl());
- }
-
- if ($payment->isFailed() || $payment->isExpired() || $payment->hasRefunds() || $payment->hasChargebacks()) {
- return $this->environment->redirect($this->getErrorUrl());
- }
-
- if ($payment->isCanceled()) {
- return $this->environment->redirect($this->getCancelUrl());
- }
-
- sleep(5);
- return $this->environment->redirect($this->getWaitingUrl());
- } catch (Throwable $e) {
- throw $e;
- }
- }
-
- public function postNotification()
- {
- try {
- /**
- * Get payment record from Mollie payments.
- */
- $payment = $this->mollie->payments->get($this->paymentRecord->payment_id);
-
- /**
- * Start processing info.
- */
- if ($payment->isPaid() && !$payment->hasRefunds() && !$payment->hasChargebacks()) {
- /**
- * Log successful payment, change payment status, trigger events.
- */
- $this->approvePayment("Mollie " . $payment->method . " #" . $payment->id, $payment, $payment->id);
-
- return [
- 'success' => true,
- ];
- } elseif ($payment->isOpen()) {
- } elseif ($payment->isPending()) {
- } elseif ($payment->isFailed()) {
- } elseif ($payment->isExpired()) {
- } elseif ($payment->isCanceled()) {
- } elseif ($payment->hasRefunds()) {
- } elseif ($payment->hasChargebacks()) {
- }
- } catch (\Mollie\Api\Exceptions\ApiException $e) {
- throw $e;
- } catch (Throwable $e) {
- throw $e;
- }
- }
-
-}
+mollie = new \Mollie\Api\MollieApiClient();
+ $this->mollie->setApiKey(config('pckg.payment.provider.mollie.apiKey'));
+ return $this;
+ }
+
+ public function getCompanySettings()
+ {
+ $paymentMethods = collect($this->mollie->methods->allActive(['resource' => 'orders']))->keyBy('id')->map('description')->all();
+ return [
+ 'paymentMethods' => $paymentMethods,
+ ];
+ }
+
+ private function getMolliePaymentData()
+ {
+ return [
+ 'amount' => [
+ 'currency' => $this->order->getCurrency(),
+ 'value' => (string)number_format($this->order->getTotal(), 2, '.', ''),
+ ],
+ 'description' => $this->getDescription(),
+ 'redirectUrl' => $this->getCheckUrl(),
+ 'webhookUrl' => $this->getNotificationUrl(),
+ 'method' => substr($this->handler, strpos($this->handler, '-') + 1),
+ ];
+ }
+
+ public function postStart()
+ {
+ try {
+/**
+ * Send payment request to Mollie API.
+ */
+ $paymentData = $this->getMolliePaymentData();
+ $payment = $this->mollie->payments->create($paymentData);
+/**
+ * Save created payment id for future references.
+ */
+ $this->setPaymentId($payment->id);
+/**
+ * Redirect to URL in Mollie response.
+ */
+ $url = $payment->getCheckoutUrl();
+ $this->paymentRecord->addLog('redirected', $url);
+ return [
+ 'success' => true,
+ 'redirect' => $url,
+ ];
+ } catch (ApiException $e) {
+ /**
+ * Catch Mollie payments exception.
+ */
+ $this->paymentRecord->addLog('error', $e->getMessage());
+ return [
+ 'success' => false,
+ 'message' => 'Mollie payments not available: ' . $e->getMessage(),
+ ];
+ } catch (Throwable $e) {
+ /**
+ * Catch all other exceptions.
+ */
+ $this->paymentRecord->addLog('error', $e->getMessage());
+ return [
+ 'success' => false,
+ 'message' => 'System error:' . $e->getMessage(),
+ ];
+ }
+ }
+
+ public function getTotal()
+ {
+ return round($this->order->getTotal() * 100);
+ }
+
+ public function getTotalToPay()
+ {
+ return round($this->order->getTotalToPay() * 100);
+ }
+
+ public function getPaymentMethods()
+ {
+ ddd('getting payment methods');
+ }
+
+ public function getPaymentMethod($method)
+ {
+ ddd('get payment method');
+ }
+
+ public function check()
+ {
+ try {
+ $payment = $this->mollie->payments->get($this->paymentRecord->payment_id);
+ if ($payment->isPaid() && !$payment->hasRefunds() && !$payment->hasChargebacks()) {
+ return $this->environment->redirect($this->getSuccessUrl());
+ }
+
+ if ($payment->isFailed() || $payment->isExpired() || $payment->hasRefunds() || $payment->hasChargebacks()) {
+ return $this->environment->redirect($this->getErrorUrl());
+ }
+
+ if ($payment->isCanceled()) {
+ return $this->environment->redirect($this->getCancelUrl());
+ }
+
+ sleep(5);
+ return $this->environment->redirect($this->getWaitingUrl());
+ } catch (Throwable $e) {
+ throw $e;
+ }
+ }
+
+ public function postNotification()
+ {
+ try {
+/**
+ * Get payment record from Mollie payments.
+ */
+ $payment = $this->mollie->payments->get($this->paymentRecord->payment_id);
+/**
+ * Start processing info.
+ */
+ if ($payment->isPaid() && !$payment->hasRefunds() && !$payment->hasChargebacks()) {
+/**
+ * Log successful payment, change payment status, trigger events.
+ */
+ $this->approvePayment("Mollie " . $payment->method . " #" . $payment->id, $payment, $payment->id);
+ return [
+ 'success' => true,
+ ];
+ } elseif ($payment->isOpen()) {
+ } elseif ($payment->isPending()) {
+ } elseif ($payment->isFailed()) {
+ } elseif ($payment->isExpired()) {
+ } elseif ($payment->isCanceled()) {
+ } elseif ($payment->hasRefunds()) {
+ } elseif ($payment->hasChargebacks()) {
+ }
+ } catch (\Mollie\Api\Exceptions\ApiException $e) {
+ throw $e;
+ } catch (Throwable $e) {
+ throw $e;
+ }
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Mollie/Bancontact.php b/src/Pckg/Payment/Handler/Mollie/Bancontact.php
index 5618c32..8126e88 100644
--- a/src/Pckg/Payment/Handler/Mollie/Bancontact.php
+++ b/src/Pckg/Payment/Handler/Mollie/Bancontact.php
@@ -1,12 +1,12 @@
-completePurchase();
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/Omnipay/Revolut.php b/src/Pckg/Payment/Handler/Omnipay/Revolut.php
index 7ec6e82..9da066c 100644
--- a/src/Pckg/Payment/Handler/Omnipay/Revolut.php
+++ b/src/Pckg/Payment/Handler/Omnipay/Revolut.php
@@ -1,4 +1,6 @@
- $events,
])->isSuccessful();
}
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/Paymill.php b/src/Pckg/Payment/Handler/Paymill.php
index aa672a7..29116f4 100644
--- a/src/Pckg/Payment/Handler/Paymill.php
+++ b/src/Pckg/Payment/Handler/Paymill.php
@@ -1,117 +1,106 @@
- 'required',
- 'number' => 'required',
- 'exp_month' => 'required',
- 'exp_year' => 'required',
- 'cvc' => 'required',
- 'amount_int' => 'required',
- ];
-
- if (!$this->environment->validates($request, $rules)) {
- return $this->environment->errorJsonResponse();
- }
-
- return [
- 'success' => true,
- ];
- }
-
- public function initHandler()
- {
- $this->config = [
- 'private_key' => $this->environment->config('paymill.private_key'),
- 'public_key' => $this->environment->config('paymill.public_key'),
- ];
-
- $this->paymill = new Request($this->config['private_key']);
-
- return $this;
- }
-
- public function getTotal()
- {
- return round($this->order->getTotal() * 100);
- }
-
- public function getTotalToPay()
- {
- return round($this->order->getTotalToPay() * 100);
- }
-
- public function getPublicKey()
- {
- return $this->config['public_key'];
- }
-
- public function start()
- {
- $payment = new Payment();
- $payment->setToken($this->environment->request('token'));
- $payment->setClient($this->order->getCustomer());
-
- $response = null;
- try {
- $this->log($payment);
- $response = $this->paymill->create($payment);
- $this->log($response);
-
- } catch (Throwable $e) {
- $this->log($e);
- throw $e;
-
- } finally {
- if ($paymentId = $response->getId()) {
- return $this->makeTransaction($paymentId);
- }
- }
- }
-
- protected function makeTransaction($paymentId)
- {
- $transaction = new Transaction();
- $transaction->setAmount($this->getTotalToPay())
- ->setCurrency($this->order->getCurrency())
- ->setPayment($paymentId)
- ->setDescription($this->order->getDescription());
-
- $response = null;
- try {
- $this->log($transaction);
- $response = $this->paymill->create($transaction);
- $this->log($response);
- } catch (Throwable $e) {
- $this->log($e);
- throw $e;
-
- } finally {
- if ($response->getStatus() == 'closed') {
- $this->order->setPaid();
-
- return true;
- }
-
- }
- }
-
- protected function handleTransactionResponse($response)
- {
- if ($response->getStatus() == 'closed') {
- $this->order->setPaid();
- }
- }
-
-}
\ No newline at end of file
+ 'required',
+ 'number' => 'required',
+ 'exp_month' => 'required',
+ 'exp_year' => 'required',
+ 'cvc' => 'required',
+ 'amount_int' => 'required',
+ ];
+ if (!$this->environment->validates($request, $rules)) {
+ return $this->environment->errorJsonResponse();
+ }
+
+ return [
+ 'success' => true,
+ ];
+ }
+
+ public function initHandler()
+ {
+ $this->config = [
+ 'private_key' => $this->environment->config('paymill.private_key'),
+ 'public_key' => $this->environment->config('paymill.public_key'),
+ ];
+ $this->paymill = new Request($this->config['private_key']);
+ return $this;
+ }
+
+ public function getTotal()
+ {
+ return round($this->order->getTotal() * 100);
+ }
+
+ public function getTotalToPay()
+ {
+ return round($this->order->getTotalToPay() * 100);
+ }
+
+ public function getPublicKey()
+ {
+ return $this->config['public_key'];
+ }
+
+ public function start()
+ {
+ $payment = new Payment();
+ $payment->setToken($this->environment->request('token'));
+ $payment->setClient($this->order->getCustomer());
+ $response = null;
+ try {
+ $this->log($payment);
+ $response = $this->paymill->create($payment);
+ $this->log($response);
+ } catch (Throwable $e) {
+ $this->log($e);
+ throw $e;
+ } finally {
+ if ($paymentId = $response->getId()) {
+ return $this->makeTransaction($paymentId);
+ }
+ }
+ }
+
+ protected function makeTransaction($paymentId)
+ {
+ $transaction = new Transaction();
+ $transaction->setAmount($this->getTotalToPay())
+ ->setCurrency($this->order->getCurrency())
+ ->setPayment($paymentId)
+ ->setDescription($this->order->getDescription());
+ $response = null;
+ try {
+ $this->log($transaction);
+ $response = $this->paymill->create($transaction);
+ $this->log($response);
+ } catch (Throwable $e) {
+ $this->log($e);
+ throw $e;
+ } finally {
+ if ($response->getStatus() == 'closed') {
+ $this->order->setPaid();
+ return true;
+ }
+ }
+ }
+
+ protected function handleTransactionResponse($response)
+ {
+ if ($response->getStatus() == 'closed') {
+ $this->order->setPaid();
+ }
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Paymill/Paypal.php b/src/Pckg/Payment/Handler/Paymill/Paypal.php
index 8816b72..d73f5b5 100644
--- a/src/Pckg/Payment/Handler/Paymill/Paypal.php
+++ b/src/Pckg/Payment/Handler/Paymill/Paypal.php
@@ -1,83 +1,67 @@
- true,
- 'checksum' => $this->getChecksum(),
- ];
- }
-
- public function getChecksum()
- {
- $checksum = new Checksum();
- $checksum->setChecksumType(Checksum::TYPE_PAYPAL)
- ->setAmount($this->getTotalToPay())
- ->setCurrency(config('pckg.payment.currency'))
- ->setDescription('Description')
- ->setReturnUrl($this->getReturnUrl())
- ->setCancelUrl($this->getCancelUrl());
-
- $response = $this->paymill->create($checksum);
-
- return $response->getId();
- }
-
- private function getReturnUrl()
- {
- return $this->environment->fullUrl(
- $this->environment->config('paymill-paypal.url_return'),
- [
- 'handler' => 'paymill-paypal',
- 'listing' => $this->order->getOrder(),
- ]
- );
- }
-
- private function getCancelUrl()
- {
- return $this->environment->fullUrl(
- $this->environment->config('paymill-paypal.url_cancel'),
- [
- 'handler' => 'paymill-paypal',
- 'listing' => $this->order->getOrder(),
- ]
- );
- }
-
- public function success()
- {
- $transaction = new Transaction();
- $transaction->setId($this->environment->request('paymill_trx_id'));
-
- $response = $this->paymill->getOne($transaction);
-
- if ($response->getStatus() == 'closed') {
- $this->order->setPaid();
- }
- }
-
- public function getValidateUrl()
- {
- return $this->environment->url(
- 'payment.validate',
- ['handler' => 'paymill-paypal', 'order' => $this->order->getOrder()]
- );
- }
-
- public function getStartUrl()
- {
- return $this->environment->url(
- 'payment.start',
- ['handler' => 'paymill-paypal', 'order' => $this->order->getOrder()]
- );
- }
-
-}
\ No newline at end of file
+ true,
+ 'checksum' => $this->getChecksum(),
+ ];
+ }
+
+ public function getChecksum()
+ {
+ $checksum = new Checksum();
+ $checksum->setChecksumType(Checksum::TYPE_PAYPAL)
+ ->setAmount($this->getTotalToPay())
+ ->setCurrency(config('pckg.payment.currency'))
+ ->setDescription('Description')
+ ->setReturnUrl($this->getReturnUrl())
+ ->setCancelUrl($this->getCancelUrl());
+ $response = $this->paymill->create($checksum);
+ return $response->getId();
+ }
+
+ public function getReturnUrl()
+ {
+ return $this->environment->fullUrl($this->environment->config('paymill-paypal.url_return'), [
+ 'handler' => 'paymill-paypal',
+ 'listing' => $this->order->getOrder(),
+ ]);
+ }
+
+ public function getCancelUrl()
+ {
+ return $this->environment->fullUrl($this->environment->config('paymill-paypal.url_cancel'), [
+ 'handler' => 'paymill-paypal',
+ 'listing' => $this->order->getOrder(),
+ ]);
+ }
+
+ public function success()
+ {
+ $transaction = new Transaction();
+ $transaction->setId($this->environment->request('paymill_trx_id'));
+ $response = $this->paymill->getOne($transaction);
+ if ($response->getStatus() == 'closed') {
+ $this->order->setPaid();
+ }
+ }
+
+ public function getValidateUrl()
+ {
+ return $this->environment->url('payment.validate', ['handler' => 'paymill-paypal', 'order' => $this->order->getOrder()]);
+ }
+
+ public function getStartUrl()
+ {
+ return $this->environment->url('payment.start', ['handler' => 'paymill-paypal', 'order' => $this->order->getOrder()]);
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Paymill/Sepa.php b/src/Pckg/Payment/Handler/Paymill/Sepa.php
index 3e6ba66..428472f 100644
--- a/src/Pckg/Payment/Handler/Paymill/Sepa.php
+++ b/src/Pckg/Payment/Handler/Paymill/Sepa.php
@@ -1,41 +1,34 @@
- 'required',
- 'iban' => 'required',
- 'bic' => 'required',
- ];
-
- if (!$this->environment->validates($request, $rules)) {
- return $this->environment->errorJsonResponse();
- }
-
- return [
- 'success' => true,
- ];
- }
-
- public function getValidateUrl()
- {
- return $this->environment->url(
- 'payment.validate',
- ['handler' => 'paymill-sepa', 'order' => $this->order->getOrder()]
- );
- }
-
- public function getStartUrl()
- {
- return $this->environment->url(
- 'payment.start',
- ['handler' => 'paymill-sepa', 'order' => $this->order->getOrder()]
- );
- }
-
-}
\ No newline at end of file
+ 'required',
+ 'iban' => 'required',
+ 'bic' => 'required',
+ ];
+ if (!$this->environment->validates($request, $rules)) {
+ return $this->environment->errorJsonResponse();
+ }
+
+ return [
+ 'success' => true,
+ ];
+ }
+
+ public function getValidateUrl()
+ {
+ return $this->environment->url('payment.validate', ['handler' => 'paymill-sepa', 'order' => $this->order->getOrder()]);
+ }
+
+ public function getStartUrl()
+ {
+ return $this->environment->url('payment.start', ['handler' => 'paymill-sepa', 'order' => $this->order->getOrder()]);
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Paypal.php b/src/Pckg/Payment/Handler/Paypal.php
index ef21557..a506c01 100644
--- a/src/Pckg/Payment/Handler/Paypal.php
+++ b/src/Pckg/Payment/Handler/Paypal.php
@@ -1,199 +1,177 @@
-config = [
- 'username' => $this->environment->config('paypal.username'),
- 'password' => $this->environment->config('paypal.password'),
- 'signature' => $this->environment->config('paypal.signature'),
- 'url' => $this->environment->config('paypal.url'),
- 'url_token' => $this->environment->config('paypal.url_token'),
- 'url_return' => $this->environment->config('paypal.url_return'),
- 'url_cancel' => $this->environment->config('paypal.url_cancel'),
- ];
-
- return $this;
- }
-
- public function start()
- {
- $fields = [
- 'METHOD' => 'SetExpressCheckout',
- 'RETURNURL' => $this->environment->url(
- $this->config['url_return'],
- ['handler' => 'paypal', 'order' => $this->order->getOrder()]
- ),
- 'CANCELURL' => $this->environment->url(
- $this->config['url_cancel'],
- ['handler' => 'paypal', 'order' => $this->order->getOrder()]
- ),
- 'NOSHIPPING' => '1',
- 'ALLOWNOTE' => '0',
- 'ADDROVERRIDE' => '0',
- ];
-
- $fields = array_merge($fields, $this->fetchOrderData());
-
- $response = $this->makeRequest($fields);
-
- if ($response['ACK'] == static::ACK_SUCCESS) {
- $url = str_replace('[token]', $response['TOKEN'], $this->config['url_token']);
- $this->environment->redirect($url);
- }
-
- return $response;
- }
-
- public function fetchOrderData()
- {
- $total = $this->order->getTotal();
- $productsSum = 0.0;
- $products = [];
- foreach ($this->order->getProducts() as $product) {
- $productsSum += $product->getTotal();
- $products[] = [
- 'NAME' => $product->getName(),
- 'AMT' => $product->getPrice(),
- 'QTY' => $product->getQuantity(),
- ];
- }
-
- if ($deliveryPrice = $this->order->getDelivery()) {
- $products[] = [
- 'NAME' => 'Delivery',
- 'AMT' => $deliveryPrice,
- 'QTY' => 1,
- ];
- $productsSum += $deliveryPrice;
- }
-
- if ($discount = round($productsSum - $total)) {
- $products[] = [
- 'NAME' => 'Discount',
- 'AMT' => 0 - $discount,
- 'QTY' => 1,
- ];
- $productsSum -= $discount;
- }
-
- $fields = [
- 'PAYMENTREQUEST_0_PAYMENTACTION' => static::PAYMENTACTION,
- 'PAYMENTREQUEST_0_AMT' => $total,
- 'PAYMENTREQEUST_0_CURRENCYCODE' => $this->order->getCurrency(),
- 'PAYMENTREQEUST_0_ITEMAMT' => $productsSum,
- ];
-
- foreach ($products as $i => $product) {
- $fields['L_PAYMENTREQUEST_0_NAME' . $i] = $product['NAME'];
- $fields['L_PAYMENTREQUEST_0_AMT' . $i] = $product['AMT'];
- $fields['L_PAYMENTREQUEST_0_QTY' . $i] = $product['QTY'];
- }
-
- return $fields;
- }
-
- public function makeRequest($fields)
- {
- $fields = array_merge($fields, $this->getApiCredentials());
- $postFields = $this->stringifyFields($fields);
-
- $options = [
- CURLOPT_URL => $this->config['url'],
- CURLOPT_HEADER => false,
- CURLOPT_VERBOSE => false,
- CURLOPT_SSL_VERIFYPEER => false,
- CURLOPT_SSL_VERIFYHOST => false,
- CURLOPT_FAILONERROR => false,
- CURLOPT_FOLLOWLOCATION => false,
- CURLOPT_RETURNTRANSFER => true,
- CURLOPT_POST => true,
- CURLOPT_POSTFIELDS => $postFields,
- CURLOPT_TIMEOUT => 30,
- CURLOPT_CONNECTTIMEOUT => 30,
- ];
-
- $ch = curl_init();
- curl_setopt_array($ch, $options);
- $response = curl_exec($ch);
- $error = curl_error($ch);
- curl_close($ch);
-
- if (!$response) {
- throw new Exception("Request has failed! ($error)");
- }
-
- $responseArray = explode('&', $response);
- $response = [];
- foreach ($responseArray as $val) {
- list($key, $val) = explode('=', $val, 2);
- $response[$key] = urldecode($val);
- }
-
- return $response;
- }
-
- public function getApiCredentials()
- {
- return [
- 'VERSION' => '64.0',
- 'USER' => $this->config['username'],
- 'PWD' => $this->config['password'],
- 'SIGNATURE' => $this->config['signature'],
- ];
- }
-
- public function stringifyFields($fields)
- {
- $postFields = [];
- foreach ($fields as $key => $val) {
- $postFields[] = $key . '=' . urlencode($val);
- }
-
- return implode('&', $postFields);
- }
-
- public function success()
- {
- $token = $this->environment->request('token');
- $fields = [
- 'METHOD' => 'GetExpressCheckoutDetails',
- 'TOKEN' => $token,
- ];
-
- $response = $this->makeRequest($fields);
-
- if ($response['CHECKOUTSTATUS'] == static::CHECKOUTSTATUS_PAYMENT_ACTION_NOT_INITIATED && isset($response['PAYERID'])) {
- $fields = [
- 'METHOD' => 'DoExpressCheckoutPayment',
- 'TOKEN' => $token,
- 'PAYMENTACTION' => static::PAYMENTACTION,
- 'PAYERID' => $response['PAYERID'],
- 'AMT' => $response['AMT'],
- 'CURRENCYCODE' => $response['CURRENCYCODE'],
- ];
-
- $response = $this->makeRequest($fields);
-
- if ($response['ACK'] == static::ACK_SUCCESS) {
- $this->order->setPaid();
- }
- }
- }
-
- public function error()
- {
-
- }
-
-}
\ No newline at end of file
+config = [
+ 'username' => $this->environment->config('paypal.username'),
+ 'password' => $this->environment->config('paypal.password'),
+ 'signature' => $this->environment->config('paypal.signature'),
+ 'url' => $this->environment->config('paypal.url'),
+ 'url_token' => $this->environment->config('paypal.url_token'),
+ 'url_return' => $this->environment->config('paypal.url_return'),
+ 'url_cancel' => $this->environment->config('paypal.url_cancel'),
+ ];
+ return $this;
+ }
+
+ public function start()
+ {
+ $fields = [
+ 'METHOD' => 'SetExpressCheckout',
+ 'RETURNURL' => $this->environment->url($this->config['url_return'], ['handler' => 'paypal', 'order' => $this->order->getOrder()]),
+ 'CANCELURL' => $this->environment->url($this->config['url_cancel'], ['handler' => 'paypal', 'order' => $this->order->getOrder()]),
+ 'NOSHIPPING' => '1',
+ 'ALLOWNOTE' => '0',
+ 'ADDROVERRIDE' => '0',
+ ];
+ $fields = array_merge($fields, $this->fetchOrderData());
+ $response = $this->makeRequest($fields);
+ if ($response['ACK'] == static::ACK_SUCCESS) {
+ $url = str_replace('[token]', $response['TOKEN'], $this->config['url_token']);
+ $this->environment->redirect($url);
+ }
+
+ return $response;
+ }
+
+ public function fetchOrderData()
+ {
+ $total = $this->order->getTotal();
+ $productsSum = 0.0;
+ $products = [];
+ foreach ($this->order->getProducts() as $product) {
+ $productsSum += $product->getTotal();
+ $products[] = [
+ 'NAME' => $product->getName(),
+ 'AMT' => $product->getPrice(),
+ 'QTY' => $product->getQuantity(),
+ ];
+ }
+
+ if ($deliveryPrice = $this->order->getDelivery()) {
+ $products[] = [
+ 'NAME' => 'Delivery',
+ 'AMT' => $deliveryPrice,
+ 'QTY' => 1,
+ ];
+ $productsSum += $deliveryPrice;
+ }
+
+ if ($discount = round($productsSum - $total)) {
+ $products[] = [
+ 'NAME' => 'Discount',
+ 'AMT' => 0 - $discount,
+ 'QTY' => 1,
+ ];
+ $productsSum -= $discount;
+ }
+
+ $fields = [
+ 'PAYMENTREQUEST_0_PAYMENTACTION' => static::PAYMENTACTION,
+ 'PAYMENTREQUEST_0_AMT' => $total,
+ 'PAYMENTREQEUST_0_CURRENCYCODE' => $this->order->getCurrency(),
+ 'PAYMENTREQEUST_0_ITEMAMT' => $productsSum,
+ ];
+ foreach ($products as $i => $product) {
+ $fields['L_PAYMENTREQUEST_0_NAME' . $i] = $product['NAME'];
+ $fields['L_PAYMENTREQUEST_0_AMT' . $i] = $product['AMT'];
+ $fields['L_PAYMENTREQUEST_0_QTY' . $i] = $product['QTY'];
+ }
+
+ return $fields;
+ }
+
+ public function makeRequest($fields)
+ {
+ $fields = array_merge($fields, $this->getApiCredentials());
+ $postFields = $this->stringifyFields($fields);
+ $options = [
+ CURLOPT_URL => $this->config['url'],
+ CURLOPT_HEADER => false,
+ CURLOPT_VERBOSE => false,
+ CURLOPT_SSL_VERIFYPEER => false,
+ CURLOPT_SSL_VERIFYHOST => false,
+ CURLOPT_FAILONERROR => false,
+ CURLOPT_FOLLOWLOCATION => false,
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_POST => true,
+ CURLOPT_POSTFIELDS => $postFields,
+ CURLOPT_TIMEOUT => 30,
+ CURLOPT_CONNECTTIMEOUT => 30,
+ ];
+ $ch = curl_init();
+ curl_setopt_array($ch, $options);
+ $response = curl_exec($ch);
+ $error = curl_error($ch);
+ curl_close($ch);
+ if (!$response) {
+ throw new Exception("Request has failed! ($error)");
+ }
+
+ $responseArray = explode('&', $response);
+ $response = [];
+ foreach ($responseArray as $val) {
+ list($key, $val) = explode('=', $val, 2);
+ $response[$key] = urldecode($val);
+ }
+
+ return $response;
+ }
+
+ public function getApiCredentials()
+ {
+ return [
+ 'VERSION' => '64.0',
+ 'USER' => $this->config['username'],
+ 'PWD' => $this->config['password'],
+ 'SIGNATURE' => $this->config['signature'],
+ ];
+ }
+
+ public function stringifyFields($fields)
+ {
+ $postFields = [];
+ foreach ($fields as $key => $val) {
+ $postFields[] = $key . '=' . urlencode($val);
+ }
+
+ return implode('&', $postFields);
+ }
+
+ public function success()
+ {
+ $token = $this->environment->request('token');
+ $fields = [
+ 'METHOD' => 'GetExpressCheckoutDetails',
+ 'TOKEN' => $token,
+ ];
+ $response = $this->makeRequest($fields);
+ if ($response['CHECKOUTSTATUS'] == static::CHECKOUTSTATUS_PAYMENT_ACTION_NOT_INITIATED && isset($response['PAYERID'])) {
+ $fields = [
+ 'METHOD' => 'DoExpressCheckoutPayment',
+ 'TOKEN' => $token,
+ 'PAYMENTACTION' => static::PAYMENTACTION,
+ 'PAYERID' => $response['PAYERID'],
+ 'AMT' => $response['AMT'],
+ 'CURRENCYCODE' => $response['CURRENCYCODE'],
+ ];
+ $response = $this->makeRequest($fields);
+ if ($response['ACK'] == static::ACK_SUCCESS) {
+ $this->order->setPaid();
+ }
+ }
+ }
+
+ public function error()
+ {
+ }
+}
diff --git a/src/Pckg/Payment/Handler/PaypalGnp.php b/src/Pckg/Payment/Handler/PaypalGnp.php
index 60d38d8..ef0af24 100644
--- a/src/Pckg/Payment/Handler/PaypalGnp.php
+++ b/src/Pckg/Payment/Handler/PaypalGnp.php
@@ -1,292 +1,251 @@
-config = [
- 'endpoint' => $this->environment->config('paypal.endpoint'),
- 'client' => $this->environment->config('paypal.client'),
- 'secret' => $this->environment->config('paypal.secret'),
- ];
-
- return $this;
- }
-
- protected function getAccessToken()
- {
- $ch = curl_init();
-
- curl_setopt($ch, CURLOPT_URL, "https://" . $this->config['endpoint'] . "/v1/oauth2/token");
- curl_setopt($ch, CURLOPT_HEADER, false);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_USERPWD, $this->config['client'] . ":" . $this->config['secret']);
- curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
-
- $result = curl_exec($ch);
-
- curl_close($ch);
-
- if (empty($result)) {
- return false;
- } else {
- $json = json_decode($result);
-
- return $json->access_token;
- }
- }
-
- public function postStart()
- {
- $price = $this->getTotal();
- $accessToken = $this->getAccessToken();
-
- $arrData = [
- "intent" => "sale",
- "redirect_urls" => [
- "return_url" => $this->getCheckUrl(),
- "cancel_url" => $this->getCancelUrl(),
- ],
- "payer" => [
- "payment_method" => "paypal",
- ],
- "transactions" => [
- [
- "amount" => [
- "total" => $price,
- "currency" => $this->getCurrency(),
- ],
- "description" => $this->getDescription(),
- ],
- ],
- ];
- $this->paymentRecord->addLog('requesting', $arrData);
-
- $ch = curl_init();
-
- curl_setopt($ch, CURLOPT_URL, "https://" . $this->config['endpoint'] . "/v1/payments/payment");
- curl_setopt($ch, CURLOPT_HTTPHEADER, [
- "Authorization: Bearer " . $accessToken,
- "Content-Type: application/json",
- ]);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrData));
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
- $result = curl_exec($ch);
- curl_close($ch);
-
- if (!$result) {
- return [
- 'success' => false,
- 'message' => 'Paypal payments are not available at the moment.',
- ];
- }
-
- $json = json_decode($result);
-
- if (isset($json->state) && $json->state == "created") {
- $this->paymentRecord->addLog('redirect', $result);
- $this->paymentRecord->setAndSave(['payment_id' => $json->id]);
-
- return [
- 'success' => true,
- 'redirect' => $json->links[1]->href,
- ];
- }
-
- $this->paymentRecord->addLog('error', $result);
-
- return [
- 'success' => false,
- 'message' => $json->info->message ?? 'Unknown paypal error',
- 'info' => $json,
- ];
- }
-
- public function check()
- {
- $accessToken = $this->getAccessToken();
-
- $arrData = [
- "payer_id" => get('PayerID'),
- ];
-
- $ch = curl_init();
-
- curl_setopt($ch, CURLOPT_URL, "https://" . $this->config['endpoint'] . "/v1/payments/payment/" .
- $this->paymentRecord->payment_id . "/execute/");
- curl_setopt($ch, CURLOPT_HTTPHEADER, [
- "Authorization: Bearer " . $accessToken,
- "Content-Type: application/json",
- ]);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrData));
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
- $result = curl_exec($ch);
- curl_close($ch);
-
- if (!$result) {
- throw new Exception(__('error_title_cannot_execute_order'));
- }
-
- $json = json_decode($result);
-
- $this->log($json);
-
- if (!isset($json->state)) { // unknown error
- if ($json->name == 'PAYMENT_ALREADY_DONE') {
- }
-
- return $this->environment->redirect($this->getErrorUrl());
- }
-
- /**
- * Handle successful payment.
- */
- if ($json->state == "approved") {
- $transaction = end($json->transactions);
- $resource = end($transaction->related_resources);
- $this->approvePayment("Paypal " . $resource->sale->id, $json, $json->id);
- $this->environment->redirect($this->getSuccessUrl());
-
- return;
- }
-
- $this->paymentRecord->setAndSave([
- "status" => $json->state,
- "transaction_id" => $json->id,
- ]);
-
- if ($json->state == "pending") {
- $this->environment->redirect($this->getWaitingUrl());
-
- return;
- }
-
- /**
- * Redirect on error.
- */
- return $this->environment->redirect($this->getErrorUrl());
- }
-
- public function refund(Payment $payment, $amount = null)
- {
- /**
- * Transaction ID is needed for refund transaction.
- */
- $transactionId = $payment->finalTransactionId;
-
- if ($transactionId && $payment->payment_id && $payment->transaction_id && $payment->transaction_id == $payment->payment_id) {
- $payment->setAndSave(['transaction_id' => $transactionId]);
- }
-
- if (!$transactionId) {
- throw new Exception('Transaction ID not found');
- }
-
- /**
- * We will issue transaction, create new payment record.
- */
- $refundPaymentRecord = Payment::createForRefund($payment, $amount);
-
- $arrData = [
- 'amount' => [
- 'total' => $amount,
- 'currency' => $this->getCurrency(),
- ],
- 'description' => 'Refund transaction #' . $payment->id,
- ];
-
- /**
- * Save log.
- */
- $refundPaymentRecord->addLog('request:refund', $arrData);
-
- /**
- * Make request to paypal.
- */
- $result = $this->makeCurlRequest("/v1/payments/sale/" . $transactionId . "/refund", $arrData);
-
- /**
- * Handle empty result.
- */
- if (!$result) {
- $refundPaymentRecord->addLog('response:empty');
-
- return [
- 'success' => false,
- 'message' => 'Paypal payments are not available at the moment.',
- ];
- }
-
- $json = json_decode($result);
-
- /**
- * Check for proper completed status.
- */
- if (isset($json->state) && $json->state == "completed") {
- $this->paymentRecord = $refundPaymentRecord;
- $this->approveRefund('Refund Paypal #' . $json->id, $json, $json->id);
-
- return [
- 'success' => true,
- ];
- }
-
- /**
- * Add error log.
- */
- $payment->addLog($json->state ?? 'error', $json);
-
- return [
- 'success' => false,
- 'message' => 'Paypal error: ' . ($json->message ?? 'unknown error'),
- 'info' => $json,
- ];
- }
-
- protected function makeCurlRequest($endpoint, $arrData)
- {
- $accessToken = $this->getAccessToken();
-
- $ch = curl_init();
-
- $headers = [
- "Authorization: Bearer " . $accessToken,
- "Content-Type: application/json",
- ];
- $url = "https://" . $this->config['endpoint'] . $endpoint;
-
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch, CURLOPT_POST, true);
- curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
- curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrData));
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
-
- $result = curl_exec($ch);
- curl_close($ch);
-
- return $result;
- }
-
-}
\ No newline at end of file
+config = [
+ 'endpoint' => $this->environment->config('paypal.endpoint'),
+ 'client' => $this->environment->config('paypal.client'),
+ 'secret' => $this->environment->config('paypal.secret'),
+ ];
+ return $this;
+ }
+
+ protected function getAccessToken()
+ {
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, "https://" . $this->config['endpoint'] . "/v1/oauth2/token");
+ curl_setopt($ch, CURLOPT_HEADER, false);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+ curl_setopt($ch, CURLOPT_POST, true);
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ curl_setopt($ch, CURLOPT_USERPWD, $this->config['client'] . ":" . $this->config['secret']);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");
+ $result = curl_exec($ch);
+ curl_close($ch);
+ if (empty($result)) {
+ return false;
+ } else {
+ $json = json_decode($result);
+ return $json->access_token;
+ }
+ }
+
+ public function postStart()
+ {
+ $price = $this->getTotal();
+ $accessToken = $this->getAccessToken();
+ $arrData = [
+ "intent" => "sale",
+ "redirect_urls" => [
+ "return_url" => $this->getCheckUrl(),
+ "cancel_url" => $this->getCancelUrl(),
+ ],
+ "payer" => [
+ "payment_method" => "paypal",
+ ],
+ "transactions" => [
+ [
+ "amount" => [
+ "total" => $price,
+ "currency" => $this->getCurrency(),
+ ],
+ "description" => $this->getDescription(),
+ ],
+ ],
+ ];
+ $this->paymentRecord->addLog('requesting', $arrData);
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, "https://" . $this->config['endpoint'] . "/v1/payments/payment");
+ curl_setopt($ch, CURLOPT_HTTPHEADER, [
+ "Authorization: Bearer " . $accessToken,
+ "Content-Type: application/json",
+ ]);
+ curl_setopt($ch, CURLOPT_POST, true);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrData));
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ $result = curl_exec($ch);
+ curl_close($ch);
+ if (!$result) {
+ return [
+ 'success' => false,
+ 'message' => 'Paypal payments are not available at the moment.',
+ ];
+ }
+
+ $json = json_decode($result);
+ if (isset($json->state) && $json->state == "created") {
+ $this->paymentRecord->addLog('redirect', $result);
+ $this->paymentRecord->setAndSave(['payment_id' => $json->id]);
+ return [
+ 'success' => true,
+ 'redirect' => $json->links[1]->href,
+ ];
+ }
+
+ $this->paymentRecord->addLog('error', $result);
+ return [
+ 'success' => false,
+ 'message' => $json->info->message ?? 'Unknown paypal error',
+ 'info' => $json,
+ ];
+ }
+
+ public function check()
+ {
+ $accessToken = $this->getAccessToken();
+ $arrData = [
+ "payer_id" => get('PayerID'),
+ ];
+ $ch = curl_init();
+ curl_setopt($ch, CURLOPT_URL, "https://" . $this->config['endpoint'] . "/v1/payments/payment/" .
+ $this->paymentRecord->payment_id . "/execute/");
+ curl_setopt($ch, CURLOPT_HTTPHEADER, [
+ "Authorization: Bearer " . $accessToken,
+ "Content-Type: application/json",
+ ]);
+ curl_setopt($ch, CURLOPT_POST, true);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrData));
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ $result = curl_exec($ch);
+ curl_close($ch);
+ if (!$result) {
+ throw new Exception(__('error_title_cannot_execute_order'));
+ }
+
+ $json = json_decode($result);
+ $this->log($json);
+ if (!isset($json->state)) {
+ // unknown error
+ if ($json->name == 'PAYMENT_ALREADY_DONE') {
+ }
+
+ return $this->environment->redirect($this->getErrorUrl());
+ }
+
+ /**
+ * Handle successful payment.
+ */
+ if ($json->state == "approved") {
+ $transaction = end($json->transactions);
+ $resource = end($transaction->related_resources);
+ $this->approvePayment("Paypal " . $resource->sale->id, $json, $json->id);
+ $this->environment->redirect($this->getSuccessUrl());
+ return;
+ }
+
+ $this->paymentRecord->setAndSave([
+ "status" => $json->state,
+ "transaction_id" => $json->id,
+ ]);
+ if ($json->state == "pending") {
+ $this->environment->redirect($this->getWaitingUrl());
+ return;
+ }
+
+ /**
+ * Redirect on error.
+ */
+ return $this->environment->redirect($this->getErrorUrl());
+ }
+
+ public function refund(Payment $payment, $amount = null)
+ {
+ /**
+ * Transaction ID is needed for refund transaction.
+ */
+ $transactionId = $payment->finalTransactionId;
+ if ($transactionId && $payment->payment_id && $payment->transaction_id && $payment->transaction_id == $payment->payment_id) {
+ $payment->setAndSave(['transaction_id' => $transactionId]);
+ }
+
+ if (!$transactionId) {
+ throw new Exception('Transaction ID not found');
+ }
+
+ /**
+ * We will issue transaction, create new payment record.
+ */
+ $refundPaymentRecord = Payment::createForRefund($payment, $amount);
+ $arrData = [
+ 'amount' => [
+ 'total' => $amount,
+ 'currency' => $this->getCurrency(),
+ ],
+ 'description' => 'Refund transaction #' . $payment->id,
+ ];
+/**
+ * Save log.
+ */
+ $refundPaymentRecord->addLog('request:refund', $arrData);
+/**
+ * Make request to paypal.
+ */
+ $result = $this->makeCurlRequest("/v1/payments/sale/" . $transactionId . "/refund", $arrData);
+/**
+ * Handle empty result.
+ */
+ if (!$result) {
+ $refundPaymentRecord->addLog('response:empty');
+ return [
+ 'success' => false,
+ 'message' => 'Paypal payments are not available at the moment.',
+ ];
+ }
+
+ $json = json_decode($result);
+/**
+ * Check for proper completed status.
+ */
+ if (isset($json->state) && $json->state == "completed") {
+ $this->paymentRecord = $refundPaymentRecord;
+ $this->approveRefund('Refund Paypal #' . $json->id, $json, $json->id);
+ return [
+ 'success' => true,
+ ];
+ }
+
+ /**
+ * Add error log.
+ */
+ $payment->addLog($json->state ?? 'error', $json);
+ return [
+ 'success' => false,
+ 'message' => 'Paypal error: ' . ($json->message ?? 'unknown error'),
+ 'info' => $json,
+ ];
+ }
+
+ protected function makeCurlRequest($endpoint, $arrData)
+ {
+ $accessToken = $this->getAccessToken();
+ $ch = curl_init();
+ $headers = [
+ "Authorization: Bearer " . $accessToken,
+ "Content-Type: application/json",
+ ];
+ $url = "https://" . $this->config['endpoint'] . $endpoint;
+ curl_setopt($ch, CURLOPT_URL, $url);
+ curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
+ curl_setopt($ch, CURLOPT_POST, true);
+ curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+ curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($arrData));
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
+ $result = curl_exec($ch);
+ curl_close($ch);
+ return $result;
+ }
+}
diff --git a/src/Pckg/Payment/Handler/PaypalRest.php b/src/Pckg/Payment/Handler/PaypalRest.php
index af077b6..ae74b05 100644
--- a/src/Pckg/Payment/Handler/PaypalRest.php
+++ b/src/Pckg/Payment/Handler/PaypalRest.php
@@ -1,176 +1,144 @@
-config = [
- 'id' => config('payment.paypalRest.id'),
- 'secret' => config('payment.paypalRest.secret'),
- 'mode' => config('payment.paypalRest.mode'),
- 'log_enabled' => config('payment.paypalRest.log.enabled'),
- 'log_level' => config('payment.paypalRest.log.level'),
- 'url_return' => config('payment.paypalRest.url_return'),
- 'url_cancel' => config('payment.paypalRest.url_cancel'),
- ];
-
- $this->paypal = new ApiContext(
- new OAuthTokenCredential(
- $this->config['id'],
- $this->config['secret']
- )
- );
-
- $this->paypal->setConfig(
- [
- 'mode' => $this->config['mode'],
- 'log.LogEnabled' => $this->config['log_enabled'],
- 'log.LogLevel' => $this->config['log_level'],
- 'cache.enabled' => true,
- ]
- );
-
- return $this;
- }
-
- public function start()
- {
- $payer = new Payer();
- $payer->setPaymentMethod('paypal');
-
- $itemList = new ItemList();
- $productsSum = 0.0;
- foreach ($this->order->getProducts() as $product) {
- $item = new Item();
- $item->setName($product->getName())
- ->setCurrency($this->order->getCurrency())
- ->setQuantity($product->getQuantity())
- ->setSku($product->getSku())
- ->setPrice($product->getPrice());
- $itemList->addItem($item);
- $productsSum += $product->getTotal();
- }
-
- $details = new Details();
- $details->setSubtotal($productsSum);
- $total = $productsSum;
- if ($delivery = $this->order->getDelivery()) {
- $details->setShipping($delivery);
- $total += $delivery;
- }
-
- if ($vat = $this->order->getVat()) {
- $details->setTax($vat);
- $total += $vat;
- }
-
- $amount = new Amount();
- $amount->setCurrency($this->order->getCurrency())
- ->setTotal($total)
- ->setDetails($details);
-
- $transaction = new Transaction();
- $transaction->setAmount($amount)
- ->setItemList($itemList)
- ->setDescription($this->order->getDescription())
- ->setInvoiceNumber(uniqid());
-
- $redirectUrls = new RedirectUrls();
- $redirectUrls->setReturnUrl(
- env('DOMAIN') . url(
- $this->config['url_return'],
- ['paypalRest', $this->order->getOrder()]
- )
- )
- ->setCancelUrl(
- env('DOMAIN') . url($this->config['url_cancel'], ['paypalRest', $this->order->getOrder()])
- );
-
- $payment = new Payment();
- $payment->setIntent('sale')
- ->setPayer($payer)
- ->setRedirectUrls($redirectUrls)
- ->setTransactions([$transaction]);
-
- try {
- $this->log($payment);
- $payment->create($this->paypal);
- $this->log($payment);
- } catch (Throwable $e) {
- $this->log($e);
- throw $e;
- } finally {
- redirect()->away($payment->getApprovalLink())->send();
- }
- }
-
- public function success()
- {
- $paymentId = request('paymentId');
- $payment = Payment::get($paymentId, $this->paypal);
-
- $execution = new PaymentExecution();
- $execution->setPayerId(request('PayerID'));
-
- $transaction = new Transaction();
- $amount = new Amount();
- $details = new Details();
-
- $productsSum = 0.0;
- foreach ($this->order->getProducts() as $product) {
- $productsSum += $product->getTotal();
- }
-
- $details->setSubtotal($productsSum);
- $total = $productsSum;
- if ($delivery = $this->order->getDelivery()) {
- $details->setShipping($delivery);
- $total += $delivery;
- }
-
- if ($vat = $this->order->getVat()) {
- $details->setTax($vat);
- $total += $vat;
- }
-
- $amount->setCurrency($this->order->getCurrency())
- ->setTotal($total)
- ->setDetails($details);
-
- $transaction->setAmount($amount);
-
- $execution->addTransaction($transaction);
-
- try {
- $payment->execute($execution, $this->paypal);
- } catch (Throwable $e) {
- $this->log($e);
- throw $e;
- } finally {
- Payment::get($paymentId, $this->paypal);
- }
- }
-
-}
\ No newline at end of file
+config = [
+ 'id' => config('payment.paypalRest.id'),
+ 'secret' => config('payment.paypalRest.secret'),
+ 'mode' => config('payment.paypalRest.mode'),
+ 'log_enabled' => config('payment.paypalRest.log.enabled'),
+ 'log_level' => config('payment.paypalRest.log.level'),
+ 'url_return' => config('payment.paypalRest.url_return'),
+ 'url_cancel' => config('payment.paypalRest.url_cancel'),
+ ];
+ $this->paypal = new ApiContext(new OAuthTokenCredential($this->config['id'], $this->config['secret']));
+ $this->paypal->setConfig([
+ 'mode' => $this->config['mode'],
+ 'log.LogEnabled' => $this->config['log_enabled'],
+ 'log.LogLevel' => $this->config['log_level'],
+ 'cache.enabled' => true,
+ ]);
+ return $this;
+ }
+
+ public function start()
+ {
+ $payer = new Payer();
+ $payer->setPaymentMethod('paypal');
+ $itemList = new ItemList();
+ $productsSum = 0.0;
+ foreach ($this->order->getProducts() as $product) {
+ $item = new Item();
+ $item->setName($product->getName())
+ ->setCurrency($this->order->getCurrency())
+ ->setQuantity($product->getQuantity())
+ ->setSku($product->getSku())
+ ->setPrice($product->getPrice());
+ $itemList->addItem($item);
+ $productsSum += $product->getTotal();
+ }
+
+ $details = new Details();
+ $details->setSubtotal($productsSum);
+ $total = $productsSum;
+ if ($delivery = $this->order->getDelivery()) {
+ $details->setShipping($delivery);
+ $total += $delivery;
+ }
+
+ if ($vat = $this->order->getVat()) {
+ $details->setTax($vat);
+ $total += $vat;
+ }
+
+ $amount = new Amount();
+ $amount->setCurrency($this->order->getCurrency())
+ ->setTotal($total)
+ ->setDetails($details);
+ $transaction = new Transaction();
+ $transaction->setAmount($amount)
+ ->setItemList($itemList)
+ ->setDescription($this->order->getDescription())
+ ->setInvoiceNumber(uniqid());
+ $redirectUrls = new RedirectUrls();
+ $redirectUrls->setReturnUrl(env('DOMAIN') . url($this->config['url_return'], ['paypalRest', $this->order->getOrder()]))
+ ->setCancelUrl(env('DOMAIN') . url($this->config['url_cancel'], ['paypalRest', $this->order->getOrder()]));
+ $payment = new Payment();
+ $payment->setIntent('sale')
+ ->setPayer($payer)
+ ->setRedirectUrls($redirectUrls)
+ ->setTransactions([$transaction]);
+ try {
+ $this->log($payment);
+ $payment->create($this->paypal);
+ $this->log($payment);
+ } catch (Throwable $e) {
+ $this->log($e);
+ throw $e;
+ } finally {
+ redirect()->away($payment->getApprovalLink())->send();
+ }
+ }
+
+ public function success()
+ {
+ $paymentId = request('paymentId');
+ $payment = Payment::get($paymentId, $this->paypal);
+ $execution = new PaymentExecution();
+ $execution->setPayerId(request('PayerID'));
+ $transaction = new Transaction();
+ $amount = new Amount();
+ $details = new Details();
+ $productsSum = 0.0;
+ foreach ($this->order->getProducts() as $product) {
+ $productsSum += $product->getTotal();
+ }
+
+ $details->setSubtotal($productsSum);
+ $total = $productsSum;
+ if ($delivery = $this->order->getDelivery()) {
+ $details->setShipping($delivery);
+ $total += $delivery;
+ }
+
+ if ($vat = $this->order->getVat()) {
+ $details->setTax($vat);
+ $total += $vat;
+ }
+
+ $amount->setCurrency($this->order->getCurrency())
+ ->setTotal($total)
+ ->setDetails($details);
+ $transaction->setAmount($amount);
+ $execution->addTransaction($transaction);
+ try {
+ $payment->execute($execution, $this->paypal);
+ } catch (Throwable $e) {
+ $this->log($e);
+ throw $e;
+ } finally {
+ Payment::get($paymentId, $this->paypal);
+ }
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Proforma.php b/src/Pckg/Payment/Handler/Proforma.php
index c11732b..0b38dbc 100644
--- a/src/Pckg/Payment/Handler/Proforma.php
+++ b/src/Pckg/Payment/Handler/Proforma.php
@@ -1,107 +1,95 @@
-config = [
- 'url_waiting' => $this->environment->config('proforma.url_waiting'),
- ];
- }
-
- public function getDownload()
- {
- assetManager()->addAssets(path('apps') . 'derive/public/less/pages/upnsepa.less', 'blank');
-
- return view($this->downloadView, [
- 'bills' => $this->order->getBills(),
- 'order' => $this->order->getBills()->first()->order,
- 'payment' => $this->paymentRecord,
- 'iban' => $this->environment->config($this->downloadFolder . '.iban'),
- 'swiftbic' => $this->environment->config($this->downloadFolder . '.swiftbic'),
- ]);
- }
-
- public function downloadFile()
- {
- $original = path('private') . $this->downloadFolder . '/' . $this->paymentRecord->hash . '.pdf';
-
- return response()->download($original, strtoupper($this->downloadFolder) . ' payment.pdf');
- }
-
- protected function generateDownload()
- {
- $url = $this->getDownloadUrl();
- $outputDir = path('private') . $this->downloadFolder . '/';
- $outputFile = $this->paymentRecord->hash . '.pdf';
- $pdf = Pdf::make($url, $outputDir, $outputFile);
-
- return $outputFile;
- }
-
- /**
- * Triggered when user submitts "Pay now" button in payment popup.
- *
- * @return array|void
- */
- public function postStart()
- {
- $download = !post('nodownload');
-
- if (!$download) {
- $this->waitPayment('Bank Transfer #' . $this->paymentRecord->id, null, $this->paymentRecord->id);
-
- return [
- 'success' => true,
- 'modal' => 'success',
- ];
- }
-
- $this->generateDownload();
-
- return [
- 'success' => true,
- 'redirect' => '/payment/' . $this->paymentRecord->hash . '/download-file',
- ];
- }
-
- public function getQrAction()
- {
- $qrGenerator = new QRCodeGenerator();
-
- $company = $this->paymentRecord->getOrdersAttribute()[0]->company;
-
- $qrGenerator->setAmount($this->paymentRecord->price);
- $qrGenerator->setDueDate(new \DateTime($this->paymentRecord->getBills()[0]->dt_valid));
- $qrGenerator->setPayerAddress('');
- $qrGenerator->setPayerName('');
- $qrGenerator->setPayerPost('');
- $qrGenerator->setCode('COST');
- $qrGenerator->setPurpose($this->paymentRecord->id);
- $qrGenerator->setReceiverName($company->short_name);
- $qrGenerator->setReceiverIban(str_replace(' ', '', config('pckg.payment.provider.bank-transfer.iban', null)));
- $qrGenerator->setReceiverAddress($company->address_line1);
- $qrGenerator->setReceiverPost(explode(' ', $company->address_line2)[0]);
- $qrGenerator->setReference('00-' . str_pad($this->paymentRecord->id, 8, '0', STR_PAD_LEFT));
-
- $path = path('private') . 'qr-payment/';
- $file = $this->paymentRecord->id . '.png';
-
- $qr = QR::make($path, $file, $qrGenerator->getQRCodeText(), function ($options) {
- $options['version'] = 15;
- return $options;
- });
-
- response()->printFile($path . $file, $file);
- }
-
-}
\ No newline at end of file
+config = [
+ 'url_waiting' => $this->environment->config('proforma.url_waiting'),
+ ];
+ }
+
+ public function getDownload()
+ {
+ assetManager()->addAssets(path('apps') . 'derive/public/less/pages/upnsepa.less', 'blank');
+ return view($this->downloadView, [
+ 'bills' => $this->order->getBills(),
+ 'order' => $this->order->getBills()->first()->order,
+ 'payment' => $this->paymentRecord,
+ 'iban' => $this->environment->config($this->downloadFolder . '.iban'),
+ 'swiftbic' => $this->environment->config($this->downloadFolder . '.swiftbic'),
+ ]);
+ }
+
+ public function downloadFile()
+ {
+ $original = path('private') . $this->downloadFolder . '/' . $this->paymentRecord->hash . '.pdf';
+ return response()->download($original, strtoupper($this->downloadFolder) . ' payment.pdf');
+ }
+
+ protected function generateDownload()
+ {
+ $url = $this->getDownloadUrl();
+ $outputDir = path('private') . $this->downloadFolder . '/';
+ $outputFile = $this->paymentRecord->hash . '.pdf';
+ $pdf = Pdf::make($url, $outputDir, $outputFile);
+ return $outputFile;
+ }
+
+ /**
+ * Triggered when user submitts "Pay now" button in payment popup.
+ *
+ * @return array|void
+ */
+ public function postStart()
+ {
+ $download = !post('nodownload');
+ if (!$download) {
+ $this->waitPayment('Bank Transfer #' . $this->paymentRecord->id, null, $this->paymentRecord->id);
+ return [
+ 'success' => true,
+ 'modal' => 'success',
+ ];
+ }
+
+ $this->generateDownload();
+ return [
+ 'success' => true,
+ 'redirect' => '/payment/' . $this->paymentRecord->hash . '/download-file',
+ ];
+ }
+
+ public function getQrAction()
+ {
+ $qrGenerator = new QRCodeGenerator();
+ $company = $this->paymentRecord->getOrdersAttribute()[0]->company;
+ $qrGenerator->setAmount($this->paymentRecord->price);
+ $qrGenerator->setDueDate(new \DateTime($this->paymentRecord->getBills()[0]->dt_valid));
+ $qrGenerator->setPayerAddress('');
+ $qrGenerator->setPayerName('');
+ $qrGenerator->setPayerPost('');
+ $qrGenerator->setCode('COST');
+ $qrGenerator->setPurpose($this->paymentRecord->id);
+ $qrGenerator->setReceiverName($company->short_name);
+ $qrGenerator->setReceiverIban(str_replace(' ', '', config('pckg.payment.provider.bank-transfer.iban', null)));
+ $qrGenerator->setReceiverAddress($company->address_line1);
+ $qrGenerator->setReceiverPost(explode(' ', $company->address_line2)[0]);
+ $qrGenerator->setReference('00-' . str_pad($this->paymentRecord->id, 8, '0', STR_PAD_LEFT));
+ $path = path('private') . 'qr-payment/';
+ $file = $this->paymentRecord->id . '.png';
+ $qr = QR::make($path, $file, $qrGenerator->getQRCodeText(), function ($options) {
+
+ $options['version'] = 15;
+ return $options;
+ });
+ response()->printFile($path . $file, $file);
+ }
+}
diff --git a/src/Pckg/Payment/Handler/Stripe.php b/src/Pckg/Payment/Handler/Stripe.php
index dae3ec6..9b3a556 100644
--- a/src/Pckg/Payment/Handler/Stripe.php
+++ b/src/Pckg/Payment/Handler/Stripe.php
@@ -1,4 +1,6 @@
- 'Unexpected value',
];
} catch (\Stripe\Exception\SignatureVerificationException $e) {
- throw $e;
+ response()->code(400);
+
+ return [
+ 'success' => false,
+ 'error' => true,
+ 'message' => 'Invalid signature',
+ ];
} catch (Throwable $e) {
throw $e;
}
@@ -159,5 +166,4 @@ public function refund(Payment $payment, $amount = null)
'message' => 'Refunds are not available at the moment',
];
}
-
}
diff --git a/src/Pckg/Payment/Handler/Upn.php b/src/Pckg/Payment/Handler/Upn.php
index 82c285f..297c191 100644
--- a/src/Pckg/Payment/Handler/Upn.php
+++ b/src/Pckg/Payment/Handler/Upn.php
@@ -1,8 +1,9 @@
-config = [
@@ -77,7 +73,7 @@ public function postStart()
$sXMLData = '
-
+
';
/**
@@ -184,7 +180,6 @@ public function getNotification()
$this->approvePayment('Moneta #' . $sConfirmationID, null, $sConfirmationID);
$this->paymentRecord->updateLog('valu:purchasestatus', 'potrjeno');
-
} else {
$this->errorPayment();
@@ -196,5 +191,4 @@ public function getNotification()
die($sOutput);
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/Valu/CMoneta.php b/src/Pckg/Payment/Handler/Valu/CMoneta.php
deleted file mode 100644
index 03231f8..0000000
--- a/src/Pckg/Payment/Handler/Valu/CMoneta.php
+++ /dev/null
@@ -1,74 +0,0 @@
-where('confirmationid', $confirmationId)->oneOrFail();
-
- $moneta->purchasestatus = $status;
- $moneta->save();
- }
-
- public function ConfirmPurchase($status, $confirmationId, $confirmationSignature, $tarifficationError)
- {
- $moneta = (new Moneta())->where('confirmationid', $confirmationId)->oneOrFail();
-
- $moneta->set(
- [
- 'purchasestatus' => $status,
- 'confirmationsignature' => $confirmationSignature,
- 'tarifficationerror' => $tarifficationError,
- 'confirmdate' => Carbon::now(),
- ]
- )->save();
- }
-
- public function AddRefreshCounter($confirmationId)
- {
- $moneta = (new Moneta())->where('confirmationid', $confirmationId)->oneOrFail();
- $moneta->refreshcounter = $moneta->refreshcounter + 1;
- $moneta->save();
- }
-
- public function FindConfirmationID($confirmationId)
- {
- $moneta = (new Moneta())->where('confirmationid', $confirmationId)->oneOrFail();
-
- $this->m_nRefreshCounter = $moneta->refreshcounter;
- $this->m_sPurchaseStatus = $moneta->purchasestatus;
- $this->m_sProviderData = $moneta->providerdata;
-
- return true;
- }
-
- public function Get_RefreshCounter()
- {
- return intval($this->m_nRefreshCounter);
- }
-
- public function Get_PurchaseStatus()
- {
- return $this->m_sPurchaseStatus;
- }
-
- public function Get_ProviderData()
- {
- return $this->m_sProviderData;
- }
-
- public function MakeUniqueConfirmationID()
- {
- return "" . gmdate("dmYHis");
- }
-
- public function Close()
- {
- return true;
- }
-}
diff --git a/src/Pckg/Payment/Handler/Valu/ValuHelper.php b/src/Pckg/Payment/Handler/Valu/ValuHelper.php
index 0f1302f..d8d4d63 100644
--- a/src/Pckg/Payment/Handler/Valu/ValuHelper.php
+++ b/src/Pckg/Payment/Handler/Valu/ValuHelper.php
@@ -1,13 +1,13 @@
-" . $EOL . "\">";
return $sXML;
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Handler/VivaWallet.php b/src/Pckg/Payment/Handler/VivaWallet.php
index e00db93..64ca1aa 100644
--- a/src/Pckg/Payment/Handler/VivaWallet.php
+++ b/src/Pckg/Payment/Handler/VivaWallet.php
@@ -1,185 +1,178 @@
-environment->config('viva-wallet.url');
- $this->config = [
- 'url' => $url,
- 'merchantId' => $this->environment->config('viva-wallet.merchantId'),
- 'apiKey' => $this->environment->config('viva-wallet.apiKey'),
- 'apiCode' => $this->environment->config('viva-wallet.apiCode'),
- 'clientId' => $this->environment->config('viva-wallet.clientId'),
- 'clientSecret' => $this->environment->config('viva-wallet.clientSecret'),
- 'tokenUrl' => strpos($url, 'demo')
- ? 'https://demo-accounts.vivapayments.com/'
- : 'https://accounts.vivapayments.com/',
- ];
-
- $this->client = new Client([
- 'headers' => [
- 'Accept' => 'application/json'
- ],
- ]);
-
- return $this;
- }
-
- public function getBearer()
- {
- $basic = base64_encode($this->config['clientId'] . ':' . $this->config['clientSecret']);
- $response = $this->client->post($this->config['tokenUrl'] . 'connect/token', ['headers' => [
- 'Authorization' => 'Basic ' . $basic,
- 'Content-Type' => 'application/x-www-form-urlencoded'
- ], 'form_params' => ['grant_type' => 'client_credentials']]);
- $decoded = json_decode($response->getBody()->getContents(), true);
- return $decoded['access_token'] ?? null;
- }
-
- public function getToken()
- {
- return base64_encode($this->config['merchantId'] . ':' . $this->config['apiKey']);
- }
-
- public function getTotalToPay()
- {
- return round(parent::getTotalToPay() * 100);
- }
-
- public function postStart()
- {
- $currency = $this->getCurrency();
-
- $currencyCode = null;
- switch ($currency_code) {
- case 'EUR':
- $currencyCode = 978;
- break;
- case 'GBP':
- $currencyCode = 826;
- break;
- case 'BGN':
- $currencyCode = 975;
- break;
- case 'RON':
- $currencyCode = 946;
- break;
- }
-
- if (!$currency) {
- return [
- 'success' => false,
- 'message' => $currency . ' is supported as currency'
- ];
- }
-
- $customer = $this->order->getCustomer();
-
- $data = [
- 'email' => $customer->getEmail(),
- 'phone' => '070443244',
- 'fullName' => $customer->getFullName(),
- 'requestLang' => 'EN',
- 'allowRecurring' => false,
- 'isPreAuth' => false,
- 'amount' => $this->getTotalToPay(),
- 'currencyCode' => $currencyCode,
- 'merchantTrns' => $this->paymentRecord->hash,
- 'customerTrns' => $this->getDescription(),
- 'disableCash' => true,
- 'sourceCode' => $this->config['apiCode'],
- ];
-
- $url = $this->config['url'] . 'api/orders';
- $bearer = $this->getToken();
- $response = $this->client->post($url, [
- 'json' => $data,
- 'headers' => [
- 'Accept' => 'application/json',
- 'Content-Type' => 'application/json',
- 'Authorization' => 'Basic ' . $bearer
- ]
- ]);
- $code = $response->getStatusCode();
- if ($code !== 200) {
- return [
- 'error' => true,
- 'modal' => 'error',
- 'message' => 'Error initiating payment',
- ];
- }
- $content = $response->getBody()->getContents();
- $decoded = json_decode($content, true);
- if ($decoded['ErrorCode'] === 0) {
- $this->paymentRecord->addLog('started', $decoded);
- $this->paymentRecord->setAndSave(['payment_id' => $decoded['OrderCode']]);
-
- return [
- 'redirect' => $this->config['url'] . 'web/checkout?ref=' . $decoded['OrderCode'],
- 'success' => true,
- ];
- }
-
- return [
- 'success' => false,
- 'message' => 'VivaWallet error',
- 'json' => $decoded,
- ];
- }
-
- public function getCompanyNotification()
- {
- $url = $this->config['url'] . 'api/messages/config/token';
- $bearer = $this->getToken();
- $response = $this->client->get($url, [
- 'headers' => [
- 'Accept' => 'application/json',
- 'Content-Type' => 'application/json',
- 'Authorization' => 'Basic ' . $bearer
- ]
- ]);
-
- return json_decode($response->getBody()->getContents(), true);
- }
-
- public function postCompanyNotification()
- {
- $this->paymentRecord->addLog('postCompanyNotification', post()->all());
-
- $eventTypeId = post('EventTypeId', null);
- if ($eventTypeId === 1796) {
- $transactionId = post('EventData.TransactionId', null);
- $this->approvePayment('VivaWallet #' . $transactionId, post()->all(), $transactionId);
-
- return [
- 'success' => true
- ];
- } elseif ($eventTypeId === 1797) {
- /**
- * Refund a transaction?
- */
-
- return [
- 'success' => true,
- ];
- }
-
- throw new Exception('Notification method event not supported.');
- }
-
-}
\ No newline at end of file
+environment->config('viva-wallet.url');
+ $this->config = [
+ 'url' => $url,
+ 'merchantId' => $this->environment->config('viva-wallet.merchantId'),
+ 'apiKey' => $this->environment->config('viva-wallet.apiKey'),
+ 'apiCode' => $this->environment->config('viva-wallet.apiCode'),
+ 'clientId' => $this->environment->config('viva-wallet.clientId'),
+ 'clientSecret' => $this->environment->config('viva-wallet.clientSecret'),
+ 'tokenUrl' => strpos($url, 'demo')
+ ? 'https://demo-accounts.vivapayments.com/'
+ : 'https://accounts.vivapayments.com/',
+ ];
+ $this->client = new Client([
+ 'headers' => [
+ 'Accept' => 'application/json'
+ ],
+ ]);
+ return $this;
+ }
+
+ public function getBearer()
+ {
+ $basic = base64_encode($this->config['clientId'] . ':' . $this->config['clientSecret']);
+ $response = $this->client->post($this->config['tokenUrl'] . 'connect/token', ['headers' => [
+ 'Authorization' => 'Basic ' . $basic,
+ 'Content-Type' => 'application/x-www-form-urlencoded'
+ ], 'form_params' => ['grant_type' => 'client_credentials']]);
+ $decoded = json_decode($response->getBody()->getContents(), true);
+ return $decoded['access_token'] ?? null;
+ }
+
+ public function getToken()
+ {
+ return base64_encode($this->config['merchantId'] . ':' . $this->config['apiKey']);
+ }
+
+ public function getTotalToPay()
+ {
+ return round(parent::getTotalToPay() * 100);
+ }
+
+ public function postStart()
+ {
+ $currency = $this->getCurrency();
+ $currencyCode = null;
+ switch ($currency) {
+ case 'EUR':
+ $currencyCode = 978;
+
+ break;
+ case 'GBP':
+ $currencyCode = 826;
+
+ break;
+ case 'BGN':
+ $currencyCode = 975;
+
+ break;
+ case 'RON':
+ $currencyCode = 946;
+
+ break;
+ }
+
+ if (!$currency) {
+ return [
+ 'success' => false,
+ 'message' => $currency . ' is supported as currency'
+ ];
+ }
+
+ $customer = $this->order->getCustomer();
+ $data = [
+ 'email' => $customer->getEmail(),
+ 'phone' => '070443244',
+ 'fullName' => $customer->getFullName(),
+ 'requestLang' => 'EN',
+ 'allowRecurring' => false,
+ 'isPreAuth' => false,
+ 'amount' => $this->getTotalToPay(),
+ 'currencyCode' => $currencyCode,
+ 'merchantTrns' => $this->paymentRecord->hash,
+ 'customerTrns' => $this->getDescription(),
+ 'disableCash' => true,
+ 'sourceCode' => $this->config['apiCode'],
+ ];
+ $url = $this->config['url'] . 'api/orders';
+ $bearer = $this->getToken();
+ $response = $this->client->post($url, [
+ 'json' => $data,
+ 'headers' => [
+ 'Accept' => 'application/json',
+ 'Content-Type' => 'application/json',
+ 'Authorization' => 'Basic ' . $bearer
+ ]
+ ]);
+ $code = $response->getStatusCode();
+ if ($code !== 200) {
+ return [
+ 'error' => true,
+ 'modal' => 'error',
+ 'message' => 'Error initiating payment',
+ ];
+ }
+ $content = $response->getBody()->getContents();
+ $decoded = json_decode($content, true);
+ if ($decoded['ErrorCode'] === 0) {
+ $this->paymentRecord->addLog('started', $decoded);
+ $this->paymentRecord->setAndSave(['payment_id' => $decoded['OrderCode']]);
+ return [
+ 'redirect' => $this->config['url'] . 'web/checkout?ref=' . $decoded['OrderCode'],
+ 'success' => true,
+ ];
+ }
+
+ return [
+ 'success' => false,
+ 'message' => 'VivaWallet error',
+ 'json' => $decoded,
+ ];
+ }
+
+ public function getCompanyNotification()
+ {
+ $url = $this->config['url'] . 'api/messages/config/token';
+ $bearer = $this->getToken();
+ $response = $this->client->get($url, [
+ 'headers' => [
+ 'Accept' => 'application/json',
+ 'Content-Type' => 'application/json',
+ 'Authorization' => 'Basic ' . $bearer
+ ]
+ ]);
+ return json_decode($response->getBody()->getContents(), true);
+ }
+
+ public function postCompanyNotification()
+ {
+ $this->paymentRecord->addLog('postCompanyNotification', post()->all());
+ $eventTypeId = post('EventTypeId', null);
+ if ($eventTypeId === 1796) {
+ $transactionId = post('EventData.TransactionId', null);
+ $this->approvePayment('VivaWallet #' . $transactionId, post()->all(), $transactionId);
+ return [
+ 'success' => true
+ ];
+ } elseif ($eventTypeId === 1797) {
+ /**
+ * Refund a transaction?
+ */
+
+ return [
+ 'success' => true,
+ ];
+ }
+
+ throw new Exception('Notification method event not supported.');
+ }
+}
diff --git a/src/Pckg/Payment/Provider/Payment.php b/src/Pckg/Payment/Provider/Payment.php
index 2092595..e80e15b 100644
--- a/src/Pckg/Payment/Provider/Payment.php
+++ b/src/Pckg/Payment/Provider/Payment.php
@@ -1,11 +1,12 @@
- 'api.paymentMethods',
'tags' => ['group:admin'],
], [
- '.company' => route('/[paymentMethod]/companies/[company]/settings',
- 'companySettings')->resolvers([
+ '.company' => route(
+ '/[paymentMethod]/companies/[company]/settings',
+ 'companySettings'
+ )->resolvers([
'company' => Company::class,
]),
]),
];
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Record/Address.php b/src/Pckg/Payment/Record/Address.php
new file mode 100644
index 0000000..5e0ece5
--- /dev/null
+++ b/src/Pckg/Payment/Record/Address.php
@@ -0,0 +1,23 @@
+address_line1, $this->address_line2, $this->address_line3]))->removeEmpty()
+ ->implode($separator);
+ }
+
+ public function getFullInfoAttribute()
+ {
+ return $this->short_name . '; ' . $this->getAddressAttribute(', ') . '; VAT: ' . $this->vat_number . '; BN: ' .
+ $this->business_number;
+ }
+
+ public function getHeaderInfoAttribute()
+ {
+ return collect([
+ $this->long_name ?? $this->short_name,
+ $this->address_line1,
+ $this->address_line2,
+ $this->address_line3,
+ $this->country->title,
+ $this->vat_number || $this->business_number ? ' ' : null,
+ $this->vat_number ? __('document.bill.label.vatNumber') . ': ' . $this->vat_number : null,
+ $this->business_number ? __('document.bill.label.businessNumber') . ': ' . $this->business_number : null,
+ $this->vat_number || $this->business_number ? ' ' : null,
+ $this->note1,
+ $this->note2,
+ ])->trim()->removeEmpty()->implode('
') . '
';
+ }
+
+ public function applyConfig()
+ {
+ (new SettingsMorphs())->where('morph_id', Companies::class)
+ ->where('poly_id', $this->id)
+ ->withSetting()
+ ->all()->each->registerToConfig();
+ }
+
+ public function getFiscalizationHandler()
+ {
+ return $this->country->getFiscalizationHandler();
+ }
+}
diff --git a/src/Pckg/Payment/Record/Country.php b/src/Pckg/Payment/Record/Country.php
new file mode 100644
index 0000000..e202f39
--- /dev/null
+++ b/src/Pckg/Payment/Record/Country.php
@@ -0,0 +1,60 @@
+ TW
+ }
+
+ /**
+ * @return array
+ */
+ public function getAlpha23Mapper(): array
+ {
+ return array_flip($this->getAlpha32Mapper()); // TW => THR
+ }
+
+ /**
+ * @return array
+ */
+ public function getEUCountries(): array
+ {
+ return config('static.countries.eu', []); // CO => Title
+ }
+
+ /**
+ * @return bool
+ */
+ public function isEU(): bool
+ {
+ return in_array($this->getISO2(), array_keys($this->getEUCountries()));
+ }
+
+ public function getISO2()
+ {
+ $code = strtoupper($this->code ?? '');
+
+ return $this->getAlpha32Mapper()[$code] ?? substr($code, 0, 2);
+ }
+
+ public function getISO3()
+ {
+ $code = strtoupper($this->code ?? '');
+
+ return $this->getAlpha23Mapper()[$code] ?? substr($code, 0, 3);
+ }
+}
diff --git a/src/Pckg/Payment/Record/Payment.php b/src/Pckg/Payment/Record/Payment.php
index b6a149e..3faf28b 100644
--- a/src/Pckg/Payment/Record/Payment.php
+++ b/src/Pckg/Payment/Record/Payment.php
@@ -1,4 +1,6 @@
-getBills();
- return __('order_payment') . '#' . $instalments->map('order')->map(function(\Derive\Orders\Record\Order $order
- ) {
+ return __('order_payment') . '#' . $instalments->map('order')->map(function (\Derive\Orders\Record\Order $order) {
return '#' . $order->id . '(' . $order->num . ')';
- })->implode(',') . ' - ' . $instalments->map('id')->implode(',') . ')';
+ })->implode(',') . ' - ' . $instalments->map('id')->implode(',') . ')';
}
public function addGtm()
{
-
}
public function getFinalTransactionIdAttribute()
@@ -204,12 +208,12 @@ public function getFinalTransactionIdAttribute()
return $this->transaction_id;
}
- $log = $this->logs->first(function(PaymentLog $paymentLog){
+ $log = $this->logs->first(function (PaymentLog $paymentLog) {
return in_array($paymentLog->status, ['approved', 'payed']);
});
if (!$log) {
- $instalments = $this->getBills()->filter(function(OrdersBill $ordersBill) {
+ $instalments = $this->getBills()->filter(function (OrdersBill $ordersBill) {
return strpos($ordersBill->notes, 'Paypal ') !== false;
});
@@ -222,13 +226,13 @@ public function getFinalTransactionIdAttribute()
if (!$transactionEndSpace && !$transactionEndLine) {
return substr($notes, $transactionStart);
}
-
+
$length = ($transactionEndSpace && $transactionEndLine
? ($transactionEndSpace < $transactionEndSpace ? $transactionEndSpace : $transactionEndLine)
: ($transactionEndSpace ? $transactionEndSpace : $transactionEndLine)) - $transactionStart;
$transactionId = substr($notes, $transactionStart, $length);
-
+
return $transactionId;
}
@@ -253,5 +257,4 @@ public function getHandler()
return Reflect::create($handlerClass);
}
-
-}
\ No newline at end of file
+}
diff --git a/src/Pckg/Payment/Record/PaymentLog.php b/src/Pckg/Payment/Record/PaymentLog.php
index 9a89b41..de6e2e7 100644
--- a/src/Pckg/Payment/Record/PaymentLog.php
+++ b/src/Pckg/Payment/Record/PaymentLog.php
@@ -1,4 +1,6 @@
-handler = $handler;
-
- return $this;
- }
-
- /**
- * @return Handler|AbstractHandler
- */
- public function getHandler()
- {
- return $this->handler;
- }
-
- public function fullInitHandler(Handler $handler)
- {
- $this->handler = $handler;
- $this->handler->setEnvironment($this->environment);
- $this->handler->initHandler();
-
- return $this;
- }
-
- /**
- * @param $handler
- * @return $this
- * @throws \Exception
- */
- public function useHandler($handler)
- {
- if (class_exists($handler)) {
- return $this->fullInitHandler(new $handler($this->order));
- }
-
- $useHandlermethod = 'use' . ucfirst(Convention::toCamel($handler)) . 'Handler';
- if (method_exists($this, $useHandlermethod)) {
- $this->{$useHandlermethod}();
-
- return $this;
- }
-
- $classes = [];
- if (strpos($handler, '-')) {
- list($mainHandler, $subhandler) = explode('-', $handler);
- $classes[] = \Pckg\Payment\Handler::class . '\\' . ucfirst($mainHandler) . '\\' . ucfirst($subhandler);
- $classes[] = \Pckg\Payment\Handler::class . '\\' . ucfirst($mainHandler);
- $classes[] = \Pckg\Payment\Handler::class . '\\' . str_replace(' ', '', Convention::toPascal(str_replace('-', ' ', $handler)));
- } else {
- $classes[] = \Pckg\Payment\Handler::class . '\\' . ucfirst($handler);
- }
-
- foreach ($classes as $class) {
- if (!class_exists($class)) {
- continue;
- }
-
- return $this->fullInitHandler(new $class($this->order));
- }
-
- throw new \Exception('No handler defined for ' . $handler);
- }
-
- public function useBraintreeHandler()
- {
- return $this->fullInitHandler(new Braintree($this->order));
- }
-
- public function usePaymillHandler()
- {
- return $this->fullInitHandler(new Paymill($this->order));
- }
-
- public function usePaymillSepaHandler()
- {
- return $this->fullInitHandler(new Paymill\Sepa($this->order));
- }
-
- public function usePaymillPaypalHandler()
- {
- return $this->fullInitHandler(new Paymill\Paypal($this->order));
- }
-
- public function usePaypalHandler()
- {
- return $this->fullInitHandler(new PaypalGnp($this->order));
- }
-
- public function usePaypalRestHandler()
- {
- return $this->fullInitHandler(new PaypalRest($this->order));
- }
-
- public function useProformaHandler()
- {
- return $this->fullInitHandler(new Proforma($this->order));
- }
-
- public function useUpnHandler()
- {
- return $this->fullInitHandler(new Proforma($this->order));
- }
-
- public function useValuHandler()
- {
- return $this->fullInitHandler(new Valu($this->order));
- }
-
- public function useBankartHandler()
- {
- return $this->fullInitHandler(new Bankart($this->order));
- }
-
- public function useBankartCCHandler()
- {
- return $this->fullInitHandler(new BankartCC($this->order));
- }
-
- public function useCorvusPayHandler()
- {
- return $this->fullInitHandler(new CorvusPay($this->order));
- }
-
- public function useMonriHandler()
- {
- return $this->fullInitHandler(new Monri($this->order));
- }
-
- public function useIcePayHandler()
- {
- return $this->fullInitHandler(new Icepay($this->order));
- }
-
- public function useAxcessHandler()
- {
- return $this->fullInitHandler(new Axcess($this->order));
- }
-
- public function useMojcentHandler()
- {
- return $this->fullInitHandler(new MojCent($this->order));
- }
-
- public function useVivaWalletHandler()
- {
- return $this->fullInitHandler(new VivaWallet($this->order));
- }
-
- public function useBankTransferHandler()
- {
- return $this->fullInitHandler(new BankTransfer($this->order));
- }
-
- public function useMollieHandler()
- {
- return $this->fullInitHandler(new Mollie($this->order));
- }
-
- public function useRevolutHandler()
- {
- return $this->fullInitHandler(new Revolut($this->order));
- }
-}
\ No newline at end of file
+handler = $handler;
+ return $this;
+ }
+
+ /**
+ * @return Handler|AbstractHandler
+ */
+ public function getHandler()
+ {
+ return $this->handler;
+ }
+
+ public function fullInitHandler(Handler $handler)
+ {
+ $this->handler = $handler;
+ $this->handler->setEnvironment($this->environment);
+ $this->handler->initHandler();
+ return $this;
+ }
+
+ /**
+ * @param $handler
+ * @return $this
+ * @throws \Exception
+ */
+ public function useHandler($handler)
+ {
+ if (class_exists($handler)) {
+ return $this->fullInitHandler(new $handler($this->order));
+ }
+
+ $useHandlermethod = 'use' . ucfirst(Convention::toCamel($handler)) . 'Handler';
+ if (method_exists($this, $useHandlermethod)) {
+ $this->{$useHandlermethod}();
+ return $this;
+ }
+
+ $classes = [];
+ if (strpos($handler, '-')) {
+ list($mainHandler, $subhandler) = explode('-', $handler);
+ $classes[] = HandlerAlias::class . '\\' . ucfirst($mainHandler) . '\\' . ucfirst($subhandler);
+ $classes[] = HandlerAlias::class . '\\' . ucfirst($mainHandler);
+ $classes[] = HandlerAlias::class . '\\' . str_replace(' ', '', Convention::toPascal(str_replace('-', ' ', $handler)));
+ } else {
+ $classes[] = HandlerAlias::class . '\\' . ucfirst($handler);
+ }
+
+ foreach ($classes as $class) {
+ if (!class_exists($class)) {
+ continue;
+ }
+
+ return $this->fullInitHandler(new $class($this->order));
+ }
+
+ throw new \Exception('No handler defined for ' . $handler);
+ }
+
+ public function useBraintreeHandler()
+ {
+ return $this->fullInitHandler(new Braintree($this->order));
+ }
+
+ public function usePaymillHandler()
+ {
+ return $this->fullInitHandler(new Paymill($this->order));
+ }
+
+ public function usePaymillSepaHandler()
+ {
+ return $this->fullInitHandler(new Paymill\Sepa($this->order));
+ }
+
+ public function usePaymillPaypalHandler()
+ {
+ return $this->fullInitHandler(new Paymill\Paypal($this->order));
+ }
+
+ public function usePaypalHandler()
+ {
+ return $this->fullInitHandler(new PaypalGnp($this->order));
+ }
+
+ public function usePaypalRestHandler()
+ {
+ return $this->fullInitHandler(new PaypalRest($this->order));
+ }
+
+ public function useProformaHandler()
+ {
+ return $this->fullInitHandler(new Proforma($this->order));
+ }
+
+ public function useUpnHandler()
+ {
+ return $this->fullInitHandler(new Proforma($this->order));
+ }
+
+ public function useValuHandler()
+ {
+ return $this->fullInitHandler(new Valu($this->order));
+ }
+
+ public function useBankartHandler()
+ {
+ return $this->fullInitHandler(new Bankart($this->order));
+ }
+
+ public function useBankartCCHandler()
+ {
+ return $this->fullInitHandler(new BankartCC($this->order));
+ }
+
+ public function useCorvusPayHandler()
+ {
+ return $this->fullInitHandler(new CorvusPay($this->order));
+ }
+
+ public function useMonriHandler()
+ {
+ return $this->fullInitHandler(new Monri($this->order));
+ }
+
+ public function useIcePayHandler()
+ {
+ return $this->fullInitHandler(new Icepay($this->order));
+ }
+
+ public function useAxcessHandler()
+ {
+ return $this->fullInitHandler(new Axcess($this->order));
+ }
+
+ public function useMojcentHandler()
+ {
+ return $this->fullInitHandler(new MojCent($this->order));
+ }
+
+ public function useVivaWalletHandler()
+ {
+ return $this->fullInitHandler(new VivaWallet($this->order));
+ }
+
+ public function useBankTransferHandler()
+ {
+ return $this->fullInitHandler(new BankTransfer($this->order));
+ }
+
+ public function useMollieHandler()
+ {
+ return $this->fullInitHandler(new Mollie($this->order));
+ }
+
+ public function useRevolutHandler()
+ {
+ return $this->fullInitHandler(new Revolut($this->order));
+ }
+}
diff --git a/src/Pckg/Payment/Service/LaravelPayment.php b/src/Pckg/Payment/Service/LaravelPayment.php
deleted file mode 100644
index 0af9de8..0000000
--- a/src/Pckg/Payment/Service/LaravelPayment.php
+++ /dev/null
@@ -1,16 +0,0 @@
-setEnvironment(new Laravel());
-
- return $payment;
- }
-
-}
\ No newline at end of file
diff --git a/src/Pckg/Payment/Service/Payment.php b/src/Pckg/Payment/Service/Payment.php
index 22e8df6..35cf964 100644
--- a/src/Pckg/Payment/Service/Payment.php
+++ b/src/Pckg/Payment/Service/Payment.php
@@ -1,108 +1,104 @@
-order = $order;
-
- return $this;
- }
-
- public function setEnvironment(Environment $environment)
- {
- $this->environment = $environment;
-
- return $this;
- }
-
- public function getTotalWithCurrency()
- {
- return number_format($this->getTotal(), 2) . ' ' . $this->getCurrency();
- }
-
- public function getTotalToPayWithCurrency()
- {
- return number_format($this->getTotalToPay(), 2) . ' ' . $this->getCurrency();
- }
-
- public function getTotal()
- {
- return $this->order->getTotal();
- }
-
- public function getTotalToPay()
- {
- return $this->order->getTotalToPay();
- }
-
- public function getCurrency()
- {
- return $this->order->getCurrency();
- }
-
- public function getUrl($action, $handler)
- {
- return $this->environment->url('payment.' . $action, [$handler, $this->order->getOrder()]);
- }
-
- public function has($handler)
- {
- return $this->environment->config($handler . '.enabled');
- }
-
- public function prepare(Order $order = null, $handler, Log $logger)
- {
- $this->setOrder($order);
- $this->useHandler($handler);
- $handler = $this->getHandler();
- $handler->setLogger($logger)->setEnvironment($this->environment);
-
- return $this;
- }
-
- public function getPaymentMethods()
- {
- $methods = [];
- foreach (config('pckg.payment.provider') as $method => $config) {
- /**
- * Skip disabled methods.
- * @T00D00 - show sandbox to admin only?
- */
- if (!config('pckg.payment.provider.' . $method . '.enabled')) {
- continue;
- }
-
- $submethods = [];
- foreach (config('pckg.payment.provider.' . $method . '.methods', []) as $submethod) {
- $submethods[$submethod] = [
- 'url' => url('derive.payment.startPartial', ['handler' => $method . '-' . $submethod]),
- 'img' => '/img/payment/' . $submethod . '.png',
- 'vueComponent' => 'derive-payment-handler-' . $method . '-' . $submethod,
- ];
- }
-
- $methods[$method] = [
- 'url' => url('derive.payment.startPartial', ['handler' => $method]),
- 'methods' => $submethods,
- 'img' => '/img/payment/' . $method . '.png',
- 'vueComponent' => 'derive-payment-handler-' . $method,
- 'group' => $config['group'] ?? false,
- ];
- }
-
- return $methods;
- }
-
-}
\ No newline at end of file
+order = $order;
+ return $this;
+ }
+
+ public function setEnvironment(Environment $environment)
+ {
+ $this->environment = $environment;
+ return $this;
+ }
+
+ public function getTotalWithCurrency()
+ {
+ return number_format($this->getTotal(), 2) . ' ' . $this->getCurrency();
+ }
+
+ public function getTotalToPayWithCurrency()
+ {
+ return number_format($this->getTotalToPay(), 2) . ' ' . $this->getCurrency();
+ }
+
+ public function getTotal()
+ {
+ return $this->order->getTotal();
+ }
+
+ public function getTotalToPay()
+ {
+ return $this->order->getTotalToPay();
+ }
+
+ public function getCurrency()
+ {
+ return $this->order->getCurrency();
+ }
+
+ public function getUrl($action, $handler)
+ {
+ return $this->environment->url('payment.' . $action, [$handler, $this->order->getOrder()]);
+ }
+
+ public function has($handler)
+ {
+ return $this->environment->config($handler . '.enabled');
+ }
+
+ public function prepare(Order $order = null, $handler, Log $logger)
+ {
+ $this->setOrder($order);
+ $this->useHandler($handler);
+ $handler = $this->getHandler();
+ $handler->setLogger($logger)->setEnvironment($this->environment);
+ return $this;
+ }
+
+ public function getPaymentMethods()
+ {
+ $methods = [];
+ foreach (config('pckg.payment.provider') as $method => $config) {
+ /**
+ * Skip disabled methods.
+ * @T00D00 - show sandbox to admin only?
+ */
+ if (!config('pckg.payment.provider.' . $method . '.enabled')) {
+ continue;
+ }
+
+ $submethods = [];
+ foreach (config('pckg.payment.provider.' . $method . '.methods', []) as $submethod) {
+ $submethods[$submethod] = [
+ 'url' => url('derive.payment.startPartial', ['handler' => $method . '-' . $submethod]),
+ 'img' => '/img/payment/' . $submethod . '.png',
+ 'vueComponent' => 'derive-payment-handler-' . $method . '-' . $submethod,
+ ];
+ }
+
+ $methods[$method] = [
+ 'url' => url('derive.payment.startPartial', ['handler' => $method]),
+ 'methods' => $submethods,
+ 'img' => '/img/payment/' . $method . '.png',
+ 'vueComponent' => 'derive-payment-handler-' . $method,
+ 'group' => $config['group'] ?? false,
+ ];
+ }
+
+ return $methods;
+ }
+}
diff --git a/src/Pckg/Payment/Service/PckgPayment.php b/src/Pckg/Payment/Service/PckgPayment.php
index d985b2a..9fbfa72 100644
--- a/src/Pckg/Payment/Service/PckgPayment.php
+++ b/src/Pckg/Payment/Service/PckgPayment.php
@@ -1,18 +1,16 @@
-setEnvironment(new Pckg());
-
- context()->bind(Payment::class, $payment);
-
- return $payment;
- }
-
-}
\ No newline at end of file
+setEnvironment(new Pckg());
+ context()->bind(Payment::class, $payment);
+ return $payment;
+ }
+}