From 5680bc2b8c4455b1eccc8c841f41b84335181db0 Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Mon, 25 Apr 2022 16:14:04 -0400 Subject: [PATCH 01/14] Fix for issue #140. Adding phpstan and other updates in prep for craft4. --- composer.json | 109 +- composer.lock | 1608 ++++++++------------- phpstan.neon | 16 + src/ContactFormExtensions.php | 2 +- src/controllers/SubmissionsController.php | 27 +- src/templates/submissions/_show.twig | 42 +- stubs/BaseYii.stub | 19 + 7 files changed, 761 insertions(+), 1062 deletions(-) create mode 100644 phpstan.neon create mode 100644 stubs/BaseYii.stub diff --git a/composer.json b/composer.json index 3e8cb05..871f25a 100644 --- a/composer.json +++ b/composer.json @@ -1,55 +1,64 @@ { - "name": "hybridinteractive/craft-contact-form-extensions", - "description": "Adds extensions to the Craft CMS contact form plugin.", - "type": "craft-plugin", - "version": "1.3.0", - "keywords": [ - "craft", - "cms", - "craftcms", - "craft-plugin", - "craft contact form extensions" - ], - "support": { - "docs": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/README.md", - "issues": "https://github.com/hybridinteractive/craft-contact-form-extensions/issues" - }, - "license": "MIT", - "authors": [ - { - "name": "Hybrid Interactive", - "homepage": "https://hybridinteractive.io" - } - ], - "require": { - "craftcms/cms": "^3.1", - "craftcms/contact-form": "^2.1", - "albertcht/invisible-recaptcha": "^1.8" - }, - "autoload": { - "psr-4": { - "hybridinteractive\\contactformextensions\\": "src/" - } - }, - "extra": { - "name": "Contact Form Extensions", - "handle": "contact-form-extensions", - "schemaVersion": "1.0.1", - "hasCpSettings": true, - "hasCpSection": true, - "changelogUrl": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/CHANGELOG.md", - "components": { - "contactFormExtensionsService": "hybridinteractive\\contactformextensions\\services\\ContactFormExtensionsService" - }, - "class": "hybridinteractive\\contactformextensions\\ContactFormExtensions" + "name": "hybridinteractive/craft-contact-form-extensions", + "description": "Adds extensions to the Craft CMS contact form plugin.", + "version": "1.3.0", + "type": "craft-plugin", + "keywords": [ + "cms", + "craftcms", + "craft", + "craft-plugin", + "craft contact form extensions" + ], + "license": "MIT", + "authors": [ + { + "name": "Hybrid Interactive", + "homepage": "https://hybridinteractive.io" + } + ], + "support": { + "docs": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/README.md", + "issues": "https://github.com/hybridinteractive/craft-contact-form-extensions/issues" + }, + "minimum-stability": "dev", + "prefer-stable": true, + "require": { + "craftcms/cms": "^3.2.0", + "craftcms/contact-form": "^2.3.0", + "albertcht/invisible-recaptcha": "^1.8" + }, + "require-dev": { + "craftcms/ecs": "dev-main", + "craftcms/phpstan": "dev-main" + }, + "autoload": { + "psr-4": { + "hybridinteractive\\contactformextensions\\": "src/" + } + }, + "extra": { + "name": "Contact Form Extensions", + "handle": "contact-form-extensions", + "changelogUrl": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/CHANGELOG.md", + "documentationUrl": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/README.md", + "components": { + "contactFormExtensionsService": "hybridinteractive\\contactformextensions\\services\\ContactFormExtensionsService" }, - "require-dev": { - "roave/security-advisories": "dev-master" + "class": "hybridinteractive\\contactformextensions\\ContactFormExtensions" + }, + "scripts": { + "check-cs": "ecs check --ansi", + "fix-cs": "ecs check --ansi --fix", + "phpstan": "phpstan --memory-limit=1G" + }, + "config": { + "platform": { + "php": "7.2.5" }, - "config": { - "allow-plugins": { - "yiisoft/yii2-composer": true, - "craftcms/plugin-installer": true - } + "allow-plugins": { + "yiisoft/yii2-composer": true, + "craftcms/plugin-installer": true } + } } diff --git a/composer.lock b/composer.lock index 98b0bf3..603882d 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": "a1bd1a0433cdc1a6dd83d7ceb75c0a4d", + "content-hash": "1e9827e2ee17b422e15dbea86e19daec", "packages": [ { "name": "albertcht/invisible-recaptcha", @@ -785,16 +785,16 @@ }, { "name": "craftcms/contact-form", - "version": "2.4.1", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/craftcms/contact-form.git", - "reference": "a11f085236aa7fbe0d89a3b3b7e573d793f67372" + "reference": "20f11192b36cf3b27108d5a3a5c841d08a70659a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/craftcms/contact-form/zipball/a11f085236aa7fbe0d89a3b3b7e573d793f67372", - "reference": "a11f085236aa7fbe0d89a3b3b7e573d793f67372", + "url": "https://api.github.com/repos/craftcms/contact-form/zipball/20f11192b36cf3b27108d5a3a5c841d08a70659a", + "reference": "20f11192b36cf3b27108d5a3a5c841d08a70659a", "shasum": "" }, "require": { @@ -843,7 +843,7 @@ "rss": "https://github.com/craftcms/contact-form/commits/v2.atom", "source": "https://github.com/craftcms/contact-form" }, - "time": "2022-04-12T22:46:51+00:00" + "time": "2022-04-16T00:04:57+00:00" }, { "name": "craftcms/oauth2-craftid", @@ -955,16 +955,16 @@ }, { "name": "craftcms/server-check", - "version": "1.2.3", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/craftcms/server-check.git", - "reference": "9d8345bc7920b6657bd3fac396efee6bf8609ed6" + "reference": "04518e63ae94effd4e352838278662c928c84e8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/craftcms/server-check/zipball/9d8345bc7920b6657bd3fac396efee6bf8609ed6", - "reference": "9d8345bc7920b6657bd3fac396efee6bf8609ed6", + "url": "https://api.github.com/repos/craftcms/server-check/zipball/04518e63ae94effd4e352838278662c928c84e8c", + "reference": "04518e63ae94effd4e352838278662c928c84e8c", "shasum": "" }, "type": "library", @@ -993,7 +993,7 @@ "rss": "https://github.com/craftcms/server-check/releases.atom", "source": "https://github.com/craftcms/server-check" }, - "time": "2021-08-18T14:46:23+00:00" + "time": "2022-04-17T02:10:54+00:00" }, { "name": "creocoder/yii2-nested-sets", @@ -1801,186 +1801,29 @@ ], "time": "2022-03-20T21:55:58+00:00" }, - { - "name": "illuminate/bus", - "version": "v9.8.1", - "source": { - "type": "git", - "url": "https://github.com/illuminate/bus.git", - "reference": "592d98822cdbf1525e80aa8449a1363efbb135d7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/bus/zipball/592d98822cdbf1525e80aa8449a1363efbb135d7", - "reference": "592d98822cdbf1525e80aa8449a1363efbb135d7", - "shasum": "" - }, - "require": { - "illuminate/collections": "^9.0", - "illuminate/contracts": "^9.0", - "illuminate/pipeline": "^9.0", - "illuminate/support": "^9.0", - "php": "^8.0.2" - }, - "suggest": { - "illuminate/queue": "Required to use closures when chaining jobs (^7.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Bus\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Bus package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2022-04-04T16:12:50+00:00" - }, - { - "name": "illuminate/collections", - "version": "v9.8.1", - "source": { - "type": "git", - "url": "https://github.com/illuminate/collections.git", - "reference": "03fc7ae1689cffef8729dc5bad37dcaa3f7064d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/03fc7ae1689cffef8729dc5bad37dcaa3f7064d3", - "reference": "03fc7ae1689cffef8729dc5bad37dcaa3f7064d3", - "shasum": "" - }, - "require": { - "illuminate/conditionable": "^9.0", - "illuminate/contracts": "^9.0", - "illuminate/macroable": "^9.0", - "php": "^8.0.2" - }, - "suggest": { - "symfony/var-dumper": "Required to use the dump method (^6.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "files": [ - "helpers.php" - ], - "psr-4": { - "Illuminate\\Support\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Collections package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2022-03-30T14:36:23+00:00" - }, - { - "name": "illuminate/conditionable", - "version": "v9.8.1", - "source": { - "type": "git", - "url": "https://github.com/illuminate/conditionable.git", - "reference": "56b4ba1166c264064bf63896f498a2bee320d16a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/conditionable/zipball/56b4ba1166c264064bf63896f498a2bee320d16a", - "reference": "56b4ba1166c264064bf63896f498a2bee320d16a", - "shasum": "" - }, - "require": { - "php": "^8.0.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Conditionable package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2022-02-28T16:37:46+00:00" - }, { "name": "illuminate/container", - "version": "v9.8.1", + "version": "v6.20.44", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", - "reference": "dcee6b90d7a1ddbbcd5cbceda28b1c7e474f5733" + "reference": "a3bf42e3cd9956774d5f8b0b7bbb612ed289e910" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/dcee6b90d7a1ddbbcd5cbceda28b1c7e474f5733", - "reference": "dcee6b90d7a1ddbbcd5cbceda28b1c7e474f5733", + "url": "https://api.github.com/repos/illuminate/container/zipball/a3bf42e3cd9956774d5f8b0b7bbb612ed289e910", + "reference": "a3bf42e3cd9956774d5f8b0b7bbb612ed289e910", "shasum": "" }, "require": { - "illuminate/contracts": "^9.0", - "php": "^8.0.2", - "psr/container": "^1.1.1|^2.0.1" - }, - "provide": { - "psr/container-implementation": "1.1|2.0" + "illuminate/contracts": "^6.0", + "php": "^7.2.5|^8.0", + "psr/container": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -2004,31 +1847,31 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-03-18T14:48:15+00:00" + "time": "2021-09-09T13:53:17+00:00" }, { "name": "illuminate/contracts", - "version": "v9.8.1", + "version": "v6.20.44", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "de0878799e3eaccb5efdf714c516522fa53b7c81" + "reference": "2aeb1ea8985f7a79abaf7186234c94b543a04165" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/de0878799e3eaccb5efdf714c516522fa53b7c81", - "reference": "de0878799e3eaccb5efdf714c516522fa53b7c81", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/2aeb1ea8985f7a79abaf7186234c94b543a04165", + "reference": "2aeb1ea8985f7a79abaf7186234c94b543a04165", "shasum": "" }, "require": { - "php": "^8.0.2", - "psr/container": "^1.1.1|^2.0.1", - "psr/simple-cache": "^1.0|^2.0|^3.0" + "php": "^7.2.5|^8.0", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -2052,41 +1895,35 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-03-18T14:48:15+00:00" + "time": "2021-12-01T12:53:22+00:00" }, { "name": "illuminate/events", - "version": "v9.8.1", + "version": "v6.20.44", "source": { "type": "git", "url": "https://github.com/illuminate/events.git", - "reference": "1a8cd0108eace85f13509ccff9b23857aae39acf" + "reference": "668581e3c31f9d499dc6919fe873003969a88e6c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/events/zipball/1a8cd0108eace85f13509ccff9b23857aae39acf", - "reference": "1a8cd0108eace85f13509ccff9b23857aae39acf", + "url": "https://api.github.com/repos/illuminate/events/zipball/668581e3c31f9d499dc6919fe873003969a88e6c", + "reference": "668581e3c31f9d499dc6919fe873003969a88e6c", "shasum": "" }, "require": { - "illuminate/bus": "^9.0", - "illuminate/collections": "^9.0", - "illuminate/container": "^9.0", - "illuminate/contracts": "^9.0", - "illuminate/macroable": "^9.0", - "illuminate/support": "^9.0", - "php": "^8.0.2" + "illuminate/container": "^6.0", + "illuminate/contracts": "^6.0", + "illuminate/support": "^6.0", + "php": "^7.2.5|^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { - "files": [ - "functions.php" - ], "psr-4": { "Illuminate\\Events\\": "" } @@ -2107,45 +1944,40 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-02-24T15:12:59+00:00" + "time": "2020-10-27T15:05:51+00:00" }, { "name": "illuminate/filesystem", - "version": "v9.8.1", + "version": "v6.20.44", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "da3d8c44044fedcd9cf8a1ee0f37f835e3877568" + "reference": "5355953da41db06aac064a3d08dfa1f9bafffd24" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/da3d8c44044fedcd9cf8a1ee0f37f835e3877568", - "reference": "da3d8c44044fedcd9cf8a1ee0f37f835e3877568", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/5355953da41db06aac064a3d08dfa1f9bafffd24", + "reference": "5355953da41db06aac064a3d08dfa1f9bafffd24", "shasum": "" }, "require": { - "illuminate/collections": "^9.0", - "illuminate/contracts": "^9.0", - "illuminate/macroable": "^9.0", - "illuminate/support": "^9.0", - "php": "^8.0.2", - "symfony/finder": "^6.0" + "illuminate/contracts": "^6.0", + "illuminate/support": "^6.0", + "php": "^7.2.5|^8.0", + "symfony/finder": "^4.3.4" }, "suggest": { "ext-ftp": "Required to use the Flysystem FTP driver.", - "illuminate/http": "Required for handling uploaded files (^7.0).", - "league/flysystem": "Required to use the Flysystem local driver (^3.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", - "symfony/mime": "Required to enable support for guessing extensions (^6.0)." + "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.1).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", + "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", + "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -2169,143 +2001,45 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-04-07T14:56:47+00:00" - }, - { - "name": "illuminate/macroable", - "version": "v9.8.1", - "source": { - "type": "git", - "url": "https://github.com/illuminate/macroable.git", - "reference": "25a2c6dac2b7541ecbadef952702e84ae15f5354" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/macroable/zipball/25a2c6dac2b7541ecbadef952702e84ae15f5354", - "reference": "25a2c6dac2b7541ecbadef952702e84ae15f5354", - "shasum": "" - }, - "require": { - "php": "^8.0.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Macroable package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2022-02-01T14:44:21+00:00" - }, - { - "name": "illuminate/pipeline", - "version": "v9.8.1", - "source": { - "type": "git", - "url": "https://github.com/illuminate/pipeline.git", - "reference": "6d448699cc440cfe7696d65c62313ef2a02961b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/pipeline/zipball/6d448699cc440cfe7696d65c62313ef2a02961b1", - "reference": "6d448699cc440cfe7696d65c62313ef2a02961b1", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^9.0", - "illuminate/support": "^9.0", - "php": "^8.0.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Pipeline\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Pipeline package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2022-02-28T17:10:42+00:00" + "time": "2020-10-27T15:05:51+00:00" }, { "name": "illuminate/support", - "version": "v9.8.1", + "version": "v6.20.44", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "4ff8e72e06ece4b0f1004580e451efbd1ec3426d" + "reference": "c625fd884620c41ea6c5d84ccdb6a39fe555282d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/4ff8e72e06ece4b0f1004580e451efbd1ec3426d", - "reference": "4ff8e72e06ece4b0f1004580e451efbd1ec3426d", + "url": "https://api.github.com/repos/illuminate/support/zipball/c625fd884620c41ea6c5d84ccdb6a39fe555282d", + "reference": "c625fd884620c41ea6c5d84ccdb6a39fe555282d", "shasum": "" }, "require": { - "doctrine/inflector": "^2.0", + "doctrine/inflector": "^1.4|^2.0", "ext-json": "*", "ext-mbstring": "*", - "illuminate/collections": "^9.0", - "illuminate/conditionable": "^9.0", - "illuminate/contracts": "^9.0", - "illuminate/macroable": "^9.0", - "nesbot/carbon": "^2.53.1", - "php": "^8.0.2", - "voku/portable-ascii": "^2.0" + "illuminate/contracts": "^6.0", + "nesbot/carbon": "^2.31", + "php": "^7.2.5|^8.0" }, "conflict": { "tightenco/collect": "<5.5.33" }, "suggest": { - "illuminate/filesystem": "Required to use the composer class (^9.0).", - "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).", - "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).", - "symfony/process": "Required to use the composer class (^6.0).", - "symfony/var-dumper": "Required to use the dd function (^6.0).", - "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)." + "illuminate/filesystem": "Required to use the composer class (^6.0).", + "moontoast/math": "Required to use ordered UUIDs (^1.1).", + "ramsey/uuid": "Required to use Str::uuid() (^3.7).", + "symfony/process": "Required to use the composer class (^4.3.4).", + "symfony/var-dumper": "Required to use the dd function (^4.3.4).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^3.3)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -2332,37 +2066,36 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-04-12T13:50:24+00:00" + "time": "2021-09-08T12:07:35+00:00" }, { "name": "illuminate/view", - "version": "v9.8.1", + "version": "v6.20.44", "source": { "type": "git", "url": "https://github.com/illuminate/view.git", - "reference": "e1ceab6ad6bf1cc2513d6dc3fa5bb160b6aa28fa" + "reference": "3318d941e1c1a0f561bbd471426d042f7666e798" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/view/zipball/e1ceab6ad6bf1cc2513d6dc3fa5bb160b6aa28fa", - "reference": "e1ceab6ad6bf1cc2513d6dc3fa5bb160b6aa28fa", + "url": "https://api.github.com/repos/illuminate/view/zipball/3318d941e1c1a0f561bbd471426d042f7666e798", + "reference": "3318d941e1c1a0f561bbd471426d042f7666e798", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/collections": "^9.0", - "illuminate/container": "^9.0", - "illuminate/contracts": "^9.0", - "illuminate/events": "^9.0", - "illuminate/filesystem": "^9.0", - "illuminate/macroable": "^9.0", - "illuminate/support": "^9.0", - "php": "^8.0.2" + "illuminate/container": "^6.0", + "illuminate/contracts": "^6.0", + "illuminate/events": "^6.0", + "illuminate/filesystem": "^6.0", + "illuminate/support": "^6.0", + "php": "^7.2.5|^8.0", + "symfony/debug": "^4.3.4" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "9.x-dev" + "dev-master": "6.x-dev" } }, "autoload": { @@ -2386,7 +2119,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2022-04-07T22:05:03+00:00" + "time": "2021-12-06T17:14:03+00:00" }, { "name": "justinrainbow/json-schema", @@ -2460,35 +2193,36 @@ }, { "name": "laminas/laminas-escaper", - "version": "2.10.0", + "version": "2.6.1", "source": { "type": "git", "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "58af67282db37d24e584a837a94ee55b9c7552be" + "reference": "25f2a053eadfa92ddacb609dcbbc39362610da70" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/58af67282db37d24e584a837a94ee55b9c7552be", - "reference": "58af67282db37d24e584a837a94ee55b9c7552be", + "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/25f2a053eadfa92ddacb609dcbbc39362610da70", + "reference": "25f2a053eadfa92ddacb609dcbbc39362610da70", "shasum": "" }, "require": { - "ext-ctype": "*", - "ext-mbstring": "*", - "php": "^7.4 || ~8.0.0 || ~8.1.0" + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^5.6 || ^7.0" }, - "conflict": { - "zendframework/zend-escaper": "*" + "replace": { + "zendframework/zend-escaper": "self.version" }, "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" + "laminas/laminas-coding-standard": "~1.0.0", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.6.x-dev", + "dev-develop": "2.7.x-dev" + } + }, "autoload": { "psr-4": { "Laminas\\Escaper\\": "src/" @@ -2512,50 +2246,42 @@ "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" + "time": "2019-12-31T16:43:30+00:00" }, { "name": "laminas/laminas-feed", - "version": "2.17.0", + "version": "2.12.3", "source": { "type": "git", "url": "https://github.com/laminas/laminas-feed.git", - "reference": "1ccb024ea615606ed1d676ba0fa3f22a398f3ac0" + "reference": "3c91415633cb1be6f9d78683d69b7dcbfe6b4012" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/1ccb024ea615606ed1d676ba0fa3f22a398f3ac0", - "reference": "1ccb024ea615606ed1d676ba0fa3f22a398f3ac0", + "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/3c91415633cb1be6f9d78683d69b7dcbfe6b4012", + "reference": "3c91415633cb1be6f9d78683d69b7dcbfe6b4012", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", - "laminas/laminas-escaper": "^2.9", - "laminas/laminas-stdlib": "^3.6", - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "laminas/laminas-escaper": "^2.5.2", + "laminas/laminas-stdlib": "^3.2.1", + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^5.6 || ^7.0" }, - "conflict": { - "laminas/laminas-servicemanager": "<3.3", - "zendframework/zend-feed": "*" + "replace": { + "zendframework/zend-feed": "^2.12.0" }, "require-dev": { "laminas/laminas-cache": "^2.7.2", - "laminas/laminas-coding-standard": "~2.2.1", - "laminas/laminas-db": "^2.13.3", - "laminas/laminas-http": "^2.15", - "laminas/laminas-servicemanager": "^3.7", - "laminas/laminas-validator": "^2.15", - "phpunit/phpunit": "^9.5.5", - "psalm/plugin-phpunit": "^0.13.0", - "psr/http-message": "^1.0.1", - "vimeo/psalm": "^4.1" + "laminas/laminas-coding-standard": "~1.0.0", + "laminas/laminas-db": "^2.8.2", + "laminas/laminas-http": "^2.7", + "laminas/laminas-servicemanager": "^2.7.8 || ^3.3", + "laminas/laminas-validator": "^2.10.1", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20", + "psr/http-message": "^1.0.1" }, "suggest": { "laminas/laminas-cache": "Laminas\\Cache component, for optionally caching feeds between requests", @@ -2566,6 +2292,12 @@ "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Laminas\\Feed\\Reader\\Http\\Psr7ResponseDecorator" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.12.x-dev", + "dev-develop": "2.13.x-dev" + } + }, "autoload": { "psr-4": { "Laminas\\Feed\\": "src/" @@ -2595,36 +2327,41 @@ "type": "community_bridge" } ], - "time": "2022-03-24T10:26:04+00:00" + "time": "2020-08-18T13:45:04+00:00" }, { "name": "laminas/laminas-stdlib", - "version": "3.7.1", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "bcd869e2fe88d567800057c1434f2380354fe325" + "reference": "2b18347625a2f06a1a485acfbc870f699dbe51c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/bcd869e2fe88d567800057c1434f2380354fe325", - "reference": "bcd869e2fe88d567800057c1434f2380354fe325", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/2b18347625a2f06a1a485acfbc870f699dbe51c6", + "reference": "2b18347625a2f06a1a485acfbc870f699dbe51c6", "shasum": "" }, "require": { - "php": "^7.3 || ~8.0.0 || ~8.1.0" + "laminas/laminas-zendframework-bridge": "^1.0", + "php": "^5.6 || ^7.0" }, - "conflict": { - "zendframework/zend-stdlib": "*" + "replace": { + "zendframework/zend-stdlib": "self.version" }, "require-dev": { - "laminas/laminas-coding-standard": "~2.3.0", - "phpbench/phpbench": "^1.0", - "phpunit/phpunit": "^9.3.7", - "psalm/plugin-phpunit": "^0.16.0", - "vimeo/psalm": "^4.7" + "laminas/laminas-coding-standard": "~1.0.0", + "phpbench/phpbench": "^0.13", + "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2.x-dev", + "dev-develop": "3.3.x-dev" + } + }, "autoload": { "psr-4": { "Laminas\\Stdlib\\": "src/" @@ -2648,13 +2385,67 @@ "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", "source": "https://github.com/laminas/laminas-stdlib" }, + "time": "2019-12-31T17:51:15+00:00" + }, + { + "name": "laminas/laminas-zendframework-bridge", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-zendframework-bridge.git", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", + "reference": "6ede70583e101030bcace4dcddd648f760ddf642", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "laminas": { + "module": "Laminas\\ZendFrameworkBridge" + } + }, + "autoload": { + "files": [ + "src/autoload.php" + ], + "psr-4": { + "Laminas\\ZendFrameworkBridge\\": "src//" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Alias legacy ZF class names to Laminas Project equivalents.", + "keywords": [ + "ZendFramework", + "autoloading", + "laminas", + "zf" + ], + "support": { + "forum": "https://discourse.laminas.dev/", + "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", + "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", + "source": "https://github.com/laminas/laminas-zendframework-bridge" + }, "funding": [ { "url": "https://funding.communitybridge.org/projects/laminas-project", "type": "community_bridge" } ], - "time": "2022-01-21T15:50:46+00:00" + "time": "2020-09-14T14:23:00+00:00" }, { "name": "league/flysystem", @@ -2752,16 +2543,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "3e4a35d756eedc67096f30240a68a3149120dae7" + "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3e4a35d756eedc67096f30240a68a3149120dae7", - "reference": "3e4a35d756eedc67096f30240a68a3149120dae7", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", "shasum": "" }, "require": { @@ -2792,7 +2583,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.10.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" }, "funding": [ { @@ -2804,7 +2595,7 @@ "type": "tidelift" } ], - "time": "2022-04-11T12:49:04+00:00" + "time": "2022-04-17T13:12:02+00:00" }, { "name": "league/oauth2-client", @@ -3291,27 +3082,22 @@ }, { "name": "psr/container", - "version": "2.0.2", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", "shasum": "" }, "require": { - "php": ">=7.4.0" + "php": ">=7.2.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -3338,9 +3124,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" + "source": "https://github.com/php-fig/container/tree/1.1.1" }, - "time": "2021-11-05T16:47:00+00:00" + "time": "2021-03-05T17:36:06+00:00" }, { "name": "psr/http-client", @@ -3554,25 +3340,25 @@ }, { "name": "psr/simple-cache", - "version": "3.0.0", + "version": "1.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": ">=5.3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { @@ -3587,7 +3373,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "homepage": "http://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", @@ -3599,9 +3385,9 @@ "simple-cache" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + "source": "https://github.com/php-fig/simple-cache/tree/master" }, - "time": "2021-10-29T13:26:27+00:00" + "time": "2017-10-23T01:57:42+00:00" }, { "name": "ralouphie/getallheaders", @@ -3968,42 +3754,46 @@ }, { "name": "symfony/console", - "version": "v6.0.7", + "version": "v5.4.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e" + "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e", - "reference": "70dcf7b2ca2ea08ad6ebcc475f104a024fb5632e", + "url": "https://api.github.com/repos/symfony/console/zipball/900275254f0a1a2afff1ab0e11abd5587a10e1d6", + "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6", "shasum": "" }, "require": { - "php": ">=8.0.2", + "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.4|^6.0" + "symfony/string": "^5.1|^6.0" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "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|3.0" + "psr/log-implementation": "1.0|2.0" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" }, "suggest": { "psr/log": "For using the console logger", @@ -4043,7 +3833,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.0.7" + "source": "https://github.com/symfony/console/tree/v5.4.7" }, "funding": [ { @@ -4059,29 +3849,97 @@ "type": "tidelift" } ], - "time": "2022-03-31T17:18:25+00:00" + "time": "2022-03-31T17:09:19+00:00" + }, + { + "name": "symfony/debug", + "version": "v4.4.37", + "source": { + "type": "git", + "url": "https://github.com/symfony/debug.git", + "reference": "5de6c6e7f52b364840e53851c126be4d71e60470" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/debug/zipball/5de6c6e7f52b364840e53851c126be4d71e60470", + "reference": "5de6c6e7f52b364840e53851c126be4d71e60470", + "shasum": "" + }, + "require": { + "php": ">=7.1.3", + "psr/log": "^1|^2|^3" + }, + "conflict": { + "symfony/http-kernel": "<3.4" + }, + "require-dev": { + "symfony/http-kernel": "^3.4|^4.0|^5.0" + }, + "type": "library", + "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": "Provides tools to ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/debug/tree/v4.4.37" + }, + "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-02T09:41:36+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.0.1", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", - "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=7.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -4110,7 +3968,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1" + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1" }, "funding": [ { @@ -4126,26 +3984,27 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/filesystem", - "version": "v6.0.7", + "version": "v5.4.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff" + "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", - "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/3a4442138d80c9f7b600fb297534ac718b61d37f", + "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" + "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -4173,7 +4032,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.0.7" + "source": "https://github.com/symfony/filesystem/tree/v5.4.7" }, "funding": [ { @@ -4189,24 +4048,25 @@ "type": "tidelift" } ], - "time": "2022-04-01T12:54:51+00:00" + "time": "2022-04-01T12:33:59+00:00" }, { "name": "symfony/finder", - "version": "v6.0.3", + "version": "v4.4.37", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430" + "reference": "b17d76d7ed179f017aad646e858c90a2771af15d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/8661b74dbabc23223f38c9b99d3f8ade71170430", - "reference": "8661b74dbabc23223f38c9b99d3f8ade71170430", + "url": "https://api.github.com/repos/symfony/finder/zipball/b17d76d7ed179f017aad646e858c90a2771af15d", + "reference": "b17d76d7ed179f017aad646e858c90a2771af15d", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=7.1.3", + "symfony/polyfill-php80": "^1.16" }, "type": "library", "autoload": { @@ -4234,7 +4094,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.0.3" + "source": "https://github.com/symfony/finder/tree/v4.4.37" }, "funding": [ { @@ -4250,7 +4110,7 @@ "type": "tidelift" } ], - "time": "2022-01-26T17:23:29+00:00" + "time": "2022-01-02T09:41:36+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4828,6 +4688,85 @@ ], "time": "2021-05-27T09:17:38+00:00" }, + { + "name": "symfony/polyfill-php73", + "version": "v1.25.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", + "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", + "shasum": "" + }, + "require": { + "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\\Polyfill\\Php73\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.25.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-06-05T21:20:04+00:00" + }, { "name": "symfony/polyfill-php80", "version": "v1.25.0", @@ -4975,21 +4914,22 @@ }, { "name": "symfony/service-contracts", - "version": "v3.0.1", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c" + "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c", - "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c", + "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c", "shasum": "" }, "require": { - "php": ">=8.0.2", - "psr/container": "^2.0" + "php": ">=7.2.5", + "psr/container": "^1.1", + "symfony/deprecation-contracts": "^2.1|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -5000,7 +4940,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -5037,7 +4977,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.0.1" + "source": "https://github.com/symfony/service-contracts/tree/v2.5.1" }, "funding": [ { @@ -5053,37 +4993,38 @@ "type": "tidelift" } ], - "time": "2022-03-13T20:10:05+00:00" + "time": "2022-03-13T20:07:29+00:00" }, { "name": "symfony/string", - "version": "v6.0.3", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2" + "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/522144f0c4c004c80d56fa47e40e17028e2eefc2", - "reference": "522144f0c4c004c80d56fa47e40e17028e2eefc2", + "url": "https://api.github.com/repos/symfony/string/zipball/92043b7d8383e48104e411bc9434b260dbeb5a10", + "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=7.2.5", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" }, "conflict": { - "symfony/translation-contracts": "<2.0" + "symfony/translation-contracts": ">=3.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" + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0|^6.0" }, "type": "library", "autoload": { @@ -5122,7 +5063,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.0.3" + "source": "https://github.com/symfony/string/tree/v5.4.3" }, "funding": [ { @@ -5138,50 +5079,52 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/translation", - "version": "v6.0.7", + "version": "v5.4.7", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1" + "reference": "e1eb790575202ee3ac2659f55b93b05853726f8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1", - "reference": "b2792b39d74cf41ea3065f27fd2ddf0b556ac7a1", + "url": "https://api.github.com/repos/symfony/translation/zipball/e1eb790575202ee3ac2659f55b93b05853726f8e", + "reference": "e1eb790575202ee3ac2659f55b93b05853726f8e", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.3|^3.0" + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^2.3" }, "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" + "symfony/config": "<4.4", + "symfony/console": "<5.3", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" }, "provide": { - "symfony/translation-implementation": "2.3|3.0" + "symfony/translation-implementation": "2.3" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", + "symfony/dependency-injection": "^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^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/http-kernel": "^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", "symfony/polyfill-intl-icu": "^1.21", "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^5.4|^6.0" + "symfony/yaml": "^4.4|^5.0|^6.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -5217,7 +5160,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.0.7" + "source": "https://github.com/symfony/translation/tree/v5.4.7" }, "funding": [ { @@ -5233,24 +5176,24 @@ "type": "tidelift" } ], - "time": "2022-03-31T17:18:25+00:00" + "time": "2022-03-24T17:09:09+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.0.1", + "version": "v2.5.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9" + "reference": "1211df0afa701e45a04253110e959d4af4ef0f07" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", - "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/1211df0afa701e45a04253110e959d4af4ef0f07", + "reference": "1211df0afa701e45a04253110e959d4af4ef0f07", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=7.2.5" }, "suggest": { "symfony/translation-implementation": "" @@ -5258,7 +5201,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "2.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -5295,7 +5238,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.0.1" + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.1" }, "funding": [ { @@ -5311,7 +5254,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2022-01-02T09:53:40+00:00" }, { "name": "symfony/yaml", @@ -6763,495 +6706,192 @@ ], "packages-dev": [ { - "name": "roave/security-advisories", - "version": "dev-master", + "name": "craftcms/ecs", + "version": "dev-main", "source": { "type": "git", - "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "370b357e26aeed8d2b450026954eda969b2db0dc" + "url": "https://github.com/craftcms/ecs.git", + "reference": "6534ed578927b9e1da0acd44584c9341e0e87fbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/370b357e26aeed8d2b450026954eda969b2db0dc", - "reference": "370b357e26aeed8d2b450026954eda969b2db0dc", + "url": "https://api.github.com/repos/craftcms/ecs/zipball/6534ed578927b9e1da0acd44584c9341e0e87fbe", + "reference": "6534ed578927b9e1da0acd44584c9341e0e87fbe", "shasum": "" }, + "require": { + "php": "^7.2.5|^8.0.2", + "symplify/easy-coding-standard": "^10.0" + }, + "default-branch": true, + "type": "library", + "autoload": { + "psr-4": { + "craft\\ecs\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "description": "Easy Coding Standard configurations for Craft CMS projects", + "support": { + "issues": "https://github.com/craftcms/ecs/issues", + "source": "https://github.com/craftcms/ecs/tree/main" + }, + "time": "2022-04-12T20:55:14+00:00" + }, + { + "name": "craftcms/phpstan", + "version": "dev-main", + "source": { + "type": "git", + "url": "https://github.com/craftcms/phpstan.git", + "reference": "b61bba102b5ec8599406e6e29a28a20c915a6abc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/craftcms/phpstan/zipball/b61bba102b5ec8599406e6e29a28a20c915a6abc", + "reference": "b61bba102b5ec8599406e6e29a28a20c915a6abc", + "shasum": "" + }, + "require": { + "phpstan/phpstan": "^1.4.6" + }, + "default-branch": true, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "description": "PHPStan configuration for Craft CMS projects", + "support": { + "issues": "https://github.com/craftcms/phpstan/issues", + "source": "https://github.com/craftcms/phpstan/tree/main" + }, + "time": "2022-04-12T20:50:18+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": { - "3f/pygmentize": "<1.2", - "admidio/admidio": "<4.1.9", - "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", - "akaunting/akaunting": "<2.1.13", - "alextselegidis/easyappointments": "<1.4.3", - "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", - "amazing/media2click": ">=1,<1.3.3", - "amphp/artax": "<1.0.6|>=2,<2.0.6", - "amphp/http": "<1.0.1", - "amphp/http-client": ">=4,<4.4", - "anchorcms/anchor-cms": "<=0.12.7", - "andreapollastri/cipi": "<=3.1.15", - "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6", - "appwrite/server-ce": "<0.11.1|>=0.12,<0.12.2", - "area17/twill": "<1.2.5|>=2,<2.5.3", - "asymmetricrypt/asymmetricrypt": ">=0,<9.9.99", - "aws/aws-sdk-php": ">=3,<3.2.1", - "bagisto/bagisto": "<0.1.5", - "barrelstrength/sprout-base-email": "<1.2.7", - "barrelstrength/sprout-forms": "<3.9", - "barryvdh/laravel-translation-manager": "<0.6.2", - "baserproject/basercms": "<4.5.4", - "billz/raspap-webgui": "<=2.6.6", - "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", - "bmarshall511/wordpress_zero_spam": "<5.2.13", - "bolt/bolt": "<3.7.2", - "bolt/core": "<4.1.13", - "bottelet/flarepoint": "<2.2.1", - "brightlocal/phpwhois": "<=4.2.5", - "buddypress/buddypress": "<7.2.1", - "bugsnag/bugsnag-laravel": ">=2,<2.0.2", - "bytefury/crater": "<6.0.2", - "cachethq/cachet": "<2.5.1", - "cakephp/cakephp": "<4.0.6", - "cardgate/magento2": "<2.0.33", - "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", - "cartalyst/sentry": "<=2.1.6", - "catfan/medoo": "<1.7.5", - "centreon/centreon": "<20.10.7", - "cesnet/simplesamlphp-module-proxystatistics": "<3.1", - "codeception/codeception": "<3.1.3|>=4,<4.1.22", - "codeigniter/framework": "<=3.0.6", - "codeigniter4/framework": "<4.1.9", - "codiad/codiad": "<=2.8.4", - "composer/composer": "<1.10.23|>=2-alpha.1,<2.1.9", - "concrete5/concrete5": "<9", - "concrete5/core": "<8.5.7", - "contao-components/mediaelement": ">=2.14.2,<2.21.1", - "contao/core": ">=2,<3.5.39", - "contao/core-bundle": "<4.9.18|>=4.10,<4.11.7|= 4.10.0", - "contao/listing-bundle": ">=4,<4.4.8", - "contao/managed-edition": "<=1.5", - "craftcms/cms": "<3.7.29", - "croogo/croogo": "<3.0.7", - "cuyz/valinor": ">=0.5,<0.7", - "datadog/dd-trace": ">=0.30,<0.30.2", - "david-garcia/phpwhois": "<=4.3.1", - "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", - "directmailteam/direct-mail": "<5.2.4", - "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", - "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", - "doctrine/doctrine-bundle": "<1.5.2", - "doctrine/doctrine-module": "<=0.7.1", - "doctrine/mongodb-odm": ">=1,<1.0.2", - "doctrine/mongodb-odm-bundle": ">=2,<3.0.1", - "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", - "dolibarr/dolibarr": "<16|>= 3.3.beta1, < 13.0.2", - "dompdf/dompdf": "<1.2.1", - "drupal/core": ">=7,<7.88|>=8,<9.2.13|>=9.3,<9.3.6", - "drupal/drupal": ">=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", - "dweeves/magmi": "<=0.7.24", - "ecodev/newsletter": "<=4", - "ectouch/ectouch": "<=2.7.2", - "elgg/elgg": "<3.3.24|>=4,<4.0.5", - "endroid/qr-code-bundle": "<3.4.2", - "enshrined/svg-sanitize": "<0.15", - "erusev/parsedown": "<1.7.2", - "ether/logs": "<3.0.4", - "ezsystems/demobundle": ">=5.4,<5.4.6.1", - "ezsystems/ez-support-tools": ">=2.2,<2.2.3", - "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1", - "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1|>=5.4,<5.4.11.1|>=2017.12,<2017.12.0.1", - "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", - "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.27", - "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", - "ezsystems/ezplatform-kernel": "<=1.2.5|>=1.3,<1.3.12", - "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", - "ezsystems/ezplatform-richtext": ">=2.3,<=2.3.7", - "ezsystems/ezplatform-user": ">=1,<1.0.1", - "ezsystems/ezpublish-kernel": "<=6.13.8.1|>=7,<7.5.26", - "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.3.5.1", - "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", - "ezsystems/repository-forms": ">=2.3,<2.3.2.1", - "ezyang/htmlpurifier": "<4.1.1", - "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", - "feehi/cms": "<=2.1.1", - "feehi/feehicms": "<=0.1.3", - "fenom/fenom": "<=2.12.1", - "firebase/php-jwt": "<2", - "flarum/core": ">=1,<=1.0.1", - "flarum/sticky": ">=0.1-beta.14,<=0.1-beta.15", - "flarum/tags": "<=0.1-beta.13", - "fluidtypo3/vhs": "<5.1.1", - "fooman/tcpdf": "<6.2.22", - "forkcms/forkcms": "<5.11.1", - "fossar/tcpdf-parser": "<6.2.22", - "francoisjacquet/rosariosis": "<8.1.1", - "friendsofsymfony/oauth2-php": "<1.3", - "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", - "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", - "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", - "froala/wysiwyg-editor": "<3.2.7", - "fuel/core": "<1.8.1", - "gaoming13/wechat-php-sdk": "<=1.10.2", - "genix/cms": "<=1.1.11", - "getgrav/grav": "<1.7.31", - "getkirby/cms": "<3.5.8", - "getkirby/panel": "<2.5.14", - "gilacms/gila": "<=1.11.4", - "globalpayments/php-sdk": "<2", - "google/protobuf": "<3.15", - "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", - "gree/jose": "<=2.2", - "gregwar/rst": "<1.0.3", - "grumpydictator/firefly-iii": "<5.6.5", - "guzzlehttp/guzzle": ">=4-rc.2,<4.2.4|>=5,<5.3.1|>=6,<6.2.1", - "guzzlehttp/psr7": "<1.8.4|>=2,<2.1.1", - "helloxz/imgurl": "<=2.31", - "hillelcoren/invoice-ninja": "<5.3.35", - "hjue/justwriting": "<=1", - "hov/jobfair": "<1.0.13|>=2,<2.0.2", - "hyn/multi-tenant": ">=5.6,<5.7.2", - "ibexa/post-install": "<=1.0.4", - "icecoder/icecoder": "<=8.1", - "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", - "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", - "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", - "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", - "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", - "impresscms/impresscms": "<=1.4.3", - "in2code/femanager": "<5.5.1|>=6,<6.3.1", - "intelliants/subrion": "<=4.2.1", - "ivankristianto/phpwhois": "<=4.3", - "jackalope/jackalope-doctrine-dbal": "<1.7.4", - "james-heinrich/getid3": "<1.9.21", - "joomla/archive": "<1.1.12|>=2,<2.0.1", - "joomla/filesystem": "<1.6.2|>=2,<2.0.1", - "joomla/filter": "<1.4.4|>=2,<2.0.1", - "joomla/input": ">=2,<2.0.2", - "joomla/session": "<1.3.1", - "jsdecena/laracom": "<2.0.9", - "jsmitty12/phpwhois": "<5.1", - "kazist/phpwhois": "<=4.2.6", - "kevinpapst/kimai2": "<1.16.7", - "kitodo/presentation": "<3.1.2", - "klaviyo/magento2-extension": ">=1,<3", - "kreait/firebase-php": ">=3.2,<3.8.1", - "la-haute-societe/tcpdf": "<6.2.22", - "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", - "laminas/laminas-http": "<2.14.2", - "laravel/fortify": "<1.11.1", - "laravel/framework": "<6.20.42|>=7,<7.30.6|>=8,<8.75", - "laravel/laravel": "<=5.8.38", - "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", - "latte/latte": "<2.10.8", - "lavalite/cms": "<=5.8", - "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", - "league/commonmark": "<0.18.3", - "league/flysystem": "<1.1.4|>=2,<2.1.1", - "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", - "librenms/librenms": "<22.2.2", - "limesurvey/limesurvey": "<3.27.19", - "livehelperchat/livehelperchat": "<=3.91", - "livewire/livewire": ">2.2.4,<2.2.6", - "lms/routes": "<2.1.1", - "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", - "magento/community-edition": ">=2,<2.2.10|>=2.3,<2.3.3", - "magento/magento1ce": "<1.9.4.3", - "magento/magento1ee": ">=1,<1.14.4.3", - "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2-p.2", - "marcwillmann/turn": "<0.3.3", - "matyhtf/framework": "<3.0.6", - "mautic/core": "<4.2|= 2.13.1", - "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", - "microweber/microweber": "<1.3", - "miniorange/miniorange-saml": "<1.4.3", - "mittwald/typo3_forum": "<1.2.1", - "modx/revolution": "<= 2.8.3-pl|<2.8", - "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<3.9.13|>=3.10-beta,<3.10.10|>=3.11,<3.11.6", - "mustache/mustache": ">=2,<2.14.1", - "namshi/jose": "<2.2", - "neoan3-apps/template": "<1.1.1", - "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", - "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", - "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", - "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", - "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", - "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", - "nilsteampassnet/teampass": "<=2.1.27.36", - "nukeviet/nukeviet": "<4.3.4", - "nystudio107/craft-seomatic": "<3.4.12", - "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", - "october/backend": "<1.1.2", - "october/cms": "= 1.1.1|= 1.0.471|= 1.0.469|>=1.0.319,<1.0.469", - "october/october": ">=1.0.319,<1.0.466|>=2.1,<2.1.12", - "october/rain": "<1.0.472|>=1.1,<1.1.2", - "october/system": "<1.0.475|>=1.1,<1.1.11|>=2,<2.1.27", - "onelogin/php-saml": "<2.10.4", - "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", - "open-web-analytics/open-web-analytics": "<1.7.4", - "opencart/opencart": "<=3.0.3.2", - "openid/php-openid": "<2.3", - "openmage/magento-lts": "<19.4.15|>=20,<20.0.13", - "orchid/platform": ">=9,<9.4.4", - "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", - "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<4.2.8", - "padraic/humbug_get_contents": "<1.1.2", - "pagarme/pagarme-php": ">=0,<3", - "pagekit/pagekit": "<=1.0.18", - "paragonie/random_compat": "<2", - "passbolt/passbolt_api": "<2.11", - "paypal/merchant-sdk-php": "<3.12", - "pear/archive_tar": "<1.4.14", - "pear/crypt_gpg": "<1.6.7", - "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", - "personnummer/personnummer": "<3.0.2", - "phanan/koel": "<5.1.4", - "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", - "phpmailer/phpmailer": "<6.5", - "phpmussel/phpmussel": ">=1,<1.6", - "phpmyadmin/phpmyadmin": "<5.1.3", - "phpoffice/phpexcel": "<1.8", - "phpoffice/phpspreadsheet": "<1.16", - "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.7", - "phpservermon/phpservermon": "<=3.5.2", - "phpunit/phpunit": "<4.8.28|>=5,<5.6.3", - "phpwhois/phpwhois": "<=4.2.5", - "phpxmlrpc/extras": "<0.6.1", - "pimcore/data-hub": "<1.2.4", - "pimcore/pimcore": "<10.4", - "pocketmine/bedrock-protocol": "<8.0.2", - "pocketmine/pocketmine-mp": "<4.2.4", - "pressbooks/pressbooks": "<5.18", - "prestashop/autoupgrade": ">=4,<4.10.1", - "prestashop/contactform": ">1.0.1,<4.3", - "prestashop/gamification": "<2.3.2", - "prestashop/prestashop": ">=1.7,<=1.7.8.2", - "prestashop/productcomments": ">=4,<4.2.1", - "prestashop/ps_emailsubscription": "<2.6.1", - "prestashop/ps_facetedsearch": "<3.4.1", - "prestashop/ps_linklist": "<3.1", - "privatebin/privatebin": "<1.4", - "propel/propel": ">=2-alpha.1,<=2-alpha.7", - "propel/propel1": ">=1,<=1.7.1", - "pterodactyl/panel": "<1.7", - "ptrofimov/beanstalk_console": "<1.7.14", - "pusher/pusher-php-server": "<2.2.1", - "pwweb/laravel-core": "<=0.3.6-beta", - "rainlab/debugbar-plugin": "<3.1", - "remdex/livehelperchat": "<3.96", - "rmccue/requests": ">=1.6,<1.8", - "robrichards/xmlseclibs": "<3.0.4", - "rudloff/alltube": "<3.0.3", - "s-cart/s-cart": "<6.7.2", - "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", - "sabre/dav": ">=1.6,<1.6.99|>=1.7,<1.7.11|>=1.8,<1.8.9", - "scheb/two-factor-bundle": ">=0,<3.26|>=4,<4.11", - "sensiolabs/connect": "<4.2.3", - "serluck/phpwhois": "<=4.2.6", - "shopware/core": "<=6.4.8.1", - "shopware/platform": "<=6.4.8.1", - "shopware/production": "<=6.3.5.2", - "shopware/shopware": "<5.7.7", - "shopware/storefront": "<=6.4.8.1", - "showdoc/showdoc": "<2.10.4", - "silverstripe/admin": ">=1,<1.8.1", - "silverstripe/assets": ">=1,<1.4.7|>=1.5,<1.5.2", - "silverstripe/cms": "<4.3.6|>=4.4,<4.4.4", - "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", - "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": "<4.10.1", - "silverstripe/graphql": "<3.5.2|>=4-alpha.1,<4-alpha.2|= 4.0.0-alpha1", - "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", - "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", - "silverstripe/subsites": ">=2,<2.1.1", - "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", - "silverstripe/userforms": "<3", - "simple-updates/phpwhois": "<=1", - "simplesamlphp/saml2": "<1.10.6|>=2,<2.3.8|>=3,<3.1.4", - "simplesamlphp/simplesamlphp": "<1.18.6", - "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", - "simplito/elliptic-php": "<1.0.6", - "slim/slim": "<2.6", - "smarty/smarty": "<3.1.43|>=4,<4.0.3", - "snipe/snipe-it": "<5.4.2|>= 6.0.0-RC-1, <= 6.0.0-RC-5", - "socalnick/scn-social-auth": "<1.15.2", - "socialiteproviders/steam": "<1.1", - "spipu/html2pdf": "<5.2.4", - "spoonity/tcpdf": "<6.2.22", - "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", - "ssddanbrown/bookstack": "<22.2.3", - "statamic/cms": "<3.2.39|>=3.3,<3.3.2", - "stormpath/sdk": ">=0,<9.9.99", - "studio-42/elfinder": "<2.1.59", - "subrion/cms": "<=4.2.1", - "sulu/sulu": "= 2.4.0-RC1|<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8", - "swiftmailer/swiftmailer": ">=4,<5.4.5", - "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", - "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", - "sylius/grid-bundle": "<1.10.1", - "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", - "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2", - "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", - "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", - "symbiote/silverstripe-versionedfiles": "<=2.0.3", - "symfont/process": ">=0,<4", - "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", - "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", - "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", - "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3|= 6.0.3|= 5.4.3|= 5.3.14", - "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/http-kernel": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.4.13|>=5,<5.1.5|>=5.2,<5.3.12", - "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", - "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", - "symfony/mime": ">=4.3,<4.3.8", - "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/polyfill": ">=1,<1.10", - "symfony/polyfill-php55": ">=1,<1.10", - "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/routing": ">=2,<2.0.19", - "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", - "symfony/security-bundle": ">=2,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11|>=5.3,<5.3.12", - "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", - "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", - "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2", - "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", - "symfony/symfony": ">=2,<3.4.49|>=4,<4.4.35|>=5,<5.3.12|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3", - "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/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", - "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", - "t3/dce": ">=2.2,<2.6.2", - "t3g/svg-sanitizer": "<1.0.3", - "tastyigniter/tastyigniter": "<3.3", - "tecnickcom/tcpdf": "<6.2.22", - "terminal42/contao-tablelookupwizard": "<3.3.5", - "thelia/backoffice-default-template": ">=2.1,<2.1.2", - "thelia/thelia": ">=2.1-beta.1,<2.1.3", - "theonedemon/phpwhois": "<=4.2.5", - "tinymce/tinymce": "<5.10", - "titon/framework": ">=0,<9.9.99", - "topthink/framework": "<6.0.9", - "topthink/think": "<=6.0.9", - "topthink/thinkphp": "<=3.2.3", - "tribalsystems/zenario": "<9.2.55826", - "truckersmp/phpwhois": "<=4.3.1", - "twig/twig": "<1.38|>=2,<2.14.11|>=3,<3.3.8", - "typo3/cms": ">=6.2,<6.2.30|>=7,<7.6.32|>=8,<8.7.38|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", - "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", - "typo3/cms-core": ">=6.2,<=6.2.56|>=7,<=7.6.52|>=8,<=8.7.41|>=9,<9.5.29|>=10,<10.4.19|>=11,<11.5", - "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", - "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", - "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", - "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", - "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", - "ua-parser/uap-php": "<3.8", - "unisharp/laravel-filemanager": "<=2.3", - "userfrosting/userfrosting": ">=0.3.1,<4.6.3", - "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", - "vanilla/safecurl": "<0.9.2", - "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", - "vrana/adminer": "<4.8.1", - "wallabag/tcpdf": "<6.2.22", - "wanglelecc/laracms": "<=1.0.3", - "web-auth/webauthn-framework": ">=3.3,<3.3.4", - "webcoast/deferred-image-processing": "<1.0.2", - "wikimedia/parsoid": "<0.12.2", - "willdurand/js-translation-bundle": "<2.1.1", - "wp-cli/wp-cli": "<2.5", - "wpanel/wpanel4-cms": "<=4.3.1", - "wwbn/avideo": "<=11.6", - "yeswiki/yeswiki": "<4.1", - "yetiforce/yetiforce-crm": "<=6.3", - "yidashi/yii2cmf": "<=2", - "yii2mod/yii2-cms": "<1.9.2", - "yiisoft/yii": ">=1.1.14,<1.1.15", - "yiisoft/yii2": "<2.0.38", - "yiisoft/yii2-bootstrap": "<2.0.4", - "yiisoft/yii2-dev": "<2.0.43", - "yiisoft/yii2-elasticsearch": "<2.0.5", - "yiisoft/yii2-gii": "<2.0.4", - "yiisoft/yii2-jui": "<2.0.4", - "yiisoft/yii2-redis": "<2.0.8", - "yoast-seo-for-typo3/yoast_seo": "<7.2.3", - "yourls/yourls": "<=1.8.2", - "zendesk/zendesk_api_client_php": "<2.2.11", - "zendframework/zend-cache": ">=2.4,<2.4.8|>=2.5,<2.5.3", - "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", - "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", - "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", - "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", - "zendframework/zend-diactoros": ">=1,<1.8.4", - "zendframework/zend-feed": ">=1,<2.10.3", - "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-http": ">=1,<2.8.1", - "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", - "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", - "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", - "zendframework/zend-validator": ">=2.3,<2.3.6", - "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zendframework": "<=3", - "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", - "zoujingli/thinkadmin": "<6.0.22" - }, - "type": "metapackage", + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ + "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" + }, { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "role": "maintainer" + "url": "https://github.com/phpstan", + "type": "github" }, { - "name": "Ilya Tribusean", - "email": "slash3b@gmail.com", - "role": "maintainer" + "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": "symplify/easy-coding-standard", + "version": "10.2.2", + "source": { + "type": "git", + "url": "https://github.com/symplify/easy-coding-standard.git", + "reference": "d847795500b929f68ed115357658122d64017f77" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symplify/easy-coding-standard/zipball/d847795500b929f68ed115357658122d64017f77", + "reference": "d847795500b929f68ed115357658122d64017f77", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "conflict": { + "friendsofphp/php-cs-fixer": "<3.0", + "squizlabs/php_codesniffer": "<3.6" + }, + "bin": [ + "bin/ecs" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "9.5-dev" } + }, + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" ], - "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "description": "Prefixed scoped version of ECS package", "support": { - "issues": "https://github.com/Roave/SecurityAdvisories/issues", - "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" + "source": "https://github.com/symplify/easy-coding-standard/tree/10.2.2" }, "funding": [ { - "url": "https://github.com/Ocramius", - "type": "github" + "url": "https://www.paypal.me/rectorphp", + "type": "custom" }, { - "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", - "type": "tidelift" + "url": "https://github.com/tomasvotruba", + "type": "github" } ], - "time": "2022-04-13T14:08:56+00:00" + "time": "2022-04-17T10:41:19+00:00" } ], "aliases": [], - "minimum-stability": "stable", + "minimum-stability": "dev", "stability-flags": { - "roave/security-advisories": 20 + "craftcms/ecs": 20, + "craftcms/phpstan": 20 }, - "prefer-stable": false, + "prefer-stable": true, "prefer-lowest": false, "platform": [], "platform-dev": [], + "platform-overrides": { + "php": "7.2.5" + }, "plugin-api-version": "2.2.0" } diff --git a/phpstan.neon b/phpstan.neon new file mode 100644 index 0000000..9c1f9e2 --- /dev/null +++ b/phpstan.neon @@ -0,0 +1,16 @@ +parameters: + level: 4 + paths: + - src + scanFiles: + - vendor/craftcms/cms/src/Craft.php + - vendor/yiisoft/yii2/Yii.php + stubFiles: + - stubs/BaseYii.stub + earlyTerminatingMethodCalls: + Craft: + - dd + yii\base\Application: + - end + yii\base\ErrorHandler: + - convertExceptionToError diff --git a/src/ContactFormExtensions.php b/src/ContactFormExtensions.php index a340286..015927d 100644 --- a/src/ContactFormExtensions.php +++ b/src/ContactFormExtensions.php @@ -236,7 +236,7 @@ function (Event $event) { public function getCpNavItem() { if (!$this->settings->enableDatabase) { - return; + return null; } $navItem = parent::getCpNavItem(); diff --git a/src/controllers/SubmissionsController.php b/src/controllers/SubmissionsController.php index 7b8ed89..d76745a 100644 --- a/src/controllers/SubmissionsController.php +++ b/src/controllers/SubmissionsController.php @@ -23,13 +23,24 @@ public function actionShowSubmission(string $submissionId = null, string $siteHa /* @var ContactFormSubmission $submission */ $submission = $query->one(); - $messageObject = ContactFormExtensions::$plugin->contactFormExtensionsService->utf8AllTheThings((array) json_decode($submission->message)); - $variables = [ - 'submission' => $submission, - 'siteHandle' => $siteHandle, - 'messageObject' => $messageObject, - ]; - - return $this->renderTemplate('contact-form-extensions/submissions/_show', $variables); + if ($submission) { + $messageObject = ContactFormExtensions::$plugin->contactFormExtensionsService->utf8AllTheThings((array) json_decode($submission->message)); + + $variables = [ + 'submission' => $submission, + 'siteHandle' => $siteHandle, + 'messageObject' => $messageObject, + ]; + + return $this->renderTemplate('contact-form-extensions/submissions/_show', $variables); + } else { + $variables = [ + 'submission' => null, + 'siteHandle' => "", + 'messageObject' => "", + ]; + + return $this->renderTemplate('contact-form-extensions/submissions/_show', $variables); + } } } diff --git a/src/templates/submissions/_show.twig b/src/templates/submissions/_show.twig index d88590e..6c13c59 100644 --- a/src/templates/submissions/_show.twig +++ b/src/templates/submissions/_show.twig @@ -2,7 +2,8 @@ {% import "_includes/forms" as forms %} {% set fullPageForm = true %} -{% set title = submission.dateCreated|date('d/m/Y H:i') %} +{% set title = submission ? submission.dateCreated|date('d/m/Y H:i') : "" %} + {% hook "cp.contactFormSubmission.show" %} @@ -17,28 +18,31 @@ {% endblock %} {% block actionButton %} - {% endblock %} {% block content %}
-

{{ "Subject"|t('contact-form-extensions') }}

-

{{ submission.subject }}

-

{{ "From name"|t('contact-form-extensions') }}

-

{{ submission.fromName }}

-

{{ "From email"|t('contact-form-extensions') }}

-

{{ submission.fromEmail }}

- {% for key, value in messageObject %} -

{{ key|ucfirst|t('contact-form-extensions') }}

- {% if value is iterable %} - {% for item in value %} -

{{ item|nl2br }}

- {% endfor %} - {% else %} -

{{ value|nl2br }}

- {% endif %} - {% endfor %} + {% if submission %} +

{{ "Subject"|t('contact-form-extensions') }}

+

{{ submission.subject }}

+

{{ "From name"|t('contact-form-extensions') }}

+

{{ submission.fromName }}

+

{{ "From email"|t('contact-form-extensions') }}

+

{{ submission.fromEmail }}

+ {% for key, value in messageObject %} +

{{ key|ucfirst|t('contact-form-extensions') }}

+ {% if value is iterable %} + {% for item in value %} +

{{ item|nl2br }}

+ {% endfor %} + {% else %} +

{{ value|nl2br }}

+ {% endif %} + {% endfor %} + {% else %} +

Submission does not exist or was deleted

+ {% endif %}

@@ -49,7 +53,7 @@ {% endblock %} {% block details %} - {% if submission.id %} + {% if submission %}
diff --git a/stubs/BaseYii.stub b/stubs/BaseYii.stub new file mode 100644 index 0000000..2fe3456 --- /dev/null +++ b/stubs/BaseYii.stub @@ -0,0 +1,19 @@ + Date: Mon, 25 Apr 2022 20:14:43 +0000 Subject: [PATCH 02/14] Apply fixes from StyleCI --- src/controllers/SubmissionsController.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/controllers/SubmissionsController.php b/src/controllers/SubmissionsController.php index d76745a..3c4ab13 100644 --- a/src/controllers/SubmissionsController.php +++ b/src/controllers/SubmissionsController.php @@ -36,8 +36,8 @@ public function actionShowSubmission(string $submissionId = null, string $siteHa } else { $variables = [ 'submission' => null, - 'siteHandle' => "", - 'messageObject' => "", + 'siteHandle' => '', + 'messageObject' => '', ]; return $this->renderTemplate('contact-form-extensions/submissions/_show', $variables); From 75cf700b03b87d2bcc56e54ad208db07f4ff7a2c Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Mon, 25 Apr 2022 16:34:45 -0400 Subject: [PATCH 03/14] Testing composer updates with composer req. --- composer.json | 4 +- composer.lock | 272 +++++++++++++++++++------------------------------- 2 files changed, 107 insertions(+), 169 deletions(-) diff --git a/composer.json b/composer.json index 871f25a..1afdcfb 100644 --- a/composer.json +++ b/composer.json @@ -24,9 +24,9 @@ "minimum-stability": "dev", "prefer-stable": true, "require": { + "albertcht/invisible-recaptcha": "^1.8", "craftcms/cms": "^3.2.0", - "craftcms/contact-form": "^2.3.0", - "albertcht/invisible-recaptcha": "^1.8" + "craftcms/contact-form": "^2.3.0" }, "require-dev": { "craftcms/ecs": "dev-main", diff --git a/composer.lock b/composer.lock index 603882d..5ea0859 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": "1e9827e2ee17b422e15dbea86e19daec", + "content-hash": "71505cc03aa9cc066213e4b84fc1af7a", "packages": [ { "name": "albertcht/invisible-recaptcha", @@ -1803,27 +1803,30 @@ }, { "name": "illuminate/container", - "version": "v6.20.44", + "version": "v7.30.6", "source": { "type": "git", "url": "https://github.com/illuminate/container.git", - "reference": "a3bf42e3cd9956774d5f8b0b7bbb612ed289e910" + "reference": "06456a2ea5656c2f1ebda37039ce14c1bfc973b3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/a3bf42e3cd9956774d5f8b0b7bbb612ed289e910", - "reference": "a3bf42e3cd9956774d5f8b0b7bbb612ed289e910", + "url": "https://api.github.com/repos/illuminate/container/zipball/06456a2ea5656c2f1ebda37039ce14c1bfc973b3", + "reference": "06456a2ea5656c2f1ebda37039ce14c1bfc973b3", "shasum": "" }, "require": { - "illuminate/contracts": "^6.0", + "illuminate/contracts": "^7.0", "php": "^7.2.5|^8.0", "psr/container": "^1.0" }, + "provide": { + "psr/container-implementation": "1.0" + }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -1847,20 +1850,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-09-09T13:53:17+00:00" + "time": "2021-11-17T15:00:14+00:00" }, { "name": "illuminate/contracts", - "version": "v6.20.44", + "version": "v7.30.6", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", - "reference": "2aeb1ea8985f7a79abaf7186234c94b543a04165" + "reference": "2449f2ea949ddf995a3dcffe5e21c768cf7d6478" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/2aeb1ea8985f7a79abaf7186234c94b543a04165", - "reference": "2aeb1ea8985f7a79abaf7186234c94b543a04165", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/2449f2ea949ddf995a3dcffe5e21c768cf7d6478", + "reference": "2449f2ea949ddf995a3dcffe5e21c768cf7d6478", "shasum": "" }, "require": { @@ -1871,7 +1874,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -1895,32 +1898,32 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-12-01T12:53:22+00:00" + "time": "2021-11-17T15:00:14+00:00" }, { "name": "illuminate/events", - "version": "v6.20.44", + "version": "v7.30.6", "source": { "type": "git", "url": "https://github.com/illuminate/events.git", - "reference": "668581e3c31f9d499dc6919fe873003969a88e6c" + "reference": "6f64db49dbfd490c6e30c983964543a054882faf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/events/zipball/668581e3c31f9d499dc6919fe873003969a88e6c", - "reference": "668581e3c31f9d499dc6919fe873003969a88e6c", + "url": "https://api.github.com/repos/illuminate/events/zipball/6f64db49dbfd490c6e30c983964543a054882faf", + "reference": "6f64db49dbfd490c6e30c983964543a054882faf", "shasum": "" }, "require": { - "illuminate/container": "^6.0", - "illuminate/contracts": "^6.0", - "illuminate/support": "^6.0", + "illuminate/container": "^7.0", + "illuminate/contracts": "^7.0", + "illuminate/support": "^7.0", "php": "^7.2.5|^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -1944,40 +1947,42 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-10-27T15:05:51+00:00" + "time": "2020-10-27T15:11:37+00:00" }, { "name": "illuminate/filesystem", - "version": "v6.20.44", + "version": "v7.30.6", "source": { "type": "git", "url": "https://github.com/illuminate/filesystem.git", - "reference": "5355953da41db06aac064a3d08dfa1f9bafffd24" + "reference": "2013f94a3a7dff008be54884774548e3c222c3e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/5355953da41db06aac064a3d08dfa1f9bafffd24", - "reference": "5355953da41db06aac064a3d08dfa1f9bafffd24", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/2013f94a3a7dff008be54884774548e3c222c3e8", + "reference": "2013f94a3a7dff008be54884774548e3c222c3e8", "shasum": "" }, "require": { - "illuminate/contracts": "^6.0", - "illuminate/support": "^6.0", + "illuminate/contracts": "^7.0", + "illuminate/support": "^7.0", "php": "^7.2.5|^8.0", - "symfony/finder": "^4.3.4" + "symfony/finder": "^5.0" }, "suggest": { "ext-ftp": "Required to use the Flysystem FTP driver.", + "illuminate/http": "Required for handling uploaded files (^7.0).", "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.1).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0)." + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "symfony/mime": "Required to enable support for guessing extensions (^5.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -2001,45 +2006,46 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-10-27T15:05:51+00:00" + "time": "2020-10-27T15:11:37+00:00" }, { "name": "illuminate/support", - "version": "v6.20.44", + "version": "v7.30.6", "source": { "type": "git", "url": "https://github.com/illuminate/support.git", - "reference": "c625fd884620c41ea6c5d84ccdb6a39fe555282d" + "reference": "c7b42acd009c94a3f8b749a65f6835db90174d58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/c625fd884620c41ea6c5d84ccdb6a39fe555282d", - "reference": "c625fd884620c41ea6c5d84ccdb6a39fe555282d", + "url": "https://api.github.com/repos/illuminate/support/zipball/c7b42acd009c94a3f8b749a65f6835db90174d58", + "reference": "c7b42acd009c94a3f8b749a65f6835db90174d58", "shasum": "" }, "require": { "doctrine/inflector": "^1.4|^2.0", "ext-json": "*", "ext-mbstring": "*", - "illuminate/contracts": "^6.0", + "illuminate/contracts": "^7.0", "nesbot/carbon": "^2.31", - "php": "^7.2.5|^8.0" + "php": "^7.2.5|^8.0", + "voku/portable-ascii": "^1.4.8" }, "conflict": { "tightenco/collect": "<5.5.33" }, "suggest": { - "illuminate/filesystem": "Required to use the composer class (^6.0).", + "illuminate/filesystem": "Required to use the composer class (^7.0).", "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "ramsey/uuid": "Required to use Str::uuid() (^3.7).", - "symfony/process": "Required to use the composer class (^4.3.4).", - "symfony/var-dumper": "Required to use the dd function (^4.3.4).", - "vlucas/phpdotenv": "Required to use the Env class and env helper (^3.3)." + "ramsey/uuid": "Required to use Str::uuid() (^3.7|^4.0).", + "symfony/process": "Required to use the composer class (^5.0).", + "symfony/var-dumper": "Required to use the dd function (^5.0).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^4.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -2066,36 +2072,35 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-09-08T12:07:35+00:00" + "time": "2021-12-06T19:25:06+00:00" }, { "name": "illuminate/view", - "version": "v6.20.44", + "version": "v7.30.6", "source": { "type": "git", "url": "https://github.com/illuminate/view.git", - "reference": "3318d941e1c1a0f561bbd471426d042f7666e798" + "reference": "098e583d43c8fd1d3505ed83b2d54a31ce20bcdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/view/zipball/3318d941e1c1a0f561bbd471426d042f7666e798", - "reference": "3318d941e1c1a0f561bbd471426d042f7666e798", + "url": "https://api.github.com/repos/illuminate/view/zipball/098e583d43c8fd1d3505ed83b2d54a31ce20bcdb", + "reference": "098e583d43c8fd1d3505ed83b2d54a31ce20bcdb", "shasum": "" }, "require": { "ext-json": "*", - "illuminate/container": "^6.0", - "illuminate/contracts": "^6.0", - "illuminate/events": "^6.0", - "illuminate/filesystem": "^6.0", - "illuminate/support": "^6.0", - "php": "^7.2.5|^8.0", - "symfony/debug": "^4.3.4" + "illuminate/container": "^7.0", + "illuminate/contracts": "^7.0", + "illuminate/events": "^7.0", + "illuminate/filesystem": "^7.0", + "illuminate/support": "^7.0", + "php": "^7.2.5|^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { @@ -2119,7 +2124,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-12-06T17:14:03+00:00" + "time": "2021-12-06T19:25:06+00:00" }, { "name": "justinrainbow/json-schema", @@ -3851,74 +3856,6 @@ ], "time": "2022-03-31T17:09:19+00:00" }, - { - "name": "symfony/debug", - "version": "v4.4.37", - "source": { - "type": "git", - "url": "https://github.com/symfony/debug.git", - "reference": "5de6c6e7f52b364840e53851c126be4d71e60470" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/5de6c6e7f52b364840e53851c126be4d71e60470", - "reference": "5de6c6e7f52b364840e53851c126be4d71e60470", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "psr/log": "^1|^2|^3" - }, - "conflict": { - "symfony/http-kernel": "<3.4" - }, - "require-dev": { - "symfony/http-kernel": "^3.4|^4.0|^5.0" - }, - "type": "library", - "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": "Provides tools to ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/debug/tree/v4.4.37" - }, - "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-02T09:41:36+00:00" - }, { "name": "symfony/deprecation-contracts", "version": "v2.5.1", @@ -4052,20 +3989,21 @@ }, { "name": "symfony/finder", - "version": "v4.4.37", + "version": "v5.4.3", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "b17d76d7ed179f017aad646e858c90a2771af15d" + "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/b17d76d7ed179f017aad646e858c90a2771af15d", - "reference": "b17d76d7ed179f017aad646e858c90a2771af15d", + "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d", + "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", "symfony/polyfill-php80": "^1.16" }, "type": "library", @@ -4094,7 +4032,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v4.4.37" + "source": "https://github.com/symfony/finder/tree/v5.4.3" }, "funding": [ { @@ -4110,7 +4048,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:41:36+00:00" + "time": "2022-01-26T16:34:36+00:00" }, { "name": "symfony/polyfill-ctype", @@ -5463,21 +5401,21 @@ }, { "name": "voku/anti-xss", - "version": "4.1.39", + "version": "4.1.35", "source": { "type": "git", "url": "https://github.com/voku/anti-xss.git", - "reference": "64a59ba4744e6722866ff3440d93561da9e85cd0" + "reference": "4d7ec2816cd6eeebb7d5abbde8b0349f66709496" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/anti-xss/zipball/64a59ba4744e6722866ff3440d93561da9e85cd0", - "reference": "64a59ba4744e6722866ff3440d93561da9e85cd0", + "url": "https://api.github.com/repos/voku/anti-xss/zipball/4d7ec2816cd6eeebb7d5abbde8b0349f66709496", + "reference": "4d7ec2816cd6eeebb7d5abbde8b0349f66709496", "shasum": "" }, "require": { "php": ">=7.0.0", - "voku/portable-utf8": "~6.0.2" + "voku/portable-utf8": "~6.0.0" }, "require-dev": { "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" @@ -5518,7 +5456,7 @@ ], "support": { "issues": "https://github.com/voku/anti-xss/issues", - "source": "https://github.com/voku/anti-xss/tree/4.1.39" + "source": "https://github.com/voku/anti-xss/tree/4.1.35" }, "funding": [ { @@ -5542,7 +5480,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:58+00:00" + "time": "2021-12-08T15:20:33+00:00" }, { "name": "voku/arrayy", @@ -5705,16 +5643,16 @@ }, { "name": "voku/portable-ascii", - "version": "2.0.1", + "version": "1.6.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", + "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", "shasum": "" }, "require": { @@ -5751,7 +5689,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + "source": "https://github.com/voku/portable-ascii/tree/1.6.1" }, "funding": [ { @@ -5775,20 +5713,20 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:03:00+00:00" + "time": "2022-01-24T18:55:24+00:00" }, { "name": "voku/portable-utf8", - "version": "6.0.4", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/voku/portable-utf8.git", - "reference": "f6c78e492520115bb2d947c3a0d90a2c6b7a60a8" + "reference": "e4365df3f7b63f9e57e1015f6c3ceec19c169f7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-utf8/zipball/f6c78e492520115bb2d947c3a0d90a2c6b7a60a8", - "reference": "f6c78e492520115bb2d947c3a0d90a2c6b7a60a8", + "url": "https://api.github.com/repos/voku/portable-utf8/zipball/e4365df3f7b63f9e57e1015f6c3ceec19c169f7a", + "reference": "e4365df3f7b63f9e57e1015f6c3ceec19c169f7a", "shasum": "" }, "require": { @@ -5798,7 +5736,7 @@ "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php72": "~1.0", - "voku/portable-ascii": "~2.0.0" + "voku/portable-ascii": "~1.6.0" }, "require-dev": { "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" @@ -5850,7 +5788,7 @@ ], "support": { "issues": "https://github.com/voku/portable-utf8/issues", - "source": "https://github.com/voku/portable-utf8/tree/6.0.4" + "source": "https://github.com/voku/portable-utf8/tree/6.0.1" }, "funding": [ { @@ -5874,7 +5812,7 @@ "type": "tidelift" } ], - "time": "2022-03-08T17:04:59+00:00" + "time": "2022-01-24T09:49:08+00:00" }, { "name": "voku/stop-words", @@ -5925,16 +5863,16 @@ }, { "name": "voku/stringy", - "version": "6.5.3", + "version": "6.5.1", "source": { "type": "git", "url": "https://github.com/voku/Stringy.git", - "reference": "c453c88fbff298f042c836ef44306f8703b2d537" + "reference": "1cd3c1772223bedb1c07d4fbf7778da9c9c1cd40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/Stringy/zipball/c453c88fbff298f042c836ef44306f8703b2d537", - "reference": "c453c88fbff298f042c836ef44306f8703b2d537", + "url": "https://api.github.com/repos/voku/Stringy/zipball/1cd3c1772223bedb1c07d4fbf7778da9c9c1cd40", + "reference": "1cd3c1772223bedb1c07d4fbf7778da9c9c1cd40", "shasum": "" }, "require": { @@ -5944,7 +5882,7 @@ "voku/anti-xss": "~4.1", "voku/arrayy": "~7.8", "voku/email-check": "~3.1", - "voku/portable-ascii": "~2.0", + "voku/portable-ascii": "~1.5", "voku/portable-utf8": "~6.0", "voku/urlify": "~5.0" }, @@ -6016,25 +5954,25 @@ "type": "tidelift" } ], - "time": "2022-03-28T14:52:20+00:00" + "time": "2022-01-30T05:35:10+00:00" }, { "name": "voku/urlify", - "version": "5.0.7", + "version": "5.0.6", "source": { "type": "git", "url": "https://github.com/voku/urlify.git", - "reference": "014b2074407b5db5968f836c27d8731934b330e4" + "reference": "58634c71b8c9cdc23212737cb494fd4a731e8ea7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/urlify/zipball/014b2074407b5db5968f836c27d8731934b330e4", - "reference": "014b2074407b5db5968f836c27d8731934b330e4", + "url": "https://api.github.com/repos/voku/urlify/zipball/58634c71b8c9cdc23212737cb494fd4a731e8ea7", + "reference": "58634c71b8c9cdc23212737cb494fd4a731e8ea7", "shasum": "" }, "require": { "php": ">=7.0.0", - "voku/portable-ascii": "~2.0", + "voku/portable-ascii": "~1.4", "voku/portable-utf8": "~6.0", "voku/stop-words": "~2.0" }, @@ -6078,7 +6016,7 @@ ], "support": { "issues": "https://github.com/voku/urlify/issues", - "source": "https://github.com/voku/urlify/tree/5.0.7" + "source": "https://github.com/voku/urlify/tree/5.0.6" }, "funding": [ { @@ -6098,7 +6036,7 @@ "type": "tidelift" } ], - "time": "2022-01-24T19:08:46+00:00" + "time": "2021-12-08T15:54:21+00:00" }, { "name": "webmozart/assert", From eca8ce5b79446190d21aceca1a9df899d735c852 Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Wed, 4 May 2022 11:59:22 -0400 Subject: [PATCH 04/14] Adjusting composer for v4 --- composer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 1afdcfb..b86e0d1 100644 --- a/composer.json +++ b/composer.json @@ -24,6 +24,7 @@ "minimum-stability": "dev", "prefer-stable": true, "require": { + "php": "^8.0.2", "albertcht/invisible-recaptcha": "^1.8", "craftcms/cms": "^3.2.0", "craftcms/contact-form": "^2.3.0" @@ -54,7 +55,7 @@ }, "config": { "platform": { - "php": "7.2.5" + "php": "8.0.2" }, "allow-plugins": { "yiisoft/yii2-composer": true, From a4dfaf68f4da1b54d57b2f482439fa6896e5e0c8 Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Wed, 4 May 2022 14:49:51 -0400 Subject: [PATCH 05/14] Update to add schema back as breaking issue --- composer.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/composer.json b/composer.json index b86e0d1..cd56c25 100644 --- a/composer.json +++ b/composer.json @@ -26,6 +26,7 @@ "require": { "php": "^8.0.2", "albertcht/invisible-recaptcha": "^1.8", + "composer/composer": "^2.2.12", "craftcms/cms": "^3.2.0", "craftcms/contact-form": "^2.3.0" }, @@ -41,6 +42,9 @@ "extra": { "name": "Contact Form Extensions", "handle": "contact-form-extensions", + "schemaVersion": "1.0.1", + "hasCpSettings": true, + "hasCpSection": true, "changelogUrl": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/CHANGELOG.md", "documentationUrl": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/README.md", "components": { From eb3cfa789d7a9e8585979802a9c72c75a740dc73 Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Wed, 4 May 2022 19:22:27 -0400 Subject: [PATCH 06/14] Pushing progress on craft 4 upgrade --- composer.json | 6 +- composer.lock | 2465 ++++++++++++++------- ecs.php | 28 + phpstan.neon | 2 +- src/ContactFormExtensions.php | 32 +- src/controllers/SubmissionsController.php | 2 +- src/elements/ContactFormSubmission.php | 4 +- src/migrations/Install.php | 2 +- src/models/Settings.php | 2 +- 9 files changed, 1709 insertions(+), 834 deletions(-) create mode 100644 ecs.php diff --git a/composer.json b/composer.json index cd56c25..b981ccf 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "hybridinteractive/craft-contact-form-extensions", "description": "Adds extensions to the Craft CMS contact form plugin.", - "version": "1.3.0", + "version": "4.0.0-alpha.1", "type": "craft-plugin", "keywords": [ "cms", @@ -27,8 +27,8 @@ "php": "^8.0.2", "albertcht/invisible-recaptcha": "^1.8", "composer/composer": "^2.2.12", - "craftcms/cms": "^3.2.0", - "craftcms/contact-form": "^2.3.0" + "craftcms/cms": "^4.0.0", + "craftcms/contact-form": "^3.0.0" }, "require-dev": { "craftcms/ecs": "dev-main", diff --git a/composer.lock b/composer.lock index 5ea0859..bf54dcc 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": "71505cc03aa9cc066213e4b84fc1af7a", + "content-hash": "dfc293bb39a0fb237ce383f595285cd7", "packages": [ { "name": "albertcht/invisible-recaptcha", @@ -133,6 +133,70 @@ }, "time": "2018-03-26T11:24:36+00:00" }, + { + "name": "commerceguys/addressing", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/commerceguys/addressing.git", + "reference": "566febd56ca71e31dd383b014c4e1bec680507bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/commerceguys/addressing/zipball/566febd56ca71e31dd383b014c4e1bec680507bf", + "reference": "566febd56ca71e31dd383b014c4e1bec680507bf", + "shasum": "" + }, + "require": { + "doctrine/collections": "~1.0", + "php": ">=7.3" + }, + "require-dev": { + "ext-json": "*", + "mikey179/vfsstream": "1.*", + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "3.*", + "symfony/validator": "^4.4 || ^5.4" + }, + "suggest": { + "symfony/validator": "to validate addresses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "CommerceGuys\\Addressing\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bojan Zivanovic" + }, + { + "name": "Damien Tournoud" + } + ], + "description": "Addressing library powered by CLDR and Google's address data.", + "keywords": [ + "address", + "internationalization", + "localization", + "postal" + ], + "support": { + "issues": "https://github.com/commerceguys/addressing/issues", + "source": "https://github.com/commerceguys/addressing/tree/v1.3.0" + }, + "time": "2022-04-08T13:06:51+00:00" + }, { "name": "composer/ca-bundle", "version": "1.3.1", @@ -211,38 +275,45 @@ }, { "name": "composer/composer", - "version": "2.1.9", + "version": "2.3.5", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "e558c88f28d102d497adec4852802c0dc14c7077" + "reference": "50c47b1f907cfcdb8f072b88164d22b527557ae1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/e558c88f28d102d497adec4852802c0dc14c7077", - "reference": "e558c88f28d102d497adec4852802c0dc14c7077", + "url": "https://api.github.com/repos/composer/composer/zipball/50c47b1f907cfcdb8f072b88164d22b527557ae1", + "reference": "50c47b1f907cfcdb8f072b88164d22b527557ae1", "shasum": "" }, "require": { "composer/ca-bundle": "^1.0", "composer/metadata-minifier": "^1.0", + "composer/pcre": "^2 || ^3", "composer/semver": "^3.0", "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^2.0", + "composer/xdebug-handler": "^2.0.2 || ^3.0.3", "justinrainbow/json-schema": "^5.2.11", - "php": "^5.3.2 || ^7.0 || ^8.0", - "psr/log": "^1.0", - "react/promise": "^1.2 || ^2.7", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "react/promise": "^2.8", "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.0", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/filesystem": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" + "seld/phar-utils": "^1.2", + "symfony/console": "^5.4.1 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0", + "symfony/finder": "^5.4 || ^6.0", + "symfony/polyfill-php73": "^1.24", + "symfony/polyfill-php80": "^1.24", + "symfony/process": "^5.4 || ^6.0" }, "require-dev": { - "phpspec/prophecy": "^1.10", - "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" + "phpstan/phpstan": "^1.4.1", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1.0", + "phpstan/phpstan-strict-rules": "^1", + "phpstan/phpstan-symfony": "^1.1", + "symfony/phpunit-bridge": "^6.0" }, "suggest": { "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", @@ -255,7 +326,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-main": "2.3-dev" } }, "autoload": { @@ -289,7 +360,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.1.9" + "source": "https://github.com/composer/composer/tree/2.3.5" }, "funding": [ { @@ -305,7 +376,7 @@ "type": "tidelift" } ], - "time": "2021-10-05T07:47:38+00:00" + "time": "2022-04-13T14:43:00+00:00" }, { "name": "composer/metadata-minifier", @@ -378,30 +449,30 @@ }, { "name": "composer/pcre", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/composer/pcre.git", - "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560" + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/67a32d7d6f9f560b726ab25a061b38ff3a80c560", - "reference": "67a32d7d6f9f560b726ab25a061b38ff3a80c560", + "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd", + "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "php": "^7.4 || ^8.0" }, "require-dev": { "phpstan/phpstan": "^1.3", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^4.2 || ^5" + "symfony/phpunit-bridge": "^5" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { @@ -429,7 +500,7 @@ ], "support": { "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/1.0.1" + "source": "https://github.com/composer/pcre/tree/3.0.0" }, "funding": [ { @@ -445,7 +516,7 @@ "type": "tidelift" } ], - "time": "2022-01-21T20:24:37+00:00" + "time": "2022-02-25T20:21:48+00:00" }, { "name": "composer/semver", @@ -610,27 +681,27 @@ }, { "name": "composer/xdebug-handler", - "version": "2.0.5", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "9e36aeed4616366d2b690bdce11f71e9178c579a" + "reference": "ced299686f41dce890debac69273b47ffe98a40c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/9e36aeed4616366d2b690bdce11f71e9178c579a", - "reference": "9e36aeed4616366d2b690bdce11f71e9178c579a", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "reference": "ced299686f41dce890debac69273b47ffe98a40c", "shasum": "" }, "require": { - "composer/pcre": "^1", - "php": "^5.3.2 || ^7.0 || ^8.0", + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", "psr/log": "^1 || ^2 || ^3" }, "require-dev": { "phpstan/phpstan": "^1.0", "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^4.2 || ^5.0 || ^6.0" + "symfony/phpunit-bridge": "^6.0" }, "type": "library", "autoload": { @@ -656,7 +727,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/2.0.5" + "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" }, "funding": [ { @@ -672,82 +743,91 @@ "type": "tidelift" } ], - "time": "2022-02-24T20:20:32+00:00" + "time": "2022-02-25T21:32:43+00:00" }, { "name": "craftcms/cms", - "version": "3.7.38", + "version": "4.0.0-RC2", "source": { "type": "git", "url": "https://github.com/craftcms/cms.git", - "reference": "7e5b2ee7be865ec223c8e0923f41b17c21f07766" + "reference": "897930b5cf6628cd68c3c02a4ca436366f5c8c4a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/craftcms/cms/zipball/7e5b2ee7be865ec223c8e0923f41b17c21f07766", - "reference": "7e5b2ee7be865ec223c8e0923f41b17c21f07766", + "url": "https://api.github.com/repos/craftcms/cms/zipball/897930b5cf6628cd68c3c02a4ca436366f5c8c4a", + "reference": "897930b5cf6628cd68c3c02a4ca436366f5c8c4a", "shasum": "" }, "require": { - "composer/composer": "2.1.9", + "commerceguys/addressing": "^1.2", + "composer/composer": "2.3.5", "craftcms/oauth2-craftid": "~1.0.0", "craftcms/plugin-installer": "~1.5.6", - "craftcms/server-check": "~1.2.0", + "craftcms/server-check": "~2.1.2", "creocoder/yii2-nested-sets": "~0.9.0", "elvanto/litemoji": "^3.0.1", - "enshrined/svg-sanitize": "~0.15.2", + "enshrined/svg-sanitize": "~0.15.0", + "ext-bcmath": "*", "ext-curl": "*", "ext-dom": "*", + "ext-intl": "*", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", "ext-pcre": "*", "ext-pdo": "*", "ext-zip": "*", - "guzzlehttp/guzzle": "^6.5.5|^7.2.0", - "laminas/laminas-feed": "~2.12.3|^2.13.1", - "league/flysystem": "^1.1.4", + "guzzlehttp/guzzle": "^7.2.0", + "illuminate/collections": "^9.1.0", "league/oauth2-client": "^2.6.0", "mikehaertl/php-shellcommand": "^1.6.3", - "php": ">=7.2.5", + "moneyphp/money": "^4.0", + "monolog/monolog": "^2.3", + "php": "^8.0.2", "pixelandtonic/imagine": "~1.2.4.1", + "samdark/yii2-psr-log-target": "^1.1", "seld/cli-prompt": "^1.0.4", - "symfony/yaml": "^5.2.1", + "symfony/http-client": "^6.0.3", + "symfony/var-dumper": "^5.0|^6.0", + "symfony/yaml": "^5.2.3", + "theiconic/name-parser": "^1.2", "true/punycode": "^2.1.1", - "twig/twig": "~2.14.3", + "twig/twig": "~3.3.0", "voku/stringy": "^6.4.0", "webonyx/graphql-php": "~14.11.5", "yiisoft/yii2": "~2.0.45.0", - "yiisoft/yii2-debug": "^2.1.16", + "yiisoft/yii2-debug": "~2.1.19.0", "yiisoft/yii2-queue": "~2.3.2", - "yiisoft/yii2-swiftmailer": "^2.1.2" + "yiisoft/yii2-symfonymailer": "^2.0.0" }, "conflict": { "league/oauth2-client": "2.4.0" }, "provide": { - "bower-asset/inputmask": "~3.2.2 | ~3.3.5", - "bower-asset/jquery": "3.5.*@stable | 3.4.*@stable | 3.3.*@stable | 3.2.*@stable | 3.1.*@stable | 2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable", + "bower-asset/inputmask": "~3.2.2|~3.3.5", + "bower-asset/jquery": "3.5.*@stable|3.4.*@stable|3.3.*@stable|3.2.*@stable|3.1.*@stable|2.2.*@stable|2.1.*@stable|1.11.*@stable|1.12.*@stable", "bower-asset/punycode": "1.3.*", "bower-asset/yii2-pjax": "~2.0.1", "yii2tech/ar-softdelete": "1.0.4" }, "require-dev": { - "codeception/codeception": "^4.0.0", - "codeception/module-asserts": "^1.0.0", - "codeception/module-datafactory": "^1.0.0", - "codeception/module-phpbrowser": "^1.0.0", - "codeception/module-rest": "^1.0.0", - "codeception/module-yii2": "^1.0.0", + "codeception/codeception": "^4.1.29", + "codeception/module-asserts": "^1.3.1", + "codeception/module-datafactory": "^1.1.0", + "codeception/module-phpbrowser": "^1.0.2", + "codeception/module-rest": "^1.4.2", + "codeception/module-yii2": "^1.1.5", "craftcms/ecs": "dev-main", - "fzaninotto/faker": "^1.8", - "league/factory-muffin": "^3.0", - "vlucas/phpdotenv": "^3.0" + "fakerphp/faker": "^1.19.0", + "league/factory-muffin": "^3.3.0", + "phpstan/phpstan": "^1.4.6", + "vlucas/phpdotenv": "^5.4.1" }, "suggest": { + "ext-exif": "Adds support for parsing image EXIF data.", "ext-iconv": "Adds support for more character encodings than PHP’s built-in mb_convert_encoding() function, which Craft will take advantage of when converting strings to UTF-8.", - "ext-imagick": "Adds support for more image processing formats and options.", - "ext-intl": "Adds rich internationalization support." + "ext-imagick": "Adds support for more image processing formats and options." }, "type": "library", "autoload": { @@ -774,35 +854,37 @@ "yii2" ], "support": { - "docs": "https://craftcms.com/docs/3.x/", + "docs": "https://docs.craftcms.com/v3/", "email": "support@craftcms.com", "forum": "https://craftcms.stackexchange.com/", "issues": "https://github.com/craftcms/cms/issues?state=open", "rss": "https://github.com/craftcms/cms/releases.atom", "source": "https://github.com/craftcms/cms" }, - "time": "2022-04-06T18:24:35+00:00" + "time": "2022-04-28T23:38:33+00:00" }, { "name": "craftcms/contact-form", - "version": "2.5.0", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/craftcms/contact-form.git", - "reference": "20f11192b36cf3b27108d5a3a5c841d08a70659a" + "reference": "5e93f5248f8e035c9c6eecae664a84378ef1572f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/craftcms/contact-form/zipball/20f11192b36cf3b27108d5a3a5c841d08a70659a", - "reference": "20f11192b36cf3b27108d5a3a5c841d08a70659a", + "url": "https://api.github.com/repos/craftcms/contact-form/zipball/5e93f5248f8e035c9c6eecae664a84378ef1572f", + "reference": "5e93f5248f8e035c9c6eecae664a84378ef1572f", "shasum": "" }, "require": { - "craftcms/cms": "^3.4.0" + "craftcms/cms": "^4.0.0-beta.1", + "php": "^8.0.2" }, "require-dev": { "craftcms/ecs": "dev-main", - "craftcms/phpstan": "dev-main" + "craftcms/phpstan": "dev-main", + "craftcms/rector": "dev-main" }, "type": "craft-plugin", "extra": { @@ -843,7 +925,7 @@ "rss": "https://github.com/craftcms/contact-form/commits/v2.atom", "source": "https://github.com/craftcms/contact-form" }, - "time": "2022-04-16T00:04:57+00:00" + "time": "2022-05-02T22:28:13+00:00" }, { "name": "craftcms/oauth2-craftid", @@ -955,16 +1037,16 @@ }, { "name": "craftcms/server-check", - "version": "1.2.4", + "version": "2.1.4", "source": { "type": "git", "url": "https://github.com/craftcms/server-check.git", - "reference": "04518e63ae94effd4e352838278662c928c84e8c" + "reference": "c262ebd39572902bdf4fe3ea570e11cd6725b381" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/craftcms/server-check/zipball/04518e63ae94effd4e352838278662c928c84e8c", - "reference": "04518e63ae94effd4e352838278662c928c84e8c", + "url": "https://api.github.com/repos/craftcms/server-check/zipball/c262ebd39572902bdf4fe3ea570e11cd6725b381", + "reference": "c262ebd39572902bdf4fe3ea570e11cd6725b381", "shasum": "" }, "type": "library", @@ -993,7 +1075,7 @@ "rss": "https://github.com/craftcms/server-check/releases.atom", "source": "https://github.com/craftcms/server-check" }, - "time": "2022-04-17T02:10:54+00:00" + "time": "2022-04-17T02:14:46+00:00" }, { "name": "creocoder/yii2-nested-sets", @@ -1105,6 +1187,75 @@ }, "time": "2021-04-09T23:57:26+00:00" }, + { + "name": "doctrine/collections", + "version": "1.6.8", + "source": { + "type": "git", + "url": "https://github.com/doctrine/collections.git", + "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/collections/zipball/1958a744696c6bb3bb0d28db2611dc11610e78af", + "reference": "1958a744696c6bb3bb0d28db2611dc11610e78af", + "shasum": "" + }, + "require": { + "php": "^7.1.3 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9.0", + "phpstan/phpstan": "^0.12", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", + "vimeo/psalm": "^4.2.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + } + }, + "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 Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/1.6.8" + }, + "time": "2021-08-10T18:51:53+00:00" + }, { "name": "doctrine/inflector", "version": "2.0.4", @@ -1802,36 +1953,38 @@ "time": "2022-03-20T21:55:58+00:00" }, { - "name": "illuminate/container", - "version": "v7.30.6", + "name": "illuminate/bus", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/illuminate/container.git", - "reference": "06456a2ea5656c2f1ebda37039ce14c1bfc973b3" + "url": "https://github.com/illuminate/bus.git", + "reference": "405a2d6858fc2e19d576c1844d08bd9e77a10ad9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/06456a2ea5656c2f1ebda37039ce14c1bfc973b3", - "reference": "06456a2ea5656c2f1ebda37039ce14c1bfc973b3", + "url": "https://api.github.com/repos/illuminate/bus/zipball/405a2d6858fc2e19d576c1844d08bd9e77a10ad9", + "reference": "405a2d6858fc2e19d576c1844d08bd9e77a10ad9", "shasum": "" }, "require": { - "illuminate/contracts": "^7.0", - "php": "^7.2.5|^8.0", - "psr/container": "^1.0" + "illuminate/collections": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/pipeline": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2" }, - "provide": { - "psr/container-implementation": "1.0" + "suggest": { + "illuminate/queue": "Required to use closures when chaining jobs (^7.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { - "Illuminate\\Container\\": "" + "Illuminate\\Bus\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1844,42 +1997,49 @@ "email": "taylor@laravel.com" } ], - "description": "The Illuminate Container package.", + "description": "The Illuminate Bus package.", "homepage": "https://laravel.com", "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-11-17T15:00:14+00:00" + "time": "2022-04-26T14:45:19+00:00" }, { - "name": "illuminate/contracts", - "version": "v7.30.6", + "name": "illuminate/collections", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/illuminate/contracts.git", - "reference": "2449f2ea949ddf995a3dcffe5e21c768cf7d6478" + "url": "https://github.com/illuminate/collections.git", + "reference": "32badf046bfc187afacbee37b9820c5e200285d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/2449f2ea949ddf995a3dcffe5e21c768cf7d6478", - "reference": "2449f2ea949ddf995a3dcffe5e21c768cf7d6478", + "url": "https://api.github.com/repos/illuminate/collections/zipball/32badf046bfc187afacbee37b9820c5e200285d0", + "reference": "32badf046bfc187afacbee37b9820c5e200285d0", "shasum": "" }, "require": { - "php": "^7.2.5|^8.0", - "psr/container": "^1.0", - "psr/simple-cache": "^1.0" + "illuminate/conditionable": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "php": "^8.0.2" + }, + "suggest": { + "symfony/var-dumper": "Required to use the dump method (^6.0)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { + "files": [ + "helpers.php" + ], "psr-4": { - "Illuminate\\Contracts\\": "" + "Illuminate\\Support\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1892,43 +2052,40 @@ "email": "taylor@laravel.com" } ], - "description": "The Illuminate Contracts package.", + "description": "The Illuminate Collections package.", "homepage": "https://laravel.com", "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-11-17T15:00:14+00:00" + "time": "2022-05-02T14:05:19+00:00" }, { - "name": "illuminate/events", - "version": "v7.30.6", + "name": "illuminate/conditionable", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/illuminate/events.git", - "reference": "6f64db49dbfd490c6e30c983964543a054882faf" + "url": "https://github.com/illuminate/conditionable.git", + "reference": "56b4ba1166c264064bf63896f498a2bee320d16a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/events/zipball/6f64db49dbfd490c6e30c983964543a054882faf", - "reference": "6f64db49dbfd490c6e30c983964543a054882faf", + "url": "https://api.github.com/repos/illuminate/conditionable/zipball/56b4ba1166c264064bf63896f498a2bee320d16a", + "reference": "56b4ba1166c264064bf63896f498a2bee320d16a", "shasum": "" }, "require": { - "illuminate/container": "^7.0", - "illuminate/contracts": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5|^8.0" + "php": "^8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { - "Illuminate\\Events\\": "" + "Illuminate\\Support\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -1941,53 +2098,45 @@ "email": "taylor@laravel.com" } ], - "description": "The Illuminate Events package.", + "description": "The Illuminate Conditionable package.", "homepage": "https://laravel.com", "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-10-27T15:11:37+00:00" + "time": "2022-02-28T16:37:46+00:00" }, { - "name": "illuminate/filesystem", - "version": "v7.30.6", + "name": "illuminate/container", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/illuminate/filesystem.git", - "reference": "2013f94a3a7dff008be54884774548e3c222c3e8" + "url": "https://github.com/illuminate/container.git", + "reference": "70e7b980eb16bc77a76d963cebe1fdf14ddb33d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/2013f94a3a7dff008be54884774548e3c222c3e8", - "reference": "2013f94a3a7dff008be54884774548e3c222c3e8", + "url": "https://api.github.com/repos/illuminate/container/zipball/70e7b980eb16bc77a76d963cebe1fdf14ddb33d8", + "reference": "70e7b980eb16bc77a76d963cebe1fdf14ddb33d8", "shasum": "" }, "require": { - "illuminate/contracts": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5|^8.0", - "symfony/finder": "^5.0" + "illuminate/contracts": "^9.0", + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1" }, - "suggest": { - "ext-ftp": "Required to use the Flysystem FTP driver.", - "illuminate/http": "Required for handling uploaded files (^7.0).", - "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.1).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", - "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", - "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "symfony/mime": "Required to enable support for guessing extensions (^5.0)." + "provide": { + "psr/container-implementation": "1.1|2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { - "Illuminate\\Filesystem\\": "" + "Illuminate\\Container\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2000,60 +2149,42 @@ "email": "taylor@laravel.com" } ], - "description": "The Illuminate Filesystem package.", + "description": "The Illuminate Container package.", "homepage": "https://laravel.com", "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2020-10-27T15:11:37+00:00" + "time": "2022-04-15T13:28:13+00:00" }, { - "name": "illuminate/support", - "version": "v7.30.6", + "name": "illuminate/contracts", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/illuminate/support.git", - "reference": "c7b42acd009c94a3f8b749a65f6835db90174d58" + "url": "https://github.com/illuminate/contracts.git", + "reference": "e354ef98f3c59e5c8b5ba87299999220270f3da5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/c7b42acd009c94a3f8b749a65f6835db90174d58", - "reference": "c7b42acd009c94a3f8b749a65f6835db90174d58", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/e354ef98f3c59e5c8b5ba87299999220270f3da5", + "reference": "e354ef98f3c59e5c8b5ba87299999220270f3da5", "shasum": "" }, "require": { - "doctrine/inflector": "^1.4|^2.0", - "ext-json": "*", - "ext-mbstring": "*", - "illuminate/contracts": "^7.0", - "nesbot/carbon": "^2.31", - "php": "^7.2.5|^8.0", - "voku/portable-ascii": "^1.4.8" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "suggest": { - "illuminate/filesystem": "Required to use the composer class (^7.0).", - "moontoast/math": "Required to use ordered UUIDs (^1.1).", - "ramsey/uuid": "Required to use Str::uuid() (^3.7|^4.0).", - "symfony/process": "Required to use the composer class (^5.0).", - "symfony/var-dumper": "Required to use the dd function (^5.0).", - "vlucas/phpdotenv": "Required to use the Env class and env helper (^4.0)." + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/simple-cache": "^1.0|^2.0|^3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { - "files": [ - "helpers.php" - ], "psr-4": { - "Illuminate\\Support\\": "" + "Illuminate\\Contracts\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2066,46 +2197,49 @@ "email": "taylor@laravel.com" } ], - "description": "The Illuminate Support package.", + "description": "The Illuminate Contracts package.", "homepage": "https://laravel.com", "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-12-06T19:25:06+00:00" + "time": "2022-04-28T13:05:07+00:00" }, { - "name": "illuminate/view", - "version": "v7.30.6", + "name": "illuminate/events", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/illuminate/view.git", - "reference": "098e583d43c8fd1d3505ed83b2d54a31ce20bcdb" + "url": "https://github.com/illuminate/events.git", + "reference": "2dea521665d295f6cefef78f1b5abeea6b94e35f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/illuminate/view/zipball/098e583d43c8fd1d3505ed83b2d54a31ce20bcdb", - "reference": "098e583d43c8fd1d3505ed83b2d54a31ce20bcdb", + "url": "https://api.github.com/repos/illuminate/events/zipball/2dea521665d295f6cefef78f1b5abeea6b94e35f", + "reference": "2dea521665d295f6cefef78f1b5abeea6b94e35f", "shasum": "" }, "require": { - "ext-json": "*", - "illuminate/container": "^7.0", - "illuminate/contracts": "^7.0", - "illuminate/events": "^7.0", - "illuminate/filesystem": "^7.0", - "illuminate/support": "^7.0", - "php": "^7.2.5|^8.0" + "illuminate/bus": "^9.0", + "illuminate/collections": "^9.0", + "illuminate/container": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { + "files": [ + "functions.php" + ], "psr-4": { - "Illuminate\\View\\": "" + "Illuminate\\Events\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2118,48 +2252,56 @@ "email": "taylor@laravel.com" } ], - "description": "The Illuminate View package.", + "description": "The Illuminate Events package.", "homepage": "https://laravel.com", "support": { "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-12-06T19:25:06+00:00" + "time": "2022-05-02T13:59:45+00:00" }, { - "name": "justinrainbow/json-schema", - "version": "5.2.12", + "name": "illuminate/filesystem", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60" + "url": "https://github.com/illuminate/filesystem.git", + "reference": "e9a7b1f230e00235505be5fe641097ba4bede56b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/e9a7b1f230e00235505be5fe641097ba4bede56b", + "reference": "e9a7b1f230e00235505be5fe641097ba4bede56b", "shasum": "" }, "require": { - "php": ">=5.3.3" + "illuminate/collections": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2", + "symfony/finder": "^6.0" }, - "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" + "suggest": { + "ext-ftp": "Required to use the Flysystem FTP driver.", + "illuminate/http": "Required for handling uploaded files (^7.0).", + "league/flysystem": "Required to use the Flysystem local driver (^3.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", + "symfony/mime": "Required to enable support for guessing extensions (^6.0)." }, - "bin": [ - "bin/validate-json" - ], "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { - "JsonSchema\\": "src/JsonSchema/" + "Illuminate\\Filesystem\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2168,340 +2310,215 @@ ], "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": "Taylor Otwell", + "email": "taylor@laravel.com" } ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], + "description": "The Illuminate Filesystem package.", + "homepage": "https://laravel.com", "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/5.2.12" + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" }, - "time": "2022-04-13T08:02:27+00:00" + "time": "2022-04-25T18:15:42+00:00" }, { - "name": "laminas/laminas-escaper", - "version": "2.6.1", + "name": "illuminate/macroable", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-escaper.git", - "reference": "25f2a053eadfa92ddacb609dcbbc39362610da70" + "url": "https://github.com/illuminate/macroable.git", + "reference": "25a2c6dac2b7541ecbadef952702e84ae15f5354" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/25f2a053eadfa92ddacb609dcbbc39362610da70", - "reference": "25f2a053eadfa92ddacb609dcbbc39362610da70", + "url": "https://api.github.com/repos/illuminate/macroable/zipball/25a2c6dac2b7541ecbadef952702e84ae15f5354", + "reference": "25a2c6dac2b7541ecbadef952702e84ae15f5354", "shasum": "" }, "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^5.6 || ^7.0" - }, - "replace": { - "zendframework/zend-escaper": "self.version" - }, - "require-dev": { - "laminas/laminas-coding-standard": "~1.0.0", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2" + "php": "^8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6.x-dev", - "dev-develop": "2.7.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { - "Laminas\\Escaper\\": "src/" + "Illuminate\\Support\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "Securely and safely escape HTML, HTML attributes, JavaScript, CSS, and URLs", - "homepage": "https://laminas.dev", - "keywords": [ - "escaper", - "laminas" + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } ], + "description": "The Illuminate Macroable package.", + "homepage": "https://laravel.com", "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" - }, - "time": "2019-12-31T16:43:30+00:00" + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-01T14:44:21+00:00" }, { - "name": "laminas/laminas-feed", - "version": "2.12.3", + "name": "illuminate/pipeline", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-feed.git", - "reference": "3c91415633cb1be6f9d78683d69b7dcbfe6b4012" + "url": "https://github.com/illuminate/pipeline.git", + "reference": "6d448699cc440cfe7696d65c62313ef2a02961b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-feed/zipball/3c91415633cb1be6f9d78683d69b7dcbfe6b4012", - "reference": "3c91415633cb1be6f9d78683d69b7dcbfe6b4012", + "url": "https://api.github.com/repos/illuminate/pipeline/zipball/6d448699cc440cfe7696d65c62313ef2a02961b1", + "reference": "6d448699cc440cfe7696d65c62313ef2a02961b1", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "laminas/laminas-escaper": "^2.5.2", - "laminas/laminas-stdlib": "^3.2.1", - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^5.6 || ^7.0" - }, - "replace": { - "zendframework/zend-feed": "^2.12.0" - }, - "require-dev": { - "laminas/laminas-cache": "^2.7.2", - "laminas/laminas-coding-standard": "~1.0.0", - "laminas/laminas-db": "^2.8.2", - "laminas/laminas-http": "^2.7", - "laminas/laminas-servicemanager": "^2.7.8 || ^3.3", - "laminas/laminas-validator": "^2.10.1", - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.20", - "psr/http-message": "^1.0.1" - }, - "suggest": { - "laminas/laminas-cache": "Laminas\\Cache component, for optionally caching feeds between requests", - "laminas/laminas-db": "Laminas\\Db component, for use with PubSubHubbub", - "laminas/laminas-http": "Laminas\\Http for PubSubHubbub, and optionally for use with Laminas\\Feed\\Reader", - "laminas/laminas-servicemanager": "Laminas\\ServiceManager component, for easily extending ExtensionManager implementations", - "laminas/laminas-validator": "Laminas\\Validator component, for validating email addresses used in Atom feeds and entries when using the Writer subcomponent", - "psr/http-message": "PSR-7 ^1.0.1, if you wish to use Laminas\\Feed\\Reader\\Http\\Psr7ResponseDecorator" + "illuminate/contracts": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.12.x-dev", - "dev-develop": "2.13.x-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { - "Laminas\\Feed\\": "src/" + "Illuminate\\Pipeline\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "description": "provides functionality for consuming RSS and Atom feeds", - "homepage": "https://laminas.dev", - "keywords": [ - "feed", - "laminas" + "MIT" ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-feed/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-feed/issues", - "rss": "https://github.com/laminas/laminas-feed/releases.atom", - "source": "https://github.com/laminas/laminas-feed" - }, - "funding": [ + "authors": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "name": "Taylor Otwell", + "email": "taylor@laravel.com" } ], - "time": "2020-08-18T13:45:04+00:00" + "description": "The Illuminate Pipeline package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-02-28T17:10:42+00:00" }, { - "name": "laminas/laminas-stdlib", - "version": "3.2.1", + "name": "illuminate/support", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "2b18347625a2f06a1a485acfbc870f699dbe51c6" + "url": "https://github.com/illuminate/support.git", + "reference": "9f1dbbec9a0be19ed6e703e9e2083b204db8a48f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/2b18347625a2f06a1a485acfbc870f699dbe51c6", - "reference": "2b18347625a2f06a1a485acfbc870f699dbe51c6", + "url": "https://api.github.com/repos/illuminate/support/zipball/9f1dbbec9a0be19ed6e703e9e2083b204db8a48f", + "reference": "9f1dbbec9a0be19ed6e703e9e2083b204db8a48f", "shasum": "" }, "require": { - "laminas/laminas-zendframework-bridge": "^1.0", - "php": "^5.6 || ^7.0" + "doctrine/inflector": "^2.0", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/collections": "^9.0", + "illuminate/conditionable": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/macroable": "^9.0", + "nesbot/carbon": "^2.53.1", + "php": "^8.0.2", + "voku/portable-ascii": "^2.0" }, - "replace": { - "zendframework/zend-stdlib": "self.version" + "conflict": { + "tightenco/collect": "<5.5.33" }, - "require-dev": { - "laminas/laminas-coding-standard": "~1.0.0", - "phpbench/phpbench": "^0.13", - "phpunit/phpunit": "^5.7.27 || ^6.5.8 || ^7.1.2" + "suggest": { + "illuminate/filesystem": "Required to use the composer class (^9.0).", + "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).", + "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).", + "symfony/process": "Required to use the composer class (^6.0).", + "symfony/var-dumper": "Required to use the dd function (^6.0).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)." }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2.x-dev", - "dev-develop": "3.3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Laminas\\Stdlib\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "SPL extensions, array utilities, error handlers, and more", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "stdlib" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-stdlib/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-stdlib/issues", - "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", - "source": "https://github.com/laminas/laminas-stdlib" - }, - "time": "2019-12-31T17:51:15+00:00" - }, - { - "name": "laminas/laminas-zendframework-bridge", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-zendframework-bridge.git", - "reference": "6ede70583e101030bcace4dcddd648f760ddf642" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-zendframework-bridge/zipball/6ede70583e101030bcace4dcddd648f760ddf642", - "reference": "6ede70583e101030bcace4dcddd648f760ddf642", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^7.5 || ^8.1 || ^9.3", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "laminas": { - "module": "Laminas\\ZendFrameworkBridge" + "dev-master": "9.x-dev" } }, "autoload": { "files": [ - "src/autoload.php" + "helpers.php" ], "psr-4": { - "Laminas\\ZendFrameworkBridge\\": "src//" + "Illuminate\\Support\\": "" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "description": "Alias legacy ZF class names to Laminas Project equivalents.", - "keywords": [ - "ZendFramework", - "autoloading", - "laminas", - "zf" + "MIT" ], - "support": { - "forum": "https://discourse.laminas.dev/", - "issues": "https://github.com/laminas/laminas-zendframework-bridge/issues", - "rss": "https://github.com/laminas/laminas-zendframework-bridge/releases.atom", - "source": "https://github.com/laminas/laminas-zendframework-bridge" - }, - "funding": [ + "authors": [ { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" + "name": "Taylor Otwell", + "email": "taylor@laravel.com" } ], - "time": "2020-09-14T14:23:00+00:00" + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-05-03T14:06:09+00:00" }, { - "name": "league/flysystem", - "version": "1.1.9", + "name": "illuminate/view", + "version": "v9.11.0", "source": { "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "094defdb4a7001845300334e7c1ee2335925ef99" + "url": "https://github.com/illuminate/view.git", + "reference": "e000495a11ded2b943ea16ab995d90f611a90ec8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/094defdb4a7001845300334e7c1ee2335925ef99", - "reference": "094defdb4a7001845300334e7c1ee2335925ef99", + "url": "https://api.github.com/repos/illuminate/view/zipball/e000495a11ded2b943ea16ab995d90f611a90ec8", + "reference": "e000495a11ded2b943ea16ab995d90f611a90ec8", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "league/mime-type-detection": "^1.3", - "php": "^7.2.5 || ^8.0" - }, - "conflict": { - "league/flysystem-sftp": "<1.0.6" - }, - "require-dev": { - "phpspec/prophecy": "^1.11.1", - "phpunit/phpunit": "^8.5.8" - }, - "suggest": { - "ext-ftp": "Allows you to use FTP server storage", - "ext-openssl": "Allows you to use FTPS server storage", - "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2", - "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3", - "league/flysystem-azure": "Allows you to use Windows Azure Blob storage", - "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching", - "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem", - "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files", - "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib", - "league/flysystem-webdav": "Allows you to use WebDAV storage", - "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter", - "spatie/flysystem-dropbox": "Allows you to use Dropbox storage", - "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications" + "ext-json": "*", + "illuminate/collections": "^9.0", + "illuminate/container": "^9.0", + "illuminate/contracts": "^9.0", + "illuminate/events": "^9.0", + "illuminate/filesystem": "^9.0", + "illuminate/macroable": "^9.0", + "illuminate/support": "^9.0", + "php": "^8.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "9.x-dev" } }, "autoload": { "psr-4": { - "League\\Flysystem\\": "src/" + "Illuminate\\View\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2510,69 +2527,52 @@ ], "authors": [ { - "name": "Frank de Jonge", - "email": "info@frenky.net" + "name": "Taylor Otwell", + "email": "taylor@laravel.com" } ], - "description": "Filesystem abstraction: Many filesystems, one API.", - "keywords": [ - "Cloud Files", - "WebDAV", - "abstraction", - "aws", - "cloud", - "copy.com", - "dropbox", - "file systems", - "files", - "filesystem", - "filesystems", - "ftp", - "rackspace", - "remote", - "s3", - "sftp", - "storage" - ], + "description": "The Illuminate View package.", + "homepage": "https://laravel.com", "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/1.1.9" + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "other" - } - ], - "time": "2021-12-09T09:40:50+00:00" + "time": "2022-04-27T14:07:15+00:00" }, { - "name": "league/mime-type-detection", - "version": "1.11.0", + "name": "justinrainbow/json-schema", + "version": "5.2.12", "source": { "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", + "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", "shasum": "" }, "require": { - "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" + "php": ">=5.3.3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" + "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": { - "League\\MimeTypeDetection\\": "src" + "JsonSchema\\": "src/JsonSchema/" } }, "notification-url": "https://packagist.org/downloads/", @@ -2581,26 +2581,33 @@ ], "authors": [ { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" - }, - "funding": [ + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, { - "url": "https://github.com/frankdejonge", - "type": "github" + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" }, { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" } ], - "time": "2022-04-17T13:12:02+00:00" + "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": "league/oauth2-client", @@ -2718,18 +2725,206 @@ }, "time": "2021-03-17T06:54:33+00:00" }, + { + "name": "moneyphp/money", + "version": "v4.0.3", + "source": { + "type": "git", + "url": "https://github.com/moneyphp/money.git", + "reference": "d945f775bd6ab0920d9d205813d8831a899a8844" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/moneyphp/money/zipball/d945f775bd6ab0920d9d205813d8831a899a8844", + "reference": "d945f775bd6ab0920d9d205813d8831a899a8844", + "shasum": "" + }, + "require": { + "ext-bcmath": "*", + "ext-filter": "*", + "ext-json": "*", + "php": "^8.0" + }, + "require-dev": { + "cache/taggable-cache": "^1.1.0", + "doctrine/coding-standard": "^9.0", + "doctrine/instantiator": "^1.4.0", + "ext-gmp": "*", + "ext-intl": "*", + "florianv/exchanger": "^2.6.3", + "florianv/swap": "^4.3.0", + "moneyphp/iso-currencies": "^3.2.1", + "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-gmp": "Calculate without integer limits", + "ext-intl": "Format Money objects with intl", + "florianv/exchanger": "Exchange rates library for PHP", + "florianv/swap": "Exchange rates library for PHP", + "psr/cache-implementation": "Used for Currency caching" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Money\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mathias Verraes", + "email": "mathias@verraes.net", + "homepage": "http://verraes.net" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + }, + { + "name": "Frederik Bosch", + "email": "f.bosch@genkgo.nl" + } + ], + "description": "PHP implementation of Fowler's Money pattern", + "homepage": "http://moneyphp.org", + "keywords": [ + "Value Object", + "money", + "vo" + ], + "support": { + "issues": "https://github.com/moneyphp/money/issues", + "source": "https://github.com/moneyphp/money/tree/v4.0.3" + }, + "time": "2021-12-01T10:39:00+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.5.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "4192345e260f1d51b365536199744b987e160edc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4192345e260f1d51b365536199744b987e160edc", + "reference": "4192345e260f1d51b365536199744b987e160edc", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "provide": { + "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", + "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", + "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-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 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" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.5.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2022-04-08T15:43:54+00:00" + }, { "name": "nesbot/carbon", - "version": "2.57.0", + "version": "2.58.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "4a54375c21eea4811dbd1149fe6b246517554e78" + "reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4a54375c21eea4811dbd1149fe6b246517554e78", - "reference": "4a54375c21eea4811dbd1149fe6b246517554e78", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/97a34af22bde8d0ac20ab34b29d7bfe360902055", + "reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055", "shasum": "" }, "require": { @@ -2747,7 +2942,8 @@ "phpmd/phpmd": "^2.9", "phpstan/extension-installer": "^1.0", "phpstan/phpstan": "^0.12.54 || ^1.0", - "phpunit/phpunit": "^7.5.20 || ^8.5.14", + "phpunit/php-file-iterator": "^2.0.5", + "phpunit/phpunit": "^7.5.20 || ^8.5.23", "squizlabs/php_codesniffer": "^3.4" }, "bin": [ @@ -2812,7 +3008,7 @@ "type": "tidelift" } ], - "time": "2022-02-13T18:13:33+00:00" + "time": "2022-04-25T19:31:17+00:00" }, { "name": "paragonie/random_compat", @@ -3087,22 +3283,27 @@ }, { "name": "psr/container", - "version": "1.1.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=7.4.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, "autoload": { "psr-4": { "Psr\\Container\\": "src/" @@ -3129,27 +3330,26 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "psr/http-client", - "version": "1.0.1", + "name": "psr/event-dispatcher", + "version": "1.0.0", "source": { "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", "shasum": "" }, "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" + "php": ">=7.2.0" }, "type": "library", "extra": { @@ -3159,7 +3359,7 @@ }, "autoload": { "psr-4": { - "Psr\\Http\\Client\\": "src/" + "Psr\\EventDispatcher\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3172,21 +3372,72 @@ "homepage": "http://www.php-fig.org/" } ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", + "description": "Standard interfaces for event handling.", "keywords": [ - "http", - "http-client", + "events", "psr", - "psr-18" + "psr-14" ], "support": { - "source": "https://github.com/php-fig/http-client/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-06-29T06:28:15+00:00" + "time": "2019-01-08T18:20:26+00:00" }, { - "name": "psr/http-factory", + "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" + }, + "time": "2020-06-29T06:28:15+00:00" + }, + { + "name": "psr/http-factory", "version": "1.0.1", "source": { "type": "git", @@ -3345,25 +3596,25 @@ }, { "name": "psr/simple-cache", - "version": "1.0.1", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/simple-cache.git", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", - "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "3.0.x-dev" } }, "autoload": { @@ -3378,7 +3629,7 @@ "authors": [ { "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "homepage": "https://www.php-fig.org/" } ], "description": "Common interfaces for simple caching", @@ -3390,9 +3641,9 @@ "simple-cache" ], "support": { - "source": "https://github.com/php-fig/simple-cache/tree/master" + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" }, - "time": "2017-10-23T01:57:42+00:00" + "time": "2021-10-29T13:26:27+00:00" }, { "name": "ralouphie/getallheaders", @@ -3514,6 +3765,68 @@ ], "time": "2022-02-11T10:27:51+00:00" }, + { + "name": "samdark/yii2-psr-log-target", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/samdark/yii2-psr-log-target.git", + "reference": "ccb29ecb7140c4eb81c3dfad38f61b21a9c1ed30" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/samdark/yii2-psr-log-target/zipball/ccb29ecb7140c4eb81c3dfad38f61b21a9c1ed30", + "reference": "ccb29ecb7140c4eb81c3dfad38f61b21a9c1ed30", + "shasum": "" + }, + "require": { + "psr/log": "~1.0.2|~1.1.0", + "yiisoft/yii2": "~2.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~4.4" + }, + "type": "yii2-extension", + "autoload": { + "psr-4": { + "samdark\\log\\": "src", + "samdark\\log\\tests\\": "tests" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Alexander Makarov", + "email": "sam@rmcreative.ru" + } + ], + "description": "Yii 2 log target which uses PSR-3 compatible logger", + "homepage": "https://github.com/samdark/yii2-psr-log-target", + "keywords": [ + "extension", + "log", + "psr-3", + "yii" + ], + "support": { + "issues": "https://github.com/samdark/yii2-psr-log-target/issues", + "source": "https://github.com/samdark/yii2-psr-log-target" + }, + "funding": [ + { + "url": "https://github.com/samdark", + "type": "github" + }, + { + "url": "https://www.patreon.com/samdark", + "type": "patreon" + } + ], + "time": "2020-07-16T12:34:01+00:00" + }, { "name": "seld/cli-prompt", "version": "1.0.4", @@ -3676,48 +3989,422 @@ "phar" ], "support": { - "issues": "https://github.com/Seldaek/phar-utils/issues", - "source": "https://github.com/Seldaek/phar-utils/tree/1.2.0" + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.2.0" + }, + "time": "2021-12-10T11:20:11+00:00" + }, + { + "name": "symfony/console", + "version": "v6.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "0d00aa289215353aa8746a31d101f8e60826285c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/0d00aa289215353aa8746a31d101f8e60826285c", + "reference": "0d00aa289215353aa8746a31d101f8e60826285c", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.4|^6.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/lock": "^5.4|^6.0", + "symfony/process": "^5.4|^6.0", + "symfony/var-dumper": "^5.4|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "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": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.0.8" + }, + "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-04-20T15:01:42+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "shasum": "" + }, + "require": { + "php": ">=8.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.0.1" + }, + "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-02T09:55:41+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.0.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "6472ea2dd415e925b90ca82be64b8bc6157f3934" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6472ea2dd415e925b90ca82be64b8bc6157f3934", + "reference": "6472ea2dd415e925b90ca82be64b8bc6157f3934", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/event-dispatcher-contracts": "^2|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/error-handler": "^5.4|^6.0", + "symfony/expression-language": "^5.4|^6.0", + "symfony/http-foundation": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^5.4|^6.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.0.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2022-01-02T09:55:41+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051", + "reference": "7bc61cc2db649b4637d331240c5346dcc7708051", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "psr/event-dispatcher": "^1" + }, + "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": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "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 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://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-02T09:55:41+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v6.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", + "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.0.7" }, - "time": "2021-12-10T11:20:11+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-04-01T12:54:51+00:00" }, { - "name": "swiftmailer/swiftmailer", - "version": "v6.3.0", + "name": "symfony/finder", + "version": "v6.0.8", "source": { "type": "git", - "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" + "url": "https://github.com/symfony/finder.git", + "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", - "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", + "url": "https://api.github.com/repos/symfony/finder/zipball/af7edab28d17caecd1f40a9219fc646ae751c21f", + "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f", "shasum": "" }, "require": { - "egulias/email-validator": "^2.0|^3.1", - "php": ">=7.0.0", - "symfony/polyfill-iconv": "^1.0", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.4" - }, - "suggest": { - "ext-intl": "Needed to support internationalized email addresses" + "php": ">=8.0.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.2-dev" - } - }, "autoload": { - "files": [ - "lib/swift_required.php" + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -3725,91 +4412,80 @@ "MIT" ], "authors": [ - { - "name": "Chris Corbyn" - }, { "name": "Fabien Potencier", "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Swiftmailer, free feature-rich PHP mailer", - "homepage": "https://swiftmailer.symfony.com", - "keywords": [ - "email", - "mail", - "mailer" - ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" + "source": "https://github.com/symfony/finder/tree/v6.0.8" }, "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, { "url": "https://github.com/fabpot", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/swiftmailer/swiftmailer", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "abandoned": "symfony/mailer", - "time": "2021-10-18T15:26:12+00:00" + "time": "2022-04-15T08:07:58+00:00" }, { - "name": "symfony/console", - "version": "v5.4.7", + "name": "symfony/http-client", + "version": "v6.0.8", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6" + "url": "https://github.com/symfony/http-client.git", + "reference": "d347895193283e08b4c3ebf2f2974a1df3e1f670" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/900275254f0a1a2afff1ab0e11abd5587a10e1d6", - "reference": "900275254f0a1a2afff1ab0e11abd5587a10e1d6", + "url": "https://api.github.com/repos/symfony/http-client/zipball/d347895193283e08b4c3ebf2f2974a1df3e1f670", + "reference": "d347895193283e08b4c3ebf2f2974a1df3e1f670", "shasum": "" }, "require": { - "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" + "php": ">=8.0.2", + "psr/log": "^1|^2|^3", + "symfony/http-client-contracts": "^3", + "symfony/service-contracts": "^1.0|^2|^3" }, "provide": { - "psr/log-implementation": "1.0|2.0" + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "3.0" }, "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "psr/http-client": "^1.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": { "psr-4": { - "Symfony\\Component\\Console\\": "" + "Symfony\\Component\\HttpClient\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -3821,24 +4497,18 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command line", - "console", - "terminal" - ], "support": { - "source": "https://github.com/symfony/console/tree/v5.4.7" + "source": "https://github.com/symfony/http-client/tree/v6.0.8" }, "funding": [ { @@ -3854,29 +4524,32 @@ "type": "tidelift" } ], - "time": "2022-03-31T17:09:19+00:00" + "time": "2022-04-12T16:11:42+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v2.5.1", + "name": "symfony/http-client-contracts", + "version": "v3.0.1", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66" + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "f7525778c712be78ad5b6ca31f47fdcfd404c280" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e8b495ea28c1d97b5e0c121748d6f9b53d075c66", - "reference": "e8b495ea28c1d97b5e0c121748d6f9b53d075c66", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/f7525778c712be78ad5b6ca31f47fdcfd404c280", + "reference": "f7525778c712be78ad5b6ca31f47fdcfd404c280", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.0.2" + }, + "suggest": { + "symfony/http-client-implementation": "" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -3884,9 +4557,9 @@ } }, "autoload": { - "files": [ - "function.php" - ] + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -3902,10 +4575,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "A generic function and convention to trigger deprecation notices", + "description": "Generic abstractions related to HTTP clients", "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/http-client-contracts/tree/v3.0.1" }, "funding": [ { @@ -3921,32 +4602,42 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-03-13T20:10:05+00:00" }, { - "name": "symfony/filesystem", - "version": "v5.4.7", + "name": "symfony/mailer", + "version": "v6.0.8", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f" + "url": "https://github.com/symfony/mailer.git", + "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/3a4442138d80c9f7b600fb297534ac718b61d37f", - "reference": "3a4442138d80c9f7b600fb297534ac718b61d37f", + "url": "https://api.github.com/repos/symfony/mailer/zipball/706af6b3e99ebcbc639c9c664f5579aaa869409b", + "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" + "egulias/email-validator": "^2.1.10|^3", + "php": ">=8.0.2", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0", + "symfony/mime": "^5.4|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "symfony/http-kernel": "<5.4" + }, + "require-dev": { + "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/messenger": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Filesystem\\": "" + "Symfony\\Component\\Mailer\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -3966,10 +4657,10 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides basic utilities for the filesystem", + "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.7" + "source": "https://github.com/symfony/mailer/tree/v6.0.8" }, "funding": [ { @@ -3985,31 +4676,45 @@ "type": "tidelift" } ], - "time": "2022-04-01T12:33:59+00:00" + "time": "2022-04-27T17:10:30+00:00" }, { - "name": "symfony/finder", - "version": "v5.4.3", + "name": "symfony/mime", + "version": "v6.0.8", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d" + "url": "https://github.com/symfony/mime.git", + "reference": "c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/231313534dded84c7ecaa79d14bc5da4ccb69b7d", - "reference": "231313534dded84c7ecaa79d14bc5da4ccb69b7d", + "url": "https://api.github.com/repos/symfony/mime/zipball/c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1", + "reference": "c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" + "php": ">=8.0.2", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<5.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/property-access": "^5.4|^6.0", + "symfony/property-info": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Finder\\": "" + "Symfony\\Component\\Mime\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -4029,10 +4734,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Finds files and directories via an intuitive fluent interface", + "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.3" + "source": "https://github.com/symfony/mime/tree/v6.0.8" }, "funding": [ { @@ -4048,7 +4757,7 @@ "type": "tidelift" } ], - "time": "2022-01-26T16:34:36+00:00" + "time": "2022-04-12T16:11:42+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4790,16 +5499,16 @@ }, { "name": "symfony/process", - "version": "v5.4.7", + "version": "v5.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "38a44b2517b470a436e1c944bf9b9ba3961137fb" + "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/38a44b2517b470a436e1c944bf9b9ba3961137fb", - "reference": "38a44b2517b470a436e1c944bf9b9ba3961137fb", + "url": "https://api.github.com/repos/symfony/process/zipball/597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", + "reference": "597f3fff8e3e91836bb0bd38f5718b56ddbde2f3", "shasum": "" }, "require": { @@ -4832,7 +5541,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v5.4.7" + "source": "https://github.com/symfony/process/tree/v5.4.8" }, "funding": [ { @@ -4848,26 +5557,25 @@ "type": "tidelift" } ], - "time": "2022-03-18T16:18:52+00:00" + "time": "2022-04-08T05:07:18+00:00" }, { "name": "symfony/service-contracts", - "version": "v2.5.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c" + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/24d9dc654b83e91aa59f9d167b131bc3b5bea24c", - "reference": "24d9dc654b83e91aa59f9d167b131bc3b5bea24c", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c", + "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c", "shasum": "" }, "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" + "php": ">=8.0.2", + "psr/container": "^2.0" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -4878,7 +5586,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -4915,7 +5623,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.0.1" }, "funding": [ { @@ -4931,38 +5639,37 @@ "type": "tidelift" } ], - "time": "2022-03-13T20:07:29+00:00" + "time": "2022-03-13T20:10:05+00:00" }, { "name": "symfony/string", - "version": "v5.4.3", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10" + "reference": "ac0aa5c2282e0de624c175b68d13f2c8f2e2649d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/92043b7d8383e48104e411bc9434b260dbeb5a10", - "reference": "92043b7d8383e48104e411bc9434b260dbeb5a10", + "url": "https://api.github.com/repos/symfony/string/zipball/ac0aa5c2282e0de624c175b68d13f2c8f2e2649d", + "reference": "ac0aa5c2282e0de624c175b68d13f2c8f2e2649d", "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", - "symfony/polyfill-php80": "~1.15" + "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": ">=3.0" + "symfony/translation-contracts": "<2.0" }, "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" + "symfony/error-handler": "^5.4|^6.0", + "symfony/http-client": "^5.4|^6.0", + "symfony/translation-contracts": "^2.0|^3.0", + "symfony/var-exporter": "^5.4|^6.0" }, "type": "library", "autoload": { @@ -5001,7 +5708,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.4.3" + "source": "https://github.com/symfony/string/tree/v6.0.8" }, "funding": [ { @@ -5017,52 +5724,50 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-04-22T08:18:02+00:00" }, { "name": "symfony/translation", - "version": "v5.4.7", + "version": "v6.0.8", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "e1eb790575202ee3ac2659f55b93b05853726f8e" + "reference": "3d38cf8f8834148c4457681d539bc204de701501" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/e1eb790575202ee3ac2659f55b93b05853726f8e", - "reference": "e1eb790575202ee3ac2659f55b93b05853726f8e", + "url": "https://api.github.com/repos/symfony/translation/zipball/3d38cf8f8834148c4457681d539bc204de701501", + "reference": "3d38cf8f8834148c4457681d539bc204de701501", "shasum": "" }, "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", + "php": ">=8.0.2", "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^2.3" + "symfony/translation-contracts": "^2.3|^3.0" }, "conflict": { - "symfony/config": "<4.4", - "symfony/console": "<5.3", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" + "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" + "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", + "symfony/config": "^5.4|^6.0", "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^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.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.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": "^4.4|^5.0|^6.0" + "symfony/yaml": "^5.4|^6.0" }, "suggest": { "psr/log-implementation": "To use logging capability in translator", @@ -5098,7 +5803,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.7" + "source": "https://github.com/symfony/translation/tree/v6.0.8" }, "funding": [ { @@ -5114,24 +5819,24 @@ "type": "tidelift" } ], - "time": "2022-03-24T17:09:09+00:00" + "time": "2022-04-22T08:18:02+00:00" }, { "name": "symfony/translation-contracts", - "version": "v2.5.1", + "version": "v3.0.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "1211df0afa701e45a04253110e959d4af4ef0f07" + "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/1211df0afa701e45a04253110e959d4af4ef0f07", - "reference": "1211df0afa701e45a04253110e959d4af4ef0f07", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", + "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", "shasum": "" }, "require": { - "php": ">=7.2.5" + "php": ">=8.0.2" }, "suggest": { "symfony/translation-implementation": "" @@ -5139,7 +5844,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "3.0-dev" }, "thanks": { "name": "symfony/contracts", @@ -5176,7 +5881,95 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.0.1" + }, + "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-02T09:55:41+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v6.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "fa61dfb4bd3068df2492013dc65f3190e9f550c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/fa61dfb4bd3068df2492013dc65f3190e9f550c0", + "reference": "fa61dfb4bd3068df2492013dc65f3190e9f550c0", + "shasum": "" + }, + "require": { + "php": ">=8.0.2", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<5.4" + }, + "require-dev": { + "ext-iconv": "*", + "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).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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": "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/v6.0.8" }, "funding": [ { @@ -5192,7 +5985,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:53:40+00:00" + "time": "2022-04-26T13:22:23+00:00" }, { "name": "symfony/yaml", @@ -5269,6 +6062,54 @@ ], "time": "2022-01-26T16:32:32+00:00" }, + { + "name": "theiconic/name-parser", + "version": "v1.2.11", + "source": { + "type": "git", + "url": "https://github.com/theiconic/name-parser.git", + "reference": "9a54a713bf5b2e7fd990828147d42de16bf8a253" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theiconic/name-parser/zipball/9a54a713bf5b2e7fd990828147d42de16bf8a253", + "reference": "9a54a713bf5b2e7fd990828147d42de16bf8a253", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "php-mock/php-mock-phpunit": "^2.1", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "TheIconic\\NameParser\\": [ + "src/", + "tests/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "The Iconic", + "email": "engineering@theiconic.com.au" + } + ], + "description": "PHP library for parsing a string containing a full name into its parts", + "support": { + "issues": "https://github.com/theiconic/name-parser/issues", + "source": "https://github.com/theiconic/name-parser/tree/v1.2.11" + }, + "time": "2019-11-14T14:08:48+00:00" + }, { "name": "true/punycode", "version": "v2.1.1", @@ -5321,23 +6162,22 @@ }, { "name": "twig/twig", - "version": "v2.14.13", + "version": "v3.3.10", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "66856cd0459df3dc97d32077a98454dc2a0ee75a" + "reference": "8442df056c51b706793adf80a9fd363406dd3674" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/66856cd0459df3dc97d32077a98454dc2a0ee75a", - "reference": "66856cd0459df3dc97d32077a98454dc2a0ee75a", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/8442df056c51b706793adf80a9fd363406dd3674", + "reference": "8442df056c51b706793adf80a9fd363406dd3674", "shasum": "" }, "require": { - "php": ">=7.1.3", + "php": ">=7.2.5", "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php72": "^1.8" + "symfony/polyfill-mbstring": "^1.3" }, "require-dev": { "psr/container": "^1.0", @@ -5346,13 +6186,10 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.14-dev" + "dev-master": "3.3-dev" } }, "autoload": { - "psr-0": { - "Twig_": "lib/" - }, "psr-4": { "Twig\\": "src/" } @@ -5385,7 +6222,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v2.14.13" + "source": "https://github.com/twigphp/Twig/tree/v3.3.10" }, "funding": [ { @@ -5397,25 +6234,25 @@ "type": "tidelift" } ], - "time": "2022-04-06T06:45:17+00:00" + "time": "2022-04-06T06:47:41+00:00" }, { "name": "voku/anti-xss", - "version": "4.1.35", + "version": "4.1.39", "source": { "type": "git", "url": "https://github.com/voku/anti-xss.git", - "reference": "4d7ec2816cd6eeebb7d5abbde8b0349f66709496" + "reference": "64a59ba4744e6722866ff3440d93561da9e85cd0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/anti-xss/zipball/4d7ec2816cd6eeebb7d5abbde8b0349f66709496", - "reference": "4d7ec2816cd6eeebb7d5abbde8b0349f66709496", + "url": "https://api.github.com/repos/voku/anti-xss/zipball/64a59ba4744e6722866ff3440d93561da9e85cd0", + "reference": "64a59ba4744e6722866ff3440d93561da9e85cd0", "shasum": "" }, "require": { "php": ">=7.0.0", - "voku/portable-utf8": "~6.0.0" + "voku/portable-utf8": "~6.0.2" }, "require-dev": { "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" @@ -5456,7 +6293,7 @@ ], "support": { "issues": "https://github.com/voku/anti-xss/issues", - "source": "https://github.com/voku/anti-xss/tree/4.1.35" + "source": "https://github.com/voku/anti-xss/tree/4.1.39" }, "funding": [ { @@ -5480,7 +6317,7 @@ "type": "tidelift" } ], - "time": "2021-12-08T15:20:33+00:00" + "time": "2022-03-08T17:03:58+00:00" }, { "name": "voku/arrayy", @@ -5643,16 +6480,16 @@ }, { "name": "voku/portable-ascii", - "version": "1.6.1", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/voku/portable-ascii.git", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a" + "reference": "b56450eed252f6801410d810c8e1727224ae0743" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/87337c91b9dfacee02452244ee14ab3c43bc485a", - "reference": "87337c91b9dfacee02452244ee14ab3c43bc485a", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", "shasum": "" }, "require": { @@ -5689,7 +6526,7 @@ ], "support": { "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/1.6.1" + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" }, "funding": [ { @@ -5713,20 +6550,20 @@ "type": "tidelift" } ], - "time": "2022-01-24T18:55:24+00:00" + "time": "2022-03-08T17:03:00+00:00" }, { "name": "voku/portable-utf8", - "version": "6.0.1", + "version": "6.0.4", "source": { "type": "git", "url": "https://github.com/voku/portable-utf8.git", - "reference": "e4365df3f7b63f9e57e1015f6c3ceec19c169f7a" + "reference": "f6c78e492520115bb2d947c3a0d90a2c6b7a60a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/portable-utf8/zipball/e4365df3f7b63f9e57e1015f6c3ceec19c169f7a", - "reference": "e4365df3f7b63f9e57e1015f6c3ceec19c169f7a", + "url": "https://api.github.com/repos/voku/portable-utf8/zipball/f6c78e492520115bb2d947c3a0d90a2c6b7a60a8", + "reference": "f6c78e492520115bb2d947c3a0d90a2c6b7a60a8", "shasum": "" }, "require": { @@ -5736,7 +6573,7 @@ "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0", "symfony/polyfill-php72": "~1.0", - "voku/portable-ascii": "~1.6.0" + "voku/portable-ascii": "~2.0.0" }, "require-dev": { "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" @@ -5788,7 +6625,7 @@ ], "support": { "issues": "https://github.com/voku/portable-utf8/issues", - "source": "https://github.com/voku/portable-utf8/tree/6.0.1" + "source": "https://github.com/voku/portable-utf8/tree/6.0.4" }, "funding": [ { @@ -5812,7 +6649,7 @@ "type": "tidelift" } ], - "time": "2022-01-24T09:49:08+00:00" + "time": "2022-03-08T17:04:59+00:00" }, { "name": "voku/stop-words", @@ -5863,16 +6700,16 @@ }, { "name": "voku/stringy", - "version": "6.5.1", + "version": "6.5.3", "source": { "type": "git", "url": "https://github.com/voku/Stringy.git", - "reference": "1cd3c1772223bedb1c07d4fbf7778da9c9c1cd40" + "reference": "c453c88fbff298f042c836ef44306f8703b2d537" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/Stringy/zipball/1cd3c1772223bedb1c07d4fbf7778da9c9c1cd40", - "reference": "1cd3c1772223bedb1c07d4fbf7778da9c9c1cd40", + "url": "https://api.github.com/repos/voku/Stringy/zipball/c453c88fbff298f042c836ef44306f8703b2d537", + "reference": "c453c88fbff298f042c836ef44306f8703b2d537", "shasum": "" }, "require": { @@ -5882,7 +6719,7 @@ "voku/anti-xss": "~4.1", "voku/arrayy": "~7.8", "voku/email-check": "~3.1", - "voku/portable-ascii": "~1.5", + "voku/portable-ascii": "~2.0", "voku/portable-utf8": "~6.0", "voku/urlify": "~5.0" }, @@ -5954,25 +6791,25 @@ "type": "tidelift" } ], - "time": "2022-01-30T05:35:10+00:00" + "time": "2022-03-28T14:52:20+00:00" }, { "name": "voku/urlify", - "version": "5.0.6", + "version": "5.0.7", "source": { "type": "git", "url": "https://github.com/voku/urlify.git", - "reference": "58634c71b8c9cdc23212737cb494fd4a731e8ea7" + "reference": "014b2074407b5db5968f836c27d8731934b330e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/voku/urlify/zipball/58634c71b8c9cdc23212737cb494fd4a731e8ea7", - "reference": "58634c71b8c9cdc23212737cb494fd4a731e8ea7", + "url": "https://api.github.com/repos/voku/urlify/zipball/014b2074407b5db5968f836c27d8731934b330e4", + "reference": "014b2074407b5db5968f836c27d8731934b330e4", "shasum": "" }, "require": { "php": ">=7.0.0", - "voku/portable-ascii": "~1.4", + "voku/portable-ascii": "~2.0", "voku/portable-utf8": "~6.0", "voku/stop-words": "~2.0" }, @@ -6016,7 +6853,7 @@ ], "support": { "issues": "https://github.com/voku/urlify/issues", - "source": "https://github.com/voku/urlify/tree/5.0.6" + "source": "https://github.com/voku/urlify/tree/5.0.7" }, "funding": [ { @@ -6036,7 +6873,7 @@ "type": "tidelift" } ], - "time": "2021-12-08T15:54:21+00:00" + "time": "2022-01-24T19:08:46+00:00" }, { "name": "webmozart/assert", @@ -6557,46 +7394,36 @@ "time": "2022-03-31T07:41:51+00:00" }, { - "name": "yiisoft/yii2-swiftmailer", - "version": "2.1.3", + "name": "yiisoft/yii2-symfonymailer", + "version": "2.0.3", "source": { "type": "git", - "url": "https://github.com/yiisoft/yii2-swiftmailer.git", - "reference": "7b7ec871b4a63c0abbcd10e1ee3fb5be22f8b340" + "url": "https://github.com/yiisoft/yii2-symfonymailer.git", + "reference": "77baddfd806005604624ec58e6b55b18f31eeaaf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/yiisoft/yii2-swiftmailer/zipball/7b7ec871b4a63c0abbcd10e1ee3fb5be22f8b340", - "reference": "7b7ec871b4a63c0abbcd10e1ee3fb5be22f8b340", + "url": "https://api.github.com/repos/yiisoft/yii2-symfonymailer/zipball/77baddfd806005604624ec58e6b55b18f31eeaaf", + "reference": "77baddfd806005604624ec58e6b55b18f31eeaaf", "shasum": "" }, "require": { - "swiftmailer/swiftmailer": "~6.0", + "php": ">=7.4.0", + "symfony/mailer": ">=5.4.0", "yiisoft/yii2": ">=2.0.4" }, "require-dev": { - "cweagans/composer-patches": "^1.7", - "phpunit/phpunit": "4.8.34" + "phpunit/phpunit": "9.5.10" }, "type": "yii2-extension", "extra": { "branch-alias": { - "dev-master": "2.1.x-dev" - }, - "composer-exit-on-patch-failure": true, - "patches": { - "phpunit/phpunit-mock-objects": { - "Fix PHP 7 and 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_mock_objects.patch" - }, - "phpunit/phpunit": { - "Fix PHP 7 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php7.patch", - "Fix PHP 8 compatibility": "https://yiisoft.github.io/phpunit-patches/phpunit_php8.patch" - } + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "yii\\swiftmailer\\": "src" + "yii\\symfonymailer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6605,24 +7432,24 @@ ], "authors": [ { - "name": "Paul Klimov", - "email": "klimov.paul@gmail.com" + "name": "Kirill Petrov", + "email": "archibeardrinker@gmail.com" } ], - "description": "The SwiftMailer integration for the Yii framework", + "description": "The SymfonyMailer integration for the Yii framework", "keywords": [ "email", "mail", "mailer", - "swift", - "swiftmailer", + "symfony", + "symfonymailer", "yii2" ], "support": { "forum": "http://www.yiiframework.com/forum/", "irc": "irc://irc.freenode.net/yii", - "issues": "https://github.com/yiisoft/yii2-swiftmailer/issues", - "source": "https://github.com/yiisoft/yii2-swiftmailer", + "issues": "https://github.com/yiisoft/yii2-symfonymailer/issues", + "source": "https://github.com/yiisoft/yii2-symfonymailer", "wiki": "http://www.yiiframework.com/wiki/" }, "funding": [ @@ -6635,11 +7462,11 @@ "type": "open_collective" }, { - "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-swiftmailer", + "url": "https://tidelift.com/funding/github/packagist/yiisoft/yii2-symfonymailer", "type": "tidelift" } ], - "time": "2021-12-30T08:48:48+00:00" + "time": "2022-02-10T13:42:46+00:00" } ], "packages-dev": [ @@ -6705,16 +7532,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.5.7", + "version": "1.6.6", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac" + "reference": "96c3c53bb127895570f1f8a2488017afc0fae55d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac", - "reference": "7fb7e2e1e9f3d59a26a413b2d3d5e47f0edb75ac", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/96c3c53bb127895570f1f8a2488017afc0fae55d", + "reference": "96c3c53bb127895570f1f8a2488017afc0fae55d", "shasum": "" }, "require": { @@ -6740,7 +7567,7 @@ "description": "PHPStan - PHP Static Analysis Tool", "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.5.7" + "source": "https://github.com/phpstan/phpstan/tree/1.6.6" }, "funding": [ { @@ -6760,20 +7587,20 @@ "type": "tidelift" } ], - "time": "2022-04-20T12:20:27+00:00" + "time": "2022-05-04T22:27:56+00:00" }, { "name": "symplify/easy-coding-standard", - "version": "10.2.2", + "version": "10.2.3", "source": { "type": "git", "url": "https://github.com/symplify/easy-coding-standard.git", - "reference": "d847795500b929f68ed115357658122d64017f77" + "reference": "7303e9b0a6ac61b2a0cf5185a2078b7af25fba9d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symplify/easy-coding-standard/zipball/d847795500b929f68ed115357658122d64017f77", - "reference": "d847795500b929f68ed115357658122d64017f77", + "url": "https://api.github.com/repos/symplify/easy-coding-standard/zipball/7303e9b0a6ac61b2a0cf5185a2078b7af25fba9d", + "reference": "7303e9b0a6ac61b2a0cf5185a2078b7af25fba9d", "shasum": "" }, "require": { @@ -6803,7 +7630,7 @@ ], "description": "Prefixed scoped version of ECS package", "support": { - "source": "https://github.com/symplify/easy-coding-standard/tree/10.2.2" + "source": "https://github.com/symplify/easy-coding-standard/tree/10.2.3" }, "funding": [ { @@ -6815,7 +7642,7 @@ "type": "github" } ], - "time": "2022-04-17T10:41:19+00:00" + "time": "2022-05-03T14:07:44+00:00" } ], "aliases": [], @@ -6826,10 +7653,12 @@ }, "prefer-stable": true, "prefer-lowest": false, - "platform": [], + "platform": { + "php": "^8.0.2" + }, "platform-dev": [], "platform-overrides": { - "php": "7.2.5" + "php": "8.0.2" }, "plugin-api-version": "2.2.0" } diff --git a/ecs.php b/ecs.php new file mode 100644 index 0000000..0d661a9 --- /dev/null +++ b/ecs.php @@ -0,0 +1,28 @@ +parameters(); + $parameters->set(Option::PATHS, [ + __DIR__ . '/src', + __DIR__ . '/tests', + ]); + + $services = $containerConfigurator->services(); + $services->set(ArraySyntaxFixer::class) + ->call('configure', [[ + 'syntax' => 'short', + ]]); + + // run and fix, one by one + // $containerConfigurator->import(SetList::SPACES); + // $containerConfigurator->import(SetList::ARRAY); + // $containerConfigurator->import(SetList::DOCBLOCK); + // $containerConfigurator->import(SetList::PSR_12); +}; diff --git a/phpstan.neon b/phpstan.neon index 9c1f9e2..95a7ea7 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,5 @@ parameters: - level: 4 + level: 1 paths: - src scanFiles: diff --git a/src/ContactFormExtensions.php b/src/ContactFormExtensions.php index 015927d..1cf832c 100644 --- a/src/ContactFormExtensions.php +++ b/src/ContactFormExtensions.php @@ -15,7 +15,6 @@ use craft\events\TemplateEvent; use craft\helpers\App; use craft\mail\Message; -use craft\services\Plugins; use craft\web\twig\variables\CraftVariable; use craft\web\UrlManager; use craft\web\View; @@ -53,7 +52,25 @@ class ContactFormExtensions extends Plugin */ public static $plugin; - public $name; + public ?string $name; + + + // Public Properties + // ========================================================================= + + /** + * @var string + */ + public string $schemaVersion = '1.0.1'; + + /** + * @var bool + */ + public bool $hasCpSettings = true; + /** + * @var bool + */ + public bool $hasCpSection = true; // Public Methods // ========================================================================= @@ -68,7 +85,7 @@ class ContactFormExtensions extends Plugin * If you have a '/vendor/autoload.php' file, it will be loaded for you automatically; * you do not need to load it in your init() method. */ - public function init() + public function init(): void { parent::init(); self::$plugin = $this; @@ -128,6 +145,7 @@ public function init() } $submission = $e->submission; + ray($submission); if ($this->settings->enableDatabase && $saveSubmissionOverride != true) { $this->contactFormExtensionsService->saveSubmission($submission); } @@ -233,7 +251,7 @@ function (Event $event) { /** * {@inheritdoc} */ - public function getCpNavItem() + public function getCpNavItem(): ?array { if (!$this->settings->enableDatabase) { return null; @@ -254,7 +272,7 @@ public function getCpNavItem() * * @return \craft\base\Model|null */ - protected function createSettingsModel() + protected function createSettingsModel(): ?\craft\base\Model { return new Settings(); } @@ -263,12 +281,12 @@ protected function createSettingsModel() * Returns the rendered settings HTML, which will be inserted into the content * block on the settings page. * - * @throws \Twig_Error_Loader + * @throws \Twig\Error\LoaderError * @throws \yii\base\Exception * * @return string The rendered settings HTML */ - protected function settingsHtml(): string + protected function settingsHtml(): ?string { // Get and pre-validate the settings $settings = $this->getSettings(); diff --git a/src/controllers/SubmissionsController.php b/src/controllers/SubmissionsController.php index 3c4ab13..521075a 100644 --- a/src/controllers/SubmissionsController.php +++ b/src/controllers/SubmissionsController.php @@ -18,7 +18,7 @@ class SubmissionsController extends Controller public function actionShowSubmission(string $submissionId = null, string $siteHandle = null) { $query = new ContactFormSubmissionQuery(ContactFormSubmission::class); - $query->id = $submissionId; + // $query->id = $submissionId; /* @var ContactFormSubmission $submission */ $submission = $query->one(); diff --git a/src/elements/ContactFormSubmission.php b/src/elements/ContactFormSubmission.php index 3a4a4f4..c5b6344 100644 --- a/src/elements/ContactFormSubmission.php +++ b/src/elements/ContactFormSubmission.php @@ -95,7 +95,7 @@ public function getIsEditable(): bool return true; } - public function getCpEditUrl() + public function getCpEditUrl(): ?string { return UrlHelper::cpUrl('contact-form-extensions/submissions/'.$this->id); } @@ -197,7 +197,7 @@ protected static function defineSortOptions(): array * * @throws \yii\db\Exception */ - public function afterSave(bool $isNew) + public function afterSave(bool $isNew): void { if ($isNew) { Craft::$app->db->createCommand() diff --git a/src/migrations/Install.php b/src/migrations/Install.php index 0380b07..0d415f8 100644 --- a/src/migrations/Install.php +++ b/src/migrations/Install.php @@ -88,7 +88,7 @@ protected function createTables() // contactform_submissions table $tableSchema = Craft::$app->db->schema->getTableSchema('{{%contactform_submissions}}'); - if ($tableSchema === null) { + if ($tableSchema == null) { $tablesCreated = true; $this->createTable( '{{%contactform_submissions}}', diff --git a/src/models/Settings.php b/src/models/Settings.php index f371373..3f245b2 100644 --- a/src/models/Settings.php +++ b/src/models/Settings.php @@ -74,7 +74,7 @@ public function getConfirmationSubject(): string * * @return array */ - public function rules() + public function rules(): array { return [ [['enableDatabase', 'enableTemplateOverwrite', 'enableConfirmationEmail', 'recaptcha', 'enableRecaptchaOverride', 'recaptchaHideBadge', 'recaptchaDebug'], 'boolean'], From 565a7386598212f44c76fe77a16ab38777e1599c Mon Sep 17 00:00:00 2001 From: StyleCI Bot Date: Wed, 4 May 2022 23:22:34 +0000 Subject: [PATCH 07/14] Apply fixes from StyleCI --- ecs.php | 4 ++-- src/ContactFormExtensions.php | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/ecs.php b/ecs.php index 0d661a9..b3e0f7d 100644 --- a/ecs.php +++ b/ecs.php @@ -10,8 +10,8 @@ return static function (ContainerConfigurator $containerConfigurator): void { $parameters = $containerConfigurator->parameters(); $parameters->set(Option::PATHS, [ - __DIR__ . '/src', - __DIR__ . '/tests', + __DIR__.'/src', + __DIR__.'/tests', ]); $services = $containerConfigurator->services(); diff --git a/src/ContactFormExtensions.php b/src/ContactFormExtensions.php index 1cf832c..84e20f1 100644 --- a/src/ContactFormExtensions.php +++ b/src/ContactFormExtensions.php @@ -54,7 +54,6 @@ class ContactFormExtensions extends Plugin public ?string $name; - // Public Properties // ========================================================================= From cf8cc8339f3fa606ac3f58f19369e735ca4a3234 Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Thu, 5 May 2022 09:17:44 -0400 Subject: [PATCH 08/14] Pushing progress on Craft 4 updates --- src/ContactFormExtensions.php | 8 ++++++-- src/config.php | 2 +- src/controllers/SubmissionsController.php | 2 +- src/elements/ContactFormSubmission.php | 2 +- src/migrations/Install.php | 2 +- src/models/Settings.php | 2 +- src/services/ContactFormExtensionsService.php | 2 +- src/translations/en/contact-form-extensions.php | 2 +- src/translations/nb/contact-form-extensions.php | 2 +- src/translations/nl/contact-form-extensions.php | 2 +- src/variables/ContactFormExtensionsVariable.php | 2 +- 11 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/ContactFormExtensions.php b/src/ContactFormExtensions.php index 1cf832c..211fc8a 100644 --- a/src/ContactFormExtensions.php +++ b/src/ContactFormExtensions.php @@ -1,6 +1,6 @@ plugins->isPluginInstalled('contact-form') && !Craft::$app->request->getIsConsoleRequest()) { Craft::$app->session->setNotice(Craft::t('contact-form-extensions', 'The Contact Form plugin is not installed or activated, Contact Form Extensions does not work without it.')); } + // Settings Template Event::on(View::class, View::EVENT_BEFORE_RENDER_TEMPLATE, function (TemplateEvent $e) { if ( $e->template === 'settings/plugins/_settings' && @@ -107,6 +109,7 @@ public function init(): void } }); + // Register URLS for CP Event::on(UrlManager::class, UrlManager::EVENT_REGISTER_CP_URL_RULES, function (RegisterUrlRulesEvent $event) { $event->rules = array_merge($event->rules, [ 'contact-form-extensions/submissions/' => 'contact-form-extensions/submissions/show-submission', @@ -114,6 +117,7 @@ public function init(): void ]); }); + // Capture Before Send Event from Craft Contact Form plugin Event::on(Mailer::class, Mailer::EVENT_BEFORE_SEND, function (SendEvent $e) { if ($e->isSpam) { return; @@ -145,7 +149,6 @@ public function init(): void } $submission = $e->submission; - ray($submission); if ($this->settings->enableDatabase && $saveSubmissionOverride != true) { $this->contactFormExtensionsService->saveSubmission($submission); } @@ -185,6 +188,7 @@ public function init(): void } }); + // Capture After Send Event from Craft Contact Form plugin Event::on(Mailer::class, Mailer::EVENT_AFTER_SEND, function (SendEvent $e) { $disableConfirmation = false; if (is_array($e->submission->message) && array_key_exists('disableConfirmation', $e->submission->message)) { diff --git a/src/config.php b/src/config.php index 2a4fce9..09f939f 100644 --- a/src/config.php +++ b/src/config.php @@ -1,6 +1,6 @@ id = $submissionId; + $query->id = $submissionId; /* @var ContactFormSubmission $submission */ $submission = $query->one(); diff --git a/src/elements/ContactFormSubmission.php b/src/elements/ContactFormSubmission.php index c5b6344..b3f49bb 100644 --- a/src/elements/ContactFormSubmission.php +++ b/src/elements/ContactFormSubmission.php @@ -1,6 +1,6 @@ Date: Fri, 6 May 2022 00:29:17 -0400 Subject: [PATCH 09/14] Pushing progress. --- composer.json | 3 - src/ContactFormExtensions.php | 242 ++++++++++-------- src/base/Routes.php | 27 ++ src/controllers/SubmissionsController.php | 8 +- ...ntactFormSubmission.php => Submission.php} | 113 ++++---- ...ubmissionQuery.php => SubmissionQuery.php} | 2 +- src/services/ContactFormExtensionsService.php | 21 +- src/templates/index.twig | 13 +- src/templates/settings.twig | 13 - src/templates/submissions/_show.twig | 24 +- .../ContactFormExtensionsVariable.php | 4 +- 11 files changed, 240 insertions(+), 230 deletions(-) create mode 100755 src/base/Routes.php rename src/elements/{ContactFormSubmission.php => Submission.php} (53%) rename src/elements/db/{ContactFormSubmissionQuery.php => SubmissionQuery.php} (97%) diff --git a/composer.json b/composer.json index b981ccf..383df73 100644 --- a/composer.json +++ b/composer.json @@ -42,9 +42,6 @@ "extra": { "name": "Contact Form Extensions", "handle": "contact-form-extensions", - "schemaVersion": "1.0.1", - "hasCpSettings": true, - "hasCpSection": true, "changelogUrl": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/CHANGELOG.md", "documentationUrl": "https://github.com/hybridinteractive/craft-contact-form-extensions/blob/master/README.md", "components": { diff --git a/src/ContactFormExtensions.php b/src/ContactFormExtensions.php index c96e4e7..f11ab61 100644 --- a/src/ContactFormExtensions.php +++ b/src/ContactFormExtensions.php @@ -7,38 +7,22 @@ namespace hybridinteractive\contactformextensions; +use hybridinteractive\contactformextensions\base\Routes; +use hybridinteractive\contactformextensions\models\Settings; +use hybridinteractive\contactformextensions\variables\ContactFormExtensionsVariable; +// use hybridinteractive\contactformextensions\services\ContactFormExtensionsService as ContactFormExtensionsServiceService; + use Craft; use craft\base\Plugin; -use craft\contactform\events\SendEvent; -use craft\contactform\Mailer; -use craft\events\RegisterUrlRulesEvent; +use craft\contactform\events\SendEvent as CraftContactFormSendEvent; +use craft\contactform\Mailer as CraftContactFormMailer; use craft\events\TemplateEvent; use craft\helpers\App; use craft\mail\Message; use craft\web\twig\variables\CraftVariable; -use craft\web\UrlManager; use craft\web\View; -use hybridinteractive\contactformextensions\models\Settings; -use hybridinteractive\contactformextensions\services\ContactFormExtensionsService as ContactFormExtensionsServiceService; -use hybridinteractive\contactformextensions\variables\ContactFormExtensionsVariable; use yii\base\Event; -/** - * Craft plugins are very much like little applications in and of themselves. We’ve made - * it as simple as we can, but the training wheels are off. A little prior knowledge is - * going to be required to write a plugin. - * - * For the purposes of the plugin docs, we’re going to assume that you know PHP and SQL, - * as well as some semi-advanced concepts like object-oriented programming and PHP namespaces. - * - * https://craftcms.com/docs/plugins/introduction - * - * - * @property ContactFormExtensionsServiceService $contactFormExtensionsService - * @property Settings $settings - * - * @method Settings getSettings() - */ class ContactFormExtensions extends Plugin { // Static Properties @@ -57,19 +41,14 @@ class ContactFormExtensions extends Plugin // Public Properties // ========================================================================= - /** - * @var string - */ + public bool $hasCpSection = true; + public bool $hasCpSettings = true; public string $schemaVersion = '1.0.1'; - /** - * @var bool - */ - public bool $hasCpSettings = true; - /** - * @var bool - */ - public bool $hasCpSection = true; + // Traits + // ========================================================================= + + use Routes; // Public Methods // ========================================================================= @@ -87,13 +66,97 @@ class ContactFormExtensions extends Plugin public function init(): void { parent::init(); + self::$plugin = $this; - // Check that Craft Contact Form plugin is installed as this plugin adds to it - if (!Craft::$app->plugins->isPluginInstalled('contact-form') && !Craft::$app->request->getIsConsoleRequest()) { - Craft::$app->session->setNotice(Craft::t('contact-form-extensions', 'The Contact Form plugin is not installed or activated, Contact Form Extensions does not work without it.')); + $this->_registerVariable(); + $this->_registerContactFormEventListeners(); + $this->_registerSettings(); + $this->_registerCraftContactFormCheck(); + + if (Craft::$app->getRequest()->getIsCpRequest()) { + $this->_registerCpRoutes(); + } + } + + /** + * {@inheritdoc} + */ + public function getCpNavItem(): ?array + { + if (!$this->settings->enableDatabase) { + return null; } + $nav = parent::getCpNavItem(); + + $nav['label'] = Craft::t('contact-form-extensions', 'Form Submissions'); + + // $nav['subnav']['submissions'] = [ + // 'label' => Craft::t('contact-form-extensions', 'Submissions'), + // 'url' => 'contact-form-extensions/', + // ]; + + // if (Craft::$app->getUser()->getIsAdmin()) { + // $nav['subnav']['settings'] = [ + // 'label' => Craft::t('contact-form-extensions', 'Settings'), + // 'url' => 'contact-form-extensions/settings', + // ]; + // } + + return $nav; + } + + // Protected Methods + // ========================================================================= + + /** + * Creates and returns the model used to store the plugin’s settings. + * + * @return \craft\base\Model|null + */ + protected function createSettingsModel(): ?\craft\base\Model + { + return new Settings(); + } + + /** + * Returns the rendered settings HTML, which will be inserted into the content + * block on the settings page. + * + * @throws \Twig\Error\LoaderError + * @throws \yii\base\Exception + * + * @return string The rendered settings HTML + */ + protected function settingsHtml(): ?string + { + // Get and pre-validate the settings + $settings = $this->getSettings(); + $settings->validate(); + + // Get the settings that are being defined by the config file + $overrides = Craft::$app->getConfig()->getConfigFromFile(strtolower($this->handle)); + + return Craft::$app->view->renderTemplate( + 'contact-form-extensions/settings', + [ + 'settings' => $this->getSettings(), + 'overrides' => array_keys($overrides), + ] + ); + } + + // Private Methods + // ========================================================================= + + // private function _registerTwigExtensions(): void + // { + // Craft::$app->getView()->registerTwigExtension(new Extension); + // } + + private function _registerSettings(): void + { // Settings Template Event::on(View::class, View::EVENT_BEFORE_RENDER_TEMPLATE, function (TemplateEvent $e) { if ( @@ -107,17 +170,21 @@ public function init(): void ]; } }); + } - // Register URLS for CP - Event::on(UrlManager::class, UrlManager::EVENT_REGISTER_CP_URL_RULES, function (RegisterUrlRulesEvent $event) { - $event->rules = array_merge($event->rules, [ - 'contact-form-extensions/submissions/' => 'contact-form-extensions/submissions/show-submission', - 'contact-form-extensions/submissions//' => 'contact-form-extensions/submissions/show-submission', - ]); + private function _registerVariable(): void + { + Event::on(CraftVariable::class, CraftVariable::EVENT_INIT, function (Event $event) { + /** @var CraftVariable $variable */ + $variable = $event->sender; + $variable->set('contactFormExtensions', ContactFormExtensionsVariable::class); }); + } + private function _registerContactFormEventListeners(): void + { // Capture Before Send Event from Craft Contact Form plugin - Event::on(Mailer::class, Mailer::EVENT_BEFORE_SEND, function (SendEvent $e) { + Event::on(CraftContactFormMailer::class, CraftContactFormMailer::EVENT_BEFORE_SEND, function (CraftContactFormSendEvent $e) { if ($e->isSpam) { return; //TODO: You could add here a submission to a spam table. @@ -188,12 +255,13 @@ public function init(): void }); // Capture After Send Event from Craft Contact Form plugin - Event::on(Mailer::class, Mailer::EVENT_AFTER_SEND, function (SendEvent $e) { + Event::on(CraftContactFormMailer::class, CraftContactFormMailer::EVENT_AFTER_SEND, function (CraftContactFormSendEvent $e) { $disableConfirmation = false; if (is_array($e->submission->message) && array_key_exists('disableConfirmation', $e->submission->message)) { $disableConfirmation = filter_var($e->submission->message['disableConfirmation'], FILTER_VALIDATE_BOOLEAN); } + // Confirmation Email if ($this->settings->enableConfirmationEmail && $disableConfirmation != true) { // First set the template mode to the Site templates Craft::$app->view->setTemplateMode(View::TEMPLATE_MODE_SITE); @@ -211,9 +279,16 @@ public function init(): void ['submission' => $e->submission] ); - // Create the confirmation email + + // TODO: Both of the below are piggy back on the craft contact form plugin + + // TODO: Check fromEmail + ray($e->submission->fromEmail); + $message = new Message(); $message->setTo($e->submission->fromEmail); + ray($message); + if (isset(App::mailSettings()->fromEmail)) { $message->setFrom([Craft::parseEnv(App::mailSettings()->fromEmail) => Craft::parseEnv(App::mailSettings()->fromName)]); } else { @@ -221,7 +296,11 @@ public function init(): void } $message->setHtmlBody($html); - // Check if subject is overridden in form + + // TODO: Check subject + ray($e->submission->message['subject']); + + Check if subject is overridden in form $subject = null; if (is_array($e->submission->message) && array_key_exists('subject', $e->submission->message)) { $subject = Craft::$app->security->validateData($e->submission->message['subject']); @@ -230,6 +309,9 @@ public function init(): void } $message->setSubject($subject); + + + // Send the mail Craft::$app->mailer->send($message); @@ -239,71 +321,13 @@ public function init(): void } } }); - - Event::on( - CraftVariable::class, - CraftVariable::EVENT_INIT, - function (Event $event) { - /** @var CraftVariable $variable */ - $variable = $event->sender; - $variable->set('contactFormExtensions', ContactFormExtensionsVariable::class); - } - ); } - /** - * {@inheritdoc} - */ - public function getCpNavItem(): ?array + private function _registerCraftContactFormCheck(): void { - if (!$this->settings->enableDatabase) { - return null; + // Check that Craft Contact Form plugin is installed as this plugin adds to it + if (!Craft::$app->plugins->isPluginInstalled('contact-form') && !Craft::$app->request->getIsConsoleRequest()) { + Craft::$app->session->setNotice(Craft::t('contact-form-extensions', 'The Contact Form plugin is not installed or activated, Contact Form Extensions does not work without it.')); } - - $navItem = parent::getCpNavItem(); - - $navItem['label'] = Craft::t('contact-form-extensions', 'Form Submissions'); - - return $navItem; - } - - // Protected Methods - // ========================================================================= - - /** - * Creates and returns the model used to store the plugin’s settings. - * - * @return \craft\base\Model|null - */ - protected function createSettingsModel(): ?\craft\base\Model - { - return new Settings(); - } - - /** - * Returns the rendered settings HTML, which will be inserted into the content - * block on the settings page. - * - * @throws \Twig\Error\LoaderError - * @throws \yii\base\Exception - * - * @return string The rendered settings HTML - */ - protected function settingsHtml(): ?string - { - // Get and pre-validate the settings - $settings = $this->getSettings(); - $settings->validate(); - - // Get the settings that are being defined by the config file - $overrides = Craft::$app->getConfig()->getConfigFromFile(strtolower($this->handle)); - - return Craft::$app->view->renderTemplate( - 'contact-form-extensions/settings', - [ - 'settings' => $this->getSettings(), - 'overrides' => array_keys($overrides), - ] - ); } } diff --git a/src/base/Routes.php b/src/base/Routes.php new file mode 100755 index 0000000..908360e --- /dev/null +++ b/src/base/Routes.php @@ -0,0 +1,27 @@ +rules['contact-form-extensions/submissions/'] = 'contact-form-extensions/submissions/show-submission'; + $event->rules['contact-form-extensions/submissions//'] = 'contact-form-extensions/submissions/show-submission'; + }); + } +} + diff --git a/src/controllers/SubmissionsController.php b/src/controllers/SubmissionsController.php index 3c4ab13..11bd6b3 100644 --- a/src/controllers/SubmissionsController.php +++ b/src/controllers/SubmissionsController.php @@ -4,8 +4,8 @@ use craft\web\Controller; use hybridinteractive\contactformextensions\ContactFormExtensions; -use hybridinteractive\contactformextensions\elements\ContactFormSubmission; -use hybridinteractive\contactformextensions\elements\db\ContactFormSubmissionQuery; +use hybridinteractive\contactformextensions\elements\Submission; +use hybridinteractive\contactformextensions\elements\db\SubmissionQuery; class SubmissionsController extends Controller { @@ -17,10 +17,10 @@ class SubmissionsController extends Controller */ public function actionShowSubmission(string $submissionId = null, string $siteHandle = null) { - $query = new ContactFormSubmissionQuery(ContactFormSubmission::class); + $query = new SubmissionQuery(Submission::class); $query->id = $submissionId; - /* @var ContactFormSubmission $submission */ + /* @var Submission $submission */ $submission = $query->one(); if ($submission) { diff --git a/src/elements/ContactFormSubmission.php b/src/elements/Submission.php similarity index 53% rename from src/elements/ContactFormSubmission.php rename to src/elements/Submission.php index b3f49bb..e0453a3 100644 --- a/src/elements/ContactFormSubmission.php +++ b/src/elements/Submission.php @@ -9,90 +9,63 @@ use Craft; use craft\base\Element; +use craft\base\ElementTrait; +use craft\base\ElementInterface; use craft\elements\actions\Delete; use craft\elements\db\ElementQueryInterface; use craft\helpers\StringHelper; use craft\helpers\UrlHelper; -use hybridinteractive\contactformextensions\elements\db\ContactFormSubmissionQuery; +use hybridinteractive\contactformextensions\elements\db\SubmissionQuery; -/** - * Element. - * - * Element is the base class for classes representing elements in terms of objects. - * - * @property FieldLayout|null $fieldLayout The field layout used by this element - * @property array $htmlAttributes Any attributes that should be included in the element’s DOM representation in the Control Panel - * @property int[] $supportedSiteIds The site IDs this element is available in - * @property string|null $uriFormat The URI format used to generate this element’s URL - * @property string|null $url The element’s full URL - * @property \Twig_Markup|null $link An anchor pre-filled with this element’s URL and title - * @property string|null $ref The reference string to this element - * @property string $indexHtml The element index HTML - * @property bool $isEditable Whether the current user can edit the element - * @property string|null $cpEditUrl The element’s CP edit URL - * @property string|null $thumbUrl The URL to the element’s thumbnail, if there is one - * @property string|null $iconUrl The URL to the element’s icon image, if there is one - * @property string|null $status The element’s status - * @property Element $next The next element relative to this one, from a given set of criteria - * @property Element $prev The previous element relative to this one, from a given set of criteria - * @property Element $parent The element’s parent - * @property mixed $route The route that should be used when the element’s URI is requested - * @property int|null $structureId The ID of the structure that the element is associated with, if any - * @property ElementQueryInterface $ancestors The element’s ancestors - * @property ElementQueryInterface $descendants The element’s descendants - * @property ElementQueryInterface $children The element’s children - * @property ElementQueryInterface $siblings All of the element’s siblings - * @property Element $prevSibling The element’s previous sibling - * @property Element $nextSibling The element’s next sibling - * @property bool $hasDescendants Whether the element has descendants - * @property int $totalDescendants The total number of descendants that the element has - * @property string $title The element’s title - * @property string|null $serializedFieldValues Array of the element’s serialized custom field values, indexed by their handles - * @property array $fieldParamNamespace The namespace used by custom field params on the request - * @property string $contentTable The name of the table this element’s content is stored in - * @property string $fieldColumnPrefix The field column prefix this element’s content uses - * @property string $fieldContext The field context this element’s content uses - * - * http://pixelandtonic.com/blog/craft-element-types - * - * @author Rias - * - * @since 1.0.0 - */ -class ContactFormSubmission extends Element + +class Submission extends Element { // Public Properties // ========================================================================= - public $form; - public $fromName; - public $fromEmail; - public $subject; + public ?string $form; + public ?string $fromName; + public ?string $fromEmail; + public ?string $subject; public $message; + // Static Methods + // ========================================================================= + + /** + * @inheritDoc + */ public static function hasContent(): bool { return true; } + /** + * @inheritDoc + */ public static function isLocalized(): bool { return false; } - public static function find(): ElementQueryInterface + public function canView($user): bool { - return new ContactFormSubmissionQuery(static::class); + return true; } - protected static function defineSearchableAttributes(): array + public function canDelete($user): bool { - return ['form', 'subject', 'fromName', 'fromEmail']; + return true; } - public function getIsEditable(): bool + public static function find(): ElementQueryInterface { - return true; + return new SubmissionQuery(static::class); + } + + protected static function defineSearchableAttributes(): array + { + return ['form', 'subject', 'fromName', 'fromEmail']; } public function getCpEditUrl(): ?string @@ -100,6 +73,9 @@ public function getCpEditUrl(): ?string return UrlHelper::cpUrl('contact-form-extensions/submissions/'.$this->id); } + /** + * @inheritDoc + */ protected static function defineSources(string $context = null): array { $forms = array_unique(array_map(function (self $submission) { @@ -125,19 +101,27 @@ protected static function defineSources(string $context = null): array return $sources; } + /** + * @inheritDoc + */ protected static function defineActions(string $source = null): array { - $actions = []; + $elementsService = Craft::$app->getElements(); - $actions[] = Craft::$app->getElements()->createAction([ + $actions = parent::defineActions($source); + + $actions[] = $elementsService->createAction([ 'type' => Delete::class, - 'confirmationMessage' => Craft::t('app', 'Are you sure you want to delete the selected entries?'), - 'successMessage' => Craft::t('app', 'Entries deleted.'), + 'confirmationMessage' => Craft::t('contact-form-extensions', 'Are you sure you want to delete the selected submissions?'), + 'successMessage' => Craft::t('contact-form-extensions', 'Submissions deleted.'), ]); return $actions; } + /** + * @inheritDoc + */ protected static function defineTableAttributes(): array { $attributes = [ @@ -153,6 +137,9 @@ protected static function defineTableAttributes(): array return $attributes; } + /** + * @inheritDoc + */ protected static function defineDefaultTableAttributes(string $source): array { return [ @@ -166,6 +153,9 @@ protected static function defineDefaultTableAttributes(string $source): array ]; } + /** + * @inheritDoc + */ public function getTableAttributeHtml(string $attribute): string { if ($attribute == 'message') { @@ -185,6 +175,9 @@ public function getTableAttributeHtml(string $attribute): string return parent::getTableAttributeHtml($attribute); // TODO: Change the autogenerated stub } + /** + * @inheritDoc + */ protected static function defineSortOptions(): array { $sortOptions = parent::defineSortOptions(); diff --git a/src/elements/db/ContactFormSubmissionQuery.php b/src/elements/db/SubmissionQuery.php similarity index 97% rename from src/elements/db/ContactFormSubmissionQuery.php rename to src/elements/db/SubmissionQuery.php index cc6ebd0..1956af5 100644 --- a/src/elements/db/ContactFormSubmissionQuery.php +++ b/src/elements/db/SubmissionQuery.php @@ -5,7 +5,7 @@ use craft\elements\db\ElementQuery; use craft\helpers\Db; -class ContactFormSubmissionQuery extends ElementQuery +class SubmissionQuery extends ElementQuery { public $form; public $subject; diff --git a/src/services/ContactFormExtensionsService.php b/src/services/ContactFormExtensionsService.php index a7359e5..5dcf502 100644 --- a/src/services/ContactFormExtensionsService.php +++ b/src/services/ContactFormExtensionsService.php @@ -13,26 +13,13 @@ use Craft; use craft\base\Component; -use craft\contactform\models\Submission; +use craft\contactform\models\Submission as CraftContactFormSubmission; use craft\helpers\StringHelper; use hybridinteractive\contactformextensions\ContactFormExtensions; -use hybridinteractive\contactformextensions\elements\ContactFormSubmission; +use hybridinteractive\contactformextensions\elements\Submission; use hybridinteractive\contactformextensions\models\RecaptchaV3; use yii\base\Exception; -/** - * CraftContactFormExtensionsService Service. - * - * All of your plugin’s business logic should go in services, including saving data, - * retrieving data, etc. They provide APIs that your controllers, template variables, - * and other plugins can interact with. - * - * https://craftcms.com/docs/plugins/services - * - * @author Rias - * - * @since 1.0.0 - */ class ContactFormExtensionsService extends Component { // Public Methods @@ -54,9 +41,9 @@ class ContactFormExtensionsService extends Component * * @return mixed */ - public function saveSubmission(Submission $submission) + public function saveSubmission(CraftContactFormSubmission $submission) { - $contactFormSubmission = new ContactFormSubmission(); + $contactFormSubmission = new Submission(); $contactFormSubmission->form = $submission->message['formName'] ?? 'contact'; $contactFormSubmission->fromName = $submission->fromName; $contactFormSubmission->fromEmail = $submission->fromEmail; diff --git a/src/templates/index.twig b/src/templates/index.twig index 8e725ba..a755cfc 100644 --- a/src/templates/index.twig +++ b/src/templates/index.twig @@ -1,16 +1,5 @@ -{# @var craft \craft\web\twig\variables\CraftVariable #} -{# -/** - * Craft Contact Form Extensions plugin for Craft CMS 3.x - * - * Craft Contact Form Extensions index.twig - * - * @package CraftContactFormExtensions - * @since 1.0.0 - */ -#} -{% set elementType = "hybridinteractive\\contactformextensions\\elements\\ContactFormSubmission" %} +{% set elementType = "hybridinteractive\\contactformextensions\\elements\\Submission" %} {% extends '_layouts/elementindex' %} {% set title = "Submissions" |t %} diff --git a/src/templates/settings.twig b/src/templates/settings.twig index 405277b..780e635 100644 --- a/src/templates/settings.twig +++ b/src/templates/settings.twig @@ -1,18 +1,5 @@ -{# @var craft \craft\web\twig\variables\CraftVariable #} -{# -/** - * Craft Contact Form Extensions plugin for Craft CMS 3.x - * - * Craft Contact Form Extensions Settings.twig - * - * @package CraftContactFormExtensions - * @since 1.0.0 - */ -#} - {% import "_includes/forms" as forms %} - {% macro configWarning(setting) -%} {% set setting = ''~setting~'' %} {{ "This is being overridden by the {setting} config setting in your {file} config file."|t('contact-form-extensions', { diff --git a/src/templates/submissions/_show.twig b/src/templates/submissions/_show.twig index 6c13c59..f5ee2da 100644 --- a/src/templates/submissions/_show.twig +++ b/src/templates/submissions/_show.twig @@ -4,22 +4,28 @@ {% set fullPageForm = true %} {% set title = submission ? submission.dateCreated|date('d/m/Y H:i') : "" %} +{# {% hook "cp.contactFormSubmission.show" %} #} + +{% if crumbs is not defined %} + {% set crumbs = [ + { label: craft.contactFormExtensions.name, url: url('contact-form-extensions') }, + { label: submission.subject, url: '' } + ] %} +{% endif %} -{% hook "cp.contactFormSubmission.show" %} {% block header %} {{ block('pageTitle') }} - {{ block('contextMenu') }} -
- {{ block('actionButton') }} + {# {{ block('contextMenu') }} #} + {#
#} + {# {{ block('actionButton') }} #} {% endblock %} -{% block contextMenu %} +{# {% block contextMenu %} {% endblock %} {% block actionButton %} -{% endblock %} - +{% endblock %} #} {% block content %}
@@ -49,7 +55,7 @@ {{ "Back to overview"|t('contact-form-extensions') }} {# Give plugins a chance to add other things here #} - {% hook "cp.contactFormSubmission.show.content" %} + {# {% hook "cp.contactFormSubmission.show.content" %} #} {% endblock %} {% block details %} @@ -64,5 +70,5 @@ {% endif %} {# Give plugins a chance to add other stuff here #} - {% hook "cp.contactFormSubmission.show.details" %} + {# {% hook "cp.contactFormSubmission.show.details" %} #} {% endblock %} diff --git a/src/variables/ContactFormExtensionsVariable.php b/src/variables/ContactFormExtensionsVariable.php index 3b89870..8123fc9 100644 --- a/src/variables/ContactFormExtensionsVariable.php +++ b/src/variables/ContactFormExtensionsVariable.php @@ -10,7 +10,7 @@ use Craft; use craft\elements\db\ElementQueryInterface; use hybridinteractive\contactformextensions\ContactFormExtensions; -use hybridinteractive\contactformextensions\elements\ContactFormSubmission; +use hybridinteractive\contactformextensions\elements\Submission; class ContactFormExtensionsVariable { @@ -30,7 +30,7 @@ public function recaptcha(string $localeOrAction = null) public function submissions($criteria = null): ElementQueryInterface { - $query = ContactFormSubmission::find(); + $query = Submission::find(); if ($criteria) { Craft::configure($query, $criteria); From 64ed823c1e00e057b049233e3a9e6c080ddc1419 Mon Sep 17 00:00:00 2001 From: StyleCI Bot Date: Fri, 6 May 2022 04:29:23 +0000 Subject: [PATCH 10/14] Apply fixes from StyleCI --- src/base/Routes.php | 5 ++--- src/controllers/SubmissionsController.php | 2 +- src/elements/Submission.php | 3 --- 3 files changed, 3 insertions(+), 7 deletions(-) diff --git a/src/base/Routes.php b/src/base/Routes.php index 908360e..15afe61 100755 --- a/src/base/Routes.php +++ b/src/base/Routes.php @@ -1,9 +1,9 @@ rules['contact-form-extensions/submissions/'] = 'contact-form-extensions/submissions/show-submission'; $event->rules['contact-form-extensions/submissions//'] = 'contact-form-extensions/submissions/show-submission'; }); } } - diff --git a/src/controllers/SubmissionsController.php b/src/controllers/SubmissionsController.php index 11bd6b3..b23ebd8 100644 --- a/src/controllers/SubmissionsController.php +++ b/src/controllers/SubmissionsController.php @@ -4,8 +4,8 @@ use craft\web\Controller; use hybridinteractive\contactformextensions\ContactFormExtensions; -use hybridinteractive\contactformextensions\elements\Submission; use hybridinteractive\contactformextensions\elements\db\SubmissionQuery; +use hybridinteractive\contactformextensions\elements\Submission; class SubmissionsController extends Controller { diff --git a/src/elements/Submission.php b/src/elements/Submission.php index e0453a3..2c4cabc 100644 --- a/src/elements/Submission.php +++ b/src/elements/Submission.php @@ -9,15 +9,12 @@ use Craft; use craft\base\Element; -use craft\base\ElementTrait; -use craft\base\ElementInterface; use craft\elements\actions\Delete; use craft\elements\db\ElementQueryInterface; use craft\helpers\StringHelper; use craft\helpers\UrlHelper; use hybridinteractive\contactformextensions\elements\db\SubmissionQuery; - class Submission extends Element { // Public Properties From 023e76a66ee573c492f8dc34731d4d1d07a406da Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Fri, 6 May 2022 17:48:27 -0400 Subject: [PATCH 11/14] Pushing first working version for testing on Craft 4 --- README.md | 23 ++++--- src/ContactFormExtensions.php | 67 +++++++------------ src/elements/Submission.php | 6 +- src/services/ContactFormExtensionsService.php | 4 -- src/templates/submissions/_show.twig | 16 +++-- 5 files changed, 51 insertions(+), 65 deletions(-) diff --git a/README.md b/README.md index 36ab57f..9f2a52d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ This plugin is licensed under a MIT license, which means that it's completely fr ## Requirements -This plugin requires Craft CMS 3 and the [Contact Form](https://github.com/craftcms/contact-form) plugin. +This plugin requires Craft CMS 4 and the [Contact Form](https://github.com/craftcms/contact-form) plugin. ## Installation @@ -57,14 +57,21 @@ When saving submissions to the database the default form name will be "Contact". When sending confirmation option is enabled and custom templates per form are needed, override the template with a hidden field. The template needs to be placed under templates\\_emails folder. Add a hash for safety. The same data is passed as in the default overridden template. ``` - + ``` ## Overriding the confirmation subject When sending confirmation option is enabled and custom subjects per form are needed, override the subject with a hidden field. Add a hash for safety. ``` - + +``` + +## Overriding the notification template +When sending notification option is enabled and custom templates per form are needed, override the template with a hidden field. The template needs to be placed under templates\\_emails folder. Add a hash for safety. The same data is passed as in the default overridden template. + +``` + ``` ## Overriding where the message is sent @@ -73,19 +80,19 @@ When sending confirmation option is enabled and custom subjects per form are nee ``` -## Overriding recaptcha on a per form basis +## Disable recaptcha on a per form basis ``` - + ``` -## Overriding saving to database on a per form basis +## Disable saving to database on a per form basis ``` - + ``` -## Overriding confirmation email on a per form basis +## Disable confirmation email on a per form basis ``` diff --git a/src/ContactFormExtensions.php b/src/ContactFormExtensions.php index f11ab61..bef4b3a 100644 --- a/src/ContactFormExtensions.php +++ b/src/ContactFormExtensions.php @@ -10,7 +10,6 @@ use hybridinteractive\contactformextensions\base\Routes; use hybridinteractive\contactformextensions\models\Settings; use hybridinteractive\contactformextensions\variables\ContactFormExtensionsVariable; -// use hybridinteractive\contactformextensions\services\ContactFormExtensionsService as ContactFormExtensionsServiceService; use Craft; use craft\base\Plugin; @@ -150,11 +149,6 @@ protected function settingsHtml(): ?string // Private Methods // ========================================================================= - // private function _registerTwigExtensions(): void - // { - // Craft::$app->getView()->registerTwigExtension(new Extension); - // } - private function _registerSettings(): void { // Settings Template @@ -187,16 +181,15 @@ private function _registerContactFormEventListeners(): void Event::on(CraftContactFormMailer::class, CraftContactFormMailer::EVENT_BEFORE_SEND, function (CraftContactFormSendEvent $e) { if ($e->isSpam) { return; - //TODO: You could add here a submission to a spam table. } - // Recaptcha override - $recaptchaTemplateOverride = false; - if (is_array($e->submission->message) && array_key_exists('recaptchaTemplateOverride', $e->submission->message)) { - $recaptchaTemplateOverride = filter_var($e->submission->message['recaptchaTemplateOverride'], FILTER_VALIDATE_BOOLEAN); + // Disable Recaptcha + $disableRecaptcha = false; + if (is_array($e->submission->message) && array_key_exists('disableRecaptcha', $e->submission->message)) { + $disableRecaptcha = filter_var($e->submission->message['disableRecaptcha'], FILTER_VALIDATE_BOOLEAN); } - if ($this->settings->recaptcha && $recaptchaTemplateOverride != true) { + if ($this->settings->recaptcha && $disableRecaptcha != true) { $recaptcha = $this->contactFormExtensionsService->getRecaptcha(); $captchaResponse = Craft::$app->request->getParam('g-recaptcha-response'); @@ -208,24 +201,24 @@ private function _registerContactFormEventListeners(): void } } - // Save to DB override - $saveSubmissionOverride = false; - if (is_array($e->submission->message) && array_key_exists('saveSubmissionOverride', $e->submission->message)) { - $saveSubmissionOverride = filter_var($e->submission->message['saveSubmissionOverride'], FILTER_VALIDATE_BOOLEAN); + // Disable Saving Submission to DB + $disableSaveSubmission = false; + if (is_array($e->submission->message) && array_key_exists('disableSaveSubmission', $e->submission->message)) { + $disableSaveSubmission = filter_var($e->submission->message['disableSaveSubmission'], FILTER_VALIDATE_BOOLEAN); } $submission = $e->submission; - if ($this->settings->enableDatabase && $saveSubmissionOverride != true) { + if ($this->settings->enableDatabase && $disableSaveSubmission != true) { $this->contactFormExtensionsService->saveSubmission($submission); } - // Set the overridden "toEmail" setting + // Override toEmail setting if (is_array($e->submission->message) && array_key_exists('toEmail', $e->submission->message)) { $email = Craft::$app->security->validateData($e->submission->message['toEmail']); $e->toEmails = explode(',', $email); } - // Override template (Notification) + // Notification Template and overrides if ($this->settings->enableTemplateOverwrite) { // First set the template mode to the Site templates Craft::$app->view->setTemplateMode(View::TEMPLATE_MODE_SITE); @@ -256,38 +249,35 @@ private function _registerContactFormEventListeners(): void // Capture After Send Event from Craft Contact Form plugin Event::on(CraftContactFormMailer::class, CraftContactFormMailer::EVENT_AFTER_SEND, function (CraftContactFormSendEvent $e) { + + // Disable confirmation $disableConfirmation = false; if (is_array($e->submission->message) && array_key_exists('disableConfirmation', $e->submission->message)) { $disableConfirmation = filter_var($e->submission->message['disableConfirmation'], FILTER_VALIDATE_BOOLEAN); } - // Confirmation Email + // Confirmation Template and overrides if ($this->settings->enableConfirmationEmail && $disableConfirmation != true) { // First set the template mode to the Site templates Craft::$app->view->setTemplateMode(View::TEMPLATE_MODE_SITE); // Check if template is overridden in form $template = null; - if (is_array($e->submission->message) && array_key_exists('template', $e->submission->message)) { - $template = '_emails\\'.Craft::$app->security->validateData($e->submission->message['template']); + if (is_array($e->submission->message) && array_key_exists('confirmationTemplate', $e->submission->message)) { + $template = '_emails\\'.Craft::$app->security->validateData($e->submission->message['confirmationTemplate']); } else { // Render the set template $template = $this->settings->confirmationTemplate; } + $html = Craft::$app->view->renderTemplate( $template, ['submission' => $e->submission] ); - - // TODO: Both of the below are piggy back on the craft contact form plugin - - // TODO: Check fromEmail - ray($e->submission->fromEmail); - + // Check fromEmail $message = new Message(); $message->setTo($e->submission->fromEmail); - ray($message); if (isset(App::mailSettings()->fromEmail)) { $message->setFrom([Craft::parseEnv(App::mailSettings()->fromEmail) => Craft::parseEnv(App::mailSettings()->fromName)]); @@ -296,21 +286,14 @@ private function _registerContactFormEventListeners(): void } $message->setHtmlBody($html); - - // TODO: Check subject - ray($e->submission->message['subject']); - - Check if subject is overridden in form - $subject = null; - if (is_array($e->submission->message) && array_key_exists('subject', $e->submission->message)) { - $subject = Craft::$app->security->validateData($e->submission->message['subject']); + // Check for subject override + $confirmationSubject = null; + if (is_array($e->submission->message) && array_key_exists('confirmationSubject', $e->submission->message)) { + $confirmationSubject = Craft::$app->security->validateData($e->submission->message['confirmationSubject']); } else { - $subject = $this->settings->getConfirmationSubject(); + $confirmationSubject = $this->settings->getConfirmationSubject(); } - $message->setSubject($subject); - - - + $message->setSubject($confirmationSubject); // Send the mail Craft::$app->mailer->send($message); diff --git a/src/elements/Submission.php b/src/elements/Submission.php index e0453a3..14f83d8 100644 --- a/src/elements/Submission.php +++ b/src/elements/Submission.php @@ -9,8 +9,6 @@ use Craft; use craft\base\Element; -use craft\base\ElementTrait; -use craft\base\ElementInterface; use craft\elements\actions\Delete; use craft\elements\db\ElementQueryInterface; use craft\helpers\StringHelper; @@ -162,7 +160,7 @@ public function getTableAttributeHtml(string $attribute): string $message = (array) json_decode($this->message); $html = '
    '; foreach ($message as $key => $value) { - if (is_string($value)) { + if (is_string($value) && $key != "formName" && $key != "toEmail" && $key != "confirmationSubject" && $key != "confirmationTemplate" && $key != "notificationTemplate" && $key != "disableRecaptcha" && $key != "disableConfirmation" ) { $shortened = trim(substr($value, 0, 30)); $html .= "
  • {$key}: {$shortened}...
  • "; } @@ -172,7 +170,7 @@ public function getTableAttributeHtml(string $attribute): string return StringHelper::convertToUtf8($html); } - return parent::getTableAttributeHtml($attribute); // TODO: Change the autogenerated stub + return parent::getTableAttributeHtml($attribute); } /** diff --git a/src/services/ContactFormExtensionsService.php b/src/services/ContactFormExtensionsService.php index 5dcf502..1377885 100644 --- a/src/services/ContactFormExtensionsService.php +++ b/src/services/ContactFormExtensionsService.php @@ -3,10 +3,6 @@ * Craft Contact Form Extensions plugin for Craft CMS 4.x. * * Adds extensions to the Craft CMS contact form plugin. - * - * @link https://rias.be - * - * @copyright Copyright (c) 2018 Rias */ namespace hybridinteractive\contactformextensions\services; diff --git a/src/templates/submissions/_show.twig b/src/templates/submissions/_show.twig index f5ee2da..c9c5b4f 100644 --- a/src/templates/submissions/_show.twig +++ b/src/templates/submissions/_show.twig @@ -37,13 +37,15 @@

    {{ "From email"|t('contact-form-extensions') }}

    {{ submission.fromEmail }}

    {% for key, value in messageObject %} -

    {{ key|ucfirst|t('contact-form-extensions') }}

    - {% if value is iterable %} - {% for item in value %} -

    {{ item|nl2br }}

    - {% endfor %} - {% else %} -

    {{ value|nl2br }}

    + {% if key != "formName" and key != "toEmail" and key != "confirmationSubject" and key != "confirmationTemplate" and key != "notificationTemplate" and key != "disableRecaptcha" and key != "disableConfirmation" %} +

    {{ key|ucfirst|t('contact-form-extensions') }}

    + {% if value is iterable %} + {% for item in value %} +

    {{ item|nl2br }}

    + {% endfor %} + {% else %} +

    {{ value|nl2br }}

    + {% endif %} {% endif %} {% endfor %} {% else %} From 040198835a26db014b81ec35495e4776cd968d58 Mon Sep 17 00:00:00 2001 From: StyleCI Bot Date: Fri, 6 May 2022 21:49:09 +0000 Subject: [PATCH 12/14] Apply fixes from StyleCI --- src/ContactFormExtensions.php | 7 +++---- src/elements/Submission.php | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/ContactFormExtensions.php b/src/ContactFormExtensions.php index bef4b3a..9b9dc4a 100644 --- a/src/ContactFormExtensions.php +++ b/src/ContactFormExtensions.php @@ -7,10 +7,6 @@ namespace hybridinteractive\contactformextensions; -use hybridinteractive\contactformextensions\base\Routes; -use hybridinteractive\contactformextensions\models\Settings; -use hybridinteractive\contactformextensions\variables\ContactFormExtensionsVariable; - use Craft; use craft\base\Plugin; use craft\contactform\events\SendEvent as CraftContactFormSendEvent; @@ -20,6 +16,9 @@ use craft\mail\Message; use craft\web\twig\variables\CraftVariable; use craft\web\View; +use hybridinteractive\contactformextensions\base\Routes; +use hybridinteractive\contactformextensions\models\Settings; +use hybridinteractive\contactformextensions\variables\ContactFormExtensionsVariable; use yii\base\Event; class ContactFormExtensions extends Plugin diff --git a/src/elements/Submission.php b/src/elements/Submission.php index 5ba8e4c..f58134e 100644 --- a/src/elements/Submission.php +++ b/src/elements/Submission.php @@ -159,7 +159,7 @@ public function getTableAttributeHtml(string $attribute): string $message = (array) json_decode($this->message); $html = '
      '; foreach ($message as $key => $value) { - if (is_string($value) && $key != "formName" && $key != "toEmail" && $key != "confirmationSubject" && $key != "confirmationTemplate" && $key != "notificationTemplate" && $key != "disableRecaptcha" && $key != "disableConfirmation" ) { + if (is_string($value) && $key != 'formName' && $key != 'toEmail' && $key != 'confirmationSubject' && $key != 'confirmationTemplate' && $key != 'notificationTemplate' && $key != 'disableRecaptcha' && $key != 'disableConfirmation') { $shortened = trim(substr($value, 0, 30)); $html .= "
    • {$key}: {$shortened}...
    • "; } From 020cb0e55027e5da1f09be2afa05b4e1c0d726a1 Mon Sep 17 00:00:00 2001 From: Ross Kenney Date: Mon, 9 May 2022 14:17:56 -0400 Subject: [PATCH 13/14] Fix for breadcrumbs on missing submission. --- src/templates/submissions/_show.twig | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/templates/submissions/_show.twig b/src/templates/submissions/_show.twig index c9c5b4f..5f21491 100644 --- a/src/templates/submissions/_show.twig +++ b/src/templates/submissions/_show.twig @@ -7,10 +7,17 @@ {# {% hook "cp.contactFormSubmission.show" %} #} {% if crumbs is not defined %} - {% set crumbs = [ - { label: craft.contactFormExtensions.name, url: url('contact-form-extensions') }, - { label: submission.subject, url: '' } - ] %} + {% if submission %} + {% set crumbs = [ + { label: craft.contactFormExtensions.name, url: url('contact-form-extensions') }, + { label: submission.subject, url: '' } + ] %} + + {% else %} + {% set crumbs = [ + { label: craft.contactFormExtensions.name, url: url('contact-form-extensions') } + ] %} + {% endif %} {% endif %} From c9f8e98975bdb5be8df7e1a7fb788190b92a9578 Mon Sep 17 00:00:00 2001 From: Mark Busnelli Jr Date: Mon, 16 May 2022 13:20:10 -0600 Subject: [PATCH 14/14] Prep for 4.0.0-beta.3 release --- CHANGELOG.md | 10 ++++++++++ composer.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75c5c61..f6c98f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +## [4.0.0-beta.3] - 2022-05-16 +There were many updates made for this plugin and cleaned up and adjusted many things. The 4 changes below will need to be updated in the templates in order for everything to work. + +``` +message['template'] -> message['confirmationTemplate'] +message['subject'] -> message['confirmationSubject'] +message['recaptchaTemplateOverride'] -> message['disableRecaptcha'] +message['saveSubmissionOverride'] -> message['disableSaveSubmission'] +``` + ## [1.3.0] - 2022-04-14 - Adding ability to override recaptcha on a per form basis. [#108](https://github.com/hybridinteractive/craft-contact-form-extensions/issues/108) - Override for saving to db on a per form basis diff --git a/composer.json b/composer.json index 383df73..b0779be 100644 --- a/composer.json +++ b/composer.json @@ -1,7 +1,7 @@ { "name": "hybridinteractive/craft-contact-form-extensions", "description": "Adds extensions to the Craft CMS contact form plugin.", - "version": "4.0.0-alpha.1", + "version": "4.0.0-beta.3", "type": "craft-plugin", "keywords": [ "cms",