diff --git a/.gitignore b/.gitignore index b1e654b657..91bd4ec793 100644 --- a/.gitignore +++ b/.gitignore @@ -49,6 +49,9 @@ .phpunit.result.cache patches.lock.json +#Ignore HTTPS (REST) test configs +/tests/http-client.env.json + # Ignore logfiles from setup /setup/* /setup/private/* diff --git a/composer.json b/composer.json index 02225f015b..3b6a0e837c 100644 --- a/composer.json +++ b/composer.json @@ -81,10 +81,10 @@ "drupal/ckeditor": "1.0.2", "drupal/coder": "^8.0", "drupal/colorbox": "^2.0", + "drupal/config_filter": "*", "drupal/config_ignore": "^3.2", "drupal/config_split": "^2.0@RC", "drupal/config_update": "^2.0@alpha", - "drupal/config_filter": "*", "drupal/conflict": "2.0.0-alpha3", "drupal/contact_storage": "1.3.0", "drupal/content_access": "^2.0@RC", @@ -115,7 +115,7 @@ "drupal/field_group": "^3.0", "drupal/file_entity": "^2.x-dev", "drupal/file_mdm": "^2.2.0", - "drupal/geolocation": "^3.0", + "drupal/geolocation": "3.12", "drupal/google_tag": "^1.0", "drupal/honeypot": "^2.1", "drupal/image_url_formatter": "^1.0", diff --git a/composer.lock b/composer.lock index d406ac61f6..c0635b6eab 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": "9ee1d951456e96fbda03f87870612718", + "content-hash": "9993502e8fdf14520ca9f3355377021a", "packages": [ { "name": "ajgl/breakpoint-twig-extension", @@ -129,25 +129,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": { @@ -167,12 +167,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": [ { @@ -180,7 +185,7 @@ "type": "github" } ], - "time": "2023-01-15T23:15:59+00:00" + "time": "2023-11-29T23:19:16+00:00" }, { "name": "caxy/php-htmldiff", @@ -1418,16 +1423,16 @@ }, { "name": "doctrine/collections", - "version": "2.2.1", + "version": "2.2.2", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "420480fc085bc65f3c956af13abe8e7546f94813" + "reference": "d8af7f248c74f195f7347424600fd9e17b57af59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/420480fc085bc65f3c956af13abe8e7546f94813", - "reference": "420480fc085bc65f3c956af13abe8e7546f94813", + "url": "https://api.github.com/repos/doctrine/collections/zipball/d8af7f248c74f195f7347424600fd9e17b57af59", + "reference": "d8af7f248c74f195f7347424600fd9e17b57af59", "shasum": "" }, "require": { @@ -1484,7 +1489,7 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/2.2.1" + "source": "https://github.com/doctrine/collections/tree/2.2.2" }, "funding": [ { @@ -1500,7 +1505,7 @@ "type": "tidelift" } ], - "time": "2024-03-05T22:28:45+00:00" + "time": "2024-04-18T06:56:21+00:00" }, { "name": "doctrine/deprecations", @@ -2375,17 +2380,17 @@ }, { "name": "drupal/better_exposed_filters", - "version": "6.0.3", + "version": "6.0.5", "source": { "type": "git", "url": "https://git.drupalcode.org/project/better_exposed_filters.git", - "reference": "6.0.3" + "reference": "6.0.5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/better_exposed_filters-6.0.3.zip", - "reference": "6.0.3", - "shasum": "b5c20207d7679542bb81955771956c18083e6e0b" + "url": "https://ftp.drupal.org/files/projects/better_exposed_filters-6.0.5.zip", + "reference": "6.0.5", + "shasum": "a325449adf32c13dd8e348bf10979aea301da84e" }, "require": { "drupal/core": "^9 || ^10", @@ -2397,8 +2402,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "6.0.3", - "datestamp": "1671541877", + "version": "6.0.5", + "datestamp": "1713570803", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2512,17 +2517,17 @@ }, { "name": "drupal/blazy", - "version": "2.24.0", + "version": "2.26.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/blazy.git", - "reference": "8.x-2.24" + "reference": "8.x-2.26" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/blazy-8.x-2.24.zip", - "reference": "8.x-2.24", - "shasum": "6770d662259341b979e0642ed6ea37228728d573" + "url": "https://ftp.drupal.org/files/projects/blazy-8.x-2.26.zip", + "reference": "8.x-2.26", + "shasum": "9500502879c766132d60826116ce83ad2e83f0ef" }, "require": { "drupal/core": "^8.8 || ^9 || ^10" @@ -2533,8 +2538,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.24", - "datestamp": "1711902155", + "version": "8.x-2.26", + "datestamp": "1714295528", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -2745,8 +2750,7 @@ "version": "3.0.5", "require": { "drupal/chosen": "^3", - "drupal/core": "^9.2 || ^10", - "php": ">=5.6.0" + "drupal/core": "^9.2 || ^10" }, "type": "metapackage", "extra": { @@ -2757,11 +2761,6 @@ "status": "covered", "message": "Covered by Drupal's security advisory policy" } - }, - "drush": { - "services": { - "drush.services.yml": "^9 || ^10 || ^11" - } } }, "notification-url": "https://packages.drupal.org/8/downloads", @@ -2806,7 +2805,7 @@ "homepage": "https://www.drupal.org/user/235438" } ], - "description": "This module provides the basic integration with the Chosen jQuery plugin.", + "description": "Add chosen library definition.", "homepage": "https://www.drupal.org/project/chosen", "support": { "source": "https://git.drupalcode.org/project/chosen" @@ -2909,16 +2908,16 @@ }, { "name": "drupal/coder", - "version": "8.3.23", + "version": "8.3.24", "source": { "type": "git", "url": "https://github.com/pfrenssen/coder.git", - "reference": "1a1613d83c08dac5be593f2775c9eccae1b41805" + "reference": "1a59890f972db5da091354f0191dec1037f7c582" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pfrenssen/coder/zipball/1a1613d83c08dac5be593f2775c9eccae1b41805", - "reference": "1a1613d83c08dac5be593f2775c9eccae1b41805", + "url": "https://api.github.com/repos/pfrenssen/coder/zipball/1a59890f972db5da091354f0191dec1037f7c582", + "reference": "1a59890f972db5da091354f0191dec1037f7c582", "shasum": "" }, "require": { @@ -2927,7 +2926,7 @@ "php": ">=7.2", "sirbrillig/phpcs-variable-analysis": "^2.11.7", "slevomat/coding-standard": "^8.11", - "squizlabs/php_codesniffer": "^3.7.1", + "squizlabs/php_codesniffer": "^3.9.1", "symfony/yaml": ">=3.4.0" }, "require-dev": { @@ -2956,7 +2955,7 @@ "issues": "https://www.drupal.org/project/issues/coder", "source": "https://www.drupal.org/project/coder" }, - "time": "2024-01-27T18:13:12+00:00" + "time": "2024-04-21T06:13:24+00:00" }, { "name": "drupal/colorbox", @@ -3092,20 +3091,20 @@ }, { "name": "drupal/config_ignore", - "version": "3.2.0", + "version": "3.3.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/config_ignore.git", - "reference": "8.x-3.2" + "reference": "8.x-3.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/config_ignore-8.x-3.2.zip", - "reference": "8.x-3.2", - "shasum": "00335fc1ddeb4ed93f245dd6963d99b3c084c052" + "url": "https://ftp.drupal.org/files/projects/config_ignore-8.x-3.3.zip", + "reference": "8.x-3.3", + "shasum": "4446811ecb023820a57c227d35c034e0d4363a70" }, "require": { - "drupal/core": "^8.8 || ^9 || ^10" + "drupal/core": "^8.8 || ^9 || ^10 || ^11" }, "require-dev": { "drupal/config_filter": "^1.8||^2.2", @@ -3114,8 +3113,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.2", - "datestamp": "1705226226", + "version": "8.x-3.3", + "datestamp": "1713299496", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3124,7 +3123,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0+" + "GPL-2.0-or-later" ], "authors": [ { @@ -3195,7 +3194,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0+" + "GPL-2.0-or-later" ], "authors": [ { @@ -3335,6 +3334,10 @@ { "name": "jeqq", "homepage": "https://www.drupal.org/user/1427908" + }, + { + "name": "joseph.olstad", + "homepage": "https://www.drupal.org/user/1321830" } ], "description": "Find merge conflicts in entities, perform auto merge where possible or offer a way for resolving them.", @@ -3496,7 +3499,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0-or-later" + "GPL-2.0+" ], "authors": [ { @@ -3517,16 +3520,16 @@ }, { "name": "drupal/core", - "version": "10.2.5", + "version": "10.2.6", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "dddd242b74f40df892a7f16a48245c3b76d9b003" + "reference": "cec9bc9e829e53e667da844edd5f4897be88d860" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/dddd242b74f40df892a7f16a48245c3b76d9b003", - "reference": "dddd242b74f40df892a7f16a48245c3b76d9b003", + "url": "https://api.github.com/repos/drupal/core/zipball/cec9bc9e829e53e667da844edd5f4897be88d860", + "reference": "cec9bc9e829e53e667da844edd5f4897be88d860", "shasum": "" }, "require": { @@ -3674,9 +3677,9 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.2.5" + "source": "https://github.com/drupal/core/tree/10.2.6" }, - "time": "2024-04-03T07:19:20+00:00" + "time": "2024-05-01T21:00:24+00:00" }, { "name": "drupal/core-composer-scaffold", @@ -4177,27 +4180,37 @@ }, { "name": "drupal/diff", - "version": "1.1.0", + "version": "1.3.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/diff.git", - "reference": "8.x-1.1" + "reference": "8.x-1.3" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.1.zip", - "reference": "8.x-1.1", - "shasum": "b7558b0f431d5945289829946e0beba61bf7ae18" + "url": "https://ftp.drupal.org/files/projects/diff-8.x-1.3.zip", + "reference": "8.x-1.3", + "shasum": "7a6e70546d97974600baffd0695105e88699744e" }, "require": { "drupal/core": "^9.3 || ^10", "mkalkbrenner/php-htmldiff-advanced": "~0.0.8" }, + "require-dev": { + "jangregor/phpstan-prophecy": "dev-master", + "mglaman/phpstan-drupal": "^1.2.10", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-deprecation-rules": "*", + "phpstan/phpstan-phpunit": "1.4.x-dev", + "phpstan/phpstan-strict-rules": "^1@stable", + "previousnext/coding-standard": "^1" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.1", - "datestamp": "1665437355", + "version": "8.x-1.3", + "datestamp": "1712883857", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -4235,8 +4248,9 @@ "role": "Maintainer" }, { - "name": "Junyor", - "homepage": "https://www.drupal.org/user/7006" + "name": "Adam Bramley (acbramley)", + "homepage": "https://www.drupal.org/u/acbramley", + "role": "Maintainer" }, { "name": "lhangea", @@ -4266,7 +4280,7 @@ "description": "Compares two entity revisions", "homepage": "https://www.drupal.org/project/diff", "support": { - "source": "http://cgit.drupalcode.org/diff", + "source": "https://git.drupalcode.org/project/diff", "issues": "https://www.drupal.org/project/issues/diff" } }, @@ -5438,10 +5452,6 @@ "name": "JohnAlbin", "homepage": "https://www.drupal.org/user/32095" }, - { - "name": "Sam152", - "homepage": "https://www.drupal.org/user/1485048" - }, { "name": "stevector", "homepage": "https://www.drupal.org/user/179805" @@ -5578,7 +5588,7 @@ "source": { "type": "git", "url": "https://git.drupalcode.org/project/file_entity.git", - "reference": "9a64a35dbcc3035d03fd23f09ed85a6c21af32af" + "reference": "0090805fffcfdea1291e04070536132d74e64527" }, "require": { "drupal/core": "^9.3 || ^10", @@ -5595,8 +5605,8 @@ "dev-2.x": "2.x-dev" }, "drupal": { - "version": "8.x-2.0-rc4+1-dev", - "datestamp": "1702412990", + "version": "8.x-2.0-rc5+1-dev", + "datestamp": "1715099637", "security-coverage": { "status": "not-covered", "message": "Dev releases are not covered by Drupal security advisories." @@ -7659,17 +7669,17 @@ }, { "name": "drupal/linkit", - "version": "6.1.3", + "version": "6.1.4", "source": { "type": "git", "url": "https://git.drupalcode.org/project/linkit.git", - "reference": "6.1.3" + "reference": "6.1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/linkit-6.1.3.zip", - "reference": "6.1.3", - "shasum": "469a5e38269ed5e707998000ee4701ab4922e561" + "url": "https://ftp.drupal.org/files/projects/linkit-6.1.4.zip", + "reference": "6.1.4", + "shasum": "f5544a39d691af5efd1532bd5403862a7153f60b" }, "require": { "drupal/core": "^10.1" @@ -7681,8 +7691,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "6.1.3", - "datestamp": "1710519126", + "version": "6.1.4", + "datestamp": "1715203830", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -8257,17 +8267,17 @@ }, { "name": "drupal/menu_block", - "version": "1.10.0", + "version": "1.11.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/menu_block.git", - "reference": "8.x-1.10" + "reference": "8.x-1.11" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/menu_block-8.x-1.10.zip", - "reference": "8.x-1.10", - "shasum": "97de632d77448ae0a974e20c2ffbe42c7ddd4633" + "url": "https://ftp.drupal.org/files/projects/menu_block-8.x-1.11.zip", + "reference": "8.x-1.11", + "shasum": "7b2dec26a81177094860b1f884cca5c40b60fa85" }, "require": { "drupal/core": "^9.1 || ^10" @@ -8275,8 +8285,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.10", - "datestamp": "1667434255", + "version": "8.x-1.11", + "datestamp": "1715036334", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -8305,7 +8315,7 @@ "homepage": "https://www.drupal.org/user/370574" }, { - "name": "RenatoG", + "name": "renatog", "homepage": "https://www.drupal.org/user/3326031" }, { @@ -9194,17 +9204,17 @@ }, { "name": "drupal/paragraphs_browser", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/paragraphs_browser.git", - "reference": "8.x-1.1" + "reference": "8.x-1.2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/paragraphs_browser-8.x-1.1.zip", - "reference": "8.x-1.1", - "shasum": "79d34a4885c7c669bb3a481f9aa25b91cad7aab0" + "url": "https://ftp.drupal.org/files/projects/paragraphs_browser-8.x-1.2.zip", + "reference": "8.x-1.2", + "shasum": "d91532ead6b8be351264543707cb62541188f118" }, "require": { "drupal/core": "^9.3 || ^10", @@ -9213,8 +9223,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.1", - "datestamp": "1673972153", + "version": "8.x-1.2", + "datestamp": "1715341106", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -11240,17 +11250,17 @@ }, { "name": "drupal/token", - "version": "1.13.0", + "version": "1.14.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/token.git", - "reference": "8.x-1.13" + "reference": "8.x-1.14" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/token-8.x-1.13.zip", - "reference": "8.x-1.13", - "shasum": "f2a074b51726de3727c1d900237d6d471806a4d2" + "url": "https://ftp.drupal.org/files/projects/token-8.x-1.14.zip", + "reference": "8.x-1.14", + "shasum": "df3cae709fcc1a99ac1111ce67a0d6af56d287d7" }, "require": { "drupal/core": "^9.2 || ^10" @@ -11258,8 +11268,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-1.13", - "datestamp": "1697885927", + "version": "8.x-1.14", + "datestamp": "1713009399", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -11666,17 +11676,17 @@ }, { "name": "drupal/viewfield", - "version": "3.0.0-beta7", + "version": "3.0.0-beta8", "source": { "type": "git", "url": "https://git.drupalcode.org/project/viewfield.git", - "reference": "8.x-3.0-beta7" + "reference": "8.x-3.0-beta8" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/viewfield-8.x-3.0-beta7.zip", - "reference": "8.x-3.0-beta7", - "shasum": "60ab405ef94596e9f0b724eeb47c71bba9640aa6" + "url": "https://ftp.drupal.org/files/projects/viewfield-8.x-3.0-beta8.zip", + "reference": "8.x-3.0-beta8", + "shasum": "348ff691cd234d4401ecc6870a59eefd961106bd" }, "require": { "drupal/core": "^9.2 || ^10" @@ -11684,8 +11694,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-3.0-beta7", - "datestamp": "1675788957", + "version": "8.x-3.0-beta8", + "datestamp": "1715172111", "security-coverage": { "status": "not-covered", "message": "Beta releases are not covered by Drupal security advisories." @@ -12336,16 +12346,16 @@ }, { "name": "drush/drush", - "version": "12.5.1", + "version": "12.5.2", "source": { "type": "git", "url": "https://github.com/drush-ops/drush.git", - "reference": "71fcea30a22e7336e17be18bb5945400b2c63fad" + "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drush-ops/drush/zipball/71fcea30a22e7336e17be18bb5945400b2c63fad", - "reference": "71fcea30a22e7336e17be18bb5945400b2c63fad", + "url": "https://api.github.com/repos/drush-ops/drush/zipball/4aebed85dc818ff762f2e24a85b023d2a52050df", + "reference": "4aebed85dc818ff762f2e24a85b023d2a52050df", "shasum": "" }, "require": { @@ -12468,7 +12478,7 @@ "issues": "https://github.com/drush-ops/drush/issues", "security": "https://github.com/drush-ops/drush/security/advisories", "slack": "https://drupal.slack.com/messages/C62H9CWQM", - "source": "https://github.com/drush-ops/drush/tree/12.5.1" + "source": "https://github.com/drush-ops/drush/tree/12.5.2" }, "funding": [ { @@ -12476,7 +12486,7 @@ "type": "github" } ], - "time": "2024-03-20T15:03:27+00:00" + "time": "2024-05-02T17:20:48+00:00" }, { "name": "e0ipso/shaper", @@ -12983,34 +12993,36 @@ }, { "name": "google/auth", - "version": "v1.37.1", + "version": "v1.39.0", "source": { "type": "git", "url": "https://github.com/googleapis/google-auth-library-php.git", - "reference": "1a7de77b72e6ac60dccf0e6478c4c1005bb0ff46" + "reference": "23e8e696d87f8d7dfefbd347ca1c99ce17ecb368" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/1a7de77b72e6ac60dccf0e6478c4c1005bb0ff46", - "reference": "1a7de77b72e6ac60dccf0e6478c4c1005bb0ff46", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/23e8e696d87f8d7dfefbd347ca1c99ce17ecb368", + "reference": "23e8e696d87f8d7dfefbd347ca1c99ce17ecb368", "shasum": "" }, "require": { "firebase/php-jwt": "^6.0", - "guzzlehttp/guzzle": "^6.5.8||^7.4.5", + "guzzlehttp/guzzle": "^7.4.5", "guzzlehttp/psr7": "^2.4.5", - "php": "^7.4||^8.0", - "psr/cache": "^1.0||^2.0||^3.0", + "php": "^8.0", + "psr/cache": "^2.0||^3.0", "psr/http-message": "^1.1||^2.0" }, "require-dev": { "guzzlehttp/promises": "^2.0", "kelvinmo/simplejwt": "0.7.1", - "phpseclib/phpseclib": "^3.0", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.0.0", + "phpseclib/phpseclib": "^3.0.35", + "phpspec/prophecy-phpunit": "^2.1", + "phpunit/phpunit": "^9.6", "sebastian/comparator": ">=1.2.3", - "squizlabs/php_codesniffer": "^3.5" + "squizlabs/php_codesniffer": "^3.5", + "symfony/process": "^6.0||^7.0", + "webmozart/assert": "^1.11" }, "suggest": { "phpseclib/phpseclib": "May be used in place of OpenSSL for signing strings or for token management. Please require version ^2." @@ -13035,9 +13047,9 @@ "support": { "docs": "https://googleapis.github.io/google-auth-library-php/main/", "issues": "https://github.com/googleapis/google-auth-library-php/issues", - "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.37.1" + "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.39.0" }, - "time": "2024-04-03T18:41:12+00:00" + "time": "2024-05-02T16:03:51+00:00" }, { "name": "google/cloud-ai-platform", @@ -13091,16 +13103,16 @@ }, { "name": "google/cloud-document-ai", - "version": "v1.11.1", + "version": "v1.12.1", "source": { "type": "git", "url": "https://github.com/googleapis/google-cloud-php-document-ai.git", - "reference": "50976ea064f18aab126471a630ded0f897ef1867" + "reference": "0d85771ad43b5cd907cab244d72a2d6b00e14c45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/google-cloud-php-document-ai/zipball/50976ea064f18aab126471a630ded0f897ef1867", - "reference": "50976ea064f18aab126471a630ded0f897ef1867", + "url": "https://api.github.com/repos/googleapis/google-cloud-php-document-ai/zipball/0d85771ad43b5cd907cab244d72a2d6b00e14c45", + "reference": "0d85771ad43b5cd907cab244d72a2d6b00e14c45", "shasum": "" }, "require": { @@ -13135,9 +13147,9 @@ ], "description": "Google Cloud Document Ai Client for PHP", "support": { - "source": "https://github.com/googleapis/google-cloud-php-document-ai/tree/v1.11.1" + "source": "https://github.com/googleapis/google-cloud-php-document-ai/tree/v1.12.1" }, - "time": "2024-03-01T11:25:35+00:00" + "time": "2024-05-03T18:32:44+00:00" }, { "name": "google/common-protos", @@ -13193,23 +13205,23 @@ }, { "name": "google/gax", - "version": "v1.30.1", + "version": "v1.33.0", "source": { "type": "git", "url": "https://github.com/googleapis/gax-php.git", - "reference": "2deeb24898d0ba3c4faba48f7f0cfcc1ef341613" + "reference": "12a158e9b503df0087ebf9e218e8d75dc815a521" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/gax-php/zipball/2deeb24898d0ba3c4faba48f7f0cfcc1ef341613", - "reference": "2deeb24898d0ba3c4faba48f7f0cfcc1ef341613", + "url": "https://api.github.com/repos/googleapis/gax-php/zipball/12a158e9b503df0087ebf9e218e8d75dc815a521", + "reference": "12a158e9b503df0087ebf9e218e8d75dc815a521", "shasum": "" }, "require": { "google/auth": "^1.34.0", "google/common-protos": "^4.4", "google/grpc-gcp": "^0.4", - "google/longrunning": "~0.2", + "google/longrunning": "~0.4", "google/protobuf": "^v3.25.3||^4.26.1", "grpc/grpc": "^1.13", "guzzlehttp/promises": "^2.0", @@ -13222,6 +13234,7 @@ }, "require-dev": { "phpspec/prophecy-phpunit": "^2.1", + "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.6", "squizlabs/php_codesniffer": "3.*" }, @@ -13243,9 +13256,9 @@ ], "support": { "issues": "https://github.com/googleapis/gax-php/issues", - "source": "https://github.com/googleapis/gax-php/tree/v1.30.1" + "source": "https://github.com/googleapis/gax-php/tree/v1.33.0" }, - "time": "2024-04-03T19:04:34+00:00" + "time": "2024-05-14T14:55:14+00:00" }, { "name": "google/grpc-gcp", @@ -13294,16 +13307,16 @@ }, { "name": "google/longrunning", - "version": "0.3.1", + "version": "0.4.2", "source": { "type": "git", "url": "https://github.com/googleapis/php-longrunning.git", - "reference": "a974fe870d5f57cc21da697923a1f4e8d08829c9" + "reference": "dd38c97ee348ad73bfb581aa276a536161f4b181" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/googleapis/php-longrunning/zipball/a974fe870d5f57cc21da697923a1f4e8d08829c9", - "reference": "a974fe870d5f57cc21da697923a1f4e8d08829c9", + "url": "https://api.github.com/repos/googleapis/php-longrunning/zipball/dd38c97ee348ad73bfb581aa276a536161f4b181", + "reference": "dd38c97ee348ad73bfb581aa276a536161f4b181", "shasum": "" }, "require-dev": { @@ -13332,9 +13345,9 @@ ], "description": "Google LongRunning Client for PHP", "support": { - "source": "https://github.com/googleapis/php-longrunning/tree/v0.3.1" + "source": "https://github.com/googleapis/php-longrunning/tree/v0.4.2" }, - "time": "2024-03-01T11:25:35+00:00" + "time": "2024-05-03T18:32:44+00:00" }, { "name": "google/protobuf", @@ -13486,24 +13499,24 @@ }, { "name": "grasmash/yaml-cli", - "version": "3.1.0", + "version": "3.2.1", "source": { "type": "git", "url": "https://github.com/grasmash/yaml-cli.git", - "reference": "00f3fd775f6abbfacd44432f1999c3c3b02791f0" + "reference": "09a8860566958a1576cc54bbe910a03477e54971" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/grasmash/yaml-cli/zipball/00f3fd775f6abbfacd44432f1999c3c3b02791f0", - "reference": "00f3fd775f6abbfacd44432f1999c3c3b02791f0", + "url": "https://api.github.com/repos/grasmash/yaml-cli/zipball/09a8860566958a1576cc54bbe910a03477e54971", + "reference": "09a8860566958a1576cc54bbe910a03477e54971", "shasum": "" }, "require": { "dflydev/dot-access-data": "^3", "php": ">=8.0", - "symfony/console": "^6", - "symfony/filesystem": "^6", - "symfony/yaml": "^6" + "symfony/console": "^6 || ^7", + "symfony/filesystem": "^6 || ^7", + "symfony/yaml": "^6 || ^7" }, "require-dev": { "php-coveralls/php-coveralls": "^2", @@ -13536,9 +13549,9 @@ "description": "A command line tool for reading and manipulating yaml files.", "support": { "issues": "https://github.com/grasmash/yaml-cli/issues", - "source": "https://github.com/grasmash/yaml-cli/tree/3.1.0" + "source": "https://github.com/grasmash/yaml-cli/tree/3.2.1" }, - "time": "2022-05-09T20:22:34+00:00" + "time": "2024-04-23T02:10:57+00:00" }, { "name": "grpc/grpc", @@ -14445,16 +14458,16 @@ }, { "name": "monolog/monolog", - "version": "3.5.0", + "version": "3.6.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", "shasum": "" }, "require": { @@ -14477,7 +14490,7 @@ "phpstan/phpstan": "^1.9", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.1", + "phpunit/phpunit": "^10.5.17", "predis/predis": "^1.1 || ^2", "ruflin/elastica": "^7", "symfony/mailer": "^5.4 || ^6", @@ -14530,7 +14543,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.5.0" + "source": "https://github.com/Seldaek/monolog/tree/3.6.0" }, "funding": [ { @@ -14542,29 +14555,31 @@ "type": "tidelift" } ], - "time": "2023-10-27T15:32:31+00:00" + "time": "2024-04-12T21:02:21+00:00" }, { "name": "nikic/php-parser", - "version": "v4.19.1", + "version": "v5.0.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b" + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4e1b88d21c69391150ace211e9eaf05810858d0b", - "reference": "4e1b88d21c69391150ace211e9eaf05810858d0b", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", "shasum": "" }, "require": { + "ext-ctype": "*", + "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.1" + "php": ">=7.4" }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "bin": [ "bin/php-parse" @@ -14572,7 +14587,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.9-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -14596,9 +14611,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.1" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" }, - "time": "2024-03-17T08:10:35+00:00" + "time": "2024-03-05T20:51:40+00:00" }, { "name": "onelogin/php-saml", @@ -14715,16 +14730,16 @@ }, { "name": "paragonie/constant_time_encoding", - "version": "v2.6.3", + "version": "v2.7.0", "source": { "type": "git", "url": "https://github.com/paragonie/constant_time_encoding.git", - "reference": "58c3f47f650c94ec05a151692652a868995d2938" + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/58c3f47f650c94ec05a151692652a868995d2938", - "reference": "58c3f47f650c94ec05a151692652a868995d2938", + "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/52a0d99e69f56b9ec27ace92ba56897fe6993105", + "reference": "52a0d99e69f56b9ec27ace92ba56897fe6993105", "shasum": "" }, "require": { @@ -14778,7 +14793,7 @@ "issues": "https://github.com/paragonie/constant_time_encoding/issues", "source": "https://github.com/paragonie/constant_time_encoding" }, - "time": "2022-06-14T06:56:20+00:00" + "time": "2024-05-08T12:18:48+00:00" }, { "name": "paragonie/random_compat", @@ -15371,16 +15386,16 @@ }, { "name": "phpstan/phpdoc-parser", - "version": "1.28.0", + "version": "1.29.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb" + "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", - "reference": "cd06d6b1a1b3c75b0b83f97577869fd85a3cd4fb", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/536889f2b340489d328f5ffb7b02bb6b183ddedc", + "reference": "536889f2b340489d328f5ffb7b02bb6b183ddedc", "shasum": "" }, "require": { @@ -15412,9 +15427,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.28.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.29.0" }, - "time": "2024-04-03T18:51:33+00:00" + "time": "2024-05-06T12:04:23+00:00" }, { "name": "picqer/php-barcode-generator", @@ -15746,20 +15761,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -15783,7 +15798,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -15795,9 +15810,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -16116,20 +16131,20 @@ }, { "name": "ramsey/uuid", - "version": "4.7.5", + "version": "4.7.6", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" + "reference": "91039bc1faa45ba123c4328958e620d382ec7088" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", - "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/91039bc1faa45ba123c4328958e620d382ec7088", + "reference": "91039bc1faa45ba123c4328958e620d382ec7088", "shasum": "" }, "require": { - "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12", "ext-json": "*", "php": "^8.0", "ramsey/collection": "^1.2 || ^2.0" @@ -16192,7 +16207,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.7.5" + "source": "https://github.com/ramsey/uuid/tree/4.7.6" }, "funding": [ { @@ -16204,7 +16219,7 @@ "type": "tidelift" } ], - "time": "2023-11-08T05:53:05+00:00" + "time": "2024-04-27T21:32:50+00:00" }, { "name": "rlanvin/php-rrule", @@ -16599,16 +16614,16 @@ }, { "name": "sirbrillig/phpcs-variable-analysis", - "version": "v2.11.17", + "version": "v2.11.18", "source": { "type": "git", "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git", - "reference": "3b71162a6bf0cde2bff1752e40a1788d8273d049" + "reference": "ca242a0b7309e0f9d1f73b236e04ecf4ca3248d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/3b71162a6bf0cde2bff1752e40a1788d8273d049", - "reference": "3b71162a6bf0cde2bff1752e40a1788d8273d049", + "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/ca242a0b7309e0f9d1f73b236e04ecf4ca3248d0", + "reference": "ca242a0b7309e0f9d1f73b236e04ecf4ca3248d0", "shasum": "" }, "require": { @@ -16653,7 +16668,7 @@ "source": "https://github.com/sirbrillig/phpcs-variable-analysis", "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki" }, - "time": "2023-08-05T23:46:11+00:00" + "time": "2024-04-13T16:42:46+00:00" }, { "name": "slevomat/coding-standard", @@ -16781,16 +16796,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.9.1", + "version": "3.9.2", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909" + "reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/267a4405fff1d9c847134db3a3c92f1ab7f77909", - "reference": "267a4405fff1d9c847134db3a3c92f1ab7f77909", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/aac1f6f347a5c5ac6bc98ad395007df00990f480", + "reference": "aac1f6f347a5c5ac6bc98ad395007df00990f480", "shasum": "" }, "require": { @@ -16857,20 +16872,20 @@ "type": "open_collective" } ], - "time": "2024-03-31T21:03:09+00:00" + "time": "2024-04-23T20:25:34+00:00" }, { "name": "symfony/console", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a2708a5da5c87d1d0d52937bdeac625df659e11f" + "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a2708a5da5c87d1d0d52937bdeac625df659e11f", - "reference": "a2708a5da5c87d1d0d52937bdeac625df659e11f", + "url": "https://api.github.com/repos/symfony/console/zipball/a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", + "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", "shasum": "" }, "require": { @@ -16935,7 +16950,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.6" + "source": "https://github.com/symfony/console/tree/v6.4.7" }, "funding": [ { @@ -16951,20 +16966,20 @@ "type": "tidelift" } ], - "time": "2024-03-29T19:07:53+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "31417777509923b22de5c6fb6b3ffcdebde37cb5" + "reference": "d8c5f9781b71c2a868ae9d0e5c9b283684740b6d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/31417777509923b22de5c6fb6b3ffcdebde37cb5", - "reference": "31417777509923b22de5c6fb6b3ffcdebde37cb5", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/d8c5f9781b71c2a868ae9d0e5c9b283684740b6d", + "reference": "d8c5f9781b71c2a868ae9d0e5c9b283684740b6d", "shasum": "" }, "require": { @@ -17016,7 +17031,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.6" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.7" }, "funding": [ { @@ -17032,20 +17047,20 @@ "type": "tidelift" } ], - "time": "2024-03-27T22:00:14+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -17054,7 +17069,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -17083,7 +17098,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.4.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -17099,20 +17114,20 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/error-handler", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "64db1c1802e3a4557e37ba33031ac39f452ac5d4" + "reference": "667a072466c6a53827ed7b119af93806b884cbb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/64db1c1802e3a4557e37ba33031ac39f452ac5d4", - "reference": "64db1c1802e3a4557e37ba33031ac39f452ac5d4", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/667a072466c6a53827ed7b119af93806b884cbb3", + "reference": "667a072466c6a53827ed7b119af93806b884cbb3", "shasum": "" }, "require": { @@ -17158,7 +17173,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.6" + "source": "https://github.com/symfony/error-handler/tree/v6.4.7" }, "funding": [ { @@ -17174,20 +17189,20 @@ "type": "tidelift" } ], - "time": "2024-03-19T11:56:30+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.4.3", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef" + "reference": "d84384f3f67de3cb650db64d685d70395dacfc3f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ae9d3a6f3003a6caf56acd7466d8d52378d44fef", - "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d84384f3f67de3cb650db64d685d70395dacfc3f", + "reference": "d84384f3f67de3cb650db64d685d70395dacfc3f", "shasum": "" }, "require": { @@ -17238,7 +17253,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/v6.4.3" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.7" }, "funding": [ { @@ -17254,20 +17269,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "4e64b49bf370ade88e567de29465762e316e4224" + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/4e64b49bf370ade88e567de29465762e316e4224", - "reference": "4e64b49bf370ade88e567de29465762e316e4224", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { @@ -17277,7 +17292,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -17314,7 +17329,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -17330,26 +17345,27 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/filesystem", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "9919b5509ada52cc7f66f9a35c86a4a29955c9d3" + "reference": "78dde75f8f6dbbca4ec436a4b0087f7af02076d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/9919b5509ada52cc7f66f9a35c86a4a29955c9d3", - "reference": "9919b5509ada52cc7f66f9a35c86a4a29955c9d3", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/78dde75f8f6dbbca4ec436a4b0087f7af02076d4", + "reference": "78dde75f8f6dbbca4ec436a4b0087f7af02076d4", "shasum": "" }, "require": { "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" + "symfony/polyfill-mbstring": "~1.8", + "symfony/process": "^5.4|^6.4" }, "type": "library", "autoload": { @@ -17377,7 +17393,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.6" + "source": "https://github.com/symfony/filesystem/tree/v6.4.7" }, "funding": [ { @@ -17393,20 +17409,20 @@ "type": "tidelift" } ], - "time": "2024-03-21T19:36:20+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/finder", - "version": "v6.4.0", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + "reference": "511c48990be17358c23bf45c5d71ab85d40fb764" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "url": "https://api.github.com/repos/symfony/finder/zipball/511c48990be17358c23bf45c5d71ab85d40fb764", + "reference": "511c48990be17358c23bf45c5d71ab85d40fb764", "shasum": "" }, "require": { @@ -17441,7 +17457,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.0" + "source": "https://github.com/symfony/finder/tree/v6.4.7" }, "funding": [ { @@ -17457,20 +17473,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T17:30:12+00:00" + "time": "2024-04-23T10:36:43+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.4", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304" + "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ebc713bc6e6f4b53f46539fc158be85dfcd77304", - "reference": "ebc713bc6e6f4b53f46539fc158be85dfcd77304", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b4db6b833035477cb70e18d0ae33cb7c2b521759", + "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759", "shasum": "" }, "require": { @@ -17518,7 +17534,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.4" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.7" }, "funding": [ { @@ -17534,20 +17550,20 @@ "type": "tidelift" } ], - "time": "2024-02-08T15:01:18+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "060038863743fd0cd982be06acecccf246d35653" + "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/060038863743fd0cd982be06acecccf246d35653", - "reference": "060038863743fd0cd982be06acecccf246d35653", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b7b5e6cdef670a0c82d015a966ffc7e855861a98", + "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98", "shasum": "" }, "require": { @@ -17602,6 +17618,7 @@ "symfony/translation-contracts": "^2.5|^3", "symfony/uid": "^5.4|^6.0|^7.0", "symfony/validator": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.4|^7.0", "symfony/var-exporter": "^6.2|^7.0", "twig/twig": "^2.13|^3.0.4" }, @@ -17631,7 +17648,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.6" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.7" }, "funding": [ { @@ -17647,20 +17664,20 @@ "type": "tidelift" } ], - "time": "2024-04-03T06:09:15+00:00" + "time": "2024-04-29T11:24:44+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "677f34a6f4b4559e08acf73ae0aec460479e5859" + "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/677f34a6f4b4559e08acf73ae0aec460479e5859", - "reference": "677f34a6f4b4559e08acf73ae0aec460479e5859", + "url": "https://api.github.com/repos/symfony/mailer/zipball/2c446d4e446995bed983c0b5bb9ff837e8de7dbd", + "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd", "shasum": "" }, "require": { @@ -17711,7 +17728,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.6" + "source": "https://github.com/symfony/mailer/tree/v6.4.7" }, "funding": [ { @@ -17727,20 +17744,20 @@ "type": "tidelift" } ], - "time": "2024-03-27T21:14:17+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/mime", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "14762b86918823cb42e3558cdcca62e58b5227fe" + "reference": "decadcf3865918ecfcbfa90968553994ce935a5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/14762b86918823cb42e3558cdcca62e58b5227fe", - "reference": "14762b86918823cb42e3558cdcca62e58b5227fe", + "url": "https://api.github.com/repos/symfony/mime/zipball/decadcf3865918ecfcbfa90968553994ce935a5e", + "reference": "decadcf3865918ecfcbfa90968553994ce935a5e", "shasum": "" }, "require": { @@ -17796,7 +17813,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.6" + "source": "https://github.com/symfony/mime/tree/v6.4.7" }, "funding": [ { @@ -17812,7 +17829,7 @@ "type": "tidelift" } ], - "time": "2024-03-21T19:36:20+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/polyfill-ctype", @@ -18604,16 +18621,16 @@ }, { "name": "symfony/process", - "version": "v6.4.4", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "710e27879e9be3395de2b98da3f52a946039f297" + "reference": "cdb1c81c145fd5aa9b0038bab694035020943381" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/710e27879e9be3395de2b98da3f52a946039f297", - "reference": "710e27879e9be3395de2b98da3f52a946039f297", + "url": "https://api.github.com/repos/symfony/process/zipball/cdb1c81c145fd5aa9b0038bab694035020943381", + "reference": "cdb1c81c145fd5aa9b0038bab694035020943381", "shasum": "" }, "require": { @@ -18645,7 +18662,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.4" + "source": "https://github.com/symfony/process/tree/v6.4.7" }, "funding": [ { @@ -18661,20 +18678,20 @@ "type": "tidelift" } ], - "time": "2024-02-20T12:31:00+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/psr-http-message-bridge", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "98059dd19bae6579a294e0fe5b3dfdbeb409845a" + "reference": "e8adf6b1b46d9115f5d9247fa74bbefc459680c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/98059dd19bae6579a294e0fe5b3dfdbeb409845a", - "reference": "98059dd19bae6579a294e0fe5b3dfdbeb409845a", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/e8adf6b1b46d9115f5d9247fa74bbefc459680c0", + "reference": "e8adf6b1b46d9115f5d9247fa74bbefc459680c0", "shasum": "" }, "require": { @@ -18728,7 +18745,7 @@ "psr-7" ], "support": { - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.6" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v6.4.7" }, "funding": [ { @@ -18744,20 +18761,20 @@ "type": "tidelift" } ], - "time": "2024-03-27T22:00:14+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/routing", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "f2591fd1f8c6e3734656b5d6b3829e8bf81f507c" + "reference": "276e06398f71fa2a973264d94f28150f93cfb907" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/f2591fd1f8c6e3734656b5d6b3829e8bf81f507c", - "reference": "f2591fd1f8c6e3734656b5d6b3829e8bf81f507c", + "url": "https://api.github.com/repos/symfony/routing/zipball/276e06398f71fa2a973264d94f28150f93cfb907", + "reference": "276e06398f71fa2a973264d94f28150f93cfb907", "shasum": "" }, "require": { @@ -18811,7 +18828,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.6" + "source": "https://github.com/symfony/routing/tree/v6.4.7" }, "funding": [ { @@ -18827,20 +18844,20 @@ "type": "tidelift" } ], - "time": "2024-03-28T13:28:49+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/serializer", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "3697adf91f83516c86b4912c08c28084711ed560" + "reference": "73820ab43d12c2f29445080004054b0066082bf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/3697adf91f83516c86b4912c08c28084711ed560", - "reference": "3697adf91f83516c86b4912c08c28084711ed560", + "url": "https://api.github.com/repos/symfony/serializer/zipball/73820ab43d12c2f29445080004054b0066082bf1", + "reference": "73820ab43d12c2f29445080004054b0066082bf1", "shasum": "" }, "require": { @@ -18909,7 +18926,7 @@ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/serializer/tree/v6.4.6" + "source": "https://github.com/symfony/serializer/tree/v6.4.7" }, "funding": [ { @@ -18925,25 +18942,26 @@ "type": "tidelift" } ], - "time": "2024-03-27T22:00:14+00:00" + "time": "2024-04-23T09:00:49+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e" + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/11bbf19a0fb7b36345861e85c5768844c552906e", - "reference": "11bbf19a0fb7b36345861e85c5768844c552906e", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", "shasum": "" }, "require": { "php": ">=8.1", - "psr/container": "^1.1|^2.0" + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { "ext-psr": "<1.1|>=2" @@ -18951,7 +18969,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -18991,7 +19009,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" }, "funding": [ { @@ -19007,20 +19025,20 @@ "type": "tidelift" } ], - "time": "2023-12-19T21:51:00+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/string", - "version": "v6.4.4", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9" + "reference": "ffeb9591c61f65a68d47f77d12b83fa530227a69" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", - "reference": "4e465a95bdc32f49cf4c7f07f751b843bbd6dcd9", + "url": "https://api.github.com/repos/symfony/string/zipball/ffeb9591c61f65a68d47f77d12b83fa530227a69", + "reference": "ffeb9591c61f65a68d47f77d12b83fa530227a69", "shasum": "" }, "require": { @@ -19077,7 +19095,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.4.4" + "source": "https://github.com/symfony/string/tree/v6.4.7" }, "funding": [ { @@ -19093,20 +19111,20 @@ "type": "tidelift" } ], - "time": "2024-02-01T13:16:41+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.4.2", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b" + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", - "reference": "43810bdb2ddb5400e5c5e778e27b210a0ca83b6b", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", "shasum": "" }, "require": { @@ -19115,7 +19133,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -19155,7 +19173,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.4.2" + "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" }, "funding": [ { @@ -19171,20 +19189,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/validator", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "ca1d78e8677e966e307a63799677b64b194d735d" + "reference": "4761a08d161d823ec281151ade0905547e0502a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/ca1d78e8677e966e307a63799677b64b194d735d", - "reference": "ca1d78e8677e966e307a63799677b64b194d735d", + "url": "https://api.github.com/repos/symfony/validator/zipball/4761a08d161d823ec281151ade0905547e0502a7", + "reference": "4761a08d161d823ec281151ade0905547e0502a7", "shasum": "" }, "require": { @@ -19251,7 +19269,7 @@ "description": "Provides tools to validate values", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/validator/tree/v6.4.6" + "source": "https://github.com/symfony/validator/tree/v6.4.7" }, "funding": [ { @@ -19267,20 +19285,20 @@ "type": "tidelift" } ], - "time": "2024-03-27T22:00:14+00:00" + "time": "2024-04-28T10:38:38+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "95bd2706a97fb875185b51ecaa6112ec184233d4" + "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/95bd2706a97fb875185b51ecaa6112ec184233d4", - "reference": "95bd2706a97fb875185b51ecaa6112ec184233d4", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7a9cd977cd1c5fed3694bee52990866432af07d7", + "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7", "shasum": "" }, "require": { @@ -19336,7 +19354,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.6" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.7" }, "funding": [ { @@ -19352,20 +19370,20 @@ "type": "tidelift" } ], - "time": "2024-03-19T11:56:30+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "20888cf4d11de203613515cf0587828bf5af0fe7" + "reference": "825f9b00c37bbe1c1691cc1aff9b5451fc9b4405" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/20888cf4d11de203613515cf0587828bf5af0fe7", - "reference": "20888cf4d11de203613515cf0587828bf5af0fe7", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/825f9b00c37bbe1c1691cc1aff9b5451fc9b4405", + "reference": "825f9b00c37bbe1c1691cc1aff9b5451fc9b4405", "shasum": "" }, "require": { @@ -19413,7 +19431,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.6" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.7" }, "funding": [ { @@ -19429,20 +19447,20 @@ "type": "tidelift" } ], - "time": "2024-03-20T21:07:14+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.3", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "d75715985f0f94f978e3a8fa42533e10db921b90" + "reference": "53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/d75715985f0f94f978e3a8fa42533e10db921b90", - "reference": "d75715985f0f94f978e3a8fa42533e10db921b90", + "url": "https://api.github.com/repos/symfony/yaml/zipball/53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0", + "reference": "53e8b1ef30a65f78eac60fddc5ee7ebbbdb1dee0", "shasum": "" }, "require": { @@ -19485,7 +19503,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.3" + "source": "https://github.com/symfony/yaml/tree/v6.4.7" }, "funding": [ { @@ -19501,34 +19519,41 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-28T10:28:08+00:00" }, { "name": "twig/twig", - "version": "v3.8.0", + "version": "v3.10.2", "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d" + "reference": "7aaed0b8311a557cc8c4047a71fd03153a00e755" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/9d15f0ac07f44dc4217883ec6ae02fd555c6f71d", - "reference": "9d15f0ac07f44dc4217883ec6ae02fd555c6f71d", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/7aaed0b8311a557cc8c4047a71fd03153a00e755", + "reference": "7aaed0b8311a557cc8c4047a71fd03153a00e755", "shasum": "" }, "require": { "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-mbstring": "^1.3", "symfony/polyfill-php80": "^1.22" }, "require-dev": { "psr/container": "^1.0|^2.0", - "symfony/phpunit-bridge": "^5.4.9|^6.3|^7.0" + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" }, "type": "library", "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], "psr-4": { "Twig\\": "src/" } @@ -19561,7 +19586,7 @@ ], "support": { "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.8.0" + "source": "https://github.com/twigphp/Twig/tree/v3.10.2" }, "funding": [ { @@ -19573,7 +19598,7 @@ "type": "tidelift" } ], - "time": "2023-11-21T18:54:41+00:00" + "time": "2024-05-14T06:04:16+00:00" }, { "name": "vardot/blazy", @@ -19675,30 +19700,31 @@ }, { "name": "webflo/drupal-finder", - "version": "1.2.2", + "version": "1.3.0", "source": { "type": "git", "url": "https://github.com/webflo/drupal-finder.git", - "reference": "c8e5dbe65caef285fec8057a4c718a0d4138d1ee" + "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/c8e5dbe65caef285fec8057a4c718a0d4138d1ee", - "reference": "c8e5dbe65caef285fec8057a4c718a0d4138d1ee", + "url": "https://api.github.com/repos/webflo/drupal-finder/zipball/1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", + "reference": "1fa65484857c7a2e4dcf0d9e0b47198fe0681b8a", "shasum": "" }, "require": { - "ext-json": "*" + "composer-runtime-api": "^2.2", + "php": ">=8.1" }, "require-dev": { "mikey179/vfsstream": "^1.6", - "phpunit/phpunit": "^4.8" + "phpunit/phpunit": "^10.4" }, "type": "library", "autoload": { - "classmap": [ - "src/DrupalFinder.php" - ] + "psr-4": { + "DrupalFinder\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -19710,12 +19736,12 @@ "email": "florian@webflo.org" } ], - "description": "Helper class to locate a Drupal installation from a given path.", + "description": "Helper class to locate a Drupal installation.", "support": { "issues": "https://github.com/webflo/drupal-finder/issues", - "source": "https://github.com/webflo/drupal-finder/tree/1.2.2" + "source": "https://github.com/webflo/drupal-finder/tree/1.3.0" }, - "time": "2020-10-27T09:42:17+00:00" + "time": "2024-05-08T21:22:39+00:00" } ], "packages-dev": [ @@ -20153,16 +20179,16 @@ }, { "name": "composer/composer", - "version": "2.7.2", + "version": "2.7.6", "source": { "type": "git", "url": "https://github.com/composer/composer.git", - "reference": "b826edb791571ab1eaf281eb1bd6e181a1192adc" + "reference": "fabd995783b633829fd4280e272284b39b6ae702" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/b826edb791571ab1eaf281eb1bd6e181a1192adc", - "reference": "b826edb791571ab1eaf281eb1bd6e181a1192adc", + "url": "https://api.github.com/repos/composer/composer/zipball/fabd995783b633829fd4280e272284b39b6ae702", + "reference": "fabd995783b633829fd4280e272284b39b6ae702", "shasum": "" }, "require": { @@ -20247,7 +20273,7 @@ "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/composer/issues", "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.7.2" + "source": "https://github.com/composer/composer/tree/2.7.6" }, "funding": [ { @@ -20263,7 +20289,7 @@ "type": "tidelift" } ], - "time": "2024-03-11T16:12:18+00:00" + "time": "2024-05-04T21:03:15+00:00" }, { "name": "composer/metadata-minifier", @@ -20487,16 +20513,16 @@ }, { "name": "composer/xdebug-handler", - "version": "3.0.4", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/composer/xdebug-handler.git", - "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255" + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/4f988f8fdf580d53bdb2d1278fe93d1ed5462255", - "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { @@ -20533,7 +20559,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.4" + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, "funding": [ { @@ -20549,7 +20575,7 @@ "type": "tidelift" } ], - "time": "2024-03-26T18:29:49+00:00" + "time": "2024-05-06T16:37:16+00:00" }, { "name": "dekor/php-array-table", @@ -20602,16 +20628,16 @@ }, { "name": "doctrine/common", - "version": "3.4.3", + "version": "3.4.4", "source": { "type": "git", "url": "https://github.com/doctrine/common.git", - "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced" + "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/8b5e5650391f851ed58910b3e3d48a71062eeced", - "reference": "8b5e5650391f851ed58910b3e3d48a71062eeced", + "url": "https://api.github.com/repos/doctrine/common/zipball/0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", + "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", "shasum": "" }, "require": { @@ -20673,7 +20699,7 @@ ], "support": { "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.4.3" + "source": "https://github.com/doctrine/common/tree/3.4.4" }, "funding": [ { @@ -20689,7 +20715,7 @@ "type": "tidelift" } ], - "time": "2022-10-09T11:47:59+00:00" + "time": "2024-04-16T13:35:33+00:00" }, { "name": "doctrine/event-manager", @@ -21016,7 +21042,7 @@ }, { "name": "drupal/core-dev", - "version": "10.2.5", + "version": "10.2.6", "source": { "type": "git", "url": "https://github.com/drupal/core-dev.git", @@ -21066,7 +21092,7 @@ ], "description": "require-dev dependencies from drupal/drupal; use in addition to drupal/core-recommended to run tests from drupal/core.", "support": { - "source": "https://github.com/drupal/core-dev/tree/10.2.5" + "source": "https://github.com/drupal/core-dev/tree/10.2.6" }, "time": "2024-02-14T18:07:20+00:00" }, @@ -21131,32 +21157,35 @@ }, { "name": "drupal/upgrade_status", - "version": "4.1.0", + "version": "4.3.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/upgrade_status.git", - "reference": "4.1.0" + "reference": "4.3.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/upgrade_status-4.1.0.zip", - "reference": "4.1.0", - "shasum": "b306740b7e952f3d6bb71a2e0a165d48977e732a" + "url": "https://ftp.drupal.org/files/projects/upgrade_status-4.3.1.zip", + "reference": "4.3.1", + "shasum": "18390306878f8abe2c2c68d471217655e5b7b31c" }, "require": { "dekor/php-array-table": "^2.0", "drupal/core": "^9 || ^10", "mglaman/phpstan-drupal": "^1.0.0", - "nikic/php-parser": "^4.0.0", + "nikic/php-parser": "^4.0.0|^5.0.0", "phpstan/phpstan-deprecation-rules": "^1.0.0", "symfony/process": "^3.4|^4.0|^5.0|^6.0", "webflo/drupal-finder": "^1.2" }, + "require-dev": { + "drush/drush": "^11|^12" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "4.1.0", - "datestamp": "1708602507", + "version": "4.3.1", + "datestamp": "1714463117", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -21269,16 +21298,16 @@ }, { "name": "mglaman/phpstan-drupal", - "version": "1.2.10", + "version": "1.2.11", "source": { "type": "git", "url": "https://github.com/mglaman/phpstan-drupal.git", - "reference": "cdafb3285beeb5fadf25a43e18fee6f80bb14575" + "reference": "e624a4b64de5b91a0c56852635af2115e9a6e08c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/cdafb3285beeb5fadf25a43e18fee6f80bb14575", - "reference": "cdafb3285beeb5fadf25a43e18fee6f80bb14575", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/e624a4b64de5b91a0c56852635af2115e9a6e08c", + "reference": "e624a4b64de5b91a0c56852635af2115e9a6e08c", "shasum": "" }, "require": { @@ -21293,10 +21322,10 @@ "behat/mink": "^1.8", "composer/installers": "^1.9", "drupal/core-recommended": "^10", - "drush/drush": "^10.0 || ^11 || ^12", + "drush/drush": "^10.0 || ^11 || ^12 || ^13@beta", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^8.5 || ^9", + "phpunit/phpunit": "^8.5 || ^9 || ^10 || ^11", "slevomat/coding-standard": "^7.1", "squizlabs/php_codesniffer": "^3.3", "symfony/phpunit-bridge": "^4.4 || ^5.4 || ^6.0 || ^7.0" @@ -21353,7 +21382,7 @@ "description": "Drupal extension and rules for PHPStan", "support": { "issues": "https://github.com/mglaman/phpstan-drupal/issues", - "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.10" + "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.11" }, "funding": [ { @@ -21369,7 +21398,7 @@ "type": "tidelift" } ], - "time": "2024-04-02T17:27:29+00:00" + "time": "2024-05-10T17:22:10+00:00" }, { "name": "micheh/phpcs-gitlab", @@ -21871,20 +21900,20 @@ }, { "name": "open-telemetry/sem-conv", - "version": "1.24.0", + "version": "1.25.0", "source": { "type": "git", "url": "https://github.com/opentelemetry-php/sem-conv.git", - "reference": "d03e6501d21c04cd1b1e66e4cbcc7c2dd2e2cfa3" + "reference": "23f457ba390847647a17068e0095d9ffe9a4824c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/d03e6501d21c04cd1b1e66e4cbcc7c2dd2e2cfa3", - "reference": "d03e6501d21c04cd1b1e66e4cbcc7c2dd2e2cfa3", + "url": "https://api.github.com/repos/opentelemetry-php/sem-conv/zipball/23f457ba390847647a17068e0095d9ffe9a4824c", + "reference": "23f457ba390847647a17068e0095d9ffe9a4824c", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" + "php": "^8.1" }, "type": "library", "extra": { @@ -21924,7 +21953,7 @@ "issues": "https://github.com/open-telemetry/opentelemetry-php/issues", "source": "https://github.com/open-telemetry/opentelemetry-php" }, - "time": "2024-01-23T21:47:17+00:00" + "time": "2024-04-09T23:31:35+00:00" }, { "name": "phar-io/manifest", @@ -22799,16 +22828,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.66", + "version": "1.11.1", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "94779c987e4ebd620025d9e5fdd23323903950bd" + "reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/94779c987e4ebd620025d9e5fdd23323903950bd", - "reference": "94779c987e4ebd620025d9e5fdd23323903950bd", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e524358f930e41a2b4cca1320e3b04fc26b39e0b", + "reference": "e524358f930e41a2b4cca1320e3b04fc26b39e0b", "shasum": "" }, "require": { @@ -22851,35 +22880,30 @@ { "url": "https://github.com/phpstan", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" } ], - "time": "2024-03-28T16:17:31+00:00" + "time": "2024-05-15T08:00:59+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", - "version": "1.1.4", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", - "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa" + "reference": "fa8cce7720fa782899a0aa97b6a41225d1bb7b26" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", - "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/fa8cce7720fa782899a0aa97b6a41225d1bb7b26", + "reference": "fa8cce7720fa782899a0aa97b6a41225d1bb7b26", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.10.3" + "phpstan/phpstan": "^1.11" }, "require-dev": { "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/phpstan-php-parser": "^1.1", "phpstan/phpstan-phpunit": "^1.0", "phpunit/phpunit": "^9.5" }, @@ -22903,27 +22927,27 @@ "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", "support": { "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", - "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.1.4" + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.2.0" }, - "time": "2023-08-05T09:02:04+00:00" + "time": "2024-04-20T06:39:48+00:00" }, { "name": "phpstan/phpstan-phpunit", - "version": "1.3.16", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan-phpunit.git", - "reference": "d5242a59d035e46774f2e634b374bc39ff62cb95" + "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/d5242a59d035e46774f2e634b374bc39ff62cb95", - "reference": "d5242a59d035e46774f2e634b374bc39ff62cb95", + "url": "https://api.github.com/repos/phpstan/phpstan-phpunit/zipball/f3ea021866f4263f07ca3636bf22c64be9610c11", + "reference": "f3ea021866f4263f07ca3636bf22c64be9610c11", "shasum": "" }, "require": { "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.10" + "phpstan/phpstan": "^1.11" }, "conflict": { "phpunit/phpunit": "<7.0" @@ -22955,9 +22979,9 @@ "description": "PHPUnit extensions and rules for PHPStan", "support": { "issues": "https://github.com/phpstan/phpstan-phpunit/issues", - "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.3.16" + "source": "https://github.com/phpstan/phpstan-phpunit/tree/1.4.0" }, - "time": "2024-02-23T09:51:20+00:00" + "time": "2024-04-20T06:39:00+00:00" }, { "name": "phpunit/php-code-coverage", @@ -24526,16 +24550,16 @@ }, { "name": "symfony/browser-kit", - "version": "v6.4.3", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "495ffa2e6d17e199213f93768efa01af32bbf70e" + "reference": "c276856598f70e96f75403fc04841cec1dc56e74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/495ffa2e6d17e199213f93768efa01af32bbf70e", - "reference": "495ffa2e6d17e199213f93768efa01af32bbf70e", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/c276856598f70e96f75403fc04841cec1dc56e74", + "reference": "c276856598f70e96f75403fc04841cec1dc56e74", "shasum": "" }, "require": { @@ -24574,7 +24598,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.3" + "source": "https://github.com/symfony/browser-kit/tree/v6.4.7" }, "funding": [ { @@ -24590,20 +24614,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/css-selector", - "version": "v6.4.3", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229" + "reference": "1c5d5c2103c3762aff27a27e1e2409e30a79083b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/ee0f7ed5cf298cc019431bb3b3977ebc52b86229", - "reference": "ee0f7ed5cf298cc019431bb3b3977ebc52b86229", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c5d5c2103c3762aff27a27e1e2409e30a79083b", + "reference": "1c5d5c2103c3762aff27a27e1e2409e30a79083b", "shasum": "" }, "require": { @@ -24639,7 +24663,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.4.3" + "source": "https://github.com/symfony/css-selector/tree/v6.4.7" }, "funding": [ { @@ -24655,20 +24679,20 @@ "type": "tidelift" } ], - "time": "2024-01-23T14:51:35+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/dom-crawler", - "version": "v6.4.4", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "f0e7ec3fa17000e2d0cb4557b4b47c88a6a63531" + "reference": "2088c5da700b1e7a8689fffc10dda6c1f643deea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/f0e7ec3fa17000e2d0cb4557b4b47c88a6a63531", - "reference": "f0e7ec3fa17000e2d0cb4557b4b47c88a6a63531", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/2088c5da700b1e7a8689fffc10dda6c1f643deea", + "reference": "2088c5da700b1e7a8689fffc10dda6c1f643deea", "shasum": "" }, "require": { @@ -24706,7 +24730,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.4" + "source": "https://github.com/symfony/dom-crawler/tree/v6.4.7" }, "funding": [ { @@ -24722,20 +24746,20 @@ "type": "tidelift" } ], - "time": "2024-02-07T09:17:57+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/lock", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/lock.git", - "reference": "53f0dbf55871774bf42773ed478b7106486b8b98" + "reference": "c6b3959c418a7c1115c060fab77927ca4bd2546a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/53f0dbf55871774bf42773ed478b7106486b8b98", - "reference": "53f0dbf55871774bf42773ed478b7106486b8b98", + "url": "https://api.github.com/repos/symfony/lock/zipball/c6b3959c418a7c1115c060fab77927ca4bd2546a", + "reference": "c6b3959c418a7c1115c060fab77927ca4bd2546a", "shasum": "" }, "require": { @@ -24785,7 +24809,7 @@ "semaphore" ], "support": { - "source": "https://github.com/symfony/lock/tree/v6.4.6" + "source": "https://github.com/symfony/lock/tree/v6.4.7" }, "funding": [ { @@ -24801,20 +24825,20 @@ "type": "tidelift" } ], - "time": "2024-03-19T09:23:21+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/phpunit-bridge", - "version": "v6.4.6", + "version": "v6.4.7", "source": { "type": "git", "url": "https://github.com/symfony/phpunit-bridge.git", - "reference": "3065d1c5b4cd0a46b11845b705d21ee692e52cd6" + "reference": "a33ca737283c76617c4089a8425c7785b344e283" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/3065d1c5b4cd0a46b11845b705d21ee692e52cd6", - "reference": "3065d1c5b4cd0a46b11845b705d21ee692e52cd6", + "url": "https://api.github.com/repos/symfony/phpunit-bridge/zipball/a33ca737283c76617c4089a8425c7785b344e283", + "reference": "a33ca737283c76617c4089a8425c7785b344e283", "shasum": "" }, "require": { @@ -24866,7 +24890,7 @@ "description": "Provides utilities for PHPUnit, especially user deprecation notices management", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.6" + "source": "https://github.com/symfony/phpunit-bridge/tree/v6.4.7" }, "funding": [ { @@ -24882,7 +24906,7 @@ "type": "tidelift" } ], - "time": "2024-03-19T11:56:30+00:00" + "time": "2024-04-18T09:22:46+00:00" }, { "name": "symfony/polyfill-php73", diff --git a/config/default/block.block.bos_theme_feedbackform.yml b/config/default/block.block.bos_theme_feedbackform.yml index e445ef7895..3933519996 100644 --- a/config/default/block.block.bos_theme_feedbackform.yml +++ b/config/default/block.block.bos_theme_feedbackform.yml @@ -10,7 +10,7 @@ dependencies: id: bos_theme_feedbackform theme: bos_theme region: content -weight: 8 +weight: 0 provider: null plugin: feedback_form settings: diff --git a/config/default/block.block.bos_theme_views_block__emergency_alerts_block_emergency_alert.yml b/config/default/block.block.bos_theme_views_block__emergency_alerts_block_emergency_alert.yml new file mode 100644 index 0000000000..60ade9eaeb --- /dev/null +++ b/config/default/block.block.bos_theme_views_block__emergency_alerts_block_emergency_alert.yml @@ -0,0 +1,25 @@ +uuid: ecc48ba8-20f9-4d77-89f6-a2f9174a277b +langcode: en +status: true +dependencies: + config: + - views.view.emergency_alerts + module: + - views + theme: + - bos_theme +id: bos_theme_views_block__emergency_alerts_block_emergency_alert +theme: bos_theme +region: site_alert +weight: 0 +provider: null +plugin: 'views_block:emergency_alerts-block_emergency_alert' +settings: + id: 'views_block:emergency_alerts-block_emergency_alert' + label: '' + label_display: '0' + provider: views + context_mapping: { } + views_label: '' + items_per_page: none +visibility: { } diff --git a/config/default/block.block.bos_theme_views_block__site_alerts_block_site_alerts.yml b/config/default/block.block.bos_theme_views_block__site_alerts_block_site_alerts.yml new file mode 100644 index 0000000000..242cdbe00b --- /dev/null +++ b/config/default/block.block.bos_theme_views_block__site_alerts_block_site_alerts.yml @@ -0,0 +1,24 @@ +uuid: d57d760f-bbb7-4dd4-b80b-491db117159e +langcode: en +status: true +dependencies: + config: + - views.view.site_alerts + module: + - views + theme: + - bos_theme +id: bos_theme_views_block__site_alerts_block_site_alerts +theme: bos_theme +region: site_alert +weight: 0 +provider: null +plugin: 'views_block:site_alerts-block_site_alerts' +settings: + id: 'views_block:site_alerts-block_site_alerts' + label: '' + label_display: '0' + provider: views + views_label: '' + items_per_page: none +visibility: { } diff --git a/config/default/block.block.mainmenu.yml b/config/default/block.block.mainmenu.yml index ea8d5429e7..673ea12bc0 100644 --- a/config/default/block.block.mainmenu.yml +++ b/config/default/block.block.mainmenu.yml @@ -11,7 +11,7 @@ dependencies: id: mainmenu theme: bos_theme region: navigation -weight: -1 +weight: -3 provider: null plugin: 'menu_block:main' settings: diff --git a/config/default/block.block.mainpagecontent.yml b/config/default/block.block.mainpagecontent.yml index bc73194c68..e2cd325877 100644 --- a/config/default/block.block.mainpagecontent.yml +++ b/config/default/block.block.mainpagecontent.yml @@ -9,7 +9,7 @@ dependencies: id: mainpagecontent theme: bos_theme region: content -weight: 0 +weight: -3 provider: null plugin: system_main_block settings: diff --git a/config/default/block.block.ml_listing_entry.yml b/config/default/block.block.ml_listing_entry.yml index be9ecc608d..fb81898ccd 100644 --- a/config/default/block.block.ml_listing_entry.yml +++ b/config/default/block.block.ml_listing_entry.yml @@ -12,7 +12,7 @@ dependencies: id: ml_listing_entry theme: bos_theme region: content -weight: 1 +weight: -2 provider: null plugin: webform_block settings: diff --git a/config/default/block.block.webform.yml b/config/default/block.block.webform.yml index 1b49bce403..08f66f7c98 100644 --- a/config/default/block.block.webform.yml +++ b/config/default/block.block.webform.yml @@ -12,7 +12,7 @@ dependencies: id: webform theme: bos_theme region: content -weight: 2 +weight: -1 provider: null plugin: webform_block settings: diff --git a/config/default/block.block.website_feedback_form.yml b/config/default/block.block.website_feedback_form.yml index 71b394b8bc..400a2f43cf 100644 --- a/config/default/block.block.website_feedback_form.yml +++ b/config/default/block.block.website_feedback_form.yml @@ -12,7 +12,7 @@ dependencies: id: website_feedback_form theme: bos_theme region: content -weight: 10 +weight: 1 provider: null plugin: webform_block settings: diff --git a/config/default/core.entity_form_display.node.emergency_alert.default.yml b/config/default/core.entity_form_display.node.emergency_alert.default.yml index 2787ed0916..ef58e0b96a 100644 --- a/config/default/core.entity_form_display.node.emergency_alert.default.yml +++ b/config/default/core.entity_form_display.node.emergency_alert.default.yml @@ -11,6 +11,7 @@ dependencies: - field.field.node.emergency_alert.field_theme - field.field.node.emergency_alert.field_updated_date - node.type.emergency_alert + - workflows.workflow.city_of_boston_workflows module: - content_moderation - datetime diff --git a/config/default/core.entity_form_display.node.site_alert.default.yml b/config/default/core.entity_form_display.node.site_alert.default.yml index eafed450eb..de80cde328 100644 --- a/config/default/core.entity_form_display.node.site_alert.default.yml +++ b/config/default/core.entity_form_display.node.site_alert.default.yml @@ -8,6 +8,7 @@ dependencies: - field.field.node.site_alert.field_excluded_nodes - field.field.node.site_alert.field_extra_info - field.field.node.site_alert.field_icon + - field.field.node.site_alert.field_included_nodes - field.field.node.site_alert.field_link - field.field.node.site_alert.field_theme - field.field.node.site_alert.title_field @@ -46,16 +47,18 @@ third_party_settings: group_exclude: children: - field_excluded_nodes - label: 'Exclude pages' + - field_included_nodes + label: 'Page Visibility' region: content parent_name: group_vertical_ weight: 1 format_type: tab format_settings: - classes: 'group-exclude field-group-tab' + classes: 'group-exclude field-group-tab t--cb t--s300' + show_empty_fields: false id: '' formatter: closed - description: '' + description: "By default, the Site Alert appears on all pages on the site.
\r\nUse this section to control which pages you do not wish the Alert to show on, or to specify the specific pages that you only want the Alert to show on.
" required_fields: true group_vertical_: children: @@ -77,7 +80,7 @@ mode: default content: created: type: datetime_timestamp - weight: 3 + weight: 4 region: content settings: { } third_party_settings: { } @@ -122,6 +125,16 @@ content: view_mode: thumbnail selection_mode: selection_append third_party_settings: { } + field_included_nodes: + type: entity_reference_autocomplete + weight: 11 + region: content + settings: + match_operator: CONTAINS + match_limit: 10 + size: 60 + placeholder: '' + third_party_settings: { } field_link: type: paragraphs weight: 30 @@ -156,39 +169,39 @@ content: third_party_settings: { } moderation_state: type: moderation_state_default - weight: 10 + weight: 11 region: content settings: { } third_party_settings: { } path: type: path - weight: 7 + weight: 8 region: content settings: { } third_party_settings: { } promote: type: boolean_checkbox - weight: 5 + weight: 6 region: content settings: display_label: true third_party_settings: { } published_at: type: publication_date_timestamp - weight: 4 + weight: 5 region: content settings: { } third_party_settings: { } status: type: boolean_checkbox - weight: 9 + weight: 10 region: content settings: display_label: true third_party_settings: { } sticky: type: boolean_checkbox - weight: 6 + weight: 7 region: content settings: display_label: true @@ -210,7 +223,7 @@ content: third_party_settings: { } uid: type: entity_reference_autocomplete - weight: 2 + weight: 3 region: content settings: match_operator: CONTAINS @@ -219,7 +232,7 @@ content: placeholder: '' third_party_settings: { } url_redirects: - weight: 8 + weight: 9 region: content settings: { } third_party_settings: { } diff --git a/config/default/core.entity_view_display.node.site_alert.default.yml b/config/default/core.entity_view_display.node.site_alert.default.yml index 3904b2aa80..d57456e6de 100644 --- a/config/default/core.entity_view_display.node.site_alert.default.yml +++ b/config/default/core.entity_view_display.node.site_alert.default.yml @@ -7,6 +7,7 @@ dependencies: - field.field.node.site_alert.field_excluded_nodes - field.field.node.site_alert.field_extra_info - field.field.node.site_alert.field_icon + - field.field.node.site_alert.field_included_nodes - field.field.node.site_alert.field_link - field.field.node.site_alert.field_theme - field.field.node.site_alert.title_field @@ -15,6 +16,7 @@ dependencies: - datetime_range - entity_reference_revisions - fences + - media - options - user id: node.site_alert.default @@ -40,7 +42,14 @@ content: type: entity_reference_entity_id label: hidden settings: { } - third_party_settings: { } + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' weight: 5 region: content field_extra_info: @@ -59,11 +68,13 @@ content: weight: 2 region: content field_icon: - type: entity_reference_entity_view + type: media_thumbnail label: hidden settings: - view_mode: thumbnail - link: false + image_link: '' + image_style: '' + image_loading: + attribute: lazy third_party_settings: fences: fences_field_tag: none @@ -74,6 +85,20 @@ content: fences_label_classes: '' weight: 0 region: content + field_included_nodes: + type: entity_reference_entity_id + label: hidden + settings: { } + third_party_settings: + fences: + fences_field_tag: none + fences_field_classes: '' + fences_field_item_tag: none + fences_field_item_classes: '' + fences_label_tag: none + fences_label_classes: '' + weight: 6 + region: content field_link: type: entity_reference_revisions_entity_view label: hidden diff --git a/config/default/core.entity_view_display.node.site_alert.embed.yml b/config/default/core.entity_view_display.node.site_alert.embed.yml index 0c004590b3..f417cc6fa7 100644 --- a/config/default/core.entity_view_display.node.site_alert.embed.yml +++ b/config/default/core.entity_view_display.node.site_alert.embed.yml @@ -8,6 +8,7 @@ dependencies: - field.field.node.site_alert.field_excluded_nodes - field.field.node.site_alert.field_extra_info - field.field.node.site_alert.field_icon + - field.field.node.site_alert.field_included_nodes - field.field.node.site_alert.field_link - field.field.node.site_alert.field_theme - field.field.node.site_alert.title_field @@ -96,6 +97,7 @@ content: hidden: content_moderation_control: true field_date_range: true + field_included_nodes: true langcode: true links: true published_at: true diff --git a/config/default/core.entity_view_display.node.site_alert.teaser.yml b/config/default/core.entity_view_display.node.site_alert.teaser.yml index 69d06f672a..ce04ec6ce4 100644 --- a/config/default/core.entity_view_display.node.site_alert.teaser.yml +++ b/config/default/core.entity_view_display.node.site_alert.teaser.yml @@ -4,9 +4,11 @@ status: true dependencies: config: - core.entity_view_mode.node.teaser + - field.field.node.site_alert.field_date_range - field.field.node.site_alert.field_excluded_nodes - field.field.node.site_alert.field_extra_info - field.field.node.site_alert.field_icon + - field.field.node.site_alert.field_included_nodes - field.field.node.site_alert.field_link - field.field.node.site_alert.field_theme - field.field.node.site_alert.title_field @@ -24,6 +26,7 @@ hidden: field_excluded_nodes: true field_extra_info: true field_icon: true + field_included_nodes: true field_link: true field_theme: true langcode: true diff --git a/config/default/field.field.node.site_alert.field_excluded_nodes.yml b/config/default/field.field.node.site_alert.field_excluded_nodes.yml index 3a1ae0f12b..143646d45d 100644 --- a/config/default/field.field.node.site_alert.field_excluded_nodes.yml +++ b/config/default/field.field.node.site_alert.field_excluded_nodes.yml @@ -10,7 +10,7 @@ field_name: field_excluded_nodes entity_type: node bundle: site_alert label: 'Pages to exclude' -description: "If you don't want this alert to show on a specific page, add them here." +description: "If you don't want this alert to show on specific pages, add them here.
\r\nNote: Pages excluded here take precedence over any pages which are included below." required: false translatable: false default_value: { } diff --git a/config/default/field.field.node.site_alert.field_included_nodes.yml b/config/default/field.field.node.site_alert.field_included_nodes.yml new file mode 100644 index 0000000000..353c396b2e --- /dev/null +++ b/config/default/field.field.node.site_alert.field_included_nodes.yml @@ -0,0 +1,57 @@ +uuid: 2bbdb60d-5c9d-4bfc-b487-9065e5888a13 +langcode: en +status: true +dependencies: + config: + - field.storage.node.field_included_nodes + - node.type.article + - node.type.department_profile + - node.type.event + - node.type.how_to + - node.type.landing_page + - node.type.listing_page + - node.type.metrolist_affordable_housing + - node.type.person_profile + - node.type.place_profile + - node.type.post + - node.type.program_initiative_profile + - node.type.public_notice + - node.type.script_page + - node.type.site_alert + - node.type.tabbed_content + - node.type.topic_page +id: node.site_alert.field_included_nodes +field_name: field_included_nodes +entity_type: node +bundle: site_alert +label: 'Show on Pages' +description: "Add pages here to restrict where the Site Alert is shown.\r\nIf no pages are added, then the Site Alert will appear on all pages." +required: false +translatable: false +default_value: { } +default_value_callback: '' +settings: + handler: 'default:node' + handler_settings: + target_bundles: + article: article + department_profile: department_profile + event: event + topic_page: topic_page + how_to: how_to + landing_page: landing_page + listing_page: listing_page + metrolist_affordable_housing: metrolist_affordable_housing + person_profile: person_profile + place_profile: place_profile + post: post + program_initiative_profile: program_initiative_profile + public_notice: public_notice + script_page: script_page + tabbed_content: tabbed_content + sort: + field: _none + direction: ASC + auto_create: false + auto_create_bundle: article +field_type: entity_reference diff --git a/config/default/views.view.emergency_alerts.yml b/config/default/views.view.emergency_alerts.yml index 2a4fefd980..22d24a801b 100644 --- a/config/default/views.view.emergency_alerts.yml +++ b/config/default/views.view.emergency_alerts.yml @@ -95,9 +95,9 @@ display: cache: type: time options: - results_lifespan: 0 + results_lifespan: 300 results_lifespan_custom: 0 - output_lifespan: 60 + output_lifespan: 300 output_lifespan_custom: 0 empty: { } sorts: @@ -399,7 +399,44 @@ display: display_plugin: block position: 1 display_options: + arguments: + 'null': + id: 'null' + table: views + field: 'null' + relationship: none + group_type: group + admin_label: 'Used to get the Nodes nid' + plugin_id: 'null' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + must_not_be: false + defaults: + show_admin_links: false + arguments: false display_description: 'Show current emergency alerts.' + show_admin_links: false display_extenders: { } block_description: 'Emergency Alerts' block_hide_empty: true diff --git a/config/default/views.view.roll_call_dockets.yml b/config/default/views.view.roll_call_dockets.yml index a41f95e502..1c90018642 100644 --- a/config/default/views.view.roll_call_dockets.yml +++ b/config/default/views.view.roll_call_dockets.yml @@ -452,7 +452,7 @@ display: options: perm: 'access content' cache: - type: none + type: tag options: { } empty: { } sorts: @@ -692,7 +692,7 @@ display: id: rest_export_1 display_title: 'Rollcall Export API' display_plugin: rest_export - position: 1 + position: 3 display_options: pager: type: some @@ -867,7 +867,7 @@ display: filter_groups: false display_description: '' display_extenders: { } - path: rollcall/api/v1 + path: rollcall/api/v1/% cache_metadata: max-age: -1 contexts: @@ -886,7 +886,7 @@ display: id: rollcall_search_block display_title: 'Rollcall Search Block' display_plugin: block - position: 2 + position: 1 display_options: title: '' fields: diff --git a/config/default/views.view.site_alerts.yml b/config/default/views.view.site_alerts.yml index 1ca7162a40..c48c633e42 100644 --- a/config/default/views.view.site_alerts.yml +++ b/config/default/views.view.site_alerts.yml @@ -361,7 +361,7 @@ display: style: type: default options: - row_class: '' + row_class: bos-site-alert default_row_class: false uses_fields: false row: @@ -409,9 +409,9 @@ display: cache: type: time options: - results_lifespan: 0 + results_lifespan: 300 results_lifespan_custom: 0 - output_lifespan: 60 + output_lifespan: 300 output_lifespan_custom: 0 sorts: changed: @@ -430,7 +430,39 @@ display: field_identifier: changed exposed: false granularity: second - arguments: { } + arguments: + 'null': + id: 'null' + table: views + field: 'null' + relationship: none + group_type: group + admin_label: 'Used to grab the nid of the calling node.' + plugin_id: 'null' + default_action: default + exception: + value: all + title_enable: false + title: All + title_enable: false + title: '' + default_argument_type: node + default_argument_options: { } + summary_options: + base_path: '' + count: true + override: false + items_per_page: 25 + summary: + sort_order: asc + number_of_records: 0 + format: default_summary + specify_validation: false + validate: + type: none + fail: 'not found' + validate_options: { } + must_not_be: false filters: status: id: status @@ -668,6 +700,7 @@ display: contexts: - 'languages:language_content' - 'languages:language_interface' + - url - 'user.node_grants:view' - user.permissions tags: { } diff --git a/docroot/modules/custom/bos_components/modules/bos_email/bos_email.http b/docroot/modules/custom/bos_components/modules/bos_email/bos_email.http index 785a3c2b5f..b332d64fdd 100644 --- a/docroot/modules/custom/bos_components/modules/bos_email/bos_email.http +++ b/docroot/modules/custom/bos_components/modules/bos_email/bos_email.http @@ -4,7 +4,7 @@ # This is **step 1** of a 2 step process to submit the contact form to Postmark for relay to a CoB email recipient. # This step posts an empty payload to the endpoint and receives back a token which is saved on the form and then used for submit form action (step 2). -POST {{url}}/rest/email_token/create +POST https://{{host}}/rest/email_token/create Authorization: Token {{bos_email_bearer_token}} > {% @@ -25,7 +25,7 @@ Authorization: Token {{bos_email_bearer_token}} # group: bos_email / session token # @name Use client-side token for Contact Form # NOTE: email[contact] is the honeypot and must be present but empty. -POST {{url}}/rest/email_session/contactform +POST https://{{host}}/rest/email_session/contactform Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/x-www-form-urlencoded Force-Service: {{ force_email_service }} @@ -60,11 +60,11 @@ email[contact] = ### # group: bos_email / sanitation # @name Sanitation on-demand confirmation: Bearer Token -POST {{url}}/rest/email/sanitation +POST https://{{host}}/rest/email/sanitation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} -#Force-Service: {{ force_email_service }} +Force-Service: {{ force_email_service }} { "to_address": "{{email_test_recipient}}", @@ -91,7 +91,7 @@ Authorization: Token {{bos_email_bearer_token}} ### # group: bos_email / sanitation # @name Sanitation scheduled reminder: Bearer Token -POST {{url}}/rest/email/sanitation +POST https://{{host}}/rest/email/sanitation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} @@ -127,7 +127,7 @@ Force-Service: {{ force_email_service }} ### # group: bos_email / contact form # @name Contact Form - Plain Text: Bearer Token -POST {{url}}/rest/email/contactform +POST https://{{host}}/rest/email/contactform Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: multipart/form-data; boundary=WebAppBoundary Authorization: Token {{bos_email_bearer_token}} @@ -188,7 +188,7 @@ Content-Disposition: form-data; name="email[contact]" # group: bos_email / contact form # @name Contact Form - HTML: Bearer Token -POST {{url}}/rest/email/contactform +POST https://{{host}}/rest/email/contactform Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/x-www-form-urlencoded Authorization: Token {{bos_email_bearer_token}} @@ -224,7 +224,7 @@ email[contact] = ### # group: bos_email / registry # @name Registry: Bearer Token -POST {{url}}/rest/email/registry +POST https://{{host}}/rest/email/registry Content-Type: application/x-www-form-urlencoded Authorization: Token {{bos_email_bearer_token}} Force-Service: {{ force_email_service }} @@ -254,7 +254,7 @@ email[name] = Boston Resident ### # group: bos_email / metrolist # @name Metrolist Initiation (form-data): Bearer Token -POST {{url}}/rest/email/MetrolistInitiationForm +POST https://{{host}}/rest/email/MetrolistInitiationForm Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: multipart/form-data; boundary=WebAppBoundary Authorization: Token {{bos_email_bearer_token}} @@ -279,7 +279,7 @@ boston.gov/here --WebAppBoundary Content-Disposition: form-data; name="email[message]" -{{url}}/form/metrolist-listing?token=abctesttoken +https://{{host}}/form/metrolist-listing?token=abctesttoken --WebAppBoundary Content-Disposition: form-data; name="email[subject]" @@ -307,7 +307,7 @@ Content-Disposition: form-data; name="email[useHtml]" ### # group: bos_email / metrolist # @name Metrolist Initiation (json): Bearer Token -POST {{url}}/rest/email/MetrolistInitiationForm +POST https://{{host}}/rest/email/MetrolistInitiationForm Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} @@ -345,7 +345,7 @@ Force-Service: {{ force_email_service }} ### # group: bos_email / metrolist # @name Metrolist Confirmation (form-data): Bearer Token -POST {{url}}/rest/email/MetrolistListingConfirmation +POST https://{{host}}/rest/email/MetrolistListingConfirmation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: multipart/form-data; boundary=WebAppBoundary Authorization: Token {{bos_email_bearer_token}} @@ -402,7 +402,7 @@ Davids Property ### # group: bos_email / metrolist # @name Metrolist Notification (form-data): Bearer Token -POST {{url}}/rest/email/MetrolistListingNotification +POST https://{{host}}/rest/email/MetrolistListingNotification Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: multipart/form-data; boundary=WebAppBoundary Authorization: Token {{bos_email_bearer_token}} @@ -467,7 +467,7 @@ Content-Disposition: form-data; name="new" ### # group: bos_email / inbound # @name Incoming Webhook (POSTMARK) -POST {{url}}/rest/email/postmark/Contactform/inbound +POST https://{{host}}/rest/email/postmark/Contactform/inbound Content-Type: application/json Force-Service: PostmarkService @@ -709,7 +709,7 @@ Force-Service: PostmarkService ### # group: bos_email / Cancel # @name Cancel Scheduled Email: Bearer Token -POST {{url}}/rest/email_cancel/sanitation +POST https://{{host}}/rest/email_cancel/sanitation Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} Force-Service: {{ force_email_service }} @@ -728,7 +728,7 @@ Force-Service: {{ force_email_service }} ### # group: bos_email / fail-test # @name Bad Session Token -POST {{url}}/rest/email_session/contactform +POST https://{{host}}/rest/email_session/contactform Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/x-www-form-urlencoded Force-Service: {{ force_email_service }} @@ -759,7 +759,7 @@ email[contact] = ### # group: bos_email / fail-test # @name Bad/No token in sanitation -POST {{url}}/rest/email/sanitation +POST https://{{host}}/rest/email/sanitation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token asdfghjklqwertyui @@ -789,7 +789,7 @@ Force-Service: {{ force_email_service }} ### # group: bos_email / fail-test # @name Bad Scheduled Date: Bearer Token -POST {{url}}/rest/email/sanitation +POST https://{{host}}/rest/email/sanitation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} @@ -821,7 +821,7 @@ Force-Service: {{ force_email_service }} ### # group: bos_email / fail-test # @name Past Scheduled Date: Bearer Token -POST {{url}}/rest/email/sanitation +POST https://{{host}}/rest/email/sanitation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} @@ -853,7 +853,7 @@ Force-Service: {{ force_email_service }} ### # group: bos_email / fail-test # @name >400 day Scheduled Date: Bearer Token -POST {{url}}/rest/email/sanitation +POST https://{{host}}/rest/email/sanitation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} @@ -885,7 +885,7 @@ Force-Service: {{ force_email_service }} ### # group: bos_email / fail-test # @name Missing Bearer Token -POST {{url}}/rest/email/contactform +POST https://{{host}}/rest/email/contactform Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/x-www-form-urlencoded Force-Service: {{ force_email_service }} @@ -915,14 +915,14 @@ email[contact] = ### # group: bos_email / fail-test # @name Blocked User: ONLY POSTMARK -POST {{url}}/rest/email/contactform +POST https://{{host}}/rest/email/contactform Cookie: XDEBUG_SESSION=PHPSTORM #X-PM-Bounce-Type: hardbounce Content-Type: application/x-www-form-urlencoded Authorization: Token {{bos_email_bearer_token}} Force-Service: PostmarkService -email[to_address] = blocked@boston.gov & +email[to_address] = Blocked@bounce-testing.postmarkapp.com & email[name] = Blocked Email Recipient & email[from_address] = HardBounce@bounce-testing.postmarkapp.com & email[subject] = SHOULD NOT APPEAR IN POSTMARK & @@ -948,7 +948,7 @@ email[contact] = ### # group: bos_email / fail-test # @name Honeypot Fail -POST {{url}}/rest/email/contactform +POST https://{{host}}/rest/email/contactform Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/x-www-form-urlencoded Authorization: Token {{bos_email_bearer_token}} @@ -980,7 +980,7 @@ email[contact] = should be empty ### # group: bos_email / fail-test # @name Bad email -POST {{url}}/rest/email/sanitation +POST https://{{host}}/rest/email/sanitation Cookie: XDEBUG_SESSION=PHPSTORM Content-Type: application/json Authorization: Token {{bos_email_bearer_token}} diff --git a/docroot/modules/custom/bos_components/modules/bos_email/bos_email.module b/docroot/modules/custom/bos_components/modules/bos_email/bos_email.module index 6e0e117a2d..de10620648 100644 --- a/docroot/modules/custom/bos_components/modules/bos_email/bos_email.module +++ b/docroot/modules/custom/bos_components/modules/bos_email/bos_email.module @@ -36,7 +36,7 @@ function bos_email_mail($key, &$message, $params) { $message["from"] = "boston.gov"; $message["subject"] = "Boston.gov email recipient suppressed."; $custom_msg = "Boston.gov email recipient ({$params["To"]}) has hard bounced, and is now suppressed in Postmark."; - $message["body"] = _make_HTML_body($params, $custom_msg, Drupal::request()->headers->all()); + $message["body"] = _make_HTML_body(array_merge($params, $message), $custom_msg, Drupal::request()->headers->all()); $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed; delsp=yes'; break; @@ -46,7 +46,7 @@ function bos_email_mail($key, &$message, $params) { $custom_msg = "Authentication issue with PostMark email service in bos_email.
There is an issue with the {$params["token_type"]}.
This could indicate a hacking attempt to use the service as a relay."; - $message["body"] = _make_HTML_body($params, $custom_msg, Drupal::request()->headers->all()); + $message["body"] = _make_HTML_body(array_merge($params, $message), $custom_msg, Drupal::request()->headers->all()); $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed; delsp=yes'; break; @@ -54,7 +54,7 @@ function bos_email_mail($key, &$message, $params) { $message["from"] = "boston.gov"; $message["subject"] = "Boston.gov honeypot issue."; $custom_msg = "The honeypot for a form has some data in it."; - $message["body"] = _make_HTML_body($params, $custom_msg, Drupal::request()->headers->all()); + $message["body"] = _make_HTML_body(array_merge($params, $message), $custom_msg, Drupal::request()->headers->all()); $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed; delsp=yes'; break; @@ -62,7 +62,7 @@ function bos_email_mail($key, &$message, $params) { $message["from"] = "boston.gov"; $message["subject"] = "Postmark mailer issue on Boston.gov."; $custom_msg = "There was an issue sending the following via Postmark."; - $message["body"] = _make_HTML_body($params, $custom_msg, Drupal::request()->headers->all()); + $message["body"] = _make_HTML_body(array_merge($params, $message), $custom_msg, Drupal::request()->headers->all()); $message['headers']['Content-Type'] = 'text/html; charset=UTF-8; format=flowed; delsp=yes'; break; @@ -86,15 +86,24 @@ function bos_email_mail($key, &$message, $params) { function _make_HTML_body($params, $custom_msg, $headers) { // Now build the html message. $custom_table = "

"; - if (!empty($params["Subject"])) { - $custom_table .= ""; + if (!empty($params["subject"])) { + $custom_table .= ""; } - if (!empty($params["To"])) { - $custom_table .= ""; + if (!empty($params["to"])) { + $custom_table .= ""; + } + if (!empty($params["from"])) { + $custom_table .= ""; } if (!empty($params["server"])) { $custom_table .= ""; } + if (!empty($params["token_type"])) { + $custom_table .= ""; + } + if (!empty($params["id"])) { + $custom_table .= ""; + } $custom_table .= "
Subject: {$params["Subject"]}
Subject: {$params["subject"]}
Recipient: {$params["To"]}
Recipient: {$params["to"]}
Recipient: {$params["from"]}
Service: {$params["server"]}
Authentication: {$params["token_type"]}
MailID: {$params["id"]}

"; $custom_table .= ""; $custom_table .= ""; diff --git a/docroot/modules/custom/bos_components/modules/bos_email/src/Controller/EmailController.php b/docroot/modules/custom/bos_components/modules/bos_email/src/Controller/EmailController.php index 2dfd548bae..17da958497 100644 --- a/docroot/modules/custom/bos_components/modules/bos_email/src/Controller/EmailController.php +++ b/docroot/modules/custom/bos_components/modules/bos_email/src/Controller/EmailController.php @@ -899,6 +899,9 @@ public static function alertHandler($item, $response, $http_code, $config = NULL && strtolower($error) == "authtoken") { $item["token_type"] = "Authentication Token"; $mailManager = Drupal::service('plugin.manager.mail'); + /** + * @var Drupal\Core\Mail\MailManager $mailManager + */ if (!$mailManager->mail("bos_email", 'alerts.token', $recipient, "en", $item, NULL, TRUE)) { Drupal::logger("bos_email:EmailController")->warning(t("Email sending from Drupal has failed.")); } diff --git a/docroot/modules/custom/bos_components/modules/bos_email/src/Services/TokenOps.php b/docroot/modules/custom/bos_components/modules/bos_email/src/Services/TokenOps.php index 69dfd2aba3..61675936d5 100644 --- a/docroot/modules/custom/bos_components/modules/bos_email/src/Services/TokenOps.php +++ b/docroot/modules/custom/bos_components/modules/bos_email/src/Services/TokenOps.php @@ -25,7 +25,7 @@ public function sessionTokenCreate(): array { $date_time = Drupal::time()->getCurrentTime(); Drupal::service("keyvalue.expirable") ->get("client_rest_token") - ->setWithExpire("token_session_{$date_time}", $date_time, (60 * 60)); + ->setWithExpire("token_session_{$date_time}", $date_time, (12 * 60 * 60)); // $this->session->set("token_session_{$date_time}", $date_time); return ['token_session' => $date_time]; } diff --git a/docroot/modules/custom/bos_components/modules/bos_events_and_notices/bos_events_and_notices.module b/docroot/modules/custom/bos_components/modules/bos_events_and_notices/bos_events_and_notices.module index 1b5715f0f0..83218706e4 100644 --- a/docroot/modules/custom/bos_components/modules/bos_events_and_notices/bos_events_and_notices.module +++ b/docroot/modules/custom/bos_components/modules/bos_events_and_notices/bos_events_and_notices.module @@ -120,7 +120,7 @@ function bos_events_and_notices_preprocess_views_view_fields__events_and_notices } } - if (isset($variables["date_recur"])) { + if (!empty($variables["date_recur"])) { // Force into the boston featured date format. $variables["date_recur"] = \Drupal::service('date.formatter')->format(strtotime($variables["date_recur"]), "date_format_boston_featured"); } diff --git a/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcConversation.php b/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcConversation.php index 871e784c76..0ba6e75089 100644 --- a/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcConversation.php +++ b/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcConversation.php @@ -395,7 +395,7 @@ public function buildForm(array &$form): void { */ public function submitForm(array $form, FormStateInterface $form_state): void { - $values = $form_state->getValues()["google_cloud"]['services_wrapper']['discovery_engine']['conversation']; + $values = $form_state->getValues()["google_cloud"]['services_wrapper']['discovery_engine'][self::id()]; $config = Drupal::configFactory()->getEditable("bos_google_cloud.settings"); if ($config->get("conversation.project_id") !== $values['project_id'] diff --git a/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcSearch.php b/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcSearch.php index f558074a3f..1bd0b240b2 100644 --- a/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcSearch.php +++ b/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcSearch.php @@ -304,7 +304,7 @@ public function buildForm(array &$form): void { */ public function submitForm(array $form, FormStateInterface $form_state): void { - $values = $form_state->getValues()["google_cloud"]['services_wrapper']['discovery_engine']['search']; + $values = $form_state->getValues()["google_cloud"]['services_wrapper']['discovery_engine'][self::id()]; $config = Drupal::configFactory()->getEditable("bos_google_cloud.settings"); if ($config->get("search.project_id") !== $values['project_id'] diff --git a/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcTextRewriter.php b/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcTextRewriter.php index 7b70cf37e3..eb8938bccf 100644 --- a/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcTextRewriter.php +++ b/docroot/modules/custom/bos_components/modules/bos_google_cloud/src/Services/GcTextRewriter.php @@ -412,7 +412,7 @@ public function buildForm(array &$form): void { */ public function submitForm(array $form, FormStateInterface $form_state): void { - $values = $form_state->getValues()["google_cloud"]['services_wrapper']['vertex_ai'][GcTextSummarizer::id()]; + $values = $form_state->getValues()["google_cloud"]['services_wrapper']['vertex_ai'][self::id()]; $config = Drupal::configFactory()->getEditable("bos_google_cloud.settings"); if ($config->get("{$this::id()}.project_id") !== $values['project_id'] diff --git a/docroot/modules/custom/bos_components/modules/bos_web_app/templates/paragraph--web-app.html.twig b/docroot/modules/custom/bos_components/modules/bos_web_app/templates/paragraph--web-app.html.twig index 62642ca0d1..7148cdbc08 100644 --- a/docroot/modules/custom/bos_components/modules/bos_web_app/templates/paragraph--web-app.html.twig +++ b/docroot/modules/custom/bos_components/modules/bos_web_app/templates/paragraph--web-app.html.twig @@ -36,6 +36,10 @@ ); {% endif %} + +{# Adds an anchor to the immediate top of the web-app anchor which apps can use for scrolling etc #} + +
{% if content.field_component_title and (content.field_hide_title_bar["#items"] and content.field_hide_title_bar["#items"][0].value == 0) %}
diff --git a/docroot/modules/custom/bos_content/modules/node_emergency_alert/css/emergency_alert.boston.css b/docroot/modules/custom/bos_content/modules/node_emergency_alert/css/emergency_alert.boston.css index b43397eae8..7cae9d2048 100644 --- a/docroot/modules/custom/bos_content/modules/node_emergency_alert/css/emergency_alert.boston.css +++ b/docroot/modules/custom/bos_content/modules/node_emergency_alert/css/emergency_alert.boston.css @@ -1,20 +1,33 @@ /** Locate contextual button out of the way of the main page button. */ - .node-emergency-alert div.contextual { padding-right: 70px; } +/** + Manage Topic-pages hero image when have emergency alert. + */ #page.ea:not(.sa) .hero-image { margin-top: 0; } +/* + Place a dividing line between Emergency alert and site alerts, if there are + any site alerts. + */ +#sa > div:first-child { + border-bottom: 1px solid #fff; +} +#sa > div:only-child { + border-bottom: none; +} /* Blue theme. */ .node-emergency-alert .b--dark-blue { color: #1871bd; + /* border-bottom: 1px solid #fff; */ } .node-emergency-alert .b--dark-blue .str-t, .node-emergency-alert .b--dark-blue .str-c { @@ -30,6 +43,7 @@ */ .node-emergency-alert .b--red { color: #091f2f; + border-bottom: 1px solid #fff; } .node-emergency-alert .b--red .str-t, .node-emergency-alert .b--red .str-c { @@ -50,6 +64,7 @@ .b--yellow { background-color: #f7bd5c; color: #091f2f; + border-bottom: 1px solid #fff; } .node-emergency-alert .b--yellow .str-t, .node-emergency-alert .b--yellow .str-c { @@ -58,10 +73,11 @@ } /** - Manage seal. + Manage seal, if this css is loaded, then the seal is hidden. */ -#page.ea #main-menu #seal.s { +#page #main-menu #seal { -webkit-transform: translateX(-50%) translateY(0%); transform: translateX(-50%) translateY(0%); box-shadow: none; + display: none; } diff --git a/docroot/modules/custom/bos_content/modules/node_emergency_alert/node_emergency_alert.module b/docroot/modules/custom/bos_content/modules/node_emergency_alert/node_emergency_alert.module index 924939882d..b5104f8bd6 100644 --- a/docroot/modules/custom/bos_content/modules/node_emergency_alert/node_emergency_alert.module +++ b/docroot/modules/custom/bos_content/modules/node_emergency_alert/node_emergency_alert.module @@ -6,10 +6,10 @@ */ use Drupal\Core\Form\FormStateInterface; -use Drupal\Core\Render\Element; use Drupal\core\Template\Attribute; use Drupal\editor\Entity\Editor; -use Drupal\views\Views; +use Drupal\views\Plugin\views\cache\CachePluginBase; +use Drupal\views\ViewExecutable; /** * Implements hook_theme(). @@ -41,24 +41,10 @@ function node_emergency_alert_preprocess_form_element(&$variables) { } } -/** - * Implements hook_preprocess_HOOK(). - */ -function node_emergency_alert_preprocess_page(&$variables) { - // Call the view passing in the homepage to see if we have an alert set ATM. - if ($view = Views::getView("emergency_alerts")) { - $view->setDisplay("block_emergency_alert"); - if (isset($variables["node"]) && is_numeric($variables["node"])) { - $view->preExecute(["nid" => $variables["node"]]); - } - elseif (isset($variables["node"]) && $variables["node"]->hasField("nid")) { - $view->preExecute(["nid" => $variables["node"]->id()]); - } - if ($view->execute() && count($view->result) > 0) { - _bos_content_fix_attributes($variables); - $variables["attributes"]->addClass("ea"); - } - } +function node_emergency_alert_preprocess_field_multiple_value_form(array &$variables) { + _bos_core_rename_multiple_button($variables, "emergency_alert", [ + "field_included_nodes" => "Include another page", + ]); } /** @@ -66,25 +52,9 @@ function node_emergency_alert_preprocess_page(&$variables) { */ function node_emergency_alert_preprocess_node__emergency_alert(&$variables) { $variables["para_attributes"] = new Attribute(); - $variables["para_attributes"]->addClass("b"); - $variables["para_attributes"]->addClass("b--fw"); - $variables["para_attributes"]->addClass("b--cc"); - $variables["para_attributes"]->addClass("b--" . $variables["content"]["field_theme"][0]["#markup"]); + $variables['block_theme'] = $variables["content"]["field_theme"][0]["#markup"]; + $variables["para_attributes"]->addClass("b--" . $variables['block_theme']); $variables["#attached"]["library"][] = "node_emergency_alert/emergency_alert.call"; - $variables["bos_title"] = $variables["title"][0]["#context"]["value"]; -} - -/** - * Implements hook_preprocess_HOOK(). - */ -function node_emergency_alert_preprocess_block(&$variables) { - if (!isset($variables["content"]["#view"]->current_display) || (isset($variables["content"]["#view"]->current_display) && $variables["content"]["#view"]->current_display != "block_emergency_alert")) { - return; - } - $variables["attributes"]["class"][] = "d--n node-emergency-alerts"; - $variables["attributes"]["id"] = "ea"; - // Ensure there is no label. - unset($variables["label"]); } /** @@ -100,6 +70,45 @@ function node_emergency_alert_form_node_emergency_alert_edit_form_alter(&$form, ]); } +/** + * Implements hook_views_post_render(). + */ +function node_emergency_alert_views_post_render(ViewExecutable $view, &$output, CachePluginBase $cache) { + + if ($view->id() == "emergency_alerts" && $view->current_display == "block_emergency_alert") { + // DIG-4391- May 2024 + if (!empty($output["#rows"])) { + // The output is already filtered for display dates. + // We need to check if the current node is in the list of excluded nodes. + $nid = $view->args[0] ?? NULL; + if ($nid) { + foreach ($output["#rows"] as $sa => &$row) { + + foreach($row["#rows"] as $key => $ea_node) { + $emergency_alert = $ea_node["#node"]; + $included = $emergency_alert->field_included_nodes->getValue(); + array_walk($included, function(&$value, $k) { $value = $value["target_id"]; }); + // Add the homepage, the Emergency Alert always shows on the homepage. + if (preg_match('/node\/(\d+)/', (\Drupal::config('system.site') + ->get('page.front') ?? ""), $matches)) { + $included[] = $matches[1]; + } + // If the current node is not in the list of included nodes, remove the row. + if (!in_array($nid, $included)) { + unset($output["#rows"][$sa]["#rows"][$key]); + } + } + + if (empty($output["#rows"][$sa]["#rows"])) { + unset($output["#rows"][$sa]); + } + + } + } + } + } +} + /** * Implements hook_ckeditor_css_alter(). */ @@ -110,20 +119,3 @@ function node_emergency_alert_ckeditor_css_alter(array &$css, Editor $editor) { $css[] =\Drupal::service('extension.path.resolver')->getPath("module", "node_emergency_alert") . "/css/ckeditor.boston.emergency_alert.css"; } } - -/** - * Prepares variables for emergency alert templates. - * - * Default template: emergency-alert.html.twig. - * - * @param array $variables - * An associative array containing: - * - elements: An associative array containing the emergency alert information - * and any fields attached to the entity. - * - attributes: HTML attributes for the containing element. - */ -function template_preprocess_node__emergency_alert(array &$variables) { - foreach (Element::children($variables['elements']) as $key) { - $variables['content'][$key] = $variables['elements'][$key]; - } -} diff --git a/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/block--views-block--emergency-alerts-block-emergency-alert.html.twig b/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/block--views-block--emergency-alerts-block-emergency-alert.html.twig index 78db686624..006b5b73bc 100644 --- a/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/block--views-block--emergency-alerts-block-emergency-alert.html.twig +++ b/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/block--views-block--emergency-alerts-block-emergency-alert.html.twig @@ -25,11 +25,8 @@ * @see template_preprocess_block() */ #} - {% if label %} - {{ label }} - {% endif %} {% block content %} - + {{ content }}
{% endblock %} diff --git a/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/node--emergency-alert.html.twig b/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/node--emergency-alert.html.twig index 52aa758239..943775d497 100644 --- a/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/node--emergency-alert.html.twig +++ b/docroot/modules/custom/bos_content/modules/node_emergency_alert/templates/node--emergency-alert.html.twig @@ -15,9 +15,17 @@ */ #} - {{ title_suffix }} + + {% if (title_prefix or title_suffix) %} + {# This allows the injection of the contextual menu links #} +
+ {{ title_prefix }} + {{ title_suffix }} +
+ {% endif %} +
- +
@@ -33,7 +41,7 @@
- {{ bos_title }} + {{ title.0|raw }}
@@ -45,6 +53,7 @@ {% if content.field_link %} {{ content.field_link|raw }} {% endif %} +
diff --git a/docroot/modules/custom/bos_content/modules/node_site_alert/config/install/core.entity_view_display.node.site_alert.default.yml b/docroot/modules/custom/bos_content/modules/node_site_alert/config/install/core.entity_view_display.node.site_alert.default.yml index 191accb98d..3904b2aa80 100644 --- a/docroot/modules/custom/bos_content/modules/node_site_alert/config/install/core.entity_view_display.node.site_alert.default.yml +++ b/docroot/modules/custom/bos_content/modules/node_site_alert/config/install/core.entity_view_display.node.site_alert.default.yml @@ -1,3 +1,4 @@ +uuid: fcefacdd-00b8-4109-b5b3-966e28d3f6a0 langcode: en status: true dependencies: diff --git a/docroot/modules/custom/bos_content/modules/node_site_alert/css/site-alert.boston.css b/docroot/modules/custom/bos_content/modules/node_site_alert/css/site-alert.boston.css index 07fae67c0c..cb4a91b9db 100644 --- a/docroot/modules/custom/bos_content/modules/node_site_alert/css/site-alert.boston.css +++ b/docroot/modules/custom/bos_content/modules/node_site_alert/css/site-alert.boston.css @@ -1,14 +1,27 @@ /** - Locate contextual button out of the way of the main page button. + Adds a white line between multiple site alerts, but only if there are + multiple and not after the last. + If there is only one, then it is the last .... so it gets no line. */ +#block-bos-theme-views-block-site-alerts-block-site-alerts [class*=js-view-dom] > div.bos-site-alert { + border-bottom: 1px solid #fff; +} +#block-bos-theme-views-block-site-alerts-block-site-alerts [class*=js-view-dom] > div.bos-site-alert:last-child { + border-bottom: none; +} + /** + Locate contextual button out of the way of the main page button. + */ #sa-a .contextual { margin-right: 70px; + z-index: 1000; + display: block; } /** - Manage seal. + Manage seal, if this css is loaded, then the seal is hidden. */ -#page.sa #main-menu #seal.s { +#page #main-menu #seal { -webkit-transform: translateX(-50%) translateY(0%); transform: translateX(-50%) translateY(0%); box-shadow: none; @@ -18,21 +31,39 @@ /** Manage Topic-pages hero image when have site alert. */ -#page.sa:not(.page--fp) .main-content { +#page:not(.page--fp) .main-content { top: 0; position: relative; } -#page.sa .hero-image { +#page .hero-image { padding-top: 0; } -#page.sa .hero-image-wrapper:after { +#page .hero-image-wrapper:after { top: 0; } +/*body.toolbar-fixed #sa-a.node-site-alert {*/ +/* top: auto;*/ +/*}*/ + /* Enable/disable site alerts using the sa class */ -.node-site-alert { - display: none; +/*.node-site-alert {*/ +/* !* display: none; *!*/ +/*}*/ +/*.sa .node-site-alert {*/ +/* display: block;*/ +/*}*/ + +/** + Constrain and locate the icon, and remove for mobile. + */ +div.fyi-i { + width: 3rem; + height: 3rem; } -.sa .node-site-alert { - display: block; + +@media screen and (max-width: 480px) { + div.fyi-i { + display:none; + } } diff --git a/docroot/modules/custom/bos_content/modules/node_site_alert/node_site_alert.module b/docroot/modules/custom/bos_content/modules/node_site_alert/node_site_alert.module index 5b9e702ea0..0bee3b985d 100644 --- a/docroot/modules/custom/bos_content/modules/node_site_alert/node_site_alert.module +++ b/docroot/modules/custom/bos_content/modules/node_site_alert/node_site_alert.module @@ -5,12 +5,10 @@ * Provides a site alert entity type. */ -use Drupal\Core\Render\Element; use Drupal\views\ViewExecutable; use Drupal\Core\Entity\EntityInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\views\Plugin\views\cache\CachePluginBase; -use Drupal\views\Views; /** * Implements hook_theme(). @@ -39,24 +37,6 @@ function node_site_alert_theme() { ]; } -/** - * Prepares variables for site alert templates. - * - * Default template: site-alert.html.twig. - * - * @param array $variables - * An associative array containing: - * - elements: An associative array containing the site alert information and - * any fields attached to the entity. - * - attributes: HTML attributes for the containing element. - * TODO: This is not working ... hook does not exist. - */ -function template_preprocess_node__site_alert(array &$variables) { - foreach (Element::children($variables['elements']) as $key) { - $variables['content'][$key] = $variables['elements'][$key]; - } -} - /** * Implements hook_form_alter(). */ @@ -78,47 +58,10 @@ function node_site_alert_form_alter(&$form, FormStateInterface $form_state, $for function node_site_alert_preprocess_field_multiple_value_form(array &$variables) { _bos_core_rename_multiple_button($variables, "site_alert", [ "field_excluded_nodes" => "Exclude another page", + "field_included_nodes" => "Include another page", ]); } -/** - * Implements hook_preprocess_page(). - */ -function node_site_alert_preprocess_page(&$variables) { - // Check if we have any active site-alerts. - // Call the view passing in the homepage to see if we have an alert set ATM. - if ($view = Views::getView("site_alerts")) { - $view->setDisplay("block_site_alerts"); - if (isset($variables["node"]) && is_numeric($variables["node"])) { - $nid = $variables["node"]; - } - elseif (isset($variables["node"]) && $variables["node"]->hasField("nid")) { - $nid = $variables["node"]->id(); - } - if (isset($nid)) { - $view->preExecute(["nid" => $nid]); - $variables['cob']['sa-excluded'] = FALSE; - if ($view->execute() && count($view->result) > 0) { - foreach ($view->result as $result) { - if (isset($result->_entity) && $entity = $result->_entity) { - if (NULL != $entity->field_excluded_nodes) { - foreach ($entity->field_excluded_nodes as $excluded) { - if (isset($excluded->target_id) && $excluded->target_id == $nid) { - $variables['cob']['sa-excluded'] = TRUE; - } - } - } - } - } - if (!$variables['cob']['sa-excluded']) { - _bos_content_fix_attributes($variables); - $variables["attributes"]->addClass("sa"); - } - } - } - } -} - /** * Implements hook_entity_presave(). */ @@ -155,44 +98,67 @@ function node_site_alert_preprocess_node__site_alert(&$variables) { return; } - // Only show alert if the date range is valid. - if (!isset($variables["node"]->field_date_range)) { - $variables["display"] = TRUE; - } - // Add-in a bit of css. $variables['#attached']['library'][] = "node_site_alert/alert.call"; // Used in templates to set the background colors. $variables['block_theme'] = $variables["content"]["field_theme"]["#items"]->value; - - // Set classes. - $variables['attributes']['id'] = "sa-a"; - $variables['attributes']['class'][] = "b"; $variables['attributes']['class'][] = "b--" . $variables['block_theme']; - $variables['attributes']['class'][] = "b--fw"; -} - -/** - * Implements hook_preprocess_HOOK(). - */ -function node_site_alert_preprocess_block(&$variables) { - if (!isset($variables["content"]["#view"]->current_display) || (isset($variables["content"]["#view"]->current_display) && $variables["content"]["#view"]->current_display != "block_site_alerts")) { - return; - } - $variables["attributes"]["class"][] = "d--n node-site-alert"; - $variables["attributes"]["id"] = "sa"; } /** * Implements hook_views_post_render(). - * - * Rewrites the autocomplete list for excluded pages. - */ + */ function node_site_alert_views_post_render(ViewExecutable $view, &$output, CachePluginBase $cache) { - if ($view->id() == "site_alerts" && $view->current_display == "exclude_pages_autocomplete") { - foreach ($output as &$line) { - $line["#row"]->_entity->setTitle($line['#row']->node_field_data_title . " (" . $line['#row']->_entity->getType() . ")"); + if ($view->id() == "site_alerts") { + + if ($view->current_display == "exclude_pages_autocomplete") { + // Rewrites the autocomplete list for excluded pages. + foreach ($output as &$line) { + $line["#row"]->_entity->setTitle($line['#row']->node_field_data_title . " (" . $line['#row']->_entity->getType() . ")"); + } + } + + if ($view->current_display == "block_site_alerts") { + // DIG-4391- May 2024 + if (!empty($output["#rows"])) { + // The output is already filtered for display dates. + // We need to check if the current node is in the list of excluded/included nodes. + $nid = $view->args[0] ?? NULL; + if ($nid) { + foreach ($output["#rows"] as $sa => &$row) { + + foreach($row["#rows"] as $key => $sa_node) { + $site_alert = $sa_node["#node"]; + $included = $site_alert->field_included_nodes->getValue(); + array_walk($included, function(&$value, $k) { $value = $value["target_id"]; }); + if ($included == [] || + ($included && in_array($nid, $included))) { + // Site Alert appears on all nodes, or + // Permitted to display on this node. + } + else { + unset($output["#rows"][$sa]["#rows"][$key]); + } + + $excluded = $site_alert->field_excluded_nodes->getValue(); + array_walk($excluded, function(&$value, $key) { $value = $value["target_id"]; }); + if ($excluded == []) { + // No Exclusions applied, or + // Permitted to display on this node. + } + elseif ($excluded && in_array($nid, $excluded)) { + unset($output["#rows"][$sa]["#rows"][$key]); + } + } + + if (empty($output["#rows"][$sa]["#rows"])) { + unset($output["#rows"][$sa]); + } + + } + } + } } } } diff --git a/docroot/modules/custom/bos_content/modules/node_site_alert/templates/node--site-alert.html.twig b/docroot/modules/custom/bos_content/modules/node_site_alert/templates/node--site-alert.html.twig index 44cb9c9abf..a968b6ac11 100644 --- a/docroot/modules/custom/bos_content/modules/node_site_alert/templates/node--site-alert.html.twig +++ b/docroot/modules/custom/bos_content/modules/node_site_alert/templates/node--site-alert.html.twig @@ -26,23 +26,35 @@ * @see template_preprocess_entity() * @see template_process() #} - + + + {% if (title_prefix or title_suffix) %} + {# This allows the injection of the contextual menu links #} +
+ {{ title_prefix }} + {{ title_suffix }} +
+ {% endif %} +
+ {% if content.field_icon["#items"] %}
{{ content.field_icon }}
{% endif %} + {% if content.title_field %}
{{ content.title_field|raw }}
{% endif %} +
/
{{ content.field_extra_info }}
+ {{ content.field_link }} +
- {% if content.title_suffix %} - {{ content.title_suffix }} - {% endif %} +
diff --git a/docroot/themes/custom/bos_theme/bos_theme.theme b/docroot/themes/custom/bos_theme/bos_theme.theme index 90d2ff55b8..542f61c730 100755 --- a/docroot/themes/custom/bos_theme/bos_theme.theme +++ b/docroot/themes/custom/bos_theme/bos_theme.theme @@ -157,8 +157,7 @@ function bos_theme_preprocess(array &$variables, $hook) { 'boston_layout' => theme_get_setting('boston_layout'), ]; // A variable to define the cache buster. - $variables['cache_buster'] = \Drupal::state() - ->get('system.css_js_query_string'); + $variables['cache_buster'] = \Drupal::service('asset.query_string')->get(); $mode = _bos_theme_library(); $lib = \Drupal::service('library.discovery') ->getLibraryByName('bos_theme', 'global-styling.' . $mode); diff --git a/docroot/themes/custom/bos_theme/templates/layout/page.html.twig b/docroot/themes/custom/bos_theme/templates/layout/page.html.twig index a799ebdadc..1a4d8c3392 100644 --- a/docroot/themes/custom/bos_theme/templates/layout/page.html.twig +++ b/docroot/themes/custom/bos_theme/templates/layout/page.html.twig @@ -148,7 +148,10 @@ {{ site_banner }} -
Endpoint called" . \Drupal::request()->getRequestUri() ."