diff --git a/CHANGELOG-WIP.md b/CHANGELOG-WIP.md index 6f91c1fea19..f36ed1ecdc7 100644 --- a/CHANGELOG-WIP.md +++ b/CHANGELOG-WIP.md @@ -28,7 +28,8 @@ - Improved the styling of element chips. - Improved checkbox-style deselection behavior for control panel items, to account for double-clicks. - Table views are no longer available for element indexes on mobile. -- Address conditions now have “Address Line 1”, “Address Line 2”, “Administrative Area”, “Country”, “Dependent Locality”, “First Name”, “Full Name”, “Last Name”, “Locality”, “Organization Tax ID”, “Organization”, “Postal Code”, and “Sorting Code” rules. +- Added the “Address Line 3” address field. ([#14318](https://github.com/craftcms/cms/discussions/14318)) +- Address conditions now have “Address Line 1”, “Address Line 2”, “Address Line 3”, “Administrative Area”, “Country”, “Dependent Locality”, “First Name”, “Full Name”, “Last Name”, “Locality”, “Organization Tax ID”, “Organization”, “Postal Code”, and “Sorting Code” rules. - Added live conditional field support to user edit pages and inline-editable Matrix blocks. ([#14115](https://github.com/craftcms/cms/pull/14115), [#14223](https://github.com/craftcms/cms/pull/14223)) - Earth icons are now localized based on the system time zone. @@ -105,7 +106,7 @@ - Assets, categories, entries, and tags now support eager-loading paths prefixed with a field layout provider’s handle (e.g. `myEntryType:myField`). - Element queries now have an `eagerly` param, which can be used to lazily eager-load the resulting elements for all peer elements, when `all()`, `collect()`, `one()`, `nth()`, or `count()` is called. - Element queries now have an `inBulkOp` param, which limits the results to elements which were involved in a bulk operation. ([#14032](https://github.com/craftcms/cms/pull/14032)) -- Address queries now have `addressLine1`, `addressLine2`, `administrativeArea`, `countryCode`, `dependentLocality`, `firstName`, `fullName`, `lastName`, `locality`, `organizationTaxId`, `organization`, `postalCode`, and `sortingCode` params. +- Address queries now have `addressLine1`, `addressLine2`, `addressLine3`, `administrativeArea`, `countryCode`, `dependentLocality`, `firstName`, `fullName`, `lastName`, `locality`, `organizationTaxId`, `organization`, `postalCode`, and `sortingCode` params. - Entry queries now have `field`, `fieldId`, `primaryOwner`, `primaryOwnerId`, `owner`, `ownerId`, `allowOwnerDrafts`, and `allowOwnerRevisions` params. - Entry queries’ `authorId` params now support passing multiple IDs prefixed with `and`, to fetch entries with multiple listed authors. - User queries now have an `authorOf` param. @@ -211,6 +212,7 @@ - Added `craft\elements\conditions\ElementConditionInterface::getFieldLayouts()`. - Added `craft\elements\conditions\addresses\AddressLine1ConditionRule`. - Added `craft\elements\conditions\addresses\AddressLine2ConditionRule`. +- Added `craft\elements\conditions\addresses\AddressLine3ConditionRule`. - Added `craft\elements\conditions\addresses\AdministrativeAreaConditionRule`. - Added `craft\elements\conditions\addresses\CountryConditionRule`. - Added `craft\elements\conditions\addresses\DependentLocalityConditionRule`. @@ -604,6 +606,7 @@ - Craft now requires `pragmarx/google2fa`. - Craft now requires `pragmarx/recovery`. - Craft now requires `web-auth/webauthn-lib`. +- Updated `commerceguys/addressing` to v2. ([#14318](https://github.com/craftcms/cms/discussions/14318)) - Updated `illuminate/collections` to v10. - Updated `yiisoft/yii2-symfonymailer` to v4. - Craft no longer requires `composer/composer`. diff --git a/CHANGELOG.md b/CHANGELOG.md index 4ffdfac54ad..15797f57d6a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ - It’s now possible to expand and collapse global sidebar items without navigating to them. ([#14313](https://github.com/craftcms/cms/issues/14313), [#14321](https://github.com/craftcms/cms/pull/14321)) - Removed the maximum content area width. ([#14281](https://github.com/craftcms/cms/pull/14281)) +- Added the “Address Line 3” address field. ([#14318](https://github.com/craftcms/cms/discussions/14318)) +- Address conditions now have an “Address Line 3” rule. +- Address queries now have `addressLine3` params. +- Added `craft\elements\conditions\addresses\AddressLine3ConditionRule`. +- Updated `commerceguys/addressing` to v2. ([#14318](https://github.com/craftcms/cms/discussions/14318)) - Fixed a bug where querying elements with `eagerly()` wasn’t working across element types. - Fixed a SQL error that could occur when querying relations with `eagerly()`. - Fixed a bug where element actions weren’t working for elements that were added to a relational field. diff --git a/composer.json b/composer.json index 9db53a676b2..09eb44e812b 100644 --- a/composer.json +++ b/composer.json @@ -35,7 +35,7 @@ "ext-pdo": "*", "ext-zip": "*", "bacon/bacon-qr-code": "^2.0", - "commerceguys/addressing": "^1.2", + "commerceguys/addressing": "^2.1.1", "composer/semver": "^3.3.2", "craftcms/plugin-installer": "~1.6.0", "craftcms/server-check": "~5.0.1", diff --git a/composer.lock b/composer.lock index 241f0e422bb..b62a6f77e04 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": "4f678f338eaaea7283729a78f4b9a7e6", + "content-hash": "89ca2a71f0d29f9b9c2a8b5b3277f6de", "packages": [ { "name": "bacon/bacon-qr-code", @@ -62,25 +62,25 @@ }, { "name": "brick/math", - "version": "0.11.0", + "version": "0.12.1", "source": { "type": "git", "url": "https://github.com/brick/math.git", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + "reference": "f510c0a40911935b77b86859eb5223d58d660df1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", + "reference": "f510c0a40911935b77b86859eb5223d58d660df1", "shasum": "" }, "require": { - "php": "^8.0" + "php": "^8.1" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^9.0", - "vimeo/psalm": "5.0.0" + "phpunit/phpunit": "^10.1", + "vimeo/psalm": "5.16.0" }, "type": "library", "autoload": { @@ -100,12 +100,17 @@ "arithmetic", "bigdecimal", "bignum", + "bignumber", "brick", - "math" + "decimal", + "integer", + "math", + "mathematics", + "rational" ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.11.0" + "source": "https://github.com/brick/math/tree/0.12.1" }, "funding": [ { @@ -113,7 +118,7 @@ "type": "github" } ], - "time": "2023-01-15T23:15:59+00:00" + "time": "2023-11-29T23:19:16+00:00" }, { "name": "cebe/markdown", @@ -181,28 +186,28 @@ }, { "name": "commerceguys/addressing", - "version": "v1.4.2", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/commerceguys/addressing.git", - "reference": "406c7b5f0fbe4f6a64155c0fe03b1adb34d01308" + "reference": "d7faef18fc7110b233b81c8d18006e74c6c49a52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/commerceguys/addressing/zipball/406c7b5f0fbe4f6a64155c0fe03b1adb34d01308", - "reference": "406c7b5f0fbe4f6a64155c0fe03b1adb34d01308", + "url": "https://api.github.com/repos/commerceguys/addressing/zipball/d7faef18fc7110b233b81c8d18006e74c6c49a52", + "reference": "d7faef18fc7110b233b81c8d18006e74c6c49a52", "shasum": "" }, "require": { - "doctrine/collections": "^1.2 || ^2.0", - "php": ">=7.3" + "doctrine/collections": "^1.6 || ^2.0", + "php": ">=8.0" }, "require-dev": { "ext-json": "*", - "mikey179/vfsstream": "^1.6.10", - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "^3.6", - "symfony/validator": "^4.4 || ^5.4 || ^6.0" + "mikey179/vfsstream": "^1.6.11", + "phpunit/phpunit": "^9.6", + "squizlabs/php_codesniffer": "^3.7", + "symfony/validator": "^5.4 || ^6.3 || ^7.0" }, "suggest": { "symfony/validator": "to validate addresses" @@ -210,7 +215,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-master": "2.x-dev" } }, "autoload": { @@ -239,9 +244,9 @@ ], "support": { "issues": "https://github.com/commerceguys/addressing/issues", - "source": "https://github.com/commerceguys/addressing/tree/v1.4.2" + "source": "https://github.com/commerceguys/addressing/tree/v2.1.1" }, - "time": "2023-02-15T10:11:14+00:00" + "time": "2023-11-28T18:04:35+00:00" }, { "name": "composer/semver", @@ -668,16 +673,16 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { @@ -709,33 +714,33 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.2" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2023-09-27T20:04:15+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/lexer", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "84a527db05647743d50373e0ec53a152f2cde568" + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", - "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "shasum": "" }, "require": { "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^9.5", + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.0" + "vimeo/psalm": "^5.21" }, "type": "library", "autoload": { @@ -772,7 +777,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/3.0.0" + "source": "https://github.com/doctrine/lexer/tree/3.0.1" }, "funding": [ { @@ -788,7 +793,7 @@ "type": "tidelift" } ], - "time": "2022-12-15T16:57:16+00:00" + "time": "2024-02-05T11:56:58+00:00" }, { "name": "egulias/email-validator", @@ -1334,7 +1339,7 @@ }, { "name": "illuminate/collections", - "version": "v10.42.0", + "version": "v10.43.0", "source": { "type": "git", "url": "https://github.com/illuminate/collections.git", @@ -1389,7 +1394,7 @@ }, { "name": "illuminate/conditionable", - "version": "v10.42.0", + "version": "v10.43.0", "source": { "type": "git", "url": "https://github.com/illuminate/conditionable.git", @@ -1435,7 +1440,7 @@ }, { "name": "illuminate/contracts", - "version": "v10.42.0", + "version": "v10.43.0", "source": { "type": "git", "url": "https://github.com/illuminate/contracts.git", @@ -1483,7 +1488,7 @@ }, { "name": "illuminate/macroable", - "version": "v10.42.0", + "version": "v10.43.0", "source": { "type": "git", "url": "https://github.com/illuminate/macroable.git", @@ -2981,27 +2986,27 @@ }, { "name": "spomky-labs/cbor-php", - "version": "3.0.3", + "version": "3.0.4", "source": { "type": "git", "url": "https://github.com/Spomky-Labs/cbor-php.git", - "reference": "81d5dff7a1101d680729b5789f4359d01b15e6c5" + "reference": "658ed12a85a6b31fa312b89cd92f3a4ce6df4c6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/81d5dff7a1101d680729b5789f4359d01b15e6c5", - "reference": "81d5dff7a1101d680729b5789f4359d01b15e6c5", + "url": "https://api.github.com/repos/Spomky-Labs/cbor-php/zipball/658ed12a85a6b31fa312b89cd92f3a4ce6df4c6b", + "reference": "658ed12a85a6b31fa312b89cd92f3a4ce6df4c6b", "shasum": "" }, "require": { - "brick/math": "^0.9|^0.10|^0.11", + "brick/math": "^0.9|^0.10|^0.11|^0.12", "ext-mbstring": "*", "php": ">=8.0" }, "require-dev": { "ekino/phpstan-banned-code": "^1.0", "ext-json": "*", - "infection/infection": "^0.26", + "infection/infection": "^0.27", "php-parallel-lint/php-parallel-lint": "^1.3", "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.0", @@ -3009,12 +3014,12 @@ "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^10.0", + "phpunit/phpunit": "^10.1", "qossmic/deptrac-shim": "^1.0", - "rector/rector": "^0.15", + "rector/rector": "^0.19", "roave/security-advisories": "dev-latest", - "symfony/var-dumper": "^6.0", - "symplify/easy-coding-standard": "^11.1" + "symfony/var-dumper": "^6.0|^7.0", + "symplify/easy-coding-standard": "^12.0" }, "suggest": { "ext-bcmath": "GMP or BCMath extensions will drastically improve the library performance. BCMath extension needed to handle the Big Float and Decimal Fraction Tags", @@ -3048,7 +3053,7 @@ ], "support": { "issues": "https://github.com/Spomky-Labs/cbor-php/issues", - "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.0.3" + "source": "https://github.com/Spomky-Labs/cbor-php/tree/3.0.4" }, "funding": [ { @@ -3060,24 +3065,24 @@ "type": "patreon" } ], - "time": "2023-02-28T21:37:12+00:00" + "time": "2024-01-29T20:33:48+00:00" }, { "name": "spomky-labs/pki-framework", - "version": "1.1.0", + "version": "1.1.1", "source": { "type": "git", "url": "https://github.com/Spomky-Labs/pki-framework.git", - "reference": "d3ba688bf40e7c6e0dabf065ee18fc210734e760" + "reference": "86102bdd19379b2c6e5b0feb94fd490d40e7d133" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/d3ba688bf40e7c6e0dabf065ee18fc210734e760", - "reference": "d3ba688bf40e7c6e0dabf065ee18fc210734e760", + "url": "https://api.github.com/repos/Spomky-Labs/pki-framework/zipball/86102bdd19379b2c6e5b0feb94fd490d40e7d133", + "reference": "86102bdd19379b2c6e5b0feb94fd490d40e7d133", "shasum": "" }, "require": { - "brick/math": "^0.10 || ^0.11", + "brick/math": "^0.10|^0.11|^0.12", "ext-mbstring": "*", "php": ">=8.1" }, @@ -3085,20 +3090,21 @@ "ekino/phpstan-banned-code": "^1.0", "ext-gmp": "*", "ext-openssl": "*", - "infection/infection": "^0.26", + "infection/infection": "^0.27", "php-parallel-lint/php-parallel-lint": "^1.3", + "phpstan/extension-installer": "^1.3", "phpstan/phpstan": "^1.8", "phpstan/phpstan-beberlei-assert": "^1.0", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^10.0", - "rector/rector": "^0.15", + "phpunit/phpunit": "^10.1", + "rector/rector": "^0.19", "roave/security-advisories": "dev-latest", - "symfony/phpunit-bridge": "^6.1", - "symfony/var-dumper": "^6.1", - "symplify/easy-coding-standard": "^11.1", - "thecodingmachine/phpstan-safe-rule": "^1.2" + "symfony/phpunit-bridge": "^6.4|^7.0", + "symfony/string": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0", + "symplify/easy-coding-standard": "^12.0" }, "suggest": { "ext-bcmath": "For better performance (or GMP)", @@ -3158,7 +3164,7 @@ ], "support": { "issues": "https://github.com/Spomky-Labs/pki-framework/issues", - "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.1.0" + "source": "https://github.com/Spomky-Labs/pki-framework/tree/1.1.1" }, "funding": [ { @@ -3170,7 +3176,7 @@ "type": "patreon" } ], - "time": "2023-02-13T17:21:24+00:00" + "time": "2024-02-05T20:37:46+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3241,16 +3247,16 @@ }, { "name": "symfony/event-dispatcher", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a" + "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/098b62ae81fdd6cbf941f355059f617db28f4f9a", - "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/834c28d533dd0636f910909d01b9ff45cc094b5e", + "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e", "shasum": "" }, "require": { @@ -3301,7 +3307,7 @@ "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/v7.0.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.3" }, "funding": [ { @@ -3317,7 +3323,7 @@ "type": "tidelift" } ], - "time": "2023-12-27T22:24:19+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -3397,16 +3403,16 @@ }, { "name": "symfony/filesystem", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", "shasum": "" }, "require": { @@ -3440,7 +3446,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.0" + "source": "https://github.com/symfony/filesystem/tree/v6.4.3" }, "funding": [ { @@ -3456,20 +3462,20 @@ "type": "tidelift" } ], - "time": "2023-07-26T17:27:13+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/http-client", - "version": "v6.4.2", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "fc0944665bd932cf32a7b8a1d009466afc16528f" + "reference": "a9034bc119fab8238f76cf49c770f3135f3ead86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/fc0944665bd932cf32a7b8a1d009466afc16528f", - "reference": "fc0944665bd932cf32a7b8a1d009466afc16528f", + "url": "https://api.github.com/repos/symfony/http-client/zipball/a9034bc119fab8238f76cf49c770f3135f3ead86", + "reference": "a9034bc119fab8238f76cf49c770f3135f3ead86", "shasum": "" }, "require": { @@ -3533,7 +3539,7 @@ "http" ], "support": { - "source": "https://github.com/symfony/http-client/tree/v6.4.2" + "source": "https://github.com/symfony/http-client/tree/v6.4.3" }, "funding": [ { @@ -3549,7 +3555,7 @@ "type": "tidelift" } ], - "time": "2023-12-02T12:49:56+00:00" + "time": "2024-01-29T15:01:07+00:00" }, { "name": "symfony/http-client-contracts", @@ -3631,16 +3637,16 @@ }, { "name": "symfony/mailer", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "c51c8f411062ef8fec837c76b0dad15dd5a6ab16" + "reference": "2f71c0f6d62d28784783fdc5477e19dd57065d78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/c51c8f411062ef8fec837c76b0dad15dd5a6ab16", - "reference": "c51c8f411062ef8fec837c76b0dad15dd5a6ab16", + "url": "https://api.github.com/repos/symfony/mailer/zipball/2f71c0f6d62d28784783fdc5477e19dd57065d78", + "reference": "2f71c0f6d62d28784783fdc5477e19dd57065d78", "shasum": "" }, "require": { @@ -3691,7 +3697,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.0.2" + "source": "https://github.com/symfony/mailer/tree/v7.0.3" }, "funding": [ { @@ -3707,20 +3713,20 @@ "type": "tidelift" } ], - "time": "2023-12-19T11:23:03+00:00" + "time": "2024-01-29T15:41:16+00:00" }, { "name": "symfony/mime", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "0a2fff95c1a10df97f571d67e76c7ae0f0d4f535" + "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/0a2fff95c1a10df97f571d67e76c7ae0f0d4f535", - "reference": "0a2fff95c1a10df97f571d67e76c7ae0f0d4f535", + "url": "https://api.github.com/repos/symfony/mime/zipball/c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", + "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", "shasum": "" }, "require": { @@ -3774,7 +3780,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.0.0" + "source": "https://github.com/symfony/mime/tree/v7.0.3" }, "funding": [ { @@ -3790,20 +3796,20 @@ "type": "tidelift" } ], - "time": "2023-10-19T14:20:43+00:00" + "time": "2024-01-30T08:34:29+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -3817,9 +3823,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3856,7 +3859,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -3872,20 +3875,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-iconv", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", "shasum": "" }, "require": { @@ -3899,9 +3902,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -3939,7 +3939,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.29.0" }, "funding": [ { @@ -3955,20 +3955,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { @@ -3979,9 +3979,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4020,7 +4017,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -4036,20 +4033,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", "shasum": "" }, "require": { @@ -4062,9 +4059,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4107,7 +4101,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" }, "funding": [ { @@ -4123,20 +4117,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:30:37+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { @@ -4147,9 +4141,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4191,7 +4182,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -4207,20 +4198,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -4234,9 +4225,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4274,7 +4262,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -4290,20 +4278,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", "shasum": "" }, "require": { @@ -4311,9 +4299,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4350,7 +4335,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" }, "funding": [ { @@ -4366,20 +4351,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e" + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e", - "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", "shasum": "" }, "require": { @@ -4393,9 +4378,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -4432,7 +4414,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" }, "funding": [ { @@ -4448,20 +4430,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/process", - "version": "v6.4.2", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241" + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/c4b1ef0bc80533d87a2e969806172f1c2a980241", - "reference": "c4b1ef0bc80533d87a2e969806172f1c2a980241", + "url": "https://api.github.com/repos/symfony/process/zipball/31642b0818bfcff85930344ef93193f8c607e0a3", + "reference": "31642b0818bfcff85930344ef93193f8c607e0a3", "shasum": "" }, "require": { @@ -4493,7 +4475,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.2" + "source": "https://github.com/symfony/process/tree/v6.4.3" }, "funding": [ { @@ -4509,7 +4491,7 @@ "type": "tidelift" } ], - "time": "2023-12-22T16:42:54+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/service-contracts", @@ -4595,16 +4577,16 @@ }, { "name": "symfony/uid", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "9472fe6a4a2adcc9150106ebb9fde328828d312f" + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/9472fe6a4a2adcc9150106ebb9fde328828d312f", - "reference": "9472fe6a4a2adcc9150106ebb9fde328828d312f", + "url": "https://api.github.com/repos/symfony/uid/zipball/87cedaf3fabd7b733859d4d77aa4ca598259054b", + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b", "shasum": "" }, "require": { @@ -4649,7 +4631,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.0.0" + "source": "https://github.com/symfony/uid/tree/v7.0.3" }, "funding": [ { @@ -4665,20 +4647,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:22:02+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.2", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f" + "reference": "0435a08f69125535336177c29d56af3abc1f69da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", - "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/0435a08f69125535336177c29d56af3abc1f69da", + "reference": "0435a08f69125535336177c29d56af3abc1f69da", "shasum": "" }, "require": { @@ -4734,7 +4716,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.2" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.3" }, "funding": [ { @@ -4750,20 +4732,20 @@ "type": "tidelift" } ], - "time": "2023-12-28T19:16:56+00:00" + "time": "2024-01-23T14:53:30+00:00" }, { "name": "symfony/yaml", - "version": "v5.4.31", + "version": "v5.4.35", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "f387675d7f5fc4231f7554baa70681f222f73563" + "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/f387675d7f5fc4231f7554baa70681f222f73563", - "reference": "f387675d7f5fc4231f7554baa70681f222f73563", + "url": "https://api.github.com/repos/symfony/yaml/zipball/e78db7f5c70a21f0417a31f414c4a95fe76c07e4", + "reference": "e78db7f5c70a21f0417a31f414c4a95fe76c07e4", "shasum": "" }, "require": { @@ -4809,7 +4791,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.31" + "source": "https://github.com/symfony/yaml/tree/v5.4.35" }, "funding": [ { @@ -4825,7 +4807,7 @@ "type": "tidelift" } ], - "time": "2023-11-03T14:41:28+00:00" + "time": "2024-01-23T13:51:25+00:00" }, { "name": "theiconic/name-parser", @@ -5596,20 +5578,20 @@ }, { "name": "web-auth/cose-lib", - "version": "4.2.3", + "version": "4.3.0", "source": { "type": "git", "url": "https://github.com/web-auth/cose-lib.git", - "reference": "0ecad86d2d034ea22e2205d81c8cdec13d93a991" + "reference": "e5c417b3b90e06c84638a18d350e438d760cb955" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/0ecad86d2d034ea22e2205d81c8cdec13d93a991", - "reference": "0ecad86d2d034ea22e2205d81c8cdec13d93a991", + "url": "https://api.github.com/repos/web-auth/cose-lib/zipball/e5c417b3b90e06c84638a18d350e438d760cb955", + "reference": "e5c417b3b90e06c84638a18d350e438d760cb955", "shasum": "" }, "require": { - "brick/math": "^0.9|^0.10|^0.11", + "brick/math": "^0.9|^0.10|^0.11|^0.12", "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", @@ -5627,8 +5609,8 @@ "phpstan/phpstan-strict-rules": "^1.2", "phpunit/phpunit": "^10.1", "qossmic/deptrac-shim": "^1.0", - "rector/rector": "^0.17", - "symfony/phpunit-bridge": "^6.1", + "rector/rector": "^0.19", + "symfony/phpunit-bridge": "^6.4|^7.0", "symplify/easy-coding-standard": "^12.0" }, "suggest": { @@ -5663,7 +5645,7 @@ ], "support": { "issues": "https://github.com/web-auth/cose-lib/issues", - "source": "https://github.com/web-auth/cose-lib/tree/4.2.3" + "source": "https://github.com/web-auth/cose-lib/tree/4.3.0" }, "funding": [ { @@ -5675,11 +5657,11 @@ "type": "patreon" } ], - "time": "2023-07-26T13:32:03+00:00" + "time": "2024-02-05T21:00:39+00:00" }, { "name": "web-auth/metadata-service", - "version": "4.7.8", + "version": "4.7.9", "source": { "type": "git", "url": "https://github.com/web-auth/webauthn-metadata-service.git", @@ -5744,7 +5726,7 @@ "webauthn" ], "support": { - "source": "https://github.com/web-auth/webauthn-metadata-service/tree/4.7.8" + "source": "https://github.com/web-auth/webauthn-metadata-service/tree/4.7.9" }, "funding": [ { @@ -5760,16 +5742,16 @@ }, { "name": "web-auth/webauthn-lib", - "version": "4.7.8", + "version": "4.7.9", "source": { "type": "git", "url": "https://github.com/web-auth/webauthn-lib.git", - "reference": "71dda902527deef6421727105c289b5ef53b6967" + "reference": "03a652042d7b5e919e449954d729ced26ee3c3c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/71dda902527deef6421727105c289b5ef53b6967", - "reference": "71dda902527deef6421727105c289b5ef53b6967", + "url": "https://api.github.com/repos/web-auth/webauthn-lib/zipball/03a652042d7b5e919e449954d729ced26ee3c3c2", + "reference": "03a652042d7b5e919e449954d729ced26ee3c3c2", "shasum": "" }, "require": { @@ -5829,7 +5811,7 @@ "webauthn" ], "support": { - "source": "https://github.com/web-auth/webauthn-lib/tree/4.7.8" + "source": "https://github.com/web-auth/webauthn-lib/tree/4.7.9" }, "funding": [ { @@ -5841,7 +5823,7 @@ "type": "patreon" } ], - "time": "2023-12-08T13:02:43+00:00" + "time": "2024-02-05T17:20:58+00:00" }, { "name": "webmozart/assert", @@ -6523,16 +6505,16 @@ }, { "name": "codeception/codeception", - "version": "5.0.13", + "version": "5.1.0", "source": { "type": "git", "url": "https://github.com/Codeception/Codeception.git", - "reference": "713a90195efa2926566e24bfc623da703ff42bba" + "reference": "cb80cae36a97113b09065bb1d0225d0fc7746540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Codeception/zipball/713a90195efa2926566e24bfc623da703ff42bba", - "reference": "713a90195efa2926566e24bfc623da703ff42bba", + "url": "https://api.github.com/repos/Codeception/Codeception/zipball/cb80cae36a97113b09065bb1d0225d0fc7746540", + "reference": "cb80cae36a97113b09065bb1d0225d0fc7746540", "shasum": "" }, "require": { @@ -6543,13 +6525,13 @@ "ext-json": "*", "ext-mbstring": "*", "php": "^8.0", - "phpunit/php-code-coverage": "^9.2 || ^10.0", - "phpunit/php-text-template": "^2.0 || ^3.0", - "phpunit/php-timer": "^5.0.3 || ^6.0", - "phpunit/phpunit": "^9.5.20 || ^10.0", + "phpunit/php-code-coverage": "^9.2 || ^10.0 || ^11.0", + "phpunit/php-text-template": "^2.0 || ^3.0 || ^4.0", + "phpunit/php-timer": "^5.0.3 || ^6.0 || ^7.0", + "phpunit/phpunit": "^9.5.20 || ^10.0 || ^11.0", "psy/psysh": "^0.11.2 || ^0.12", - "sebastian/comparator": "^4.0.5 || ^5.0", - "sebastian/diff": "^4.0.3 || ^5.0", + "sebastian/comparator": "^4.0.5 || ^5.0 || ^6.0", + "sebastian/diff": "^4.0.3 || ^5.0 || ^6.0", "symfony/console": ">=4.4.24 <8.0", "symfony/css-selector": ">=4.4.24 <8.0", "symfony/event-dispatcher": ">=4.4.24 <8.0", @@ -6627,7 +6609,7 @@ ], "support": { "issues": "https://github.com/Codeception/Codeception/issues", - "source": "https://github.com/Codeception/Codeception/tree/5.0.13" + "source": "https://github.com/Codeception/Codeception/tree/5.1.0" }, "funding": [ { @@ -6635,7 +6617,7 @@ "type": "open_collective" } ], - "time": "2023-12-22T19:32:40+00:00" + "time": "2024-02-04T13:50:11+00:00" }, { "name": "codeception/lib-asserts", @@ -6752,30 +6734,30 @@ }, { "name": "codeception/lib-web", - "version": "1.0.5", + "version": "1.0.6", "source": { "type": "git", "url": "https://github.com/Codeception/lib-web.git", - "reference": "cea9d53c9cd665498632acc417c9a96bff7eb2b0" + "reference": "01ff7f9ed8760ba0b0805a0b3a843b4e74165a60" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/lib-web/zipball/cea9d53c9cd665498632acc417c9a96bff7eb2b0", - "reference": "cea9d53c9cd665498632acc417c9a96bff7eb2b0", + "url": "https://api.github.com/repos/Codeception/lib-web/zipball/01ff7f9ed8760ba0b0805a0b3a843b4e74165a60", + "reference": "01ff7f9ed8760ba0b0805a0b3a843b4e74165a60", "shasum": "" }, "require": { "ext-mbstring": "*", "guzzlehttp/psr7": "^2.0", "php": "^8.0", + "phpunit/phpunit": "^9.5 | ^10.0 | ^11.0", "symfony/css-selector": ">=4.4.24 <8.0" }, "conflict": { "codeception/codeception": "<5.0.0-alpha3" }, "require-dev": { - "php-webdriver/webdriver": "^1.12", - "phpunit/phpunit": "^9.5 | ^10.0" + "php-webdriver/webdriver": "^1.12" }, "type": "library", "autoload": { @@ -6799,29 +6781,28 @@ ], "support": { "issues": "https://github.com/Codeception/lib-web/issues", - "source": "https://github.com/Codeception/lib-web/tree/1.0.5" + "source": "https://github.com/Codeception/lib-web/tree/1.0.6" }, - "time": "2024-01-13T11:54:18+00:00" + "time": "2024-02-06T20:50:08+00:00" }, { "name": "codeception/lib-xml", - "version": "1.0.2", + "version": "1.0.3", "source": { "type": "git", "url": "https://github.com/Codeception/lib-xml.git", - "reference": "4eabf029ff5e40c7e8a16b6db2fe9bbb9244d162" + "reference": "ba49213e60807e3612513f404a5c93aec63f4c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/lib-xml/zipball/4eabf029ff5e40c7e8a16b6db2fe9bbb9244d162", - "reference": "4eabf029ff5e40c7e8a16b6db2fe9bbb9244d162", + "url": "https://api.github.com/repos/Codeception/lib-xml/zipball/ba49213e60807e3612513f404a5c93aec63f4c72", + "reference": "ba49213e60807e3612513f404a5c93aec63f4c72", "shasum": "" }, "require": { - "codeception/lib-web": "^1.0", + "codeception/lib-web": "^1.0.6", "ext-dom": "*", "php": "^8.0", - "phpunit/phpunit": "^9.5 | ^10.0", "symfony/css-selector": ">=4.4.24 <8.0" }, "conflict": { @@ -6849,9 +6830,9 @@ ], "support": { "issues": "https://github.com/Codeception/lib-xml/issues", - "source": "https://github.com/Codeception/lib-xml/tree/1.0.2" + "source": "https://github.com/Codeception/lib-xml/tree/1.0.3" }, - "time": "2023-12-08T19:31:41+00:00" + "time": "2024-02-06T21:00:41+00:00" }, { "name": "codeception/module-asserts", @@ -7143,21 +7124,21 @@ }, { "name": "codeception/stub", - "version": "4.1.2", + "version": "4.1.3", "source": { "type": "git", "url": "https://github.com/Codeception/Stub.git", - "reference": "f6bc56e33e3f5ba7a831dfb968c49b27cf1676ad" + "reference": "4fcad2c165f365377486dc3fd8703b07f1f2fcae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/Stub/zipball/f6bc56e33e3f5ba7a831dfb968c49b27cf1676ad", - "reference": "f6bc56e33e3f5ba7a831dfb968c49b27cf1676ad", + "url": "https://api.github.com/repos/Codeception/Stub/zipball/4fcad2c165f365377486dc3fd8703b07f1f2fcae", + "reference": "4fcad2c165f365377486dc3fd8703b07f1f2fcae", "shasum": "" }, "require": { "php": "^7.4 | ^8.0", - "phpunit/phpunit": "^8.4 | ^9.0 | ^10.0 | 10.0.x-dev" + "phpunit/phpunit": "^8.4 | ^9.0 | ^10.0 | ^11" }, "conflict": { "codeception/codeception": "<5.0.6" @@ -7178,9 +7159,9 @@ "description": "Flexible Stub wrapper for PHPUnit's Mock Builder", "support": { "issues": "https://github.com/Codeception/Stub/issues", - "source": "https://github.com/Codeception/Stub/tree/4.1.2" + "source": "https://github.com/Codeception/Stub/tree/4.1.3" }, - "time": "2023-10-07T19:22:36+00:00" + "time": "2024-02-02T19:21:00+00:00" }, { "name": "craftcms/ecs", @@ -8308,16 +8289,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.9", + "version": "10.5.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "0bd663704f0165c9e76fe4f06ffa6a1ca727fdbe" + "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/0bd663704f0165c9e76fe4f06ffa6a1ca727fdbe", - "reference": "0bd663704f0165c9e76fe4f06ffa6a1ca727fdbe", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/50b8e314b6d0dd06521dc31d1abffa73f25f850c", + "reference": "50b8e314b6d0dd06521dc31d1abffa73f25f850c", "shasum": "" }, "require": { @@ -8389,7 +8370,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.9" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.10" }, "funding": [ { @@ -8405,7 +8386,7 @@ "type": "tidelift" } ], - "time": "2024-01-22T14:35:40+00:00" + "time": "2024-02-04T09:07:51+00:00" }, { "name": "psy/psysh", @@ -9471,16 +9452,16 @@ }, { "name": "symfony/browser-kit", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502" + "reference": "495ffa2e6d17e199213f93768efa01af32bbf70e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/a3bb210e001580ec75e1d02b27fae3452e6bf502", - "reference": "a3bb210e001580ec75e1d02b27fae3452e6bf502", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/495ffa2e6d17e199213f93768efa01af32bbf70e", + "reference": "495ffa2e6d17e199213f93768efa01af32bbf70e", "shasum": "" }, "require": { @@ -9519,7 +9500,7 @@ "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/browser-kit/tree/v6.4.0" + "source": "https://github.com/symfony/browser-kit/tree/v6.4.3" }, "funding": [ { @@ -9535,20 +9516,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:18:17+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/console", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f8587c4cdc5acad67af71c37db34ef03af91e59c" + "reference": "c5010d50f1ee4b25cfa0201d9915cf1b14071456" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f8587c4cdc5acad67af71c37db34ef03af91e59c", - "reference": "f8587c4cdc5acad67af71c37db34ef03af91e59c", + "url": "https://api.github.com/repos/symfony/console/zipball/c5010d50f1ee4b25cfa0201d9915cf1b14071456", + "reference": "c5010d50f1ee4b25cfa0201d9915cf1b14071456", "shasum": "" }, "require": { @@ -9612,7 +9593,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.0.2" + "source": "https://github.com/symfony/console/tree/v7.0.3" }, "funding": [ { @@ -9628,20 +9609,20 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:54:46+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/css-selector", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "bb51d46e53ef8d50d523f0c5faedba056a27943e" + "reference": "ec60a4edf94e63b0556b6a0888548bb400a3a3be" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/bb51d46e53ef8d50d523f0c5faedba056a27943e", - "reference": "bb51d46e53ef8d50d523f0c5faedba056a27943e", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/ec60a4edf94e63b0556b6a0888548bb400a3a3be", + "reference": "ec60a4edf94e63b0556b6a0888548bb400a3a3be", "shasum": "" }, "require": { @@ -9677,7 +9658,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.0.0" + "source": "https://github.com/symfony/css-selector/tree/v7.0.3" }, "funding": [ { @@ -9693,20 +9674,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T17:59:56+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33" + "reference": "6db31849011fefe091e94d0bb10cba26f7919894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", - "reference": "14ff4fd2a5c8969d6158dbe7ef5b17d6a9c6ba33", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/6db31849011fefe091e94d0bb10cba26f7919894", + "reference": "6db31849011fefe091e94d0bb10cba26f7919894", "shasum": "" }, "require": { @@ -9744,7 +9725,7 @@ "description": "Eases DOM navigation for HTML and XML documents", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v6.4.0" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.3" }, "funding": [ { @@ -9760,7 +9741,7 @@ "type": "tidelift" } ], - "time": "2023-11-20T16:41:16+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/finder", @@ -9828,16 +9809,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { @@ -9845,9 +9826,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -9891,7 +9869,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -9907,20 +9885,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/string", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5" + "reference": "524aac4a280b90a4420d8d6a040718d0586505ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/cc78f14f91f5e53b42044d0620961c48028ff9f5", - "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5", + "url": "https://api.github.com/repos/symfony/string/zipball/524aac4a280b90a4420d8d6a040718d0586505ac", + "reference": "524aac4a280b90a4420d8d6a040718d0586505ac", "shasum": "" }, "require": { @@ -9977,7 +9955,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.0.2" + "source": "https://github.com/symfony/string/tree/v7.0.3" }, "funding": [ { @@ -9993,7 +9971,7 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:54:46+00:00" + "time": "2024-01-29T15:41:16+00:00" }, { "name": "symplify/easy-coding-standard", @@ -10283,5 +10261,5 @@ "platform-overrides": { "php": "8.2" }, - "plugin-api-version": "2.6.0" + "plugin-api-version": "2.3.0" } diff --git a/src/config/app.php b/src/config/app.php index 6da96c6ba27..bc2f9099840 100644 --- a/src/config/app.php +++ b/src/config/app.php @@ -4,7 +4,7 @@ 'id' => 'CraftCMS', 'name' => 'Craft CMS', 'version' => '5.0.0-alpha.13', - 'schemaVersion' => '5.0.0.18', + 'schemaVersion' => '5.0.0.19', 'minVersionRequired' => '4.4.0', 'basePath' => dirname(__DIR__), // Defines the @app alias 'runtimePath' => '@storage/runtime', // Defines the @runtime alias diff --git a/src/elements/Address.php b/src/elements/Address.php index a8495547164..321d5b55475 100644 --- a/src/elements/Address.php +++ b/src/elements/Address.php @@ -137,6 +137,7 @@ private static function _addressAttributes(): array 'sortingCode', 'addressLine1', 'addressLine2', + 'addressLine3', 'organization', 'organizationTaxId', 'fullName', @@ -201,6 +202,12 @@ public static function addressAttributeLabel(string $attribute, string $countryC */ public ?string $addressLine2 = null; + /** + * @var string|null Third line of the address + * @since 5.0.0 + */ + public ?string $addressLine3 = null; + /** * @var string|null Organization name */ @@ -409,6 +416,14 @@ public function getAddressLine2(): ?string return $this->addressLine2; } + /** + * @inheritdoc + */ + public function getAddressLine3(): ?string + { + return $this->addressLine3; + } + /** * @inheritdoc */ @@ -583,6 +598,7 @@ public function afterSave(bool $isNew): void $record->sortingCode = $this->sortingCode; $record->addressLine1 = $this->addressLine1; $record->addressLine2 = $this->addressLine2; + $record->addressLine3 = $this->addressLine3; $record->organization = $this->organization; $record->organizationTaxId = $this->organizationTaxId; $record->fullName = $this->fullName; diff --git a/src/elements/conditions/addresses/AddressCondition.php b/src/elements/conditions/addresses/AddressCondition.php index a97bbb7d827..e20e5875246 100644 --- a/src/elements/conditions/addresses/AddressCondition.php +++ b/src/elements/conditions/addresses/AddressCondition.php @@ -20,6 +20,7 @@ protected function selectableConditionRules(): array return array_merge(parent::selectableConditionRules(), [ AddressLine1ConditionRule::class, AddressLine2ConditionRule::class, + AddressLine3ConditionRule::class, AdministrativeAreaConditionRule::class, CountryConditionRule::class, DependentLocalityConditionRule::class, diff --git a/src/elements/conditions/addresses/AddressLine3ConditionRule.php b/src/elements/conditions/addresses/AddressLine3ConditionRule.php new file mode 100644 index 00000000000..089a93424bb --- /dev/null +++ b/src/elements/conditions/addresses/AddressLine3ConditionRule.php @@ -0,0 +1,54 @@ + + * @since 5.0.0 + */ +class AddressLine3ConditionRule extends BaseTextConditionRule implements ElementConditionRuleInterface +{ + /** + * @inheritdoc + */ + public function getLabel(): string + { + return Craft::t('app', 'Address Line 3'); + } + + /** + * @inheritdoc + */ + public function getExclusiveQueryParams(): array + { + return ['addressLine3']; + } + + /** + * @inheritdoc + */ + public function modifyQuery(ElementQueryInterface $query): void + { + /** @var AddressQuery $query */ + $query->addressLine3($this->paramValue()); + } + + /** + * @inheritdoc + */ + public function matchElement(ElementInterface $element): bool + { + /** @var Address $element */ + return $this->matchValue($element->addressLine3); + } +} diff --git a/src/elements/db/AddressQuery.php b/src/elements/db/AddressQuery.php index e44c653ea54..d65ab0744f4 100644 --- a/src/elements/db/AddressQuery.php +++ b/src/elements/db/AddressQuery.php @@ -282,6 +282,26 @@ class AddressQuery extends ElementQuery */ public ?string $addressLine2 = null; + /** + * @var string|null Narrows the query results based on the third address line the addresses have. + * --- + * ```php + * // fetch addresses by address line 3 + * $addresses = \craft\elements\Address::find() + * ->addressLine3('Suite 212') + * ->all(); + * ``` + * ```twig + * {# fetch addresses by address line 3 #} + * {% set addresses = craft.addresses() + * .addressLine3('Suite 212') + * .all() %} + * ``` + * @used-by addressLine3() + * @since 5.0.0 + */ + public ?string $addressLine3 = null; + /** * @var string|null Narrows the query results based on the full name the addresses have. * --- @@ -733,6 +753,45 @@ public function addressLine2(?string $value): static return $this; } + /** + * Narrows the query results based on the third address line the addresses have. + * + * Possible values include: + * + * | Value | Fetches addresses… + * | - | - + * | `'Suite 212'` | with an addressLine3 of `Suite 212`. + * | `'*Suite*'` | with an addressLine3 containing `Suite`. + * | `'Suite*'` | with an addressLine3 beginning with `Suite`. + * + * --- + * + * ```twig + * {# Fetch addresses at Suite 212 #} + * {% set {elements-var} = {twig-method} + * .addressLine3('Suite 212') + * .all() %} + * ``` + * + * ```php + * // Fetch addresses at Suite 212 + * ${elements-var} = {php-method} + * ->addressLine3('Suite 212') + * ->all(); + * ``` + * + * @param string|null $value The property value + * @return static self reference + * @uses $addressLine3 + * @since 5.0.0 + */ + public function addressLine3(?string $value): static + { + $this->addressLine3 = $value; + + return $this; + } + /** * Narrows the query results based on the full name the addresses have. * @@ -1158,6 +1217,7 @@ protected function beforePrepare(): bool 'addresses.sortingCode', 'addresses.addressLine1', 'addresses.addressLine2', + 'addresses.addressLine3', 'addresses.organization', 'addresses.organizationTaxId', 'addresses.fullName', @@ -1256,6 +1316,10 @@ protected function beforePrepare(): bool $this->subQuery->andWhere(Db::parseParam('addresses.addressLine2', $this->addressLine2)); } + if ($this->addressLine3) { + $this->subQuery->andWhere(Db::parseParam('addresses.addressLine3', $this->addressLine3)); + } + if ($this->lastName) { $this->subQuery->andWhere(Db::parseParam('addresses.lastName', $this->lastName)); } diff --git a/src/fieldlayoutelements/addresses/AddressField.php b/src/fieldlayoutelements/addresses/AddressField.php index a4e5714b8fe..70c2ce8e073 100644 --- a/src/fieldlayoutelements/addresses/AddressField.php +++ b/src/fieldlayoutelements/addresses/AddressField.php @@ -103,6 +103,7 @@ public function formHtml(ElementInterface $element = null, bool $static = false) 'countryCode', 'addressLine1', 'addressLine2', + 'addressLine3', 'administrativeArea', 'locality', 'dependentLocality', diff --git a/src/fields/Addresses.php b/src/fields/Addresses.php index 0b27939d6ed..a7efbbec537 100644 --- a/src/fields/Addresses.php +++ b/src/fields/Addresses.php @@ -433,6 +433,7 @@ private function createAddressesFromSerializedData(array $value, ElementInterfac 'sortingCode', 'addressLine1', 'addressLine2', + 'addressLine3', 'organization', 'organizationTaxId', 'latitude', @@ -574,6 +575,7 @@ public function serializeValue(mixed $value, ?ElementInterface $element): mixed 'sortingCode' => $address->sortingCode, 'addressLine1' => $address->addressLine1, 'addressLine2' => $address->addressLine2, + 'addressLine3' => $address->addressLine3, 'organization' => $address->organization, 'organizationTaxId' => $address->organizationTaxId, 'fullName' => $address->fullName, diff --git a/src/gql/interfaces/elements/Address.php b/src/gql/interfaces/elements/Address.php index ee48da5514a..caa14ee5c03 100644 --- a/src/gql/interfaces/elements/Address.php +++ b/src/gql/interfaces/elements/Address.php @@ -120,6 +120,11 @@ public static function getFieldDefinitions(): array 'type' => Type::string(), 'description' => 'Second line of the address', ], + 'addressLine3' => [ + 'name' => 'addressLine3', + 'type' => Type::string(), + 'description' => 'Third line of the address', + ], 'organization' => [ 'name' => 'organization', 'type' => Type::string(), diff --git a/src/gql/types/input/Addresses.php b/src/gql/types/input/Addresses.php index d58dbd2647a..296d8f2b716 100644 --- a/src/gql/types/input/Addresses.php +++ b/src/gql/types/input/Addresses.php @@ -99,6 +99,11 @@ public static function getType(): mixed 'type' => Type::string(), 'description' => 'Second line of the address', ], + 'addressLine3' => [ + 'name' => 'addressLine3', + 'type' => Type::string(), + 'description' => 'Third line of the address', + ], 'organization' => [ 'name' => 'organization', 'type' => Type::string(), diff --git a/src/helpers/Cp.php b/src/helpers/Cp.php index 89a2878b66e..69825f26562 100644 --- a/src/helpers/Cp.php +++ b/src/helpers/Cp.php @@ -2054,6 +2054,19 @@ public static function addressFieldsHtml(Address $address): string 'error-key' => 'addressLine2', ], ]) . + static::textFieldHtml([ + 'status' => $address->getAttributeStatus('addressLine3'), + 'label' => $address->getAttributeLabel('addressLine3'), + 'id' => 'addressLine3', + 'name' => 'addressLine3', + 'value' => $address->addressLine3, + 'autocomplete' => $belongsToCurrentUser ? 'address-line3' : 'off', + 'required' => isset($requiredFields['addressLine3']), + 'errors' => $address->getErrors('addressLine3'), + 'data' => [ + 'error-key' => 'addressLine3', + ], + ]) . self::_subdivisionField( $address, 'administrativeArea', diff --git a/src/migrations/Install.php b/src/migrations/Install.php index 11910af402e..82433b5f441 100644 --- a/src/migrations/Install.php +++ b/src/migrations/Install.php @@ -104,6 +104,7 @@ public function createTables(): void 'sortingCode' => $this->string(), 'addressLine1' => $this->string(), 'addressLine2' => $this->string(), + 'addressLine3' => $this->string(), 'organization' => $this->string(), 'organizationTaxId' => $this->string(), 'fullName' => $this->string(), diff --git a/src/migrations/m240207_182452_address_line_3.php b/src/migrations/m240207_182452_address_line_3.php new file mode 100644 index 00000000000..48770a81d15 --- /dev/null +++ b/src/migrations/m240207_182452_address_line_3.php @@ -0,0 +1,30 @@ +addColumn(Table::ADDRESSES, 'addressLine3', $this->string()->after('addressLine2')); + return true; + } + + /** + * @inheritdoc + */ + public function safeDown(): bool + { + echo "m240207_182452_address_line_3 cannot be reverted.\n"; + return false; + } +} diff --git a/src/records/Address.php b/src/records/Address.php index eaaf71faefb..f5acc97b1ff 100644 --- a/src/records/Address.php +++ b/src/records/Address.php @@ -24,6 +24,7 @@ * @property string|null $sortingCode Sorting code * @property string|null $addressLine1 First line of the address block * @property string|null $addressLine2 Second line of the address block + * @property string|null $addressLine3 Third line of the address block * @property string|null $organization Organization name * @property string|null $organizationTaxId Organization tax ID * @property string|null $fullName Full name diff --git a/src/services/Addresses.php b/src/services/Addresses.php index 6dd704b12be..d17f4946d03 100644 --- a/src/services/Addresses.php +++ b/src/services/Addresses.php @@ -223,6 +223,7 @@ public function getFieldLabel(string $field, string $countryCode): string AddressField::SORTING_CODE => Craft::t('app', 'Sorting Code'), AddressField::ADDRESS_LINE1 => Craft::t('app', 'Address Line 1'), AddressField::ADDRESS_LINE2 => Craft::t('app', 'Address Line 2'), + AddressField::ADDRESS_LINE3 => Craft::t('app', 'Address Line 3'), AddressField::ORGANIZATION => Craft::t('app', 'Organization'), AddressField::GIVEN_NAME => Craft::t('app', 'First Name'), AddressField::ADDITIONAL_NAME => 'Additional Name', // Unused in Craft @@ -321,9 +322,9 @@ public function getAdministrativeAreaTypeLabel(?string $type): string AdministrativeAreaType::DO_SI => Craft::t('app', 'Do Si'), AdministrativeAreaType::EMIRATE => Craft::t('app', 'Emirate'), AdministrativeAreaType::ISLAND => Craft::t('app', 'Island'), - AdministrativeAreaType::OBLAST => Craft::t('app', 'Oblast'), AdministrativeAreaType::PARISH => Craft::t('app', 'Parish'), AdministrativeAreaType::PREFECTURE => Craft::t('app', 'Prefecture'), + AdministrativeAreaType::REGION => Craft::t('app', 'Region'), AdministrativeAreaType::STATE => Craft::t('app', 'State'), default => Craft::t('app', 'Province'), }; diff --git a/src/translations/en/app.php b/src/translations/en/app.php index 0b4a96d25f5..82193224346 100644 --- a/src/translations/en/app.php +++ b/src/translations/en/app.php @@ -28,13 +28,13 @@ 'Access the site when the system is off' => 'Access the site when the system is off', 'Access {plugin}' => 'Access {plugin}', 'Accessibility' => 'Accessibility', - 'Account' => 'Account', 'Account Security' => 'Account Security', 'Account Type' => 'Account Type', 'Account has not been activated.' => 'Account has not been activated.', 'Account locked. Try again in {time}.' => 'Account locked. Try again in {time}.', 'Account locked.' => 'Account locked.', 'Account suspended.' => 'Account suspended.', + 'Account' => 'Account', 'Accounts with this permission could use it to escalate their own permissions.' => 'Accounts with this permission could use it to escalate their own permissions.', 'Action' => 'Action', 'Actions' => 'Actions', @@ -65,6 +65,7 @@ 'Address Fields' => 'Address Fields', 'Address Line 1' => 'Address Line 1', 'Address Line 2' => 'Address Line 2', + 'Address Line 3' => 'Address Line 3', 'Address fields saved.' => 'Address fields saved.', 'Address' => 'Address', 'Addresses' => 'Addresses', @@ -1076,7 +1077,6 @@ 'OFF Label' => 'OFF Label', 'OK' => 'OK', 'ON Label' => 'ON Label', - 'Oblast' => 'Oblast', 'Of the enabled sites above, which sites should entries in this section be saved to?' => 'Of the enabled sites above, which sites should entries in this section be saved to?', 'Offline' => 'Offline', 'One of {name}’s migrations failed.' => 'One of {name}’s migrations failed.', @@ -1236,6 +1236,7 @@ 'Refresh' => 'Refresh', 'Regenerate' => 'Regenerate', 'Regenerating project config YAML files from the loaded project config…' => 'Regenerating project config YAML files from the loaded project config…', + 'Region' => 'Region', 'Register users' => 'Register users', 'Relate {type} from a specific site?' => 'Relate {type} from a specific site?', 'Related To' => 'Related To',