diff --git a/composer.json b/composer.json
index 8a22812..da546e5 100644
--- a/composer.json
+++ b/composer.json
@@ -13,6 +13,7 @@
"php": "^7.1",
"dasprid/container-interop-doctrine": "^1.0",
"guzzlehttp/guzzle": "^6.3",
+ "http-interop/http-middleware": "^0.4.1",
"roave/security-advisories": "dev-master",
"zendframework/zend-component-installer": "^1.0",
"zendframework/zend-config-aggregator": "^1.0",
diff --git a/composer.lock b/composer.lock
index 1ddc3fe..8c08372 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
- "content-hash": "0822adb4f3d62dc32db289d0bdd9676f",
+ "content-hash": "a3208a6bbde4ad00c31e2c599c82f45b",
"packages": [
{
"name": "container-interop/container-interop",
@@ -39,16 +39,16 @@
},
{
"name": "dasprid/container-interop-doctrine",
- "version": "1.0.0",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/DASPRiD/container-interop-doctrine.git",
- "reference": "a4833d25dcfa42165c4ddec0c7062528206eeadc"
+ "reference": "b9f3afc00ce997e469d7fdd6fed7b8d400763290"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/DASPRiD/container-interop-doctrine/zipball/a4833d25dcfa42165c4ddec0c7062528206eeadc",
- "reference": "a4833d25dcfa42165c4ddec0c7062528206eeadc",
+ "url": "https://api.github.com/repos/DASPRiD/container-interop-doctrine/zipball/b9f3afc00ce997e469d7fdd6fed7b8d400763290",
+ "reference": "b9f3afc00ce997e469d7fdd6fed7b8d400763290",
"shasum": ""
},
"require": {
@@ -74,20 +74,20 @@
],
"description": "Doctrine factories for container-interop",
"homepage": "https://github.com/DASPRiD/container-interop-doctrine",
- "time": "2017-06-30T14:14:39+00:00"
+ "time": "2018-01-24T23:25:49+00:00"
},
{
"name": "doctrine/annotations",
- "version": "v1.5.0",
+ "version": "v1.6.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/annotations.git",
- "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f"
+ "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/annotations/zipball/5beebb01b025c94e93686b7a0ed3edae81fe3e7f",
- "reference": "5beebb01b025c94e93686b7a0ed3edae81fe3e7f",
+ "url": "https://api.github.com/repos/doctrine/annotations/zipball/c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5",
+ "reference": "c7f2050c68a9ab0bdb0f98567ec08d80ea7d24d5",
"shasum": ""
},
"require": {
@@ -96,12 +96,12 @@
},
"require-dev": {
"doctrine/cache": "1.*",
- "phpunit/phpunit": "^5.7"
+ "phpunit/phpunit": "^6.4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.5.x-dev"
+ "dev-master": "1.6.x-dev"
}
},
"autoload": {
@@ -142,7 +142,7 @@
"docblock",
"parser"
],
- "time": "2017-07-22T10:58:02+00:00"
+ "time": "2017-12-06T07:11:42+00:00"
},
{
"name": "doctrine/cache",
@@ -360,16 +360,16 @@
},
{
"name": "doctrine/dbal",
- "version": "v2.6.2",
+ "version": "v2.6.3",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "1a4ee83a5a709555f2c6f9057a3aacf892451c7e"
+ "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/1a4ee83a5a709555f2c6f9057a3aacf892451c7e",
- "reference": "1a4ee83a5a709555f2c6f9057a3aacf892451c7e",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/e3eed9b1facbb0ced3a0995244843a189e7d1b13",
+ "reference": "e3eed9b1facbb0ced3a0995244843a189e7d1b13",
"shasum": ""
},
"require": {
@@ -429,24 +429,24 @@
"persistence",
"queryobject"
],
- "time": "2017-08-28T11:02:56+00:00"
+ "time": "2017-11-19T13:38:54+00:00"
},
{
"name": "doctrine/inflector",
- "version": "v1.2.0",
+ "version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
- "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462"
+ "reference": "5527a48b7313d15261292c149e55e26eae771b0a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/e11d84c6e018beedd929cff5220969a3c6d1d462",
- "reference": "e11d84c6e018beedd929cff5220969a3c6d1d462",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/5527a48b7313d15261292c149e55e26eae771b0a",
+ "reference": "5527a48b7313d15261292c149e55e26eae771b0a",
"shasum": ""
},
"require": {
- "php": "^7.0"
+ "php": "^7.1"
},
"require-dev": {
"phpunit/phpunit": "^6.2"
@@ -454,7 +454,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2.x-dev"
+ "dev-master": "1.3.x-dev"
}
},
"autoload": {
@@ -496,36 +496,36 @@
"singularize",
"string"
],
- "time": "2017-07-22T12:18:28+00:00"
+ "time": "2018-01-09T20:05:19+00:00"
},
{
"name": "doctrine/instantiator",
- "version": "1.0.5",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/doctrine/instantiator.git",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
- "reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
+ "reference": "185b8868aa9bf7159f5f953ed5afb2d7fcdc3bda",
"shasum": ""
},
"require": {
- "php": ">=5.3,<8.0-DEV"
+ "php": "^7.1"
},
"require-dev": {
"athletic/athletic": "~0.1.8",
"ext-pdo": "*",
"ext-phar": "*",
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "~2.0"
+ "phpunit/phpunit": "^6.2.3",
+ "squizlabs/php_codesniffer": "^3.0.2"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0.x-dev"
+ "dev-master": "1.2.x-dev"
}
},
"autoload": {
@@ -550,7 +550,7 @@
"constructor",
"instantiate"
],
- "time": "2015-06-14T21:17:01+00:00"
+ "time": "2017-07-22T11:58:36+00:00"
},
{
"name": "doctrine/lexer",
@@ -608,38 +608,40 @@
},
{
"name": "doctrine/orm",
- "version": "v2.5.10",
+ "version": "v2.6.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/doctrine2.git",
- "reference": "c78afd51721804f4f76ff30d9b6f6159eb046161"
+ "reference": "87ee409783a4a322b5597ebaae558661404055a7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/c78afd51721804f4f76ff30d9b6f6159eb046161",
- "reference": "c78afd51721804f4f76ff30d9b6f6159eb046161",
+ "url": "https://api.github.com/repos/doctrine/doctrine2/zipball/87ee409783a4a322b5597ebaae558661404055a7",
+ "reference": "87ee409783a4a322b5597ebaae558661404055a7",
"shasum": ""
},
"require": {
- "doctrine/cache": "~1.4",
- "doctrine/collections": "~1.2",
- "doctrine/common": ">=2.5-dev,<2.9-dev",
- "doctrine/dbal": ">=2.5-dev,<2.7-dev",
- "doctrine/instantiator": "~1.0.1",
+ "doctrine/annotations": "~1.5",
+ "doctrine/cache": "~1.6",
+ "doctrine/collections": "^1.4",
+ "doctrine/common": "^2.7.1",
+ "doctrine/dbal": "^2.6",
+ "doctrine/instantiator": "~1.1",
"ext-pdo": "*",
- "php": ">=5.4",
- "symfony/console": "~2.5|~3.0"
+ "php": "^7.1",
+ "symfony/console": "~3.0|~4.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.0",
- "symfony/yaml": "~2.3|~3.0"
+ "doctrine/coding-standard": "^1.0",
+ "phpunit/phpunit": "^6.5",
+ "squizlabs/php_codesniffer": "^3.2",
+ "symfony/yaml": "~3.4|~4.0"
},
"suggest": {
"symfony/yaml": "If you want to use YAML Metadata Mapping Driver"
},
"bin": [
- "bin/doctrine",
- "bin/doctrine.php"
+ "bin/doctrine"
],
"type": "library",
"extra": {
@@ -648,8 +650,8 @@
}
},
"autoload": {
- "psr-0": {
- "Doctrine\\ORM\\": "lib/"
+ "psr-4": {
+ "Doctrine\\ORM\\": "lib/Doctrine/ORM"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -672,6 +674,10 @@
{
"name": "Jonathan Wage",
"email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com"
}
],
"description": "Object-Relational-Mapper for PHP",
@@ -680,7 +686,7 @@
"database",
"orm"
],
- "time": "2017-08-18T19:17:35+00:00"
+ "time": "2018-02-27T07:30:56+00:00"
},
{
"name": "fig/http-message-util",
@@ -963,25 +969,29 @@
"request",
"response"
],
+ "abandoned": "http-interop/http-server-middleware",
"time": "2017-01-14T15:23:42+00:00"
},
{
"name": "nikic/fast-route",
- "version": "v1.2.0",
+ "version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/FastRoute.git",
- "reference": "b5f95749071c82a8e0f58586987627054400cdf6"
+ "reference": "181d480e08d9476e61381e04a71b34dc0432e812"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/FastRoute/zipball/b5f95749071c82a8e0f58586987627054400cdf6",
- "reference": "b5f95749071c82a8e0f58586987627054400cdf6",
+ "url": "https://api.github.com/repos/nikic/FastRoute/zipball/181d480e08d9476e61381e04a71b34dc0432e812",
+ "reference": "181d480e08d9476e61381e04a71b34dc0432e812",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
+ "require-dev": {
+ "phpunit/phpunit": "^4.8.35|~5.7"
+ },
"type": "library",
"autoload": {
"psr-4": {
@@ -1006,7 +1016,7 @@
"router",
"routing"
],
- "time": "2017-01-19T11:35:12+00:00"
+ "time": "2018-02-13T20:26:39+00:00"
},
{
"name": "psr/container",
@@ -1107,80 +1117,38 @@
],
"time": "2016-08-06T14:39:51+00:00"
},
- {
- "name": "psr/log",
- "version": "1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/php-fig/log.git",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
- "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Psr\\Log\\": "Psr/Log/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "PHP-FIG",
- "homepage": "http://www.php-fig.org/"
- }
- ],
- "description": "Common interface for logging libraries",
- "homepage": "https://github.com/php-fig/log",
- "keywords": [
- "log",
- "psr",
- "psr-3"
- ],
- "time": "2016-10-10T12:19:37+00:00"
- },
{
"name": "roave/security-advisories",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "f40f874cb7139abb9309fa63a31fd37bb49ddd3e"
+ "reference": "1b2f1f59ff8fc933e4d61ee45214ff3228e20c75"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/f40f874cb7139abb9309fa63a31fd37bb49ddd3e",
- "reference": "f40f874cb7139abb9309fa63a31fd37bb49ddd3e",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/1b2f1f59ff8fc933e4d61ee45214ff3228e20c75",
+ "reference": "1b2f1f59ff8fc933e4d61ee45214ff3228e20c75",
"shasum": ""
},
"conflict": {
+ "3f/pygmentize": "<1.2",
"adodb/adodb-php": "<5.20.6",
- "amphp/artax": ">=2,<2.0.6|<1.0.6",
+ "amphp/artax": "<1.0.6|>=2,<2.0.6",
+ "amphp/http": "<1.0.1",
+ "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99",
"aws/aws-sdk-php": ">=3,<3.2.1",
"bugsnag/bugsnag-laravel": ">=2,<2.0.2",
- "cakephp/cakephp": ">=3,<3.0.15|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=1.3,<1.3.18|>=2.7,<2.7.6|>=3.1,<3.1.4",
+ "cakephp/cakephp": ">=1.3,<1.3.18|>=2,<2.4.99|>=2.5,<2.5.99|>=2.6,<2.6.12|>=2.7,<2.7.6|>=3,<3.0.15|>=3.1,<3.1.4",
"cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4",
- "cartalyst/sentry": "<2.1",
+ "cartalyst/sentry": "<=2.1.6",
"codeigniter/framework": "<=3.0.6",
"composer/composer": "<=1.0.0-alpha11",
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
- "contao/core": ">=2,<3.5.28",
- "contao/core-bundle": ">=4,<4.4.1",
+ "contao/core": ">=2,<3.5.32",
+ "contao/core-bundle": ">=4,<4.4.8",
+ "contao/listing-bundle": ">=4,<4.4.8",
+ "contao/newsletter-bundle": ">=4,<4.1",
"doctrine/annotations": ">=1,<1.2.7",
"doctrine/cache": ">=1,<1.3.2|>=1.4,<1.4.2",
"doctrine/common": ">=2,<2.4.3|>=2.5,<2.5.1",
@@ -1191,11 +1159,14 @@
"doctrine/mongodb-odm-bundle": ">=2,<3.0.1",
"doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1",
"dompdf/dompdf": ">=0.6,<0.6.2",
- "drupal/core": ">=8,<8.3.7",
- "drupal/drupal": ">=8,<8.3.7",
+ "drupal/core": ">=8,<8.4.5",
+ "drupal/drupal": ">=8,<8.4.5",
+ "erusev/parsedown": "<1.7",
+ "ezsystems/ezpublish-legacy": ">=5.3,<5.3.12.3|>=5.4,<5.4.11.3|>=2017.8,<2017.8.1.1|>=2017.12,<2017.12.2.1",
"firebase/php-jwt": "<2",
"friendsofsymfony/rest-bundle": ">=1.2,<1.2.2",
"friendsofsymfony/user-bundle": ">=1.2,<1.3.5",
+ "gree/jose": "<=2.2",
"gregwar/rst": "<1.0.3",
"guzzlehttp/guzzle": ">=6,<6.2.1|>=4.0.0-rc2,<4.2.4|>=5,<5.3.1",
"illuminate/auth": ">=4,<4.0.99|>=4.1,<4.1.26",
@@ -1211,46 +1182,57 @@
"onelogin/php-saml": "<2.10.4",
"oro/crm": ">=1.7,<1.7.4",
"oro/platform": ">=1.7,<1.7.4",
+ "padraic/humbug_get_contents": "<1.1.2",
+ "pagarme/pagarme-php": ">=0,<3",
+ "paragonie/random_compat": "<2",
"phpmailer/phpmailer": ">=5,<5.2.24",
+ "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5.0.10,<5.6.3",
+ "phpxmlrpc/extras": "<0.6.1",
+ "propel/propel": ">=2.0.0-alpha1,<=2.0.0-alpha7",
+ "propel/propel1": ">=1,<=1.7.1",
"pusher/pusher-php-server": "<2.2.1",
"sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9",
- "shopware/shopware": "<4.4|>=5,<5.2.16",
- "silverstripe/cms": ">=3.1,<3.1.11|>=3,<=3.0.11",
+ "shopware/shopware": "<5.3.7",
+ "silverstripe/cms": ">=3,<=3.0.11|>=3.1,<3.1.11",
"silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3",
"silverstripe/framework": ">=3,<3.3",
"silverstripe/userforms": "<3",
- "simplesamlphp/saml2": "<1.8.1|>=1.9,<1.9.1|>=1.10,<1.10.3|>=2,<2.3.3",
- "simplesamlphp/simplesamlphp": "<1.14.15",
+ "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4",
+ "simplesamlphp/simplesamlphp": "<1.15.2",
"simplesamlphp/simplesamlphp-module-infocard": "<1.0.1",
"socalnick/scn-social-auth": "<1.15.2",
"squizlabs/php_codesniffer": ">=1,<2.8.1",
+ "stormpath/sdk": ">=0,<9.9.99",
"swiftmailer/swiftmailer": ">=4,<5.4.5",
"symfony/dependency-injection": ">=2,<2.0.17",
- "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.7",
+ "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
"symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2",
"symfony/http-foundation": ">=2,<2.3.27|>=2.4,<2.5.11|>=2.6,<2.6.6",
"symfony/http-kernel": ">=2,<2.3.29|>=2.4,<2.5.12|>=2.6,<2.6.8",
+ "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
"symfony/routing": ">=2,<2.0.19",
- "symfony/security": ">=2.7.30,<2.7.32|>=2.8.23,<2.8.25|>=3.2.10,<3.2.12|>=3.3.3,<3.3.5|>=2.3,<2.3.37|>=2.4,<2.6.13|>=2.7,<2.7.9|>=2,<2.0.25|>=2.1,<2.1.13|>=2.2,<2.2.9",
- "symfony/security-core": ">=2.7.30,<2.7.32|>=2.8.23,<2.8.25|>=3.2.10,<3.2.12|>=3.3.3,<3.3.5|>=2.8,<2.8.6|>=3,<3.0.6|>=2.4,<2.6.13|>=2.7,<2.7.9",
- "symfony/security-http": ">=2.4,<2.7.13|>=2.3,<2.3.41|>=2.8,<2.8.6|>=3,<3.0.6",
+ "symfony/security": ">=2,<2.0.25|>=2.1,<2.1.13|>=2.2,<2.2.9|>=2.3,<2.3.37|>=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8.23,<2.8.25|>=3.2.10,<3.2.12|>=3.3.3,<3.3.5",
+ "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<2.8.6|>=2.8.23,<2.8.25|>=3,<3.0.6|>=3.2.10,<3.2.12|>=3.3.3,<3.3.5",
+ "symfony/security-csrf": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
+ "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
"symfony/serializer": ">=2,<2.0.11",
- "symfony/symfony": ">=2,<2.3.41|>=2.4,<2.7.13|>=2.7.30,<2.7.32|>=2.8.23,<2.8.25|>=3.2.10,<3.2.12|>=3.3.3,<3.3.5|>=2.8,<2.8.6|>=3,<3.0.6",
+ "symfony/symfony": ">=2,<2.3.41|>=2.4,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
"symfony/translation": ">=2,<2.0.17",
"symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3",
"symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4",
"symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7",
"thelia/backoffice-default-template": ">=2.1,<2.1.2",
"thelia/thelia": ">=2.1.0-beta1,<2.1.3|>=2.1,<2.1.2",
+ "titon/framework": ">=0,<9.9.99",
"twig/twig": "<1.20",
- "typo3/cms": ">=6.2,<6.2.30|>=8,<8.6.1|>=7,<7.6.16",
- "typo3/flow": ">=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5|>=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1",
+ "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.22|>=8,<8.7.5",
+ "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.10|>=3.1,<3.1.7|>=3.2,<3.2.7|>=3.3,<3.3.5",
"typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4",
"willdurand/js-translation-bundle": "<2.1.1",
"yiisoft/yii": ">=1.1.14,<1.1.15",
- "yiisoft/yii2": "<2.0.5",
+ "yiisoft/yii2": "<2.0.14",
"yiisoft/yii2-bootstrap": "<2.0.4",
- "yiisoft/yii2-dev": "<2.0.4",
+ "yiisoft/yii2-dev": "<2.0.14",
"yiisoft/yii2-gii": "<2.0.4",
"yiisoft/yii2-jui": "<2.0.4",
"zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3",
@@ -1272,6 +1254,7 @@
"zendframework/zendframework1": "<1.12.20",
"zendframework/zendopenid": ">=2,<2.0.2",
"zendframework/zendxml": ">=1,<1.0.1",
+ "zetacomponents/mail": "<1.8.2",
"zf-commons/zfc-user": "<1.2.2",
"zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
"zfr/zfr-oauth2-server-module": "<0.1.2"
@@ -1289,48 +1272,48 @@
}
],
"description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
- "time": "2017-08-17T12:55:16+00:00"
+ "time": "2018-03-15T17:53:05+00:00"
},
{
"name": "symfony/console",
- "version": "v3.3.8",
+ "version": "v4.0.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "d6596cb5022b6a0bd940eae54a1de78646a5fda6"
+ "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/d6596cb5022b6a0bd940eae54a1de78646a5fda6",
- "reference": "d6596cb5022b6a0bd940eae54a1de78646a5fda6",
+ "url": "https://api.github.com/repos/symfony/console/zipball/555c8dbe0ae9e561740451eabdbed2cc554b6a51",
+ "reference": "555c8dbe0ae9e561740451eabdbed2cc554b6a51",
"shasum": ""
},
"require": {
- "php": "^5.5.9|>=7.0.8",
- "symfony/debug": "~2.8|~3.0",
+ "php": "^7.1.3",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/dependency-injection": "<3.3"
+ "symfony/dependency-injection": "<3.4",
+ "symfony/process": "<3.3"
},
"require-dev": {
"psr/log": "~1.0",
- "symfony/config": "~3.3",
- "symfony/dependency-injection": "~3.3",
- "symfony/event-dispatcher": "~2.8|~3.0",
- "symfony/filesystem": "~2.8|~3.0",
- "symfony/process": "~2.8|~3.0"
+ "symfony/config": "~3.4|~4.0",
+ "symfony/dependency-injection": "~3.4|~4.0",
+ "symfony/event-dispatcher": "~3.4|~4.0",
+ "symfony/lock": "~3.4|~4.0",
+ "symfony/process": "~3.4|~4.0"
},
"suggest": {
"psr/log": "For using the console logger",
"symfony/event-dispatcher": "",
- "symfony/filesystem": "",
+ "symfony/lock": "",
"symfony/process": ""
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.3-dev"
+ "dev-master": "4.0-dev"
}
},
"autoload": {
@@ -1357,76 +1340,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2017-08-27T14:52:21+00:00"
- },
- {
- "name": "symfony/debug",
- "version": "v3.3.8",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/debug.git",
- "reference": "084d804fe35808eb2ef596ec83d85d9768aa6c9d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/084d804fe35808eb2ef596ec83d85d9768aa6c9d",
- "reference": "084d804fe35808eb2ef596ec83d85d9768aa6c9d",
- "shasum": ""
- },
- "require": {
- "php": "^5.5.9|>=7.0.8",
- "psr/log": "~1.0"
- },
- "conflict": {
- "symfony/http-kernel": ">=2.3,<2.3.24|~2.4.0|>=2.5,<2.5.9|>=2.6,<2.6.2"
- },
- "require-dev": {
- "symfony/http-kernel": "~2.8|~3.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "3.3-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Debug\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Symfony Debug Component",
- "homepage": "https://symfony.com",
- "time": "2017-08-27T14:52:21+00:00"
+ "time": "2018-02-26T15:55:47+00:00"
},
{
"name": "symfony/polyfill-mbstring",
- "version": "v1.5.0",
+ "version": "v1.7.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git",
- "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803"
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803",
- "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/78be803ce01e55d3491c1397cf1c64beb9c1b63b",
+ "reference": "78be803ce01e55d3491c1397cf1c64beb9c1b63b",
"shasum": ""
},
"require": {
@@ -1438,7 +1365,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.5-dev"
+ "dev-master": "1.7-dev"
}
},
"autoload": {
@@ -1472,20 +1399,113 @@
"portable",
"shim"
],
- "time": "2017-06-14T15:44:48+00:00"
+ "time": "2018-01-30T19:27:44+00:00"
},
{
- "name": "zendframework/zend-component-installer",
- "version": "1.0.0",
+ "name": "webimpress/composer-extra-dependency",
+ "version": "0.2.2",
"source": {
"type": "git",
- "url": "https://github.com/zendframework/zend-component-installer.git",
- "reference": "0ca44807dbcf356b75a869c61b533f917ccbc5ae"
+ "url": "https://github.com/webimpress/composer-extra-dependency.git",
+ "reference": "31fa56391d30f03b1180c87610cbe22254780ad9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-component-installer/zipball/0ca44807dbcf356b75a869c61b533f917ccbc5ae",
- "reference": "0ca44807dbcf356b75a869c61b533f917ccbc5ae",
+ "url": "https://api.github.com/repos/webimpress/composer-extra-dependency/zipball/31fa56391d30f03b1180c87610cbe22254780ad9",
+ "reference": "31fa56391d30f03b1180c87610cbe22254780ad9",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.1",
+ "php": "^5.6 || ^7.0"
+ },
+ "require-dev": {
+ "composer/composer": "^1.5.2",
+ "mikey179/vfsstream": "^1.6.5",
+ "phpunit/phpunit": "^5.7.22 || ^6.4.1",
+ "zendframework/zend-coding-standard": "~1.0.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Webimpress\\ComposerExtraDependency\\Plugin"
+ },
+ "autoload": {
+ "psr-4": {
+ "Webimpress\\ComposerExtraDependency\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "description": "Composer plugin to require extra dependencies",
+ "homepage": "https://github.com/webimpress/composer-extra-dependency",
+ "keywords": [
+ "composer",
+ "dependency",
+ "webimpress"
+ ],
+ "time": "2017-10-17T17:15:14+00:00"
+ },
+ {
+ "name": "webimpress/http-middleware-compatibility",
+ "version": "0.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webimpress/http-middleware-compatibility.git",
+ "reference": "8ed1c2c7523dce0035b98bc4f3a73ca9cd1d3717"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webimpress/http-middleware-compatibility/zipball/8ed1c2c7523dce0035b98bc4f3a73ca9cd1d3717",
+ "reference": "8ed1c2c7523dce0035b98bc4f3a73ca9cd1d3717",
+ "shasum": ""
+ },
+ "require": {
+ "http-interop/http-middleware": "^0.1.1 || ^0.2 || ^0.3 || ^0.4.1 || ^0.5",
+ "php": "^5.6 || ^7.0",
+ "webimpress/composer-extra-dependency": "^0.2.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3"
+ },
+ "type": "library",
+ "extra": {
+ "dependency": [
+ "http-interop/http-middleware"
+ ]
+ },
+ "autoload": {
+ "files": [
+ "autoload/http-middleware.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "description": "Compatibility library for Draft PSR-15 HTTP Middleware",
+ "homepage": "https://github.com/webimpress/http-middleware-compatibility",
+ "keywords": [
+ "middleware",
+ "psr-15",
+ "webimpress"
+ ],
+ "abandoned": "psr/http-server-middleware",
+ "time": "2017-10-17T17:31:10+00:00"
+ },
+ {
+ "name": "zendframework/zend-component-installer",
+ "version": "1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/zendframework/zend-component-installer.git",
+ "reference": "5e9beda3b81d29d4d080b110d67f8c8c44d93605"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/zendframework/zend-component-installer/zipball/5e9beda3b81d29d4d080b110d67f8c8c44d93605",
+ "reference": "5e9beda3b81d29d4d080b110d67f8c8c44d93605",
"shasum": ""
},
"require": {
@@ -1493,16 +1513,17 @@
"php": "^5.6 || ^7.0"
},
"require-dev": {
- "composer/composer": "^1.3.2",
- "malukenho/docheader": "^0.1.5",
- "mikey179/vfsstream": "^1.6",
- "phpunit/phpunit": "^6.0.7 || ^5.7.14",
+ "composer/composer": "^1.5.2",
+ "malukenho/docheader": "^0.1.6",
+ "mikey179/vfsstream": "^1.6.5",
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "composer-plugin",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-master": "1.1-dev",
+ "dev-develop": "1.2-dev"
},
"class": "Zend\\ComponentInstaller\\ComponentInstaller"
},
@@ -1516,42 +1537,49 @@
"BSD-3-Clause"
],
"description": "Composer plugin for automating component registration in zend-mvc and Expressive applications",
- "time": "2017-04-25T16:43:54+00:00"
+ "keywords": [
+ "ZendFramework",
+ "component installer",
+ "composer",
+ "plugin",
+ "zf"
+ ],
+ "time": "2018-01-11T15:03:06+00:00"
},
{
"name": "zendframework/zend-config-aggregator",
- "version": "1.0.0",
+ "version": "1.1.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-config-aggregator.git",
- "reference": "9494f491db02112c48777f1948a3b7ef71d674ab"
+ "reference": "46460b25c09fb572f807a00cf9dfe9c466792a76"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-config-aggregator/zipball/9494f491db02112c48777f1948a3b7ef71d674ab",
- "reference": "9494f491db02112c48777f1948a3b7ef71d674ab",
+ "url": "https://api.github.com/repos/zendframework/zend-config-aggregator/zipball/46460b25c09fb572f807a00cf9dfe9c466792a76",
+ "reference": "46460b25c09fb572f807a00cf9dfe9c466792a76",
"shasum": ""
},
"require": {
- "php": "^5.6 || ^7.0"
+ "php": "^5.6 || ^7.0",
+ "zendframework/zend-stdlib": "^2.7.7 || ^3.1.0"
},
"require-dev": {
"malukenho/docheader": "^0.1.5",
"mikey179/vfsstream": "^1.6",
- "phpunit/phpunit": "^5.7",
+ "phpunit/phpunit": "^5.7.21 || ^6.3",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-config": "^2.6 || ^3.0",
"zendframework/zend-servicemanager": "^2.7.7 || ^3.1.1"
},
"suggest": {
- "zendframework/zend-config": "Allows loading configuration from XML, INI, YAML, and JSON files",
- "zendframework/zend-stdlib": "Allows removing configuration keys and globbing on Windows platform"
+ "zendframework/zend-config": "Allows loading configuration from XML, INI, YAML, and JSON files"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev",
- "dev-develop": "1.1-dev"
+ "dev-master": "1.1.x-dev",
+ "dev-develop": "1.2.x-dev"
}
},
"autoload": {
@@ -1561,29 +1589,28 @@
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD 3-Clause"
+ "BSD-3-Clause"
],
- "authors": [
- {
- "name": "Mateusz Tymek",
- "email": "mtymek@gmail.com"
- }
+ "description": "Lightweight library for collecting and merging configuration from different sources",
+ "keywords": [
+ "ZendFramework",
+ "config-aggregator",
+ "zf"
],
- "description": "Lightweight library for merging and caching application config",
- "time": "2017-04-24T21:19:47+00:00"
+ "time": "2018-02-26T16:46:30+00:00"
},
{
"name": "zendframework/zend-diactoros",
- "version": "1.5.0",
+ "version": "1.7.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-diactoros.git",
- "reference": "1d23172f9dc1687a97c195a777b0199f14f7b26e"
+ "reference": "bf26aff803a11c5cc8eb7c4878a702c403ec67f1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/1d23172f9dc1687a97c195a777b0199f14f7b26e",
- "reference": "1d23172f9dc1687a97c195a777b0199f14f7b26e",
+ "url": "https://api.github.com/repos/zendframework/zend-diactoros/zipball/bf26aff803a11c5cc8eb7c4878a702c403ec67f1",
+ "reference": "bf26aff803a11c5cc8eb7c4878a702c403ec67f1",
"shasum": ""
},
"require": {
@@ -1602,8 +1629,8 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.5-dev",
- "dev-develop": "1.6-dev"
+ "dev-master": "1.7.x-dev",
+ "dev-develop": "1.8.x-dev"
}
},
"autoload": {
@@ -1622,7 +1649,7 @@
"psr",
"psr-7"
],
- "time": "2017-08-22T20:38:56+00:00"
+ "time": "2018-02-26T15:44:50+00:00"
},
{
"name": "zendframework/zend-escaper",
@@ -1724,27 +1751,28 @@
},
{
"name": "zendframework/zend-expressive",
- "version": "2.0.3",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-expressive.git",
- "reference": "293145df73f288b16107d1388995282c4e8599fd"
+ "reference": "fdbb9028d11b361fbcaddf62e95ca45d25ea9ac6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-expressive/zipball/293145df73f288b16107d1388995282c4e8599fd",
- "reference": "293145df73f288b16107d1388995282c4e8599fd",
+ "url": "https://api.github.com/repos/zendframework/zend-expressive/zipball/fdbb9028d11b361fbcaddf62e95ca45d25ea9ac6",
+ "reference": "fdbb9028d11b361fbcaddf62e95ca45d25ea9ac6",
"shasum": ""
},
"require": {
"fig/http-message-util": "^1.1.2",
+ "http-interop/http-middleware": "^0.4.1",
"php": "^5.6 || ^7.0",
"psr/container": "^1.0",
"psr/http-message": "^1.0.1",
"zendframework/zend-diactoros": "^1.3.10",
- "zendframework/zend-expressive-router": "^2.1",
+ "zendframework/zend-expressive-router": "^2.4.1",
"zendframework/zend-expressive-template": "^1.0.4",
- "zendframework/zend-stratigility": "^2.0.1"
+ "zendframework/zend-stratigility": "^2.2.0"
},
"conflict": {
"container-interop/container-interop": "<1.2.0"
@@ -1752,12 +1780,12 @@
"require-dev": {
"filp/whoops": "^2.1.6 || ^1.1.10",
"malukenho/docheader": "^0.1.5",
- "mockery/mockery": "^0.9.5",
- "phpunit/phpunit": "^6.0.8 || ^5.7.15",
+ "mockery/mockery": "^1.0",
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3",
"zendframework/zend-coding-standard": "~1.0.0",
- "zendframework/zend-expressive-aurarouter": "^2.0",
- "zendframework/zend-expressive-fastroute": "^2.0",
- "zendframework/zend-expressive-zendrouter": "^2.0.1",
+ "zendframework/zend-expressive-aurarouter": "^2.2",
+ "zendframework/zend-expressive-fastroute": "^2.2",
+ "zendframework/zend-expressive-zendrouter": "^2.2",
"zendframework/zend-servicemanager": "^3.3 || ^2.7.8"
},
"suggest": {
@@ -1774,8 +1802,11 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev",
- "dev-develop": "2.1-dev"
+ "dev-master": "2.2.x-dev",
+ "dev-develop": "3.0.x-dev"
+ },
+ "zf": {
+ "config-provider": "Zend\\Expressive\\ConfigProvider"
}
},
"autoload": {
@@ -1789,25 +1820,29 @@
],
"description": "PSR-7 Middleware Microframework based on Stratigility",
"keywords": [
+ "PSR-11",
+ "ZendFramework",
"http",
"middleware",
"psr",
- "psr-7"
+ "psr-7",
+ "zend-expressive",
+ "zf"
],
- "time": "2017-03-28T15:56:53+00:00"
+ "time": "2018-03-12T21:18:34+00:00"
},
{
"name": "zendframework/zend-expressive-fastroute",
- "version": "2.1.0",
+ "version": "2.2.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-expressive-fastroute.git",
- "reference": "20767d9df6d0154190e344e2bd6ba1a4db74a959"
+ "reference": "7567d8e53e7f92b740c937e2215d393cdb65feb6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-expressive-fastroute/zipball/20767d9df6d0154190e344e2bd6ba1a4db74a959",
- "reference": "20767d9df6d0154190e344e2bd6ba1a4db74a959",
+ "url": "https://api.github.com/repos/zendframework/zend-expressive-fastroute/zipball/7567d8e53e7f92b740c937e2215d393cdb65feb6",
+ "reference": "7567d8e53e7f92b740c937e2215d393cdb65feb6",
"shasum": ""
},
"require": {
@@ -1816,22 +1851,22 @@
"php": "^5.6 || ^7.0",
"psr/container": "^1.0",
"psr/http-message": "^1.0.1",
- "zendframework/zend-expressive-router": "^2.0.1",
- "zendframework/zend-stdlib": "^3.1"
+ "zendframework/zend-expressive-router": "^2.4",
+ "zendframework/zend-stdlib": "^3.1 || 2.*"
},
"conflict": {
"container-interop/container-interop": "<1.2.0"
},
"require-dev": {
"malukenho/docheader": "^0.1.5",
- "phpunit/phpunit": "^6.0.7 || ^5.7.14",
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3",
"zendframework/zend-coding-standard": "~1.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.1-dev",
- "dev-develop": "2.2-dev"
+ "dev-master": "2.2.x-dev",
+ "dev-develop": "3.0.x-dev"
}
},
"autoload": {
@@ -1846,39 +1881,42 @@
"description": "FastRoute integration for Expressive",
"keywords": [
"FastRoute",
+ "ZendFramework",
"expressive",
"http",
"middleware",
"psr",
- "psr-7"
+ "psr-7",
+ "zend-expressive",
+ "zf"
],
- "time": "2017-08-11T18:46:49+00:00"
+ "time": "2018-03-09T17:36:27+00:00"
},
{
"name": "zendframework/zend-expressive-helpers",
- "version": "4.0.0",
+ "version": "4.2.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-expressive-helpers.git",
- "reference": "c49acbb77b8c7d54d3b78e1474ed968b65c4d80c"
+ "reference": "137d863d4741210d05297b4bb1c30264f100ba8f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-expressive-helpers/zipball/c49acbb77b8c7d54d3b78e1474ed968b65c4d80c",
- "reference": "c49acbb77b8c7d54d3b78e1474ed968b65c4d80c",
+ "url": "https://api.github.com/repos/zendframework/zend-expressive-helpers/zipball/137d863d4741210d05297b4bb1c30264f100ba8f",
+ "reference": "137d863d4741210d05297b4bb1c30264f100ba8f",
"shasum": ""
},
"require": {
- "http-interop/http-middleware": "^0.4.1",
"php": "^5.6 || ^7.0",
"psr/container": "^1.0",
"psr/http-message": "^1.0.1",
- "zendframework/zend-expressive-router": "^2.1"
+ "webimpress/http-middleware-compatibility": "^0.1.1",
+ "zendframework/zend-expressive-router": "^2.2"
},
"require-dev": {
"malukenho/docheader": "^0.1.5",
- "mockery/mockery": "^0.9.5",
- "phpunit/phpunit": "^6.0.8 || ^5.7.15",
+ "mockery/mockery": "^1.0",
+ "phpunit/phpunit": "^5.7.22 || ^6.4.1",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-diactoros": "^1.3.10"
},
@@ -1890,8 +1928,8 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev",
- "dev-develop": "4.1-dev"
+ "dev-master": "4.2-dev",
+ "dev-develop": "4.3-dev"
}
},
"autoload": {
@@ -1911,31 +1949,33 @@
"psr",
"psr-7"
],
- "time": "2017-03-13T21:52:53+00:00"
+ "time": "2017-10-09T19:03:01+00:00"
},
{
"name": "zendframework/zend-expressive-router",
- "version": "2.1.0",
+ "version": "2.4.1",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-expressive-router.git",
- "reference": "88d711aee740ac8fbd684472469e16b85435cc79"
+ "reference": "e1a00596aa20a29968bdc6ecdf0256c8bfd6e0b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-expressive-router/zipball/88d711aee740ac8fbd684472469e16b85435cc79",
- "reference": "88d711aee740ac8fbd684472469e16b85435cc79",
+ "url": "https://api.github.com/repos/zendframework/zend-expressive-router/zipball/e1a00596aa20a29968bdc6ecdf0256c8bfd6e0b5",
+ "reference": "e1a00596aa20a29968bdc6ecdf0256c8bfd6e0b5",
"shasum": ""
},
"require": {
- "fig/http-message-util": "^1.1",
- "http-interop/http-middleware": "^0.4.1",
+ "fig/http-message-util": "^1.1.2",
"php": "^5.6 || ^7.0",
- "psr/http-message": "^1.0"
+ "psr/container": "^1.0",
+ "psr/http-message": "^1.0.1",
+ "webimpress/http-middleware-compatibility": "^0.1.1"
},
"require-dev": {
+ "http-interop/http-middleware": "0.4.1",
"malukenho/docheader": "^0.1.5",
- "phpunit/phpunit": "^4.7 || ^5.6",
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3",
"zendframework/zend-coding-standard": "~1.0.0"
},
"suggest": {
@@ -1946,8 +1986,11 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.1-dev",
- "dev-develop": "2.2-dev"
+ "dev-master": "2.4.x-dev",
+ "dev-develop": "3.0.x-dev"
+ },
+ "zf": {
+ "config-provider": "Zend\\Expressive\\Router\\ConfigProvider"
}
},
"autoload": {
@@ -1961,13 +2004,16 @@
],
"description": "Router subcomponent for Expressive",
"keywords": [
+ "ZendFramework",
"expressive",
"http",
"middleware",
"psr",
- "psr-7"
+ "psr-7",
+ "zend-expressive",
+ "zf"
],
- "time": "2017-01-24T22:28:12+00:00"
+ "time": "2018-03-08T19:27:02+00:00"
},
{
"name": "zendframework/zend-expressive-template",
@@ -2020,35 +2066,35 @@
},
{
"name": "zendframework/zend-http",
- "version": "2.6.0",
+ "version": "2.7.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-http.git",
- "reference": "09f4d279f46d86be63171ff62ee0f79eca878678"
+ "reference": "78aa510c0ea64bfb2aa234f50c4f232c9531acfa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-http/zipball/09f4d279f46d86be63171ff62ee0f79eca878678",
- "reference": "09f4d279f46d86be63171ff62ee0f79eca878678",
+ "url": "https://api.github.com/repos/zendframework/zend-http/zipball/78aa510c0ea64bfb2aa234f50c4f232c9531acfa",
+ "reference": "78aa510c0ea64bfb2aa234f50c4f232c9531acfa",
"shasum": ""
},
"require": {
- "php": "^5.5 || ^7.0",
- "zendframework/zend-loader": "^2.5",
- "zendframework/zend-stdlib": "^2.5 || ^3.0",
- "zendframework/zend-uri": "^2.5",
- "zendframework/zend-validator": "^2.5"
+ "php": "^5.6 || ^7.0",
+ "zendframework/zend-loader": "^2.5.1",
+ "zendframework/zend-stdlib": "^3.1 || ^2.7.7",
+ "zendframework/zend-uri": "^2.5.2",
+ "zendframework/zend-validator": "^2.10.1"
},
"require-dev": {
- "phpunit/phpunit": "^4.0",
+ "phpunit/phpunit": "^6.4.1 || ^5.7.15",
"zendframework/zend-coding-standard": "~1.0.0",
- "zendframework/zend-config": "^2.5"
+ "zendframework/zend-config": "^3.1 || ^2.6"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.6-dev",
- "dev-develop": "2.7-dev"
+ "dev-master": "2.7-dev",
+ "dev-develop": "2.8-dev"
}
},
"autoload": {
@@ -2063,32 +2109,35 @@
"description": "provides an easy interface for performing Hyper-Text Transfer Protocol (HTTP) requests",
"homepage": "https://github.com/zendframework/zend-http",
"keywords": [
+ "ZendFramework",
"http",
- "zf2"
+ "http client",
+ "zend",
+ "zf"
],
- "time": "2017-01-31T14:41:02+00:00"
+ "time": "2017-10-13T12:06:24+00:00"
},
{
"name": "zendframework/zend-json",
- "version": "3.0.0",
+ "version": "3.1.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-json.git",
- "reference": "f42a1588e75c2a3e338cd94c37906231e616daab"
+ "reference": "4dd940e8e6f32f1d36ea6b0677ea57c540c7c19c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-json/zipball/f42a1588e75c2a3e338cd94c37906231e616daab",
- "reference": "f42a1588e75c2a3e338cd94c37906231e616daab",
+ "url": "https://api.github.com/repos/zendframework/zend-json/zipball/4dd940e8e6f32f1d36ea6b0677ea57c540c7c19c",
+ "reference": "4dd940e8e6f32f1d36ea6b0677ea57c540c7c19c",
"shasum": ""
},
"require": {
- "php": "^5.5 || ^7.0"
+ "php": "^5.6 || ^7.0"
},
"require-dev": {
- "phpunit/phpunit": "~4.0",
- "squizlabs/php_codesniffer": "^2.3",
- "zendframework/zend-stdlib": "^2.7 || ^3.0"
+ "phpunit/phpunit": "^5.7.23 || ^6.4.3",
+ "zendframework/zend-coding-standard": "~1.0.0",
+ "zendframework/zend-stdlib": "^2.7.7 || ^3.1"
},
"suggest": {
"zendframework/zend-json-server": "For implementing JSON-RPC servers",
@@ -2097,8 +2146,8 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev",
- "dev-develop": "3.1-dev"
+ "dev-master": "3.1.x-dev",
+ "dev-develop": "3.2.x-dev"
}
},
"autoload": {
@@ -2111,12 +2160,12 @@
"BSD-3-Clause"
],
"description": "provides convenience methods for serializing native PHP to JSON and decoding JSON to native PHP",
- "homepage": "https://github.com/zendframework/zend-json",
"keywords": [
+ "ZendFramework",
"json",
- "zf2"
+ "zf"
],
- "time": "2016-04-01T02:34:00+00:00"
+ "time": "2018-01-04T17:51:34+00:00"
},
{
"name": "zendframework/zend-loader",
@@ -2164,16 +2213,16 @@
},
{
"name": "zendframework/zend-servicemanager",
- "version": "3.3.0",
+ "version": "3.3.2",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-servicemanager.git",
- "reference": "c3036efb81f71bfa36cc9962ee5d4474f36581d0"
+ "reference": "9f35a104b8d4d3b32da5f4a3b6efc0dd62e5af42"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/c3036efb81f71bfa36cc9962ee5d4474f36581d0",
- "reference": "c3036efb81f71bfa36cc9962ee5d4474f36581d0",
+ "url": "https://api.github.com/repos/zendframework/zend-servicemanager/zipball/9f35a104b8d4d3b32da5f4a3b6efc0dd62e5af42",
+ "reference": "9f35a104b8d4d3b32da5f4a3b6efc0dd62e5af42",
"shasum": ""
},
"require": {
@@ -2187,10 +2236,10 @@
"psr/container-implementation": "^1.0"
},
"require-dev": {
- "mikey179/vfsstream": "^1.6",
+ "mikey179/vfsstream": "^1.6.5",
"ocramius/proxy-manager": "^1.0 || ^2.0",
- "phpbench/phpbench": "^0.10.0",
- "phpunit/phpunit": "^5.7 || ^6.0.6",
+ "phpbench/phpbench": "^0.13.0",
+ "phpunit/phpunit": "^5.7.25 || ^6.4.4",
"zendframework/zend-coding-standard": "~1.0.0"
},
"suggest": {
@@ -2205,7 +2254,7 @@
"extra": {
"branch-alias": {
"dev-master": "3.3-dev",
- "dev-develop": "3.4-dev"
+ "dev-develop": "4.0-dev"
}
},
"autoload": {
@@ -2217,13 +2266,18 @@
"license": [
"BSD-3-Clause"
],
- "homepage": "https://github.com/zendframework/zend-servicemanager",
+ "description": "Factory-Driven Dependency Injection Container",
"keywords": [
+ "PSR-11",
+ "ZendFramework",
+ "dependency-injection",
+ "di",
+ "dic",
"service-manager",
"servicemanager",
"zf"
],
- "time": "2017-03-01T22:08:02+00:00"
+ "time": "2018-01-29T16:48:37+00:00"
},
{
"name": "zendframework/zend-stdlib",
@@ -2272,27 +2326,27 @@
},
{
"name": "zendframework/zend-stratigility",
- "version": "2.0.1",
+ "version": "2.2.0",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-stratigility.git",
- "reference": "229e7d94010d09d9e68096ff6f1d35f354d8dac9"
+ "reference": "e8c413fcba926ede63099936a5f86acf9b8156c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-stratigility/zipball/229e7d94010d09d9e68096ff6f1d35f354d8dac9",
- "reference": "229e7d94010d09d9e68096ff6f1d35f354d8dac9",
+ "url": "https://api.github.com/repos/zendframework/zend-stratigility/zipball/e8c413fcba926ede63099936a5f86acf9b8156c5",
+ "reference": "e8c413fcba926ede63099936a5f86acf9b8156c5",
"shasum": ""
},
"require": {
- "http-interop/http-middleware": "^0.4.1",
"php": "^5.6 || ^7.0",
"psr/http-message": "^1.0",
+ "webimpress/http-middleware-compatibility": "^0.1.4",
"zendframework/zend-escaper": "^2.3"
},
"require-dev": {
"malukenho/docheader": "^0.1.5",
- "phpunit/phpunit": "^5.7",
+ "phpunit/phpunit": "^5.7.22 || ^6.4.1",
"zendframework/zend-coding-standard": "~1.0.0",
"zendframework/zend-diactoros": "^1.0"
},
@@ -2302,11 +2356,16 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.0-dev",
- "dev-develop": "2.1.0-dev"
+ "dev-master": "2.2.x-dev",
+ "dev-develop": "3.0.x-dev"
}
},
"autoload": {
+ "files": [
+ "src/functions/double-pass-middleware.php",
+ "src/functions/middleware.php",
+ "src/functions/path.php"
+ ],
"psr-4": {
"Zend\\Stratigility\\": "src/"
}
@@ -2318,11 +2377,13 @@
"description": "Middleware for PHP",
"homepage": "https://github.com/zendframework/zend-stratigility",
"keywords": [
+ "ZendFramework",
"http",
"middleware",
- "psr-7"
+ "psr-7",
+ "zf"
],
- "time": "2017-01-25T19:16:16+00:00"
+ "time": "2018-03-12T21:04:19+00:00"
},
{
"name": "zendframework/zend-uri",
@@ -2373,16 +2434,16 @@
},
{
"name": "zendframework/zend-validator",
- "version": "2.10.1",
+ "version": "2.10.2",
"source": {
"type": "git",
"url": "https://github.com/zendframework/zend-validator.git",
- "reference": "010084ddbd33299bf51ea6f0e07f8f4e8bd832a8"
+ "reference": "38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/010084ddbd33299bf51ea6f0e07f8f4e8bd832a8",
- "reference": "010084ddbd33299bf51ea6f0e07f8f4e8bd832a8",
+ "url": "https://api.github.com/repos/zendframework/zend-validator/zipball/38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9",
+ "reference": "38109ed7d8e46cfa71bccbe7e6ca80cdd035f8c9",
"shasum": ""
},
"require": {
@@ -2417,8 +2478,8 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.10-dev",
- "dev-develop": "2.11-dev"
+ "dev-master": "2.10.x-dev",
+ "dev-develop": "2.11.x-dev"
},
"zf": {
"component": "Zend\\Validator",
@@ -2440,22 +2501,22 @@
"validator",
"zf2"
],
- "time": "2017-08-22T14:19:23+00:00"
+ "time": "2018-02-01T17:05:33+00:00"
}
],
"packages-dev": [
{
"name": "filp/whoops",
- "version": "2.1.10",
+ "version": "2.1.14",
"source": {
"type": "git",
"url": "https://github.com/filp/whoops.git",
- "reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec"
+ "reference": "c6081b8838686aa04f1e83ba7e91f78b7b2a23e6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec",
- "reference": "ffbbd2c06c64b08fb47974eed5dbce4ca2bb0eec",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/c6081b8838686aa04f1e83ba7e91f78b7b2a23e6",
+ "reference": "c6081b8838686aa04f1e83ba7e91f78b7b2a23e6",
"shasum": ""
},
"require": {
@@ -2464,7 +2525,7 @@
},
"require-dev": {
"mockery/mockery": "0.9.*",
- "phpunit/phpunit": "^4.8 || ^5.0",
+ "phpunit/phpunit": "^4.8.35 || ^5.7",
"symfony/var-dumper": "^2.6 || ^3.0"
},
"suggest": {
@@ -2500,44 +2561,47 @@
"exception",
"handling",
"library",
- "whoops",
- "zf2"
+ "throwable",
+ "whoops"
],
- "time": "2017-08-03T18:23:40+00:00"
+ "time": "2017-11-23T18:22:44+00:00"
},
{
"name": "myclabs/deep-copy",
- "version": "1.6.1",
+ "version": "1.7.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102"
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/8e6e04167378abf1ddb4d3522d8755c5fd90d102",
- "reference": "8e6e04167378abf1ddb4d3522d8755c5fd90d102",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
+ "reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
"shasum": ""
},
"require": {
- "php": ">=5.4.0"
+ "php": "^5.6 || ^7.0"
},
"require-dev": {
- "doctrine/collections": "1.*",
- "phpunit/phpunit": "~4.1"
+ "doctrine/collections": "^1.0",
+ "doctrine/common": "^2.6",
+ "phpunit/phpunit": "^4.1"
},
"type": "library",
"autoload": {
"psr-4": {
"DeepCopy\\": "src/DeepCopy/"
- }
+ },
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"description": "Create deep copies (clones) of your objects",
- "homepage": "https://github.com/myclabs/DeepCopy",
"keywords": [
"clone",
"copy",
@@ -2545,7 +2609,7 @@
"object",
"object graph"
],
- "time": "2017-04-12T18:52:22+00:00"
+ "time": "2017-10-19T19:58:43+00:00"
},
{
"name": "phar-io/manifest",
@@ -2651,16 +2715,16 @@
},
{
"name": "phpdocumentor/reflection-common",
- "version": "1.0",
+ "version": "1.0.1",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
- "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c"
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
- "reference": "144c307535e82c8fdcaacbcfc1d6d8eeb896687c",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
+ "reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
"shasum": ""
},
"require": {
@@ -2701,33 +2765,39 @@
"reflection",
"static analysis"
],
- "time": "2015-12-27T11:43:31+00:00"
+ "time": "2017-09-11T18:02:19+00:00"
},
{
"name": "phpdocumentor/reflection-docblock",
- "version": "4.1.1",
+ "version": "4.3.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
- "reference": "2d3d238c433cf69caeb4842e97a3223a116f94b2"
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/2d3d238c433cf69caeb4842e97a3223a116f94b2",
- "reference": "2d3d238c433cf69caeb4842e97a3223a116f94b2",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/94fd0001232e47129dd3504189fa1c7225010d08",
+ "reference": "94fd0001232e47129dd3504189fa1c7225010d08",
"shasum": ""
},
"require": {
"php": "^7.0",
- "phpdocumentor/reflection-common": "^1.0@dev",
+ "phpdocumentor/reflection-common": "^1.0.0",
"phpdocumentor/type-resolver": "^0.4.0",
"webmozart/assert": "^1.0"
},
"require-dev": {
- "mockery/mockery": "^0.9.4",
- "phpunit/phpunit": "^4.4"
+ "doctrine/instantiator": "~1.0.5",
+ "mockery/mockery": "^1.0",
+ "phpunit/phpunit": "^6.4"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
"phpDocumentor\\Reflection\\": [
@@ -2746,7 +2816,7 @@
}
],
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
- "time": "2017-08-30T18:51:59+00:00"
+ "time": "2017-11-30T07:14:17+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@@ -2797,16 +2867,16 @@
},
{
"name": "phpspec/prophecy",
- "version": "v1.7.1",
+ "version": "1.7.5",
"source": {
"type": "git",
"url": "https://github.com/phpspec/prophecy.git",
- "reference": "15ea9ac619e37009edcda64089e3fa4cc88aa659"
+ "reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpspec/prophecy/zipball/15ea9ac619e37009edcda64089e3fa4cc88aa659",
- "reference": "15ea9ac619e37009edcda64089e3fa4cc88aa659",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/dfd6be44111a7c41c2e884a336cc4f461b3b2401",
+ "reference": "dfd6be44111a7c41c2e884a336cc4f461b3b2401",
"shasum": ""
},
"require": {
@@ -2818,7 +2888,7 @@
},
"require-dev": {
"phpspec/phpspec": "^2.5|^3.2",
- "phpunit/phpunit": "^4.8 || ^5.6.5"
+ "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
},
"type": "library",
"extra": {
@@ -2856,20 +2926,20 @@
"spy",
"stub"
],
- "time": "2017-09-03T09:38:53+00:00"
+ "time": "2018-02-19T10:16:54+00:00"
},
{
"name": "phpunit/php-code-coverage",
- "version": "5.2.2",
+ "version": "5.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "8ed1902a57849e117b5651fc1a5c48110946c06b"
+ "reference": "661f34d0bd3f1a7225ef491a70a020ad23a057a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/8ed1902a57849e117b5651fc1a5c48110946c06b",
- "reference": "8ed1902a57849e117b5651fc1a5c48110946c06b",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/661f34d0bd3f1a7225ef491a70a020ad23a057a1",
+ "reference": "661f34d0bd3f1a7225ef491a70a020ad23a057a1",
"shasum": ""
},
"require": {
@@ -2878,14 +2948,13 @@
"php": "^7.0",
"phpunit/php-file-iterator": "^1.4.2",
"phpunit/php-text-template": "^1.2.1",
- "phpunit/php-token-stream": "^1.4.11 || ^2.0",
+ "phpunit/php-token-stream": "^2.0.1",
"sebastian/code-unit-reverse-lookup": "^1.0.1",
"sebastian/environment": "^3.0",
"sebastian/version": "^2.0.1",
"theseer/tokenizer": "^1.1"
},
"require-dev": {
- "ext-xdebug": "^2.5",
"phpunit/phpunit": "^6.0"
},
"suggest": {
@@ -2894,7 +2963,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.2.x-dev"
+ "dev-master": "5.3.x-dev"
}
},
"autoload": {
@@ -2909,7 +2978,7 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
@@ -2920,20 +2989,20 @@
"testing",
"xunit"
],
- "time": "2017-08-03T12:40:43+00:00"
+ "time": "2017-12-06T09:29:45+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "1.4.2",
+ "version": "1.4.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5"
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
- "reference": "3cc8f69b3028d0f96a9078e6295d86e9bf019be5",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
+ "reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
"shasum": ""
},
"require": {
@@ -2967,7 +3036,7 @@
"filesystem",
"iterator"
],
- "time": "2016-10-03T07:40:28+00:00"
+ "time": "2017-11-27T13:52:08+00:00"
},
{
"name": "phpunit/php-text-template",
@@ -3061,16 +3130,16 @@
},
{
"name": "phpunit/php-token-stream",
- "version": "2.0.1",
+ "version": "2.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
- "reference": "9a02332089ac48e704c70f6cefed30c224e3c0b0"
+ "reference": "791198a2c6254db10131eecfe8c06670700904db"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/9a02332089ac48e704c70f6cefed30c224e3c0b0",
- "reference": "9a02332089ac48e704c70f6cefed30c224e3c0b0",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/791198a2c6254db10131eecfe8c06670700904db",
+ "reference": "791198a2c6254db10131eecfe8c06670700904db",
"shasum": ""
},
"require": {
@@ -3106,20 +3175,20 @@
"keywords": [
"tokenizer"
],
- "time": "2017-08-20T05:47:52+00:00"
+ "time": "2017-11-27T05:48:46+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "6.3.0",
+ "version": "6.5.7",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "9501bab711403a1ab5b8378a8adb4ec3db3debdb"
+ "reference": "6bd77b57707c236833d2b57b968e403df060c9d9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9501bab711403a1ab5b8378a8adb4ec3db3debdb",
- "reference": "9501bab711403a1ab5b8378a8adb4ec3db3debdb",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/6bd77b57707c236833d2b57b968e403df060c9d9",
+ "reference": "6bd77b57707c236833d2b57b968e403df060c9d9",
"shasum": ""
},
"require": {
@@ -3133,12 +3202,12 @@
"phar-io/version": "^1.0",
"php": "^7.0",
"phpspec/prophecy": "^1.7",
- "phpunit/php-code-coverage": "^5.2.2",
- "phpunit/php-file-iterator": "^1.4.2",
+ "phpunit/php-code-coverage": "^5.3",
+ "phpunit/php-file-iterator": "^1.4.3",
"phpunit/php-text-template": "^1.2.1",
"phpunit/php-timer": "^1.0.9",
- "phpunit/phpunit-mock-objects": "^4.0.3",
- "sebastian/comparator": "^2.0.2",
+ "phpunit/phpunit-mock-objects": "^5.0.5",
+ "sebastian/comparator": "^2.1",
"sebastian/diff": "^2.0",
"sebastian/environment": "^3.1",
"sebastian/exporter": "^3.1",
@@ -3164,7 +3233,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "6.3.x-dev"
+ "dev-master": "6.5.x-dev"
}
},
"autoload": {
@@ -3190,33 +3259,33 @@
"testing",
"xunit"
],
- "time": "2017-08-04T05:20:39+00:00"
+ "time": "2018-02-26T07:01:09+00:00"
},
{
"name": "phpunit/phpunit-mock-objects",
- "version": "4.0.4",
+ "version": "5.0.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
- "reference": "2f789b59ab89669015ad984afa350c4ec577ade0"
+ "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/2f789b59ab89669015ad984afa350c4ec577ade0",
- "reference": "2f789b59ab89669015ad984afa350c4ec577ade0",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/33fd41a76e746b8fa96d00b49a23dadfa8334cdf",
+ "reference": "33fd41a76e746b8fa96d00b49a23dadfa8334cdf",
"shasum": ""
},
"require": {
"doctrine/instantiator": "^1.0.5",
"php": "^7.0",
"phpunit/php-text-template": "^1.2.1",
- "sebastian/exporter": "^3.0"
+ "sebastian/exporter": "^3.1"
},
"conflict": {
"phpunit/phpunit": "<6.0"
},
"require-dev": {
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^6.5"
},
"suggest": {
"ext-soap": "*"
@@ -3224,7 +3293,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0.x-dev"
+ "dev-master": "5.0.x-dev"
}
},
"autoload": {
@@ -3239,7 +3308,7 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sb@sebastian-bergmann.de",
+ "email": "sebastian@phpunit.de",
"role": "lead"
}
],
@@ -3249,7 +3318,54 @@
"mock",
"xunit"
],
- "time": "2017-08-03T14:08:16+00:00"
+ "time": "2018-01-06T05:45:45+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "reference": "4ebe3a8bf773a19edfe0a84b6585ba3d401b724d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "Psr/Log/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "time": "2016-10-10T12:19:37+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -3298,30 +3414,30 @@
},
{
"name": "sebastian/comparator",
- "version": "2.0.2",
+ "version": "2.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "ae068fede81d06e7bb9bb46a367210a3d3e1fe6a"
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/ae068fede81d06e7bb9bb46a367210a3d3e1fe6a",
- "reference": "ae068fede81d06e7bb9bb46a367210a3d3e1fe6a",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/34369daee48eafb2651bea869b4b15d75ccc35f9",
+ "reference": "34369daee48eafb2651bea869b4b15d75ccc35f9",
"shasum": ""
},
"require": {
"php": "^7.0",
- "sebastian/diff": "^2.0",
- "sebastian/exporter": "^3.0"
+ "sebastian/diff": "^2.0 || ^3.0",
+ "sebastian/exporter": "^3.1"
},
"require-dev": {
- "phpunit/phpunit": "^6.0"
+ "phpunit/phpunit": "^6.4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0.x-dev"
+ "dev-master": "2.1.x-dev"
}
},
"autoload": {
@@ -3352,13 +3468,13 @@
}
],
"description": "Provides the functionality to compare PHP values for equality",
- "homepage": "http://www.github.com/sebastianbergmann/comparator",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
"keywords": [
"comparator",
"compare",
"equality"
],
- "time": "2017-08-03T07:14:59+00:00"
+ "time": "2018-02-01T13:46:46+00:00"
},
{
"name": "sebastian/diff",
@@ -3930,16 +4046,16 @@
},
{
"name": "webmozart/assert",
- "version": "1.2.0",
+ "version": "1.3.0",
"source": {
"type": "git",
"url": "https://github.com/webmozart/assert.git",
- "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f"
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozart/assert/zipball/2db61e59ff05fe5126d152bd0655c9ea113e550f",
- "reference": "2db61e59ff05fe5126d152bd0655c9ea113e550f",
+ "url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
+ "reference": "0df1908962e7a3071564e857d86874dad1ef204a",
"shasum": ""
},
"require": {
@@ -3976,7 +4092,7 @@
"check",
"validate"
],
- "time": "2016-11-23T20:04:58+00:00"
+ "time": "2018-01-29T19:49:41+00:00"
},
{
"name": "zfcampus/zf-development-mode",
diff --git a/config/autoload/cli.global.php b/config/autoload/cli.global.php
index fd395c1..362457c 100644
--- a/config/autoload/cli.global.php
+++ b/config/autoload/cli.global.php
@@ -5,11 +5,13 @@ return [
'invokables' => [],
'factories' => [
App\Command\KoinImportCommand::class => App\Command\KoinImportCommandFactory::class,
+ App\Command\PeriodicSZEPCommand::class => App\Command\PeriodicSZEPCommandFactory::class,
],
],
'console' => [
'commands' => [
App\Command\KoinImportCommand::class,
+ App\Command\PeriodicSZEPCommand::class,
],
],
];
diff --git a/config/autoload/local.php.dist b/config/autoload/local.php.dist
index 7a49ca8..c35482a 100644
--- a/config/autoload/local.php.dist
+++ b/config/autoload/local.php.dist
@@ -10,4 +10,7 @@
return [
'koin.user' => '',
'koin.pass' => '',
+
+ 'szep.card' => '',
+ 'szep.key' => '',
];
diff --git a/data/.gitignore b/data/.gitignore
index d6b7ef3..ac9b195 100644
--- a/data/.gitignore
+++ b/data/.gitignore
@@ -1,2 +1,3 @@
*
+!soap-xmls/*
!.gitignore
diff --git a/src/App/Command/PeriodicSZEPCommand.php b/src/App/Command/PeriodicSZEPCommand.php
new file mode 100644
index 0000000..f977809
--- /dev/null
+++ b/src/App/Command/PeriodicSZEPCommand.php
@@ -0,0 +1,36 @@
+szepManager = $szepManager;
+
+ parent::__construct();
+ }
+
+ protected function configure()
+ {
+ $this->setName('szep:cron')
+ ->setDescription('Parse SZEP card');
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output)
+ {
+ $result = $this->szepManager->pollRecent();
+ $output->writeln($result);
+ }
+}
diff --git a/src/App/Command/PeriodicSZEPCommandFactory.php b/src/App/Command/PeriodicSZEPCommandFactory.php
new file mode 100644
index 0000000..07406a3
--- /dev/null
+++ b/src/App/Command/PeriodicSZEPCommandFactory.php
@@ -0,0 +1,22 @@
+get(SZEPManagerService::class);
+ return new PeriodicSZEPCommand($szepManager);
+ }
+}
diff --git a/src/App/ConfigProvider.php b/src/App/ConfigProvider.php
index d91fce5..5d18c6d 100644
--- a/src/App/ConfigProvider.php
+++ b/src/App/ConfigProvider.php
@@ -45,6 +45,7 @@ class ConfigProvider
Service\SmsStoreService::class => Service\SmsStoreServiceFactory::class,
Service\KoinService::class => Service\KoinServiceFactory::class,
+ Service\SZEPManagerService::class => Service\SZEPManagerServiceFactory::class,
],
];
}
diff --git a/src/App/Entity/SZEPCardEntry.php b/src/App/Entity/SZEPCardEntry.php
new file mode 100644
index 0000000..cceca31
--- /dev/null
+++ b/src/App/Entity/SZEPCardEntry.php
@@ -0,0 +1,159 @@
+hash;
+ }
+
+ /**
+ * @param string $hash
+ * @return SZEPCardEntry
+ */
+ public function setHash(string $hash): SZEPCardEntry
+ {
+ $this->hash = $hash;
+ return $this;
+ }
+
+ /**
+ * @return int
+ */
+ public function getAmount(): int
+ {
+ return $this->amount;
+ }
+
+ /**
+ * @param int $amount
+ * @return SZEPCardEntry
+ */
+ public function setAmount(int $amount): SZEPCardEntry
+ {
+ $this->amount = $amount;
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getMerchant(): string
+ {
+ return $this->merchant;
+ }
+
+ /**
+ * @param string $merchant
+ * @return SZEPCardEntry
+ */
+ public function setMerchant(string $merchant): SZEPCardEntry
+ {
+ $this->merchant = $merchant;
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getPocket(): string
+ {
+ return $this->pocket;
+ }
+
+ /**
+ * @param string $pocket
+ * @return SZEPCardEntry
+ */
+ public function setPocket(string $pocket): SZEPCardEntry
+ {
+ $this->pocket = $pocket;
+ return $this;
+ }
+
+ /**
+ * @return \DateTimeImmutable
+ */
+ public function getDate(): \DateTimeImmutable
+ {
+ return $this->date;
+ }
+
+ /**
+ * @param \DateTimeImmutable $date
+ * @return SZEPCardEntry
+ */
+ public function setDate(\DateTimeImmutable $date): SZEPCardEntry
+ {
+ $this->date = $date;
+ return $this;
+ }
+
+ /**
+ * Specify data which should be serialized to JSON
+ * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
+ * @return mixed data which can be serialized by json_encode,
+ * which is a value of any type other than a resource.
+ * @since 5.4.0
+ */
+ public function jsonSerialize()
+ {
+ return [
+ 'hash' => $this->getHash(),
+ 'amount' => $this->getAmount(),
+ 'merchant' => $this->getMerchant(),
+ 'pocket' => $this->getPocket(),
+ 'date' => $this->getDate()->format("Y.m.d"),
+ ];
+ }
+}
diff --git a/src/App/Entity/Sms.php b/src/App/Entity/Sms.php
index a75c5a7..7e2a1eb 100644
--- a/src/App/Entity/Sms.php
+++ b/src/App/Entity/Sms.php
@@ -1,6 +1,5 @@
self::DIRECTION_SENT,
+ 'received' => self::DIRECTION_RECEIVED,
+ ];
- const MAP_DIRECTIONS = [
- 'sent' => self::DIRECTION_SENT,
- 'received' => self::DIRECTION_RECEIVED,
- ];
+ /**
+ * @ORM\Id
+ * @ORM\Column(name="id", type="integer")
+ * @ORM\GeneratedValue(strategy="IDENTITY")
+ * @var int
+ */
+ private $id;
- /**
- * @ORM\Id
- * @ORM\Column(name="id", type="integer")
- * @ORM\GeneratedValue(strategy="IDENTITY")
- * @var int
- */
- private $id;
+ /**
+ * @ORM\Column(name="contact_name", type="string", length=200, nullable=false)
+ * @var string
+ */
+ private $contactName;
- /**
- * @ORM\Column(name="contact_name", type="string", length=200, nullable=false)
- * @var string
- */
- private $contactName;
+ /**
+ * @ORM\Column(name="contact_number", type="string", length=100, nullable=false)
+ * @var string
+ */
+ private $contactNumber;
- /**
- * @ORM\Column(name="contact_number", type="string", length=100, nullable=false)
- * @var string
- */
- private $contactNumber;
+ /**
+ * @ORM\Column(name="text", type="text", length=4096, nullable=false)
+ * @var string
+ */
+ private $text;
- /**
- * @ORM\Column(name="text", type="text", length=4096, nullable=false)
- * @var string
- */
- private $text;
+ /**
+ * @ORM\Column(name="occured_at", type="datetime", nullable=false)
+ * @var \DateTime
+ */
+ private $occuredAt;
- /**
- * @ORM\Column(name="occured_at", type="datetime", nullable=false)
- * @var \DateTime
- */
- private $occuredAt;
+ /**
+ * @ORM\Column(name="direction", type="integer", length=255, nullable=false)
+ * @var int
+ */
+ private $direction;
- /**
- * @ORM\Column(name="direction", type="integer", length=255, nullable=false)
- * @var int
- */
- private $direction;
-
- /**
+ /**
* @ORM\JoinColumn(name="owner_id", nullable=false)
* @ORM\ManyToOne(targetEntity="User", inversedBy="smsMessages")
* @var User
*/
- private $owner;
+ private $owner;
- /**
- * @return int
- */
- public function getId(): int
- {
- return $this->id;
- }
+ /**
+ * @return int
+ */
+ public function getId(): int
+ {
+ return $this->id;
+ }
- /**
- * @param int $id
- * @return Sms
- */
- public function setId(int $id): Sms
- {
- $this->id = $id;
- return $this;
- }
+ /**
+ * @param int $id
+ * @return Sms
+ */
+ public function setId(int $id): Sms
+ {
+ $this->id = $id;
+ return $this;
+ }
- /**
- * @return string
- */
- public function getContactName(): string
- {
- return $this->contactName;
- }
+ /**
+ * @return string
+ */
+ public function getContactName(): string
+ {
+ return $this->contactName;
+ }
- /**
- * @param string $contactName
- * @return Sms
- */
- public function setContactName(string $contactName): Sms
- {
- $this->contactName = $contactName;
- return $this;
- }
+ /**
+ * @param string $contactName
+ * @return Sms
+ */
+ public function setContactName(string $contactName): Sms
+ {
+ $this->contactName = $contactName;
+ return $this;
+ }
- /**
- * @return string
- */
- public function getContactNumber(): string
- {
- return $this->contactNumber;
- }
+ /**
+ * @return string
+ */
+ public function getContactNumber(): string
+ {
+ return $this->contactNumber;
+ }
- /**
- * @param string $contactNumber
- * @return Sms
- */
- public function setContactNumber(string $contactNumber): Sms
- {
- $this->contactNumber = $contactNumber;
- return $this;
- }
+ /**
+ * @param string $contactNumber
+ * @return Sms
+ */
+ public function setContactNumber(string $contactNumber): Sms
+ {
+ $this->contactNumber = $contactNumber;
+ return $this;
+ }
- /**
- * @return string
- */
- public function getText(): string
- {
- return $this->text;
- }
+ /**
+ * @return string
+ */
+ public function getText(): string
+ {
+ return $this->text;
+ }
- /**
- * @param string $text
- * @return Sms
- */
- public function setText(string $text): Sms
- {
- $this->text = $text;
- return $this;
- }
+ /**
+ * @param string $text
+ * @return Sms
+ */
+ public function setText(string $text): Sms
+ {
+ $this->text = $text;
+ return $this;
+ }
- /**
- * @return \DateTime
- */
- public function getOccuredAt(): \DateTime
- {
- return $this->occuredAt;
- }
+ /**
+ * @return \DateTime
+ */
+ public function getOccuredAt(): \DateTime
+ {
+ return $this->occuredAt;
+ }
- /**
- * @param \DateTime $occuredAt
- * @return Sms
- */
- public function setOccuredAt(\DateTime $occuredAt): Sms
- {
- $this->occuredAt = $occuredAt;
- return $this;
- }
+ /**
+ * @param \DateTime $occuredAt
+ * @return Sms
+ */
+ public function setOccuredAt(\DateTime $occuredAt): Sms
+ {
+ $this->occuredAt = $occuredAt;
+ return $this;
+ }
- /**
- * @return int
- */
- public function getDirection(): int
- {
- return $this->direction;
- }
+ /**
+ * @return int
+ */
+ public function getDirection(): int
+ {
+ return $this->direction;
+ }
- /**
- * @param int $direction
- * @return Sms
- */
- public function setDirection(int $direction): Sms
- {
- $this->direction = $direction;
- return $this;
- }
+ /**
+ * @param int $direction
+ * @return Sms
+ */
+ public function setDirection(int $direction): Sms
+ {
+ $this->direction = $direction;
+ return $this;
+ }
- /**
- * @return User
- */
- public function getOwner(): User
- {
- return $this->owner;
- }
+ /**
+ * @return User
+ */
+ public function getOwner(): User
+ {
+ return $this->owner;
+ }
- /**
- * @param User $owner
- * @return Sms
- */
- public function setOwner(User $owner): Sms
- {
- $this->owner = $owner;
- return $this;
- }
+ /**
+ * @param User $owner
+ * @return Sms
+ */
+ public function setOwner(User $owner): Sms
+ {
+ $this->owner = $owner;
+ return $this;
+ }
- /**
- * Specify data which should be serialized to JSON
- * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
- * @return mixed data which can be serialized by json_encode,
- * which is a value of any type other than a resource.
- * @since 5.4.0
- */
- public function jsonSerialize()
- {
- return [
- 'id' => $this->getId(),
- 'contactName' => $this->getContactName(),
- 'contactNumber' => $this->getContactNumber(),
- 'text' => $this->getText(),
- 'when' => $this->getOccuredAt(),
- 'direction' => $this->getDirection(),
- 'owner' => $this->getOwner(),
- ];
- }
+ /**
+ * Specify data which should be serialized to JSON
+ * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
+ * @return mixed data which can be serialized by json_encode,
+ * which is a value of any type other than a resource.
+ * @since 5.4.0
+ */
+ public function jsonSerialize()
+ {
+ return [
+ 'id' => $this->getId(),
+ 'contactName' => $this->getContactName(),
+ 'contactNumber' => $this->getContactNumber(),
+ 'text' => $this->getText(),
+ 'when' => $this->getOccuredAt(),
+ 'direction' => $this->getDirection(),
+ 'owner' => $this->getOwner(),
+ ];
+ }
}
diff --git a/src/App/Entity/User.php b/src/App/Entity/User.php
index fcb8149..0b64999 100644
--- a/src/App/Entity/User.php
+++ b/src/App/Entity/User.php
@@ -17,137 +17,138 @@ use Doctrine\ORM\Mapping as ORM;
*/
class User implements \JsonSerializable
{
- /**
- * @ORM\Id
- * @ORM\Column(name="id", type="integer")
- * @ORM\GeneratedValue(strategy="IDENTITY")
- * @var int
- */
- private $id;
+ /**
+ * @ORM\Id
+ * @ORM\Column(name="id", type="integer")
+ * @ORM\GeneratedValue(strategy="IDENTITY")
+ * @var int
+ */
+ private $id;
- /**
- * @ORM\Column(name="name", type="string", length=200, nullable=false)
- * @var string
- */
- private $name;
+ /**
+ * @ORM\Column(name="name", type="string", length=200, nullable=false)
+ * @var string
+ */
+ private $name;
- /**
- * @ORM\Column(name="hash_key", type="string", length=100, nullable=false)
- * @var string
- */
- private $hashKey;
+ /**
+ * @ORM\Column(name="hash_key", type="string", length=100, nullable=false)
+ * @var string
+ */
+ private $hashKey;
- /**
- * @ORM\OneToMany(targetEntity="Sms", mappedBy="owner")
- * @var Sms[]|ArrayCollection
- */
- private $smsMessages;
+ /**
+ * @ORM\OneToMany(targetEntity="Sms", mappedBy="owner")
+ * @var Sms[]|ArrayCollection
+ */
+ private $smsMessages;
- public function __construct()
- {
- $this->smsMessages = new ArrayCollection();
- }
-
- /**
- * @return int
- */
- public function getId(): int
- {
- return $this->id;
- }
-
- /**
- * @param int $id
- * @return User
- */
- public function setId(int $id): User
- {
- $this->id = $id;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getName(): string
- {
- return $this->name;
- }
-
- /**
- * @param string $name
- * @return User
- */
- public function setName(string $name): User
- {
- $this->name = $name;
- return $this;
- }
-
- /**
- * @return string
- */
- public function getHashKey(): string
- {
- return $this->hashKey;
- }
-
- /**
- * @param string $hashKey
- * @return User
- */
- public function setHashKey(string $hashKey): User
- {
- $this->hashKey = $hashKey;
- return $this;
- }
-
- /**
- * @return Sms[]|ArrayCollection
- */
- public function getSmsMessages(): ?ArrayCollection
- {
- return $this->smsMessages;
- }
-
- /**
- * @param Sms[]|ArrayCollection $smsMessages
- * @return User
- */
- public function setSmsMessages(?ArrayCollection $smsMessages): User
- {
- $this->smsMessages = $smsMessages;
- return $this;
- }
-
- public function addSmsMessage(Sms $sms): User
- {
- if(!$this->smsMessages->contains($sms)) {
- $this->smsMessages->add($sms);
+ public function __construct()
+ {
+ $this->smsMessages = new ArrayCollection();
}
- return $this;
- }
- public function removeSmsMessage(Sms $sms): User{
- if($this->smsMessages->contains($sms)) {
- $this->smsMessages->removeElement($sms);
+ /**
+ * @return int
+ */
+ public function getId(): int
+ {
+ return $this->id;
}
- return $this;
- }
- /**
- * Specify data which should be serialized to JSON
- * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
- * @return mixed data which can be serialized by json_encode,
- * which is a value of any type other than a resource.
- * @since 5.4.0
- */
- public function jsonSerialize()
- {
- return [
- 'id' => $this->getId(),
- 'name' => $this->getName(),
+ /**
+ * @param int $id
+ * @return User
+ */
+ public function setId(int $id): User
+ {
+ $this->id = $id;
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getName(): string
+ {
+ return $this->name;
+ }
+
+ /**
+ * @param string $name
+ * @return User
+ */
+ public function setName(string $name): User
+ {
+ $this->name = $name;
+ return $this;
+ }
+
+ /**
+ * @return string
+ */
+ public function getHashKey(): string
+ {
+ return $this->hashKey;
+ }
+
+ /**
+ * @param string $hashKey
+ * @return User
+ */
+ public function setHashKey(string $hashKey): User
+ {
+ $this->hashKey = $hashKey;
+ return $this;
+ }
+
+ /**
+ * @return Sms[]|ArrayCollection
+ */
+ public function getSmsMessages(): ?ArrayCollection
+ {
+ return $this->smsMessages;
+ }
+
+ /**
+ * @param Sms[]|ArrayCollection $smsMessages
+ * @return User
+ */
+ public function setSmsMessages(?ArrayCollection $smsMessages): User
+ {
+ $this->smsMessages = $smsMessages;
+ return $this;
+ }
+
+ public function addSmsMessage(Sms $sms): User
+ {
+ if (!$this->smsMessages->contains($sms)) {
+ $this->smsMessages->add($sms);
+ }
+ return $this;
+ }
+
+ public function removeSmsMessage(Sms $sms): User
+ {
+ if ($this->smsMessages->contains($sms)) {
+ $this->smsMessages->removeElement($sms);
+ }
+ return $this;
+ }
+
+ /**
+ * Specify data which should be serialized to JSON
+ * @link http://php.net/manual/en/jsonserializable.jsonserialize.php
+ * @return mixed data which can be serialized by json_encode,
+ * which is a value of any type other than a resource.
+ * @since 5.4.0
+ */
+ public function jsonSerialize()
+ {
+ return [
+ 'id' => $this->getId(),
+ 'name' => $this->getName(),
// 'smsMessages' => $this->getSmsMessages()->getValues(),
- ];
- }
+ ];
+ }
}
diff --git a/src/App/Service/KoinService.php b/src/App/Service/KoinService.php
index 47bd5ec..27a1eb3 100644
--- a/src/App/Service/KoinService.php
+++ b/src/App/Service/KoinService.php
@@ -15,6 +15,10 @@ class KoinService
const BASE_URI = 'https://www.koin.hu';
const DEFAULT_EXPENSE = 'Egyéb kiadás';
+ const CATEGORY_PAYMENT = 'Fizetés';
+ const CATEGORY_FOOD = 'Étel';
+ const CATEGORY_SPORT = '';
+
/**
* 1 - date
* 2 - time
@@ -92,6 +96,18 @@ class KoinService
*/
private function getExpenseCategory(string $posInfo): string
{
+ if (false !== strpos($posInfo, "ERICSSON HàZ ÉTTEREM")) {
+ return 'Étel';
+ }
+
+ if (false !== strpos($posInfo, "ERICSSON HàZ BÜFÉ")) {
+ return 'Kávé';
+ }
+
+ if (false !== strpos($posInfo, "SCIENCE PARK ÉTTEREM")) {
+ return 'Étel';
+ }
+
if (false !== strpos($posInfo, "STOCZEK ETTEREM")) {
return 'Étel';
}
@@ -104,7 +120,7 @@ class KoinService
return 'Bevásárlás';
}
- if (false !== strpos($posInfo, "SPAR MAGYARORSZAG")) {
+ if (false !== strpos($posInfo, "SPAR")) {
return 'Étel';
}
@@ -116,7 +132,11 @@ class KoinService
return 'Étel';
}
- if (false !== strpos($posInfo, "OSMANI DÖNER KEBAB")) {
+ if (false !== strpos($posInfo, "MCDONALDSETTE")) {
+ return 'Étel';
+ }
+
+ if (false !== strpos($posInfo, "DÖNER KEBAB")) {
return 'Étel';
}
@@ -144,6 +164,17 @@ class KoinService
return 'Szórakozás';
}
+ if (false !== strpos($posInfo, "DECATHLON")) {
+ return 'Sport';
+ }
+
+ if (false !== strpos($posInfo, "MOL TÖLTÖàLL")) {
+ return 'Autó';
+ }
+
+ if (false !== strpos($posInfo, "AMAZON SERVICES-KINDLE")) {
+ return 'Szórakozás';
+ }
return self::DEFAULT_EXPENSE;
}
@@ -156,66 +187,60 @@ class KoinService
{
$tags = [];
- if (false !== strpos($posInfo, "SCIENCE PARK ÉTTEREM")) {
+ if (false !== strpos($posInfo, "ERICSSON HàZ ÉTTEREM")) {
+ $tags[] = 'Ericsson Ház';
+ $tags[] = 'Menza';
+ } elseif (false !== strpos($posInfo, "ERICSSON HàZ BÜFÉ")) {
+ $tags[] = 'Ericsson Ház';
+ $tags[] = 'Büfé';
+ } elseif (false !== strpos($posInfo, "SCIENCE PARK ÉTTEREM")) {
$tags[] = 'Science Park';
$tags[] = 'Menza';
- }
-
- if (false !== strpos($posInfo, "STOCZEK ETTEREM")) {
+ } elseif (false !== strpos($posInfo, "STOCZEK ETTEREM")) {
$tags[] = "Stoczek";
$tags[] = "Menza";
- }
-
- if (false !== strpos($posInfo, "BKK AUTOMATA")) {
+ } elseif (false !== strpos($posInfo, "BKK AUTOMATA")) {
$tags[] = "Bérlet";
$tags[] = "BKV";
- }
-
- if (false !== strpos($posInfo, "SPAR MAGYARORSZAG")) {
+ } elseif (false !== strpos($posInfo, "SPAR")) {
$tags[] = 'Spar';
- }
-
- if (false !== strpos($posInfo, "TESCO")) {
+ } elseif (false !== strpos($posInfo, "TESCO")) {
$tags[] = 'Tesco';
- }
-
- if (false !== strpos($posInfo, "SZLOVàK ABC")) {
+ } elseif (false !== strpos($posInfo, "SZLOVàK ABC")) {
$tags[] = 'Szlovák ABC';
- }
-
- if (false !== strpos($posInfo, "MCDHU")) {
+ } elseif (false !== strpos($posInfo, "BURGER KING")) {
+ $tags[] = 'Burger King';
$tags[] = 'Junk food';
- }
-
- if (false !== strpos($posInfo, "OSMANI DÖNER KEBAB")) {
+ } elseif (false !== strpos($posInfo, "MCDHU")) {
+ $tags[] = 'McDonald\'s';
+ $tags[] = 'Junk food';
+ } elseif (false !== strpos($posInfo, "MCDONALDSETTE")) {
+ $tags[] = 'McDonald\'s';
+ $tags[] = 'Junk food';
+ } elseif (false !== strpos($posInfo, "DÖNER KEBAB")) {
$tags[] = 'Kebab';
$tags[] = 'Junk food';
- }
-
- if (false !== strpos($posInfo, "Princess Bakery")) {
- $tags[] = 'Pricess Bakery';
+ } elseif (false !== strpos($posInfo, "Princess Bakery")) {
+ $tags[] = 'Princess Bakery';
$tags[] = 'Junk food';
- }
-
- if (false !== strpos($posInfo, "PIROG-DA")) {
+ } elseif (false !== strpos($posInfo, "PIROG-DA")) {
$tags[] = 'Pirog-da';
$tags[] = 'Junk food';
- }
-
- if (false !== strpos($posInfo, "GYOGYSZER")) {
+ } elseif (false !== strpos($posInfo, "GYOGYSZER")) {
$tags[] = 'Gyógyszer';
- }
-
- if (false !== strpos($posInfo, "GOOGLE *Google Music")) {
+ } elseif (false !== strpos($posInfo, "GOOGLE *Google Music")) {
$tags[] = 'Google play';
- }
-
- if (false !== strpos($posInfo, "DIGI ")) {
+ } elseif (false !== strpos($posInfo, "DIGI ")) {
$tags[] = 'Digi';
- }
-
- if (false !== strpos($posInfo, "Aqua Electromax")) {
+ } elseif (false !== strpos($posInfo, "Aqua Electromax")) {
$tags[] = 'Aqua';
+ } elseif (false !== strpos($posInfo, "DECATHLON")) {
+ $tags[] = 'Decathlon';
+ } elseif (false !== strpos($posInfo, "MOL TÖLTÖàLL")) {
+ $tags[] = 'MOL';
+ } elseif (false !== strpos($posInfo, "AMAZON SERVICES-KINDLE")) {
+ $tags[] = 'Kindle';
+ $tags[] = 'Amazon';
}
$tags[] = 'Auto';
diff --git a/src/App/Service/SZEPManagerService.php b/src/App/Service/SZEPManagerService.php
new file mode 100644
index 0000000..a528bcc
--- /dev/null
+++ b/src/App/Service/SZEPManagerService.php
@@ -0,0 +1,255 @@
+httpClient = $httpClient;
+ $this->config = $config;
+ $this->em = $em;
+ $this->koinService = $koinService;
+ }
+
+ /**
+ * @throws \Doctrine\ORM\ORMException
+ * @throws \Doctrine\ORM\OptimisticLockException
+ * @throws \Doctrine\ORM\TransactionRequiredException
+ * @throws \Exception
+ */
+ public function pollRecent()
+ {
+ $workflowResult = $this->startWorkflow();
+ $pollResult = $this->pollResult($workflowResult);
+ $this->parseResult($pollResult);
+ }
+
+ /**
+ * Init the soap workflow
+ * @return string
+ * @throws \Exception
+ */
+ private function startWorkflow(): string
+ {
+ $certificate = $this->getCertificate();
+ openssl_public_encrypt($this->config['szep.card'], $cryptCardId, $certificate, OPENSSL_PKCS1_PADDING);
+ openssl_public_encrypt($this->config['szep.key'], $cryptCardKey, $certificate, OPENSSL_PKCS1_PADDING);
+
+ $endDate = new \DateTimeImmutable();
+ $startDate = $endDate->sub(new \DateInterval('P4D'));
+
+ $gueryTemplate = file_get_contents(self::TEMPLATE_QUERY_CARD);
+ $query = sprintf($gueryTemplate,
+ "X" . base64_encode($cryptCardId),
+ base64_encode($cryptCardKey),
+ $startDate->format("Y.m.d"),
+ $endDate->format("Y.m.d")
+ );
+
+ $soapXml = sprintf(file_get_contents(self::TEMPLATE_WORKFLOW_START), $query);
+ $soapResponseXml = $this->doSoapRequest($soapXml);
+
+ $domDocument = new \DOMDocument();
+ $domDocument->loadXML($soapResponseXml);
+
+ $documentXpath = new \DOMXPath($domDocument);
+ /** @var \DOMElement $returnElement */
+ $returnElement = $documentXpath->query('//return')->item(0);
+ return $returnElement->textContent;
+ }
+
+ /**
+ * Poll until the result is ready
+ * @param string $workflowResult
+ * @return string
+ */
+ private function pollResult(string $workflowResult): string
+ {
+ $soapXml = sprintf(file_get_contents(self::TEMPLATE_WORKFLOW_STATE), $workflowResult);
+ do {
+ sleep(1);
+ $soapResponseXml = $this->doSoapRequest($soapXml);
+
+ $domDocument = new \DOMDocument();
+ $domDocument->loadXML($soapResponseXml);
+
+ $documentXpath = new \DOMXPath($domDocument);
+ /** @var \DOMElement $completedElement */
+ $completedElement = $documentXpath->query('//completed')->item(0);
+ } while ($completedElement->textContent != "true");
+
+ /** @var \DOMElement $resultElement */
+ $resultElement = $documentXpath->query('//result')->item(0);
+ return base64_decode($resultElement->textContent);
+ }
+
+ /**
+ * Parse the decoded payload
+ * @param string $resultXml
+ * @throws \Doctrine\ORM\ORMException
+ * @throws \Doctrine\ORM\OptimisticLockException
+ * @throws \Doctrine\ORM\TransactionRequiredException
+ */
+ private function parseResult(string $resultXml)
+ {
+ $domDocument = new \DOMDocument();
+ $domDocument->loadXML($resultXml);
+
+ $documentXpath = new \DOMXPath($domDocument);
+ /** @var \DOMElement[] $returnElements */
+ $recordElements = $documentXpath->query('/answer/resultset/record');
+
+ $newRecords = [];
+
+ /** @var \DOMElement $element */
+ foreach ($recordElements as $element) {
+ $date = trim($documentXpath->query('./datum', $element)->item(0)->textContent);
+ $amount = trim($documentXpath->query('./osszeg', $element)->item(0)->textContent);
+ $merchant = trim($documentXpath->query('./ellenoldali_nev', $element)->item(0)->textContent);
+ $pocket = trim($documentXpath->query('./alszamla', $element)->item(0)->textContent);
+
+ $hash = md5("$date#$amount#$merchant#$pocket");
+ if (null != $this->em->find(SZEPCardEntry::class, $hash)) {
+ continue;
+ }
+
+ $szepCardEntity = new SZEPCardEntry();
+ $szepCardEntity->setHash($hash)
+ ->setAmount($amount)
+ ->setMerchant($merchant)
+ ->setPocket($pocket)
+ ->setDate(new \DateTimeImmutable(str_replace(".", "-", $date)));
+ $newRecords[] = $szepCardEntity;
+ }
+
+ /** @var SZEPCardEntry $newRecord */
+ foreach ($newRecords as $newRecord) {
+ $resultCode = $this->koinService->saveTransaction(
+ abs($newRecord->getAmount()),
+ 'HUF',
+ $newRecord->getDate()->format("Y-m-d"),
+ $this->getCategory($newRecord),
+ $this->getTags($newRecord)
+ );
+ if ($resultCode > 199 && $resultCode < 300) {
+ $this->em->persist($newRecord);
+ }
+ }
+ $this->em->flush();
+ }
+
+ private function getCategory(SZEPCardEntry $SZEPCardEntry): string
+ {
+ return ($SZEPCardEntry->getAmount() > 0)
+ ? KoinService::CATEGORY_PAYMENT
+ : (
+ $SZEPCardEntry->getPocket() == self::POCKET_FOOD
+ ? KoinService::CATEGORY_FOOD
+ : KoinService::DEFAULT_EXPENSE
+ );
+ }
+
+ private function getTags(SZEPCardEntry $SZEPCardEntry): array
+ {
+ $tags = [];
+
+ if (false !== strpos($SZEPCardEntry->getMerchant(), "Sigma Technology")) {
+ $tags[] = 'Sigma';
+ $tags[] = 'Cafeteria';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Ericsson Ház Étterem")) {
+ $tags[] = 'Ericsson Ház';
+ $tags[] = 'Menza';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Planet Sushi Alle")) {
+ $tags[] = 'Planet Sushi';
+ $tags[] = 'Sushi';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Stoczek utcai Étterem")) {
+ $tags[] = 'Stoczek';
+ $tags[] = 'Street Food';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Stoczek")) {
+ $tags[] = 'Stoczek';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Science Park")) {
+ $tags[] = 'Science Park';
+ $tags[] = 'Menza';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Cafe Park")) {
+ $tags[] = 'Cafe Park';
+ $tags[] = 'Menza';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Wikinger Gyorsétterem")) {
+ $tags[] = 'Wikinger';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Wasabi Étterem")) {
+ $tags[] = 'Wasabi';
+ $tags[] = 'Sushi';
+ } elseif (false !== strpos($SZEPCardEntry->getMerchant(), "Szentmihályi Uszoda")) {
+ $tags[] = 'Tope';
+ }
+
+ switch ($SZEPCardEntry->getPocket()) {
+ case self::POCKET_FOOD: $tags[] = self::TAG_POCKET_FOOD; break;
+ case self::POCKET_SPORT: $tags[] = self::TAG_POCKET_SPORT; break;
+ }
+
+ $tags[] = 'Auto';
+ return $tags;
+ }
+
+ /**
+ * @param string $soapXml
+ * @return string
+ */
+ private function doSoapRequest(string $soapXml): string
+ {
+ $response = $this->httpClient->post(self::SOAP_ENDPOINT, [
+ 'body' => $soapXml,
+ ]);
+ return $response->getBody()->getContents();
+ }
+
+ /**
+ * Returns the cached public certificate
+ * @return string
+ */
+ private function getCertificate(): string
+ {
+ if (file_exists(self::CERTIFICATE_CACHED_PATH)) {
+ return file_get_contents(self::CERTIFICATE_CACHED_PATH);
+ }
+
+ $cert = file_get_contents(self::CERTIFICATE_WEB_PATH);
+ file_put_contents(self::CERTIFICATE_CACHED_PATH, $cert);
+ return $cert;
+ }
+}
diff --git a/src/App/Service/SZEPManagerServiceFactory.php b/src/App/Service/SZEPManagerServiceFactory.php
new file mode 100644
index 0000000..e779ed0
--- /dev/null
+++ b/src/App/Service/SZEPManagerServiceFactory.php
@@ -0,0 +1,33 @@
+ true,
+ 'headers' => [
+ 'Content-Type' => 'text/xml; charset=UTF-8',
+ ]
+ ]);
+ $config = $container->get('config');
+ /** @var EntityManager $em */
+ $em = $container->get('doctrine.entity_manager.orm_default');
+ /** @var KoinService $koinService */
+ $koinService = $container->get(KoinService::class);
+ return new SZEPManagerService($httpClient, $config, $em, $koinService);
+ }
+}