From df2fd82e62e5987a38841bdabf8d0574c96f4b77 Mon Sep 17 00:00:00 2001 From: Ralf Baussenwein Date: Mon, 23 Mar 2026 20:15:21 +0100 Subject: [PATCH 1/3] Unlock symfony 7 --- composer.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index ed449a8..658d93b 100644 --- a/composer.json +++ b/composer.json @@ -10,12 +10,12 @@ "heimrichhannot/contao-utils-bundle": "^3.6", "ivory/google-map": "^6.0", "mvo/contao-group-widget": "^1.5", - "symfony/config": "^6.4", - "symfony/console": "^6.4", - "symfony/dependency-injection": "^6.4", - "symfony/event-dispatcher": "^6.4", - "symfony/http-foundation": "^6.4", - "symfony/http-kernel": "^6.4", + "symfony/config": "^6.4 || ^7.0", + "symfony/console": "^6.4 || ^7.0", + "symfony/dependency-injection": "^6.4 || ^7.0", + "symfony/event-dispatcher": "^6.4 || ^7.0", + "symfony/http-foundation": "^6.4 || ^7.0", + "symfony/http-kernel": "^6.4 || ^7.0", "twig/twig": "^3.15" }, "require-dev": { From 547adfd53162d80f77c143fcf3023ec7f6cf37ec Mon Sep 17 00:00:00 2001 From: Ralf Baussenwein Date: Sat, 15 Aug 2026 07:31:22 +0200 Subject: [PATCH 2/3] Apply coding standard Formatting only, no behaviour change. --- contao/config/config.php | 4 +-- contao/dca/tl_content.php | 4 +-- contao/dca/tl_google_map.php | 4 +-- contao/dca/tl_google_map_overlay.php | 4 +-- contao/dca/tl_module.php | 4 +-- contao/dca/tl_page.php | 4 +-- contao/dca/tl_settings.php | 5 ++- contao/dca/tl_user.php | 4 +-- contao/dca/tl_user_group.php | 4 +-- contao/languages/de/default.php | 4 +-- contao/languages/de/modules.php | 4 +-- contao/languages/de/tl_content.php | 5 ++- contao/languages/de/tl_google_map.php | 4 +-- contao/languages/de/tl_google_map_overlay.php | 4 +-- contao/languages/de/tl_module.php | 5 ++- contao/languages/de/tl_page.php | 5 ++- contao/languages/de/tl_settings.php | 5 ++- contao/languages/de/tl_user.php | 5 ++- contao/languages/de/tl_user_group.php | 5 ++- contao/languages/en/modules.php | 5 ++- contao/languages/en/tl_google_map.php | 5 ++- contao/languages/en/tl_google_map_overlay.php | 5 ++- contao/languages/en/tl_list_config.php | 5 ++- contao/languages/en/tl_page.php | 5 ++- contao/languages/en/tl_settings.php | 5 ++- contao/languages/en/tl_user.php | 5 ++- contao/languages/en/tl_user_group.php | 5 ++- src/Collection/MapCollection.php | 4 +-- src/Command/MigrateDlhCommand.php | 7 ++-- src/ContaoManager/Plugin.php | 4 +-- .../GoogleMapsElementController.php | 4 +-- .../GoogleMapsFrontendModuleController.php | 4 +-- .../GoogleMapsExtension.php | 4 +-- src/Event/BeforeRenderApiEvent.php | 4 +-- src/Event/BeforeRenderMapEvent.php | 4 +-- src/Event/DlhMigrationModifyMapEvent.php | 4 +-- src/Event/DlhMigrationModifyOverlayEvent.php | 4 +-- src/Event/GoogleMapBeforeRenderEvent.php | 4 +-- .../GoogleMapsPrepareExternalItemEvent.php | 4 +-- src/EventListener/ApiRenderListener.php | 4 +-- src/EventListener/ConsentBridgeListener.php | 4 +-- .../DataContainer/ContentListener.php | 4 +-- .../DataContainer/GoogleMapListener.php | 10 +++--- .../DataContainer/MapWizardListener.php | 4 +-- .../DataContainer/ModuleListener.php | 4 +-- .../DataContainer/OverlayListener.php | 4 +-- src/EventListener/InsertTagsListener.php | 7 ++-- src/EventListener/MapRendererListener.php | 11 +++--- .../OveleonContaoCookiebarListener.php | 17 +++++++--- .../ReplaceDynamicScriptTagsListener.php | 4 +-- src/HeimrichHannotGoogleMapsBundle.php | 4 +-- src/Manager/MapManager.php | 34 ++++++++++++------- src/Manager/OverlayManager.php | 19 +++++++---- src/Model/GoogleMapModel.php | 4 +-- src/Model/OverlayModel.php | 4 +-- src/Security/GoogleMapsPermissions.php | 4 +-- src/Security/Voter/GoogleMapAccessVoter.php | 4 +-- src/Security/Voter/OverlayAccessVoter.php | 4 +-- src/Service/ElevationService.php | 4 +-- src/Twig/GoogleMapsExtension.php | 4 +-- src/Util/ArrayUtil.php | 4 +-- src/Util/DcaUtil.php | 4 +-- src/Util/LocationUtil.php | 4 +-- 63 files changed, 179 insertions(+), 165 deletions(-) diff --git a/contao/config/config.php b/contao/config/config.php index 3050a41..9b10980 100644 --- a/contao/config/config.php +++ b/contao/config/config.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/dca/tl_content.php b/contao/dca/tl_content.php index 2e61a5f..ed2a48f 100644 --- a/contao/dca/tl_content.php +++ b/contao/dca/tl_content.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/dca/tl_google_map.php b/contao/dca/tl_google_map.php index 826d4f6..98f60df 100644 --- a/contao/dca/tl_google_map.php +++ b/contao/dca/tl_google_map.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/dca/tl_google_map_overlay.php b/contao/dca/tl_google_map_overlay.php index b157988..7663bb8 100644 --- a/contao/dca/tl_google_map_overlay.php +++ b/contao/dca/tl_google_map_overlay.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/dca/tl_module.php b/contao/dca/tl_module.php index bcff3f4..d5a155c 100644 --- a/contao/dca/tl_module.php +++ b/contao/dca/tl_module.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/dca/tl_page.php b/contao/dca/tl_page.php index 0770961..ec97e2b 100644 --- a/contao/dca/tl_page.php +++ b/contao/dca/tl_page.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/dca/tl_settings.php b/contao/dca/tl_settings.php index d9eaa06..978c983 100644 --- a/contao/dca/tl_settings.php +++ b/contao/dca/tl_settings.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $dca = &$GLOBALS['TL_DCA']['tl_settings']; /* diff --git a/contao/dca/tl_user.php b/contao/dca/tl_user.php index 13feb8a..f9c9fba 100644 --- a/contao/dca/tl_user.php +++ b/contao/dca/tl_user.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/dca/tl_user_group.php b/contao/dca/tl_user_group.php index 2e1a428..24eaec9 100644 --- a/contao/dca/tl_user_group.php +++ b/contao/dca/tl_user_group.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/languages/de/default.php b/contao/languages/de/default.php index 69aeed4..6e55d73 100644 --- a/contao/languages/de/default.php +++ b/contao/languages/de/default.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/languages/de/modules.php b/contao/languages/de/modules.php index 94187c6..1a9ee80 100644 --- a/contao/languages/de/modules.php +++ b/contao/languages/de/modules.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/languages/de/tl_content.php b/contao/languages/de/tl_content.php index 5474667..ac558bb 100644 --- a/contao/languages/de/tl_content.php +++ b/contao/languages/de/tl_content.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_content']; /* diff --git a/contao/languages/de/tl_google_map.php b/contao/languages/de/tl_google_map.php index c713862..ceb11f0 100644 --- a/contao/languages/de/tl_google_map.php +++ b/contao/languages/de/tl_google_map.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/languages/de/tl_google_map_overlay.php b/contao/languages/de/tl_google_map_overlay.php index d8fad10..c8a5aff 100644 --- a/contao/languages/de/tl_google_map_overlay.php +++ b/contao/languages/de/tl_google_map_overlay.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/contao/languages/de/tl_module.php b/contao/languages/de/tl_module.php index ab7666f..849b550 100644 --- a/contao/languages/de/tl_module.php +++ b/contao/languages/de/tl_module.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_module']; /* diff --git a/contao/languages/de/tl_page.php b/contao/languages/de/tl_page.php index cba1c10..4cb328e 100644 --- a/contao/languages/de/tl_page.php +++ b/contao/languages/de/tl_page.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_page']; /* diff --git a/contao/languages/de/tl_settings.php b/contao/languages/de/tl_settings.php index cbc1d76..2fc32bd 100644 --- a/contao/languages/de/tl_settings.php +++ b/contao/languages/de/tl_settings.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_settings']; /* diff --git a/contao/languages/de/tl_user.php b/contao/languages/de/tl_user.php index 4a3bda0..4900089 100644 --- a/contao/languages/de/tl_user.php +++ b/contao/languages/de/tl_user.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_user']; /* diff --git a/contao/languages/de/tl_user_group.php b/contao/languages/de/tl_user_group.php index beb47ba..bf514f6 100644 --- a/contao/languages/de/tl_user_group.php +++ b/contao/languages/de/tl_user_group.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_user_group']; /* diff --git a/contao/languages/en/modules.php b/contao/languages/en/modules.php index 2e93075..6e44065 100644 --- a/contao/languages/en/modules.php +++ b/contao/languages/en/modules.php @@ -2,10 +2,9 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $GLOBALS['TL_LANG']['MOD']['google_maps'] = ['Google Maps', '']; diff --git a/contao/languages/en/tl_google_map.php b/contao/languages/en/tl_google_map.php index 13e571b..3d56f38 100644 --- a/contao/languages/en/tl_google_map.php +++ b/contao/languages/en/tl_google_map.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_google_map']; /* diff --git a/contao/languages/en/tl_google_map_overlay.php b/contao/languages/en/tl_google_map_overlay.php index 07cd8ca..a61c6c3 100644 --- a/contao/languages/en/tl_google_map_overlay.php +++ b/contao/languages/en/tl_google_map_overlay.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_google_map_overlay']; /* diff --git a/contao/languages/en/tl_list_config.php b/contao/languages/en/tl_list_config.php index 2bb691b..6bb94da 100644 --- a/contao/languages/en/tl_list_config.php +++ b/contao/languages/en/tl_list_config.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_list_config']; /* diff --git a/contao/languages/en/tl_page.php b/contao/languages/en/tl_page.php index f8f3609..361f0a8 100644 --- a/contao/languages/en/tl_page.php +++ b/contao/languages/en/tl_page.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_page']; /* diff --git a/contao/languages/en/tl_settings.php b/contao/languages/en/tl_settings.php index e64daa2..d6845f8 100644 --- a/contao/languages/en/tl_settings.php +++ b/contao/languages/en/tl_settings.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_settings']; /* diff --git a/contao/languages/en/tl_user.php b/contao/languages/en/tl_user.php index 656fac4..32876c8 100644 --- a/contao/languages/en/tl_user.php +++ b/contao/languages/en/tl_user.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_user']; /* diff --git a/contao/languages/en/tl_user_group.php b/contao/languages/en/tl_user_group.php index 5f31a0e..a8d8a4f 100644 --- a/contao/languages/en/tl_user_group.php +++ b/contao/languages/en/tl_user_group.php @@ -2,12 +2,11 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ - $lang = &$GLOBALS['TL_LANG']['tl_user_group']; /* diff --git a/src/Collection/MapCollection.php b/src/Collection/MapCollection.php index 2ca8d5b..c13babe 100644 --- a/src/Collection/MapCollection.php +++ b/src/Collection/MapCollection.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Command/MigrateDlhCommand.php b/src/Command/MigrateDlhCommand.php index cf7183d..985da1a 100644 --- a/src/Command/MigrateDlhCommand.php +++ b/src/Command/MigrateDlhCommand.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ @@ -79,7 +79,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int $this->io->note('Dry run enabled.'); $this->io->newLine(); } - $this->io->getFormatter()->setStyle('userwarning', new OutputFormatterStyle('red', null)); + $this->io->getFormatter() + ->setStyle('userwarning', new OutputFormatterStyle('red', null)); $this->framework->initialize(); diff --git a/src/ContaoManager/Plugin.php b/src/ContaoManager/Plugin.php index ade44b5..7176503 100644 --- a/src/ContaoManager/Plugin.php +++ b/src/ContaoManager/Plugin.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Controller/ContentElement/GoogleMapsElementController.php b/src/Controller/ContentElement/GoogleMapsElementController.php index 8ab01d3..9aed389 100644 --- a/src/Controller/ContentElement/GoogleMapsElementController.php +++ b/src/Controller/ContentElement/GoogleMapsElementController.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Controller/FrontendModule/GoogleMapsFrontendModuleController.php b/src/Controller/FrontendModule/GoogleMapsFrontendModuleController.php index f617d18..c44fe7b 100644 --- a/src/Controller/FrontendModule/GoogleMapsFrontendModuleController.php +++ b/src/Controller/FrontendModule/GoogleMapsFrontendModuleController.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/DependencyInjection/GoogleMapsExtension.php b/src/DependencyInjection/GoogleMapsExtension.php index a85149b..173d9bc 100644 --- a/src/DependencyInjection/GoogleMapsExtension.php +++ b/src/DependencyInjection/GoogleMapsExtension.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Event/BeforeRenderApiEvent.php b/src/Event/BeforeRenderApiEvent.php index 53b6ccd..156f180 100644 --- a/src/Event/BeforeRenderApiEvent.php +++ b/src/Event/BeforeRenderApiEvent.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Event/BeforeRenderMapEvent.php b/src/Event/BeforeRenderMapEvent.php index ed69207..e9c5c82 100644 --- a/src/Event/BeforeRenderMapEvent.php +++ b/src/Event/BeforeRenderMapEvent.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Event/DlhMigrationModifyMapEvent.php b/src/Event/DlhMigrationModifyMapEvent.php index f20fa15..36c40be 100644 --- a/src/Event/DlhMigrationModifyMapEvent.php +++ b/src/Event/DlhMigrationModifyMapEvent.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Event/DlhMigrationModifyOverlayEvent.php b/src/Event/DlhMigrationModifyOverlayEvent.php index d557cb1..d89869a 100644 --- a/src/Event/DlhMigrationModifyOverlayEvent.php +++ b/src/Event/DlhMigrationModifyOverlayEvent.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Event/GoogleMapBeforeRenderEvent.php b/src/Event/GoogleMapBeforeRenderEvent.php index 81069fb..0be418b 100644 --- a/src/Event/GoogleMapBeforeRenderEvent.php +++ b/src/Event/GoogleMapBeforeRenderEvent.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Event/GoogleMapsPrepareExternalItemEvent.php b/src/Event/GoogleMapsPrepareExternalItemEvent.php index 42371a6..fa6c6cd 100644 --- a/src/Event/GoogleMapsPrepareExternalItemEvent.php +++ b/src/Event/GoogleMapsPrepareExternalItemEvent.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/EventListener/ApiRenderListener.php b/src/EventListener/ApiRenderListener.php index 8fddfed..ab03e09 100644 --- a/src/EventListener/ApiRenderListener.php +++ b/src/EventListener/ApiRenderListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/EventListener/ConsentBridgeListener.php b/src/EventListener/ConsentBridgeListener.php index 4746d71..6e251a0 100644 --- a/src/EventListener/ConsentBridgeListener.php +++ b/src/EventListener/ConsentBridgeListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/EventListener/DataContainer/ContentListener.php b/src/EventListener/DataContainer/ContentListener.php index 58966d9..34a62df 100644 --- a/src/EventListener/DataContainer/ContentListener.php +++ b/src/EventListener/DataContainer/ContentListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/EventListener/DataContainer/GoogleMapListener.php b/src/EventListener/DataContainer/GoogleMapListener.php index bb2e381..a7f19b8 100644 --- a/src/EventListener/DataContainer/GoogleMapListener.php +++ b/src/EventListener/DataContainer/GoogleMapListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ @@ -182,7 +182,8 @@ public function adjustPermissions(string|int $insertId): void return; } - $objSessionBag = $this->requestStack->getSession()->getBag('contao_backend'); + $objSessionBag = $this->requestStack->getSession() + ->getBag('contao_backend'); $newRecords = $objSessionBag->get('new_records'); if (\is_array($newRecords['tl_google_map']) && \in_array($insertId, $newRecords['tl_google_map'], true)) { @@ -218,7 +219,8 @@ public function adjustPermissions(string|int $insertId): void ->from('tl_user') ; $qb->where($qb->expr()->eq('id', $user->id)); - $userPermissions = $qb->executeQuery()->fetchAssociative(); + $userPermissions = $qb->executeQuery() + ->fetchAssociative(); $mapPermissions = StringUtil::deserialize($userPermissions['contao_google_maps_bundlep']); diff --git a/src/EventListener/DataContainer/MapWizardListener.php b/src/EventListener/DataContainer/MapWizardListener.php index a4faeb1..c10af22 100644 --- a/src/EventListener/DataContainer/MapWizardListener.php +++ b/src/EventListener/DataContainer/MapWizardListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/EventListener/DataContainer/ModuleListener.php b/src/EventListener/DataContainer/ModuleListener.php index 894160d..98888d3 100644 --- a/src/EventListener/DataContainer/ModuleListener.php +++ b/src/EventListener/DataContainer/ModuleListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/EventListener/DataContainer/OverlayListener.php b/src/EventListener/DataContainer/OverlayListener.php index eee9e73..0a958ad 100644 --- a/src/EventListener/DataContainer/OverlayListener.php +++ b/src/EventListener/DataContainer/OverlayListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/EventListener/InsertTagsListener.php b/src/EventListener/InsertTagsListener.php index e68d4cb..cac3906 100644 --- a/src/EventListener/InsertTagsListener.php +++ b/src/EventListener/InsertTagsListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ @@ -34,7 +34,8 @@ public function __invoke(ResolvedInsertTag $insertTag): InsertTagResult { $this->framework->initialize(); - $mapId = (int) $insertTag->getParameters()->get(0); + $mapId = (int) $insertTag->getParameters() + ->get(0); return match ($insertTag->getName()) { 'google_map' => new InsertTagResult( diff --git a/src/EventListener/MapRendererListener.php b/src/EventListener/MapRendererListener.php index cb4bc09..52d1f2c 100644 --- a/src/EventListener/MapRendererListener.php +++ b/src/EventListener/MapRendererListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ @@ -31,7 +31,8 @@ public function __construct( public function renderStylesheet(MapEvent $event, string $eventName, EventDispatcherInterface $dispatcher): void { - $this->mapHelper->getEventDispatcher()->removeListener('map.stylesheet', [$this, 'renderStylesheet']); + $this->mapHelper->getEventDispatcher() + ->removeListener('map.stylesheet', [$this, 'renderStylesheet']); $responsiveSettings = StringUtil::deserialize($this->model->responsive, true); @@ -59,7 +60,9 @@ public function renderStylesheet(MapEvent $event, string $eventName, EventDispat '.$event->getMap()->getVariable().'.setCenter(center); }'); - $event->getMap()->getEventManager()->addDomEvent($resizeEvent); + $event->getMap() + ->getEventManager() + ->addDomEvent($resizeEvent); } public function getManager(): MapManager diff --git a/src/EventListener/OveleonContaoCookiebarListener.php b/src/EventListener/OveleonContaoCookiebarListener.php index f4c841f..d0f9c15 100644 --- a/src/EventListener/OveleonContaoCookiebarListener.php +++ b/src/EventListener/OveleonContaoCookiebarListener.php @@ -66,7 +66,9 @@ public function onBeforeRenderApiEvent(BeforeRenderApiEvent $event): void return; } - $listeners = $event->getApiHelper()->getEventDispatcher()->getListeners(ApiEvents::JAVASCRIPT); + $listeners = $event->getApiHelper() + ->getEventDispatcher() + ->getListeners(ApiEvents::JAVASCRIPT); $apiSubscriber = null; foreach ($listeners as $listener) { @@ -84,7 +86,8 @@ public function onBeforeRenderApiEvent(BeforeRenderApiEvent $event): void } $apiRenderer = $apiSubscriber->getApiRenderer(); - $source = $apiRenderer->getLoaderRenderer()->renderSource('ivory_google_map_init', $event->getApiEvent()->getLibraries()); + $source = $apiRenderer->getLoaderRenderer() + ->renderSource('ivory_google_map_init', $event->getApiEvent()->getLibraries()); $this->addScriptToGlobals($this->maskExternalResource($source, $config['id'], 'gmap_library')); @@ -150,7 +153,8 @@ private function findConfig(): ?array return null; } - $rootPage = $this->utils->request()->getCurrentRootPageModel(); + $rootPage = $this->utils->request() + ->getCurrentRootPageModel(); if (null === $rootPage) { return null; } @@ -216,9 +220,12 @@ private function parseHtml(string $content, Map $map, Request $request, CookieMo // support legacy path for bc $legacyTemplateName = '@Contao/oveleon_cookiebar/blocker/default.html.twig'; if ( - $this->twig->getLoader()->exists($legacyTemplateName) + $this->twig->getLoader() + ->exists($legacyTemplateName) && !str_contains( - $this->twig->getLoader()->getSourceContext($legacyTemplateName)->getPath(), + $this->twig->getLoader() + ->getSourceContext($legacyTemplateName) + ->getPath(), 'heimrichhannot/contao-google-maps-bundle' ) ) { diff --git a/src/EventListener/ReplaceDynamicScriptTagsListener.php b/src/EventListener/ReplaceDynamicScriptTagsListener.php index fd82148..7acd576 100644 --- a/src/EventListener/ReplaceDynamicScriptTagsListener.php +++ b/src/EventListener/ReplaceDynamicScriptTagsListener.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/HeimrichHannotGoogleMapsBundle.php b/src/HeimrichHannotGoogleMapsBundle.php index 21d47d0..7a36c28 100644 --- a/src/HeimrichHannotGoogleMapsBundle.php +++ b/src/HeimrichHannotGoogleMapsBundle.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Manager/MapManager.php b/src/Manager/MapManager.php index 182f0f6..284fdf1 100644 --- a/src/Manager/MapManager.php +++ b/src/Manager/MapManager.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ @@ -161,7 +161,8 @@ public function renderMapObject(Map $map, ?int $mapId = null, ?GoogleMapModel $m if ($mapConfigModel) { $listener = new MapRendererListener($templateData['mapConfigModel'], $this, $mapHelper, $this->framework); - $mapHelper->getEventDispatcher()->addListener('map.stylesheet', [$listener, 'renderStylesheet']); + $mapHelper->getEventDispatcher() + ->addListener('map.stylesheet', [$listener, 'renderStylesheet']); } $templateData['mapHtml'] = $mapHelper->renderHtml($map); @@ -229,7 +230,8 @@ public function renderApi(): string ; $listener = new ApiRenderListener($apiHelper, $this->eventDispatcher); - $apiHelper->getEventDispatcher()->addListener(ApiEvents::JAVASCRIPT, [$listener, 'onApiRender']); + $apiHelper->getEventDispatcher() + ->addListener(ApiEvents::JAVASCRIPT, [$listener, 'onApiRender']); $output = $apiHelper->render($this->mapCollection->getMaps()); @@ -287,7 +289,8 @@ public function setVisualization(Map $map, GoogleMapModel $mapConfig): void // clustering if ($mapConfig->addClusterer) { - $clusterer = $map->getOverlayManager()->getMarkerCluster(); + $clusterer = $map->getOverlayManager() + ->getMarkerCluster(); $clusterer->setType(MarkerClusterType::MARKER_CLUSTERER); if ($mapConfig->clustererImg) { @@ -388,7 +391,8 @@ public function addStaticMap(Map $map, GoogleMapModel $mapConfig, array &$templa { if ($mapConfig->staticMapNoscript) { $staticParams = [ - 'center' => $map->getCenter()->getLatitude().','.$map->getCenter()->getLongitude(), + 'center' => $map->getCenter() + ->getLatitude().','.$map->getCenter()->getLongitude(), 'zoom' => $map->getMapOption('zoom'), 'size' => $mapConfig->staticMapWidth.'x'.$mapConfig->staticMapHeight, 'maptype' => $map->getMapOption('mapTypeId'), @@ -409,7 +413,8 @@ public function addControls(Map $map, GoogleMapModel $mapConfig): void $mapConfig->mapTypeControlStyle, ); - $map->getControlManager()->setMapTypeControl($control); + $map->getControlManager() + ->setMapTypeControl($control); } else { // Explicitly disable map type control when not enabled $map->setMapOption('mapTypeControl', false); @@ -421,7 +426,8 @@ public function addControls(Map $map, GoogleMapModel $mapConfig): void $mapConfig->zoomControlPos, ); - $map->getControlManager()->setZoomControl($control); + $map->getControlManager() + ->setZoomControl($control); } // rotate @@ -430,7 +436,8 @@ public function addControls(Map $map, GoogleMapModel $mapConfig): void $mapConfig->rotateControlPos, ); - $map->getControlManager()->setRotateControl($control); + $map->getControlManager() + ->setRotateControl($control); } else { // Explicitly disable rotate control when not enabled $map->setMapOption('rotateControl', false); @@ -442,7 +449,8 @@ public function addControls(Map $map, GoogleMapModel $mapConfig): void $mapConfig->streetViewControlPos, ); - $map->getControlManager()->setStreetViewControl($control); + $map->getControlManager() + ->setStreetViewControl($control); } else { // Explicitly disable street view control when not enabled $map->setMapOption('streetViewControl', false); @@ -454,7 +462,8 @@ public function addControls(Map $map, GoogleMapModel $mapConfig): void $mapConfig->fullscreenControlPos, ); - $map->getControlManager()->setFullscreenControl($control); + $map->getControlManager() + ->setFullscreenControl($control); } else { // Explicitly disable fullscreen control when not enabled $map->setMapOption('fullscreenControl', false); @@ -464,7 +473,8 @@ public function addControls(Map $map, GoogleMapModel $mapConfig): void if ($mapConfig->addScaleControl) { $control = new ScaleControl(); - $map->getControlManager()->setScaleControl($control); + $map->getControlManager() + ->setScaleControl($control); } else { // Explicitly disable scale control when not enabled $map->setMapOption('scaleControl', false); diff --git a/src/Manager/OverlayManager.php b/src/Manager/OverlayManager.php index 506b3e0..3b897a5 100644 --- a/src/Manager/OverlayManager.php +++ b/src/Manager/OverlayManager.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ @@ -67,10 +67,12 @@ public function addOverlayToMap(Map $map, OverlayModel $overlayConfig, string $a case OverlayListener::TYPE_MARKER: [$marker, $events] = $this->prepareMarker($overlayConfig, $map); - $map->getOverlayManager()->addMarker($marker); + $map->getOverlayManager() + ->addMarker($marker); foreach ($events as $event) { - $map->getEventManager()->addDomEvent($event); + $map->getEventManager() + ->addDomEvent($event); } break; @@ -79,21 +81,24 @@ public function addOverlayToMap(Map $map, OverlayModel $overlayConfig, string $a $infoWindow = $this->prepareInfoWindow($overlayConfig); $infoWindow->setOpen(true); - $map->getOverlayManager()->addInfoWindow($infoWindow); + $map->getOverlayManager() + ->addInfoWindow($infoWindow); break; case OverlayListener::TYPE_KML_LAYER: $kmlLayer = $this->prepareKmlLayer($overlayConfig); - $map->getLayerManager()->addKmlLayer($kmlLayer); + $map->getLayerManager() + ->addKmlLayer($kmlLayer); break; case OverlayListener::TYPE_POLYGON: $polygon = $this->preparePolygon($overlayConfig); - $map->getOverlayManager()->addPolygon($polygon); + $map->getOverlayManager() + ->addPolygon($polygon); break; diff --git a/src/Model/GoogleMapModel.php b/src/Model/GoogleMapModel.php index aa40a58..5b772b1 100644 --- a/src/Model/GoogleMapModel.php +++ b/src/Model/GoogleMapModel.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Model/OverlayModel.php b/src/Model/OverlayModel.php index 5bad4b3..739af5f 100644 --- a/src/Model/OverlayModel.php +++ b/src/Model/OverlayModel.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Security/GoogleMapsPermissions.php b/src/Security/GoogleMapsPermissions.php index d0f95cc..90e8d99 100644 --- a/src/Security/GoogleMapsPermissions.php +++ b/src/Security/GoogleMapsPermissions.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Security/Voter/GoogleMapAccessVoter.php b/src/Security/Voter/GoogleMapAccessVoter.php index 29f47ae..b84bc5c 100644 --- a/src/Security/Voter/GoogleMapAccessVoter.php +++ b/src/Security/Voter/GoogleMapAccessVoter.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Security/Voter/OverlayAccessVoter.php b/src/Security/Voter/OverlayAccessVoter.php index 04ce114..b7b548c 100644 --- a/src/Security/Voter/OverlayAccessVoter.php +++ b/src/Security/Voter/OverlayAccessVoter.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Service/ElevationService.php b/src/Service/ElevationService.php index 2ee3c54..9166270 100644 --- a/src/Service/ElevationService.php +++ b/src/Service/ElevationService.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Twig/GoogleMapsExtension.php b/src/Twig/GoogleMapsExtension.php index d72fede..d6a1012 100644 --- a/src/Twig/GoogleMapsExtension.php +++ b/src/Twig/GoogleMapsExtension.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Util/ArrayUtil.php b/src/Util/ArrayUtil.php index de76b42..2937598 100644 --- a/src/Util/ArrayUtil.php +++ b/src/Util/ArrayUtil.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Util/DcaUtil.php b/src/Util/DcaUtil.php index 7ca814c..fdbd632 100644 --- a/src/Util/DcaUtil.php +++ b/src/Util/DcaUtil.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ diff --git a/src/Util/LocationUtil.php b/src/Util/LocationUtil.php index a023d02..5710556 100644 --- a/src/Util/LocationUtil.php +++ b/src/Util/LocationUtil.php @@ -2,8 +2,8 @@ declare(strict_types=1); -/* - * Copyright (c) 2024 Heimrich & Hannot GmbH +/** + * Copyright (c) 2024 Heimrich & Hannot GmbH. * * @license LGPL-3.0-or-later */ From 84fee041318609c73aa886909e682e24f6660a35 Mon Sep 17 00:00:00 2001 From: Ralf Baussenwein Date: Sat, 15 Aug 2026 06:39:58 +0200 Subject: [PATCH 3/3] Add GeoJSON layer overlay type replacing KmlLayer Google deprecated the KmlLayer class of the Maps JavaScript API: it becomes unavailable in version 3.66 (August 2026) and stops working entirely in May 2027. This adds a GeoJSON overlay type built on google.maps.Data as the replacement path, along with a command to convert existing KML files. Ivory already ships GeoJsonLayer, so the library needs no changes. It renders map.data.loadGeoJson() and nothing else, though, and unlike KML GeoJSON carries no styling of its own -- a layer loaded that way draws in Google's default blue with no info windows. The frontend script applies both: styling via Data.setStyle(), reading each feature's simplestyle properties with the overlay's configured style as fallback, and info windows built from the remaining properties. Its markup uses BEM classes and ships no presentation, so projects style it themselves. Two things are easy to get wrong here and are worth stating: - The initialization is registered as a map event, because Ivory renders those inside the map's own init callback. The rendered JavaScript block runs before the async API callback assigns the map variable. - The script is registered from the replaceDynamicScriptTags hook. Maps render inside the body, by which point the head has been assembled and a TL_JAVASCRIPT entry added during rendering is dropped without warning. KmlConverter flattens