From 8a752b1955c46c7db05c1d1f6f74a7f118ca6668 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 30 Mar 2021 15:31:51 +0000 Subject: [PATCH 01/22] Bump y18n from 3.2.1 to 3.2.2 Bumps [y18n](https://github.com/yargs/y18n) from 3.2.1 to 3.2.2. - [Release notes](https://github.com/yargs/y18n/releases) - [Changelog](https://github.com/yargs/y18n/blob/master/CHANGELOG.md) - [Commits](https://github.com/yargs/y18n/commits) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ccd2713..c67c548 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2804,9 +2804,9 @@ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" }, "y18n": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", - "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" }, "yargs": { "version": "7.1.1", From 664ce1183162ee4e3f1b81ccde55c5caa1617001 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 9 May 2021 18:49:21 +0000 Subject: [PATCH 02/22] Bump hosted-git-info from 2.8.8 to 2.8.9 Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9. - [Release notes](https://github.com/npm/hosted-git-info/releases) - [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md) - [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9) Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ccd2713..f5aeaf3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1259,9 +1259,9 @@ } }, "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==" }, "inflight": { "version": "1.0.6", From bd0eb5a416c8d4b5d2b65999f9fa8ba439bf66db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Aug 2021 20:25:42 +0000 Subject: [PATCH 03/22] Bump path-parse from 1.0.6 to 1.0.7 Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index ccd2713..bd93fac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1932,9 +1932,9 @@ "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-root": { "version": "0.1.1", From d6a7e14a054fc3c9590e98be7687136ff8b000a4 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 16:31:52 +0100 Subject: [PATCH 04/22] Bump requirements and fix symfony/event-dispatcher usage --- composer.json | 28 ++++++++++++++++++---------- src/Event/BuildDefinitionEvent.php | 2 +- src/Event/ConvertToGeoJsonEvent.php | 2 +- src/Event/GetHashEvent.php | 2 +- src/Event/GetJavascriptEvent.php | 2 +- src/MapProvider.php | 4 ++-- src/Mapper/DefinitionMapper.php | 8 ++++---- 7 files changed, 28 insertions(+), 20 deletions(-) diff --git a/composer.json b/composer.json index 07af2f6..42e2a57 100644 --- a/composer.json +++ b/composer.json @@ -21,9 +21,9 @@ "ext-json": "*", "ext-pdo": "*", "contao-community-alliance/meta-palettes": "^2.0 || ^1.11", - "contao/core-bundle": "~4.4", + "contao/core-bundle": "^4.9", "doctrine/cache": "^1.0", - "doctrine/dbal": "^2.5", + "doctrine/dbal": "^2.11 || ^3.0", "menatwork/contao-multicolumnwizard": "^3.3", "netzmacht/contao-leaflet-geocode-widget": "^1.2", "netzmacht/contao-leaflet-libraries": "^1.3.4", @@ -31,14 +31,15 @@ "netzmacht/contao-toolkit": "~3.0", "netzmacht/php-javascript-builder": "^1.0", "netzmacht/php-leaflet": "^1.1.0", - "symfony/config": "~3.3 || ~4.0", - "symfony/dependency-injection": "^3.4.26 || ^4.1.12", - "symfony/event-dispatcher": "~3.3 || ~4.0", - "symfony/filesystem": "~3.3 || ~4.0", - "symfony/http-kernel": "~3.3 || ~4.0", - "symfony/twig-bundle": "~3.3 || ~4.0", - "symfony/translation": "~3.3 || ~4.0", - "twig/twig": "^1.3.35 || ^2.0" + "symfony/config": "~4.4 || ^5.1", + "symfony/dependency-injection": "~4.4 || ^5.1", + "symfony/event-dispatcher": "~4.4 || ^5.1", + "symfony/event-dispatcher-contracts": "^1.1 || ^2.0", + "symfony/filesystem": "~4.4 || ^5.1", + "symfony/http-kernel": "~4.4 || ^5.1", + "symfony/twig-bundle": "~4.4 || ^5.1", + "symfony/translation": "~4.4 || ^5.1", + "twig/twig": "^2.0 || ^3.0" }, "require-dev": { "contao/manager-plugin": "^2.1", @@ -79,5 +80,12 @@ "issues": "https://github.com/netzmacht/contao-leaflet-maps/issues", "source": "https://github.com/netzmacht/contao-leaflet-maps", "docs": "http://leaflet-maps-for-contao.readthedocs.org/" + }, + "config": { + "allow-plugins": { + "contao-components/installer": true, + "contao/manager-plugin": true, + "contao-community-alliance/composer-plugin": true + } } } diff --git a/src/Event/BuildDefinitionEvent.php b/src/Event/BuildDefinitionEvent.php index 66e5abf..d494596 100644 --- a/src/Event/BuildDefinitionEvent.php +++ b/src/Event/BuildDefinitionEvent.php @@ -15,7 +15,7 @@ namespace Netzmacht\Contao\Leaflet\Event; use Contao\Model; use Netzmacht\Contao\Leaflet\Mapper\Request; use Netzmacht\LeafletPHP\Definition; -use Symfony\Component\EventDispatcher\Event; +use Symfony\Contracts\EventDispatcher\Event; /** * Class BuildDefinitionEvent is emitted when the mapper maps between the model and the definition. diff --git a/src/Event/ConvertToGeoJsonEvent.php b/src/Event/ConvertToGeoJsonEvent.php index de71b21..fa32112 100644 --- a/src/Event/ConvertToGeoJsonEvent.php +++ b/src/Event/ConvertToGeoJsonEvent.php @@ -14,7 +14,7 @@ namespace Netzmacht\Contao\Leaflet\Event; use Netzmacht\LeafletPHP\Definition; use Netzmacht\LeafletPHP\Value\GeoJson\GeoJsonObject; -use Symfony\Component\EventDispatcher\Event; +use Symfony\Contracts\EventDispatcher\Event; /** * Class ConvertToGeoJsonEvent is emitted when the DefinitionMapper converts a definition to a geo json feature. diff --git a/src/Event/GetHashEvent.php b/src/Event/GetHashEvent.php index fac4a51..2bf0c1c 100644 --- a/src/Event/GetHashEvent.php +++ b/src/Event/GetHashEvent.php @@ -12,7 +12,7 @@ namespace Netzmacht\Contao\Leaflet\Event; -use Symfony\Component\EventDispatcher\Event; +use Symfony\Contracts\EventDispatcher\Event; /** * Class GetHashEvent is emitted then a hash for a data object with an unknown type is required. diff --git a/src/Event/GetJavascriptEvent.php b/src/Event/GetJavascriptEvent.php index 52099a0..0cfb2e1 100644 --- a/src/Event/GetJavascriptEvent.php +++ b/src/Event/GetJavascriptEvent.php @@ -13,7 +13,7 @@ namespace Netzmacht\Contao\Leaflet\Event; use Netzmacht\LeafletPHP\Definition\Map; -use Symfony\Component\EventDispatcher\Event; +use Symfony\Contracts\EventDispatcher\Event; /** * Class GetJavascriptEvent is emitted after the map javascript was created. diff --git a/src/MapProvider.php b/src/MapProvider.php index c60dc6e..89a6ba1 100644 --- a/src/MapProvider.php +++ b/src/MapProvider.php @@ -27,8 +27,8 @@ use Netzmacht\Contao\Toolkit\View\Template\TemplateReference; use Netzmacht\LeafletPHP\Definition\Map; use Netzmacht\LeafletPHP\Leaflet; use Netzmacht\LeafletPHP\Value\GeoJson\FeatureCollection; -use Symfony\Component\EventDispatcher\EventDispatcherInterface as EventDispatcher; use Symfony\Component\Templating\EngineInterface as TemplateEngine; +use Symfony\Contracts\EventDispatcher\EventDispatcherInterface as EventDispatcher; /** * Class MapProvider. @@ -392,7 +392,7 @@ class MapProvider ); $event = new GetJavascriptEvent($definition, $content); - $this->eventDispatcher->dispatch($event::NAME, $event); + $this->eventDispatcher->dispatch($event, $event::NAME); return $event->getJavascript(); } diff --git a/src/Mapper/DefinitionMapper.php b/src/Mapper/DefinitionMapper.php index 331e4fe..1798f5e 100644 --- a/src/Mapper/DefinitionMapper.php +++ b/src/Mapper/DefinitionMapper.php @@ -20,7 +20,7 @@ use Netzmacht\LeafletPHP\Value\GeoJson\ConvertsToGeoJsonFeature; use Netzmacht\LeafletPHP\Value\GeoJson\Feature; use Netzmacht\LeafletPHP\Value\GeoJson\FeatureCollection; use Netzmacht\LeafletPHP\Value\GeoJson\GeoJsonFeature; -use Symfony\Component\EventDispatcher\EventDispatcherInterface as EventDispatcher; +use Symfony\Contracts\EventDispatcher\EventDispatcherInterface as EventDispatcher; /** * Class DefinitionMapper is the main mapper instance which contains all other mappers as children. @@ -111,7 +111,7 @@ class DefinitionMapper if ($definition) { $event = new BuildDefinitionEvent($definition, $model, $request); - $this->eventDispatcher->dispatch($event::NAME, $event); + $this->eventDispatcher->dispatch($event, $event::NAME); } $this->mapped[$hash] = $definition; @@ -172,7 +172,7 @@ class DefinitionMapper } $event = new ConvertToGeoJsonEvent($definition, $feature, $model); - $this->eventDispatcher->dispatch($event::NAME, $event); + $this->eventDispatcher->dispatch($event, $event::NAME); return $feature; } @@ -190,7 +190,7 @@ class DefinitionMapper private function hash($model, $elementId = null) { $event = new GetHashEvent($model); - $this->eventDispatcher->dispatch($event::NAME, $event); + $this->eventDispatcher->dispatch($event, $event::NAME); $hash = $event->getHash(); if (!$hash) { From 445729acfea7c0d7f6d68925e9d86e5d7ac50283 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 16:36:43 +0100 Subject: [PATCH 05/22] Do not use templating engine where not required --- src/Bundle/Resources/config/listeners.yml | 2 +- src/Bundle/Resources/config/services.yml | 4 ++-- src/Listener/Dca/LeafletDcaListener.php | 16 ++++++++-------- src/MapProvider.php | 18 +++++++++--------- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/Bundle/Resources/config/listeners.yml b/src/Bundle/Resources/config/listeners.yml index 692bc00..645d717 100644 --- a/src/Bundle/Resources/config/listeners.yml +++ b/src/Bundle/Resources/config/listeners.yml @@ -4,7 +4,7 @@ services: public: true arguments: - '@netzmacht.contao_toolkit.repository_manager' - - '@templating' + - '@netzmacht.contao_toolkit.template_renderer' - '@filesystem' - '@netzmacht.contao_toolkit.contao.system_adapter' - '%netzmacht.contao_leaflet.cache_dir%' diff --git a/src/Bundle/Resources/config/services.yml b/src/Bundle/Resources/config/services.yml index 05d9769..66cbab6 100644 --- a/src/Bundle/Resources/config/services.yml +++ b/src/Bundle/Resources/config/services.yml @@ -16,7 +16,7 @@ services: - '@netzmacht.contao_leaflet.cache' - '@netzmacht.contao_leaflet.frontend.data_controller' - '@netzmacht.contao_toolkit.repository_manager' - - '@templating' + - '@netzmacht.contao_toolkit.template_renderer' netzmacht.contao_leaflet.libraries: class: Netzmacht\Contao\Leaflet\Frontend\Assets\LibrariesConfiguration @@ -141,4 +141,4 @@ services: Netzmacht\Contao\Leaflet\Bundle\ConsentBridge\Plugin: tags: - - { name: hofff_contao_consent_bridge.plugin } \ No newline at end of file + - { name: hofff_contao_consent_bridge.plugin } diff --git a/src/Listener/Dca/LeafletDcaListener.php b/src/Listener/Dca/LeafletDcaListener.php index 871574c..f802caf 100644 --- a/src/Listener/Dca/LeafletDcaListener.php +++ b/src/Listener/Dca/LeafletDcaListener.php @@ -17,9 +17,9 @@ use Contao\DataContainer; use Contao\System; use Netzmacht\Contao\Leaflet\Model\LayerModel; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; +use Netzmacht\Contao\Toolkit\View\Template\TemplateRenderer; use Netzmacht\LeafletPHP\Value\LatLng; use Symfony\Component\Filesystem\Filesystem; -use Symfony\Component\Templating\EngineInterface as TemplateEngine; /** * Class Leaflet is the base helper providing different methods. @@ -50,11 +50,11 @@ class LeafletDcaListener private $repositoryManager; /** - * Template engine. + * Template renderer. * - * @var TemplateEngine + * @var TemplateRenderer */ - private $templateEngine; + private $templateRenderer; /** * System adapter. @@ -67,20 +67,20 @@ class LeafletDcaListener * LeafletCallbacks constructor. * * @param RepositoryManager $repositoryManager Repository manager. - * @param TemplateEngine $templateEngine Template engine. + * @param TemplateRenderer $templateRenderer Template renderer. * @param Filesystem $fileSystem File system. * @param Adapter|System $systemAdapter Contao system adapter. * @param string $cacheDir Cache dir. */ public function __construct( RepositoryManager $repositoryManager, - TemplateEngine $templateEngine, + TemplateRenderer $templateRenderer, Filesystem $fileSystem, $systemAdapter, string $cacheDir ) { $this->repositoryManager = $repositoryManager; - $this->templateEngine = $templateEngine; + $this->templateRenderer = $templateRenderer; $this->fileSystem = $fileSystem; $this->systemAdapter = $systemAdapter; $this->cacheDir = $cacheDir; @@ -125,7 +125,7 @@ class LeafletDcaListener $data['marker'] = null; } - return $this->templateEngine->render('toolkit:be:be_leaflet_geocode.html5', $data); + return $this->templateRenderer->render('be:be_leaflet_geocode', $data); } /** diff --git a/src/MapProvider.php b/src/MapProvider.php index 89a6ba1..192a80c 100644 --- a/src/MapProvider.php +++ b/src/MapProvider.php @@ -24,10 +24,10 @@ use Netzmacht\Contao\Leaflet\Model\LayerModel; use Netzmacht\Contao\Leaflet\Model\MapModel; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; use Netzmacht\Contao\Toolkit\View\Template\TemplateReference; +use Netzmacht\Contao\Toolkit\View\Template\TemplateRenderer; use Netzmacht\LeafletPHP\Definition\Map; use Netzmacht\LeafletPHP\Leaflet; use Netzmacht\LeafletPHP\Value\GeoJson\FeatureCollection; -use Symfony\Component\Templating\EngineInterface as TemplateEngine; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface as EventDispatcher; /** @@ -94,11 +94,11 @@ class MapProvider private $repositoryManager; /** - * Template engine. + * Template renderer. * - * @var TemplateEngine + * @var TemplateRenderer */ - private $templateEngine; + private $templateRenderer; /** * Construct. @@ -111,7 +111,7 @@ class MapProvider * @param Cache $cache Cache. * @param DataController $dataController Data controller. * @param RepositoryManager $repositoryManager Repository manager. - * @param TemplateEngine $templateEngine Template engine. + * @param TemplateRenderer $templateRenderer Template rednerer. */ public function __construct( DefinitionMapper $mapper, @@ -122,7 +122,7 @@ class MapProvider Cache $cache, DataController $dataController, RepositoryManager $repositoryManager, - TemplateEngine $templateEngine + TemplateRenderer $templateRenderer ) { $this->mapper = $mapper; $this->leaflet = $leaflet; @@ -132,7 +132,7 @@ class MapProvider $this->cache = $cache; $this->dataController = $dataController; $this->repositoryManager = $repositoryManager; - $this->templateEngine = $templateEngine; + $this->templateRenderer = $templateRenderer; } /** @@ -374,7 +374,7 @@ class MapProvider $javascript = $this->leaflet->build($definition, $this->assets); $mapId = $definition->getId(); - $templateReference = new TemplateReference($template, 'html5', TemplateReference::SCOPE_FRONTEND); + $templateReference = 'fe:' . $template; $parameters = [ 'definition' => $definition, 'model' => $model, @@ -384,7 +384,7 @@ class MapProvider 'mapId' => $mapId, ]; - $content = $this->templateEngine->render($templateReference, $parameters); + $content = $this->templateRenderer->render($templateReference, $parameters); $content = preg_replace( ['/^\n*/', '/\n*$/'], '', From ef8b6d294d77acde4bcdd8862c7941bc4b5ebf53 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 16:37:54 +0100 Subject: [PATCH 06/22] Require latest version of contao-toolkit --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 42e2a57..d7b9517 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,7 @@ "netzmacht/contao-leaflet-geocode-widget": "^1.2", "netzmacht/contao-leaflet-libraries": "^1.3.4", "netzmacht/contao-page-context": "~1.0", - "netzmacht/contao-toolkit": "~3.0", + "netzmacht/contao-toolkit": "^3.7", "netzmacht/php-javascript-builder": "^1.0", "netzmacht/php-leaflet": "^1.1.0", "symfony/config": "~4.4 || ^5.1", From 4e52e31937abed6a0696e9c7f621991c59d26eed Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 16:40:33 +0100 Subject: [PATCH 07/22] Add diagnostics --- .github/workflows/diagnostics.yml | 49 +++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 .github/workflows/diagnostics.yml diff --git a/.github/workflows/diagnostics.yml b/.github/workflows/diagnostics.yml new file mode 100644 index 0000000..2bde159 --- /dev/null +++ b/.github/workflows/diagnostics.yml @@ -0,0 +1,49 @@ +name: netzmacht/contao-leaflet-maps + +on: + push: + pull_request: + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + php: [7.3, 7.4, 8.0, 8.1, 8.2] + contao: [~4.9.0, ~4.13.0] + + steps: + - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Pull source + uses: actions/checkout@v2 + with: + fetch-depth: 0 + + # see https://github.com/shivammathur/setup-php + - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Setup PHP. + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + coverage: none + + - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Cache composer cache directory + uses: actions/cache@v1 + env: + cache-name: composer-cache-dir + with: + path: ~/.cache/composer + key: ${{ runner.os }}-build-${{ env.cache-name }} + + - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Cache vendor directory + uses: actions/cache@v1 + env: + cache-name: composer-vendor + with: + path: vendor + key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/composer.lock') }} + restore-keys: | + ${{ runner.os }}-build-${{ env.cache-name }}- + - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Install composer dependencies + run: composer update --prefer-dist --no-interaction --no-suggest + + - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Run tests + run: ant -keep-going From 2ed1000d4d33dad90faab69397ffa96ab0b3fc23 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 16:41:24 +0100 Subject: [PATCH 08/22] Drop .travis.yml --- .travis.yml | 41 ----------------------------------------- 1 file changed, 41 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index cfb576e..0000000 --- a/.travis.yml +++ /dev/null @@ -1,41 +0,0 @@ -dist: xenial - -addons: - apt: - packages: - - ant-optional - -language: php - -php: - - "7.3" - - "7.2" - - "7.1" - - "7.4snapshot" - - "nightly" - -env: - - CONTAO_VERSION=contao/core-bundle ~4.4.0 - - CONTAO_VERSION=contao/core-bundle ~4.5.0 - - CONTAO_VERSION=contao/core-bundle ~4.6.0 - -matrix: - exclude: - allow_failures: - - php: "nightly" - - php: "7.4snapshot" - -before_script: - - echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini - - travis_retry composer self-update && composer --version - - travis_retry composer require $CONTAO_VERSION --no-update - - travis_retry composer update --prefer-dist --no-interaction - -script: ant -keep-going - -git: - depth: 2147483647 - -cache: - directories: - - vendor From 3f2020b0d1beb7be482615cb99b78348444c6b55 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 16:49:43 +0100 Subject: [PATCH 09/22] Do not test against PHP 8.0. The toolchain is not ready for it :-( --- .github/workflows/diagnostics.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/diagnostics.yml b/.github/workflows/diagnostics.yml index 2bde159..bf92fed 100644 --- a/.github/workflows/diagnostics.yml +++ b/.github/workflows/diagnostics.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - php: [7.3, 7.4, 8.0, 8.1, 8.2] + php: [7.3, 7.4] contao: [~4.9.0, ~4.13.0] steps: From 87bd720d6ec930cc672d92e0892abe6b781c0cd4 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 17:13:53 +0100 Subject: [PATCH 10/22] Switch to phpcq dev-2.0 --- .composer-require-checker.json | 6 +- .github/workflows/diagnostics.yml | 73 +++++++++++++++++------- .gitignore | 3 + .phpcq.lock | 1 + composer.json | 61 ++++++++++---------- phpcq.yaml.dist | 93 +++++++++++++++++++++++++++++++ phpcs.xml.dist | 4 ++ 7 files changed, 189 insertions(+), 52 deletions(-) create mode 100644 .phpcq.lock create mode 100644 phpcq.yaml.dist create mode 100644 phpcs.xml.dist diff --git a/.composer-require-checker.json b/.composer-require-checker.json index 9efb696..bb82cb7 100644 --- a/.composer-require-checker.json +++ b/.composer-require-checker.json @@ -6,6 +6,10 @@ "array_insert", "Contao\\ManagerPlugin\\Bundle\\BundlePluginInterface", "Contao\\ManagerPlugin\\Bundle\\Config\\BundleConfig", - "Contao\\ManagerPlugin\\Bundle\\Parser\\ParserInterface" + "Contao\\ManagerPlugin\\Bundle\\Parser\\ParserInterface", + "Contao\\ManagerPlugin\\Routing\\RoutingPluginInterface", + "Hofff\\Contao\\Consent\\Bridge\\Bridge", + "Hofff\\Contao\\Consent\\Bridge\\Plugin", + "Hofff\\Contao\\Consent\\Bridge\\Render\\RenderInformation" ] } diff --git a/.github/workflows/diagnostics.yml b/.github/workflows/diagnostics.yml index bf92fed..3c315bb 100644 --- a/.github/workflows/diagnostics.yml +++ b/.github/workflows/diagnostics.yml @@ -1,49 +1,82 @@ -name: netzmacht/contao-leaflet-maps +name: Code Quality Diagnostics on: - push: pull_request: + push: + branches: + - master jobs: build: runs-on: ubuntu-latest + + name: PHP ${{ matrix.php }} + strategy: + fail-fast: false matrix: - php: [7.3, 7.4] - contao: [~4.9.0, ~4.13.0] + include: + - php: 7.4 + output: '-o github-action -o default' + phpcq_install: 'install' + - php: 8.0 + output: '-o default' + phpcq_install: 'update' + - php: 8.1 + output: '-o default' + phpcq_install: 'update' + - php: 8.2 + output: '-o default' + phpcq_install: 'update' steps: - - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Pull source + - name: Pull source uses: actions/checkout@v2 - with: - fetch-depth: 0 - # see https://github.com/shivammathur/setup-php - - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Setup PHP. + - name: Setup PHP with PECL extension uses: shivammathur/setup-php@v2 with: php-version: ${{ matrix.php }} - coverage: none - - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Cache composer cache directory + - name: Cache composer cache directory uses: actions/cache@v1 env: cache-name: composer-cache-dir with: path: ~/.cache/composer - key: ${{ runner.os }}-build-${{ env.cache-name }} + key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }} - - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Cache vendor directory + - name: Cache vendor directory uses: actions/cache@v1 env: - cache-name: composer-vendor + cache-name: vendor with: path: vendor - key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/composer.lock') }} + key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}-${{ hashFiles('**/composer.lock') }} restore-keys: | - ${{ runner.os }}-build-${{ env.cache-name }}- - - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Install composer dependencies - run: composer update --prefer-dist --no-interaction --no-suggest + ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}- - - name: PHP ${{ matrix.php }} ${{ matrix.contao }} Run tests - run: ant -keep-going + - name: Cache phpcq directory + uses: actions/cache@v1 + env: + cache-name: phpcq + with: + path: .phpcq + key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}-${{ hashFiles('**/.phpcq.lock') }} + restore-keys: | + ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}- + + - name: Install composer dependencies + run: composer install + - name: Install phpcq toolchain + run: ./vendor/bin/phpcq ${{ matrix.phpcq_install }} -v + + - name: Run tests + run: ./vendor/bin/phpcq run -v ${{ matrix.output }} + + - name: Upload build directory to artifact + uses: actions/upload-artifact@v2 + if: ${{ success() }} || ${{ failure() }} + with: + name: phpcq-builds-php-${{ matrix.php }} + path: .phpcq/build/ diff --git a/.gitignore b/.gitignore index 03ab70b..f829879 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,6 @@ build.properties # NPM node_modules + +.phpcq +phpcq.yaml diff --git a/.phpcq.lock b/.phpcq.lock new file mode 100644 index 0000000..374a665 --- /dev/null +++ b/.phpcq.lock @@ -0,0 +1 @@ +{"plugins":{"composer-require-checker":{"api-version":"1.0.0","version":"1.0.1.0","type":"php-file","url":"https://phpcq.github.io/repository/composer-require-checker-1.0.1.0.php","signature":null,"requirements":{"php":{"php":"^7.4 || ^8.0"},"tool":{"composer-require-checker":"^3.8"}},"checksum":{"type":"sha-512","value":"5b0fd8cd5e0f5761c53b9d5375b6f6ba50f148468896248f823cc2a48361adfd872556066764b1b544ff51ffd5de60d6f9a75050db00b257d807976ac761bc3a"},"tools":{"composer-require-checker":{"version":"3.8.0","url":"https://github.com/maglnet/ComposerRequireChecker/releases/download/3.8.0/composer-require-checker.phar","requirements":{"php":{"php":"^7.4 || ^8.0","ext-json":"*","ext-phar":"*"}},"checksum":null,"signature":"https://github.com/maglnet/ComposerRequireChecker/releases/download/3.8.0/composer-require-checker.phar.asc"}}},"phpmd":{"api-version":"1.0.0","version":"1.0.1.0","type":"php-file","url":"https://phpcq.github.io/repository/phpmd-1.0.1.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*"},"tool":{"phpmd":"^2.6.1"}},"checksum":{"type":"sha-512","value":"88e267b9c36b2edc85e924717606b626e005ac8d97b1f65f5331e2a3b3894dec2cf124f6187541bf759d026477b6d94daacc5d5c81bb09714a68ffabe5698dc5"},"tools":{"phpmd":{"version":"2.11.1","url":"https://github.com/phpmd/phpmd/releases/download/2.11.1/phpmd.phar","requirements":{"php":{"php":">=5.3.9","ext-xml":"*"}},"checksum":null,"signature":null}}},"phpcpd":{"api-version":"1.0.0","version":"1.1.1.0","type":"php-file","url":"https://phpcq.github.io/repository/phpcpd-1.1.1.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*"},"tool":{"phpcpd":"^6.0"}},"checksum":{"type":"sha-512","value":"1189ce0bf3fade4cb4241f1d96f915ef8fc7651f4450dc79fdf464ee3d6be3009316f0d423ce2d4af9d76ad50807b7fdf4d77bfa6d9ee2c91d6eda32ea214433"},"tools":{"phpcpd":{"version":"6.0.3","url":"https://phar.phpunit.de/phpcpd-6.0.3.phar","requirements":{"php":{"php":">=7.3","ext-dom":"*"}},"checksum":{"type":"sha-256","value":"2cbaea7cfda1bb4299d863eb075e977c3f49055dd16d88529fae5150d48a84cb"},"signature":"https://phar.phpunit.de/phpcpd-6.0.3.phar.asc"}}},"phploc":{"api-version":"1.0.0","version":"1.0.0.0","type":"php-file","url":"https://phpcq.github.io/repository/phploc-1.0.0.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*","ext-json":"*"},"tool":{"phploc":"^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"}},"checksum":{"type":"sha-512","value":"f67b02d494796adf553cb3dd13ec06c1cb8e53c799954061749424251379541637538199afb3afa3c7a01cabd1cb6f1c53eb621f015dff9644c6c7cbf10c56d1"},"tools":{"phploc":{"version":"7.0.2","url":"https://phar.phpunit.de/phploc-7.0.2.phar","requirements":{"php":{"php":">=7.3","ext-dom":"*","ext-json":"*"}},"checksum":{"type":"sha-256","value":"3d59778ec86faf25fd00e3a329b2f9ad4a3c751ca91601ea7dab70f887b0bf46"},"signature":"https://phar.phpunit.de/phploc-7.0.2.phar.asc"}}},"phpcs":{"api-version":"1.0.0","version":"1.1.0.0","type":"php-file","url":"https://phpcq.github.io/repository/phpcs-1.1.0.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*"},"tool":{"phpcs":"^3.0 || ^2.0","phpcbf":"^3.0 || ^2.0"}},"checksum":{"type":"sha-512","value":"2737022369da1318cc4e0ea194e8a81019f7b079080d869aab878b7486052fdbe68fee3f28131f35573226def1aabd4bd005e038ee7b767c137b1107c1492a83"},"tools":{"phpcs":{"version":"3.6.2","url":"https://github.com/squizlabs/PHP_CodeSniffer/releases/download/3.6.2/phpcs.phar","requirements":{"php":{"php":">=5.4.0","ext-tokenizer":"*","ext-xmlwriter":"*","ext-simplexml":"*"}},"checksum":null,"signature":"https://github.com/squizlabs/PHP_CodeSniffer/releases/download/3.6.2/phpcs.phar.asc"},"phpcbf":{"version":"3.6.2","url":"https://github.com/squizlabs/PHP_CodeSniffer/releases/download/3.6.2/phpcbf.phar","requirements":{"php":{"php":">=5.4.0","ext-tokenizer":"*","ext-xmlwriter":"*","ext-simplexml":"*"}},"checksum":null,"signature":"https://github.com/squizlabs/PHP_CodeSniffer/releases/download/3.6.2/phpcbf.phar.asc"}}},"composer-normalize":{"api-version":"1.0.0","version":"1.1.0.0","type":"php-file","url":"https://phpcq.github.io/repository/composer-normalize-1.1.0.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-json":"*"},"tool":{"composer-normalize":"^2.1"}},"checksum":{"type":"sha-512","value":"d59d3557cb20630734878a9115df5dd32d5aff815e5b15be36f6fb5d6e9d83dd36efd84215ab6529edcc924f600946f739a0d9e67723deff95c88346ab502498"},"tools":{"composer-normalize":{"version":"2.23.1","url":"https://github.com/ergebnis/composer-normalize/releases/download/2.23.1/composer-normalize.phar","requirements":{"php":{"php":"^7.4 || ^8.0"}},"checksum":null,"signature":"https://github.com/ergebnis/composer-normalize/releases/download/2.23.1/composer-normalize.phar.asc"}}}},"tools":[]} \ No newline at end of file diff --git a/composer.json b/composer.json index d7b9517..83af883 100644 --- a/composer.json +++ b/composer.json @@ -1,13 +1,13 @@ { "name": "netzmacht/contao-leaflet-maps", - "type": "contao-bundle", "description": "Contao Leaflet maps integration", + "license": "LGPL-3.0-or-later", + "type": "contao-bundle", "keywords": [ "contao", "maps", "leaflet" ], - "license": "LGPL-3.0-or-later", "authors": [ { "name": "David Molineus", @@ -16,6 +16,12 @@ "role": "Developer" } ], + "support": { + "email": "mail@netzmacht.de", + "issues": "https://github.com/netzmacht/contao-leaflet-maps/issues", + "source": "https://github.com/netzmacht/contao-leaflet-maps", + "docs": "http://leaflet-maps-for-contao.readthedocs.org/" + }, "require": { "php": ">=7.1", "ext-json": "*", @@ -36,56 +42,49 @@ "symfony/event-dispatcher": "~4.4 || ^5.1", "symfony/event-dispatcher-contracts": "^1.1 || ^2.0", "symfony/filesystem": "~4.4 || ^5.1", + "symfony/http-foundation": "~4.4 || ^5.1", "symfony/http-kernel": "~4.4 || ^5.1", - "symfony/twig-bundle": "~4.4 || ^5.1", + "symfony/routing": "~4.4 || ^5.1", + "symfony/templating": "~4.4 || ^5.1", "symfony/translation": "~4.4 || ^5.1", + "symfony/twig-bundle": "~4.4 || ^5.1", "twig/twig": "^2.0 || ^3.0" }, "require-dev": { "contao/manager-plugin": "^2.1", "hofff/contao-consent-bridge": "^1.0", - "phpcq/all-tasks": "^1.2" + "phpcq/coding-standard": "^2.1", + "phpcq/runner-bootstrap": "^1.0@dev" }, "conflict": { "hofff/contao-consent-bridge": "<1.0 || >= 2.0" }, - "extra": { - "branch-alias": { - "dev-master": "3.2.x-dev", - "dev-develop": "3.3.x-dev", - "dev-support/2.x": "2.0.x-dev" - }, - "contao": { - "transifex": { - "project": "contao-leaflet-maps", - "prefix": "core-", - "languages_cto": "src/Bundle/Resources/contao/languages", - "languages_tx": ".tx" - } - }, - "contao-manager-plugin": "Netzmacht\\Contao\\Leaflet\\Bundle\\ContaoManager\\Plugin" - }, "autoload": { "psr-4": { "Netzmacht\\Contao\\Leaflet\\": "src/" } }, - "autoload-dev": { - "files": [ - "vendor/phpcq/autoload-validation/hacks/contao-hack.php" - ] - }, - "support": { - "email": "mail@netzmacht.de", - "issues": "https://github.com/netzmacht/contao-leaflet-maps/issues", - "source": "https://github.com/netzmacht/contao-leaflet-maps", - "docs": "http://leaflet-maps-for-contao.readthedocs.org/" - }, "config": { "allow-plugins": { "contao-components/installer": true, "contao/manager-plugin": true, "contao-community-alliance/composer-plugin": true } + }, + "extra": { + "branch-alias": { + "dev-develop": "3.3.x-dev", + "dev-master": "3.2.x-dev", + "dev-support/2.x": "2.0.x-dev" + }, + "contao": { + "transifex": { + "languages_cto": "src/Bundle/Resources/contao/languages", + "languages_tx": ".tx", + "prefix": "core-", + "project": "contao-leaflet-maps" + } + }, + "contao-manager-plugin": "Netzmacht\\Contao\\Leaflet\\Bundle\\ContaoManager\\Plugin" } } diff --git a/phpcq.yaml.dist b/phpcq.yaml.dist new file mode 100644 index 0000000..c7a5099 --- /dev/null +++ b/phpcq.yaml.dist @@ -0,0 +1,93 @@ +phpcq: + repositories: + - https://phpcq.github.io/repository/repository.json + directories: + - src + + plugins: + composer-require-checker: + version: ^1.0 + signed: false + phpmd: + version: ^1.0 + signed: false + requirements: + phpmd: + signed: false + phpcpd: + version: ^1.1 + signed: false + phploc: + version: ^1.0 + signed: false + phpcs: + version: ^1.0 + signed: false + composer-normalize: + version: ^1.0 + signed: false + + trusted-keys: + # composer require checker + - 033E5F8D801A2F8D + # sb@sebastian-bergmann.de + - 4AA394086372C20A + # magl@magll.net + - D2CCAC42F6295E7D + # PHP_CodeSniffer + - 31C7E470E2138192 + # Composer normalize + - C00543248C87FB13 + # phpmd + - 0F9684B8B16B7AB0 + +tasks: + fix: + - composer-normalize-fix + - phpcbf + + verify: + - composer-require-checker + - composer-normalize + + analyze: + - phploc + - phpcpd + - phpmd + - phpcs + + default: + - verify + - analyze + + phpcpd: + plugin: phpcpd + + phpmd: + config: + ruleset: + - vendor/phpcq/coding-standard/phpmd/ruleset.xml + + composer-require-checker: + plugin: composer-require-checker + config: + config_file: '.composer-require-checker.json' + + phpcs: + plugin: phpcs + config: &phpcs-config + standard: ~ + excluded: + - src/Bundle/Resources/contao/languages + - src/Bundle/Resources/public/js + + phpcbf: + plugin: phpcs + config: + <<: *phpcs-config + fix: true + + composer-normalize-fix: + plugin: composer-normalize + config: + dry_run: false diff --git a/phpcs.xml.dist b/phpcs.xml.dist new file mode 100644 index 0000000..1d91d20 --- /dev/null +++ b/phpcs.xml.dist @@ -0,0 +1,4 @@ + + + + From 852b926252912058d1651de67639d809a42f35a1 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 20:11:56 +0100 Subject: [PATCH 11/22] Support doctrine/dbal 3 --- src/Listener/Dca/ControlDcaListener.php | 8 ++++---- src/Listener/Dca/LayerDcaListener.php | 12 ++++++------ src/Listener/Dca/MapDcaListener.php | 16 ++++++---------- src/Listener/Dca/MarkerDcaListener.php | 4 ++-- 4 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/Listener/Dca/ControlDcaListener.php b/src/Listener/Dca/ControlDcaListener.php index af820d5..d69f807 100644 --- a/src/Listener/Dca/ControlDcaListener.php +++ b/src/Listener/Dca/ControlDcaListener.php @@ -147,9 +147,9 @@ class ControlDcaListener extends AbstractListener $statement = $this->connection->prepare($query); $statement->bindValue('cid', $dataContainer->id); - $statement->execute(); + $result = $statement->executeQuery(); - return $statement->fetchAll(); + return $result->fetchAllAssociative(); } /** @@ -167,9 +167,9 @@ class ControlDcaListener extends AbstractListener $query = 'SELECT * FROM tl_leaflet_control_layer WHERE cid=:cid order BY sorting'; $statement = $this->connection->prepare($query); $statement->bindValue('cid', $dataContainer->id); - $statement->execute(); + $result = $statement->executeQuery(); - while ($row = $statement->fetch()) { + while ($row = $result->fetchAssociative()) { $values[$row['lid']] = $row; } diff --git a/src/Listener/Dca/LayerDcaListener.php b/src/Listener/Dca/LayerDcaListener.php index 120de1e..664853b 100644 --- a/src/Listener/Dca/LayerDcaListener.php +++ b/src/Listener/Dca/LayerDcaListener.php @@ -361,25 +361,25 @@ class LayerDcaListener extends AbstractListener if ($undoId) { $statement = $this->connection->prepare('SELECT * FROM tl_undo WHERE id=:id LIMIT 0,1'); $statement->bindValue('id', $undoId); - $statement->execute(); + $result = $statement->executeQuery(); - $undo = $statement->fetch(); + $undo = $result->fetchAssociative(); $statement = $this->connection->prepare('SELECT * FROM tl_leaflet_map_layer WHERE lid=:lid'); $statement->bindValue('lid', $dataContainer->id); - $statement->execute(); + $result = $statement->executeQuery(); $undo['data'] = StringUtil::deserialize($undo['data'], true); - while ($row = $statement->fetch()) { + while ($row = $result->fetchAssociative()) { $undo['data']['tl_leaflet_map_layer'][] = $row; } $statement = $this->connection->prepare('SELECT * FROM tl_leaflet_control_layer WHERE lid=:lid'); $statement->bindValue('lid', $dataContainer->id); - $statement->execute(); + $result = $statement->executeQuery(); - $undo['data']['tl_leaflet_control_layer'] = $statement->fetchAll(); + $undo['data']['tl_leaflet_control_layer'] = $result->fetchAllAssociative(); $this->connection->update('tl_undo', ['data' => $undo['data']], ['id' => $undo['id']]); } diff --git a/src/Listener/Dca/MapDcaListener.php b/src/Listener/Dca/MapDcaListener.php index c345334..66b882a 100644 --- a/src/Listener/Dca/MapDcaListener.php +++ b/src/Listener/Dca/MapDcaListener.php @@ -24,7 +24,6 @@ use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; use Netzmacht\Contao\Toolkit\Dca\Listener\AbstractListener; use Netzmacht\Contao\Toolkit\Dca\Manager; use Netzmacht\Contao\Toolkit\Dca\Options\OptionsBuilder; -use PDO; use Symfony\Component\HttpFoundation\Session\Session; use Symfony\Component\Translation\TranslatorInterface as Translator; @@ -136,12 +135,9 @@ class MapDcaListener extends AbstractListener { $statement = $this->connection->prepare('SELECT lid FROM tl_leaflet_map_layer WHERE mid=:mid ORDER BY sorting'); $statement->bindValue('mid', $dataContainer->id); + $result = $statement->executeQuery(); - if ($statement->execute()) { - return $statement->fetchAll(PDO::FETCH_COLUMN, 0); - } - - return []; + return $result->fetchFirstColumn(); } /** @@ -159,9 +155,9 @@ class MapDcaListener extends AbstractListener $statement = $this->connection->prepare('SELECT * FROM tl_leaflet_map_layer WHERE mid=:mid order BY sorting'); $statement->bindValue('mid', $dataContainer->id); - $statement->execute(); + $result = $statement->executeQuery(); - while ($row = $statement->fetch()) { + while ($row = $result->fetchAssociative()) { $values[$row['lid']] = $row; } @@ -239,9 +235,9 @@ class MapDcaListener extends AbstractListener { $statement = $this->connection->prepare('SELECT * FROM tl_leaflet_map_layer WHERE mid=:mid order BY sorting'); $statement->bindValue('mid', $dataContainer->id); - $statement->execute(); + $result = $statement->executeQuery(); - while ($row = $statement->fetch(PDO::FETCH_ASSOC)) { + while ($row = $result->fetchAssociative()) { unset($row['id']); $row['tstamp'] = time(); $row['mid'] = $insertId; diff --git a/src/Listener/Dca/MarkerDcaListener.php b/src/Listener/Dca/MarkerDcaListener.php index 741657c..0ad9df4 100644 --- a/src/Listener/Dca/MarkerDcaListener.php +++ b/src/Listener/Dca/MarkerDcaListener.php @@ -145,9 +145,9 @@ class MarkerDcaListener $statement = $this->connection->prepare($query); $statement->bindValue('id', $dataContainer->id); - $statement->execute(); + $result = $statement->executeQuery(); - if ($row = $statement->fetch()) { + if ($row = $result->fetchAssociative()) { $buffer = $row['latitude']; if ($buffer && $row['longitude']) { From 93f176a7389a6a608a40bf8886ff35994dd99985 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Mon, 21 Feb 2022 20:15:45 +0100 Subject: [PATCH 12/22] Silence info of contao/components-installer --- phpcq.yaml.dist | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/phpcq.yaml.dist b/phpcq.yaml.dist index c7a5099..2cbb2f8 100644 --- a/phpcq.yaml.dist +++ b/phpcq.yaml.dist @@ -68,6 +68,11 @@ tasks: ruleset: - vendor/phpcq/coding-standard/phpmd/ruleset.xml + composer-normalize: + config: + ignore_output: + - '#Root package is not of type "project", we will not installing Contao extensions\.#' + composer-require-checker: plugin: composer-require-checker config: From c544202ca8602109ca42a8363bae1c35b90af384 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 08:30:32 +0100 Subject: [PATCH 13/22] Fix applying bounds to a tile layer (Closes #109) --- src/Mapper/Layer/TileLayerMapper.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mapper/Layer/TileLayerMapper.php b/src/Mapper/Layer/TileLayerMapper.php index c695c9e..1aea74a 100644 --- a/src/Mapper/Layer/TileLayerMapper.php +++ b/src/Mapper/Layer/TileLayerMapper.php @@ -93,7 +93,7 @@ class TileLayerMapper extends AbstractLayerMapper /** @var TileLayer $definition */ $bounds = StringUtil::deserialize($model->bounds); - if ($request[0] && $request[1]) { + if ($bounds[0] && $bounds[1]) { $bounds = array_map( function ($value) { return explode(',', $value, 3); From d49890364544fd679441e2748bb3601bb560c543 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 08:33:50 +0100 Subject: [PATCH 14/22] Fix overlapping of fields (#107) --- src/Bundle/Resources/contao/dca/tl_leaflet_layer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php index 20e37ce..a2a9e84 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php @@ -633,7 +633,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [ 'exclude' => true, 'inputType' => 'text', 'default' => '', - 'eval' => ['maxlength' => 255, 'tl_class' => 'long', 'allowHtml' => true], + 'eval' => ['maxlength' => 255, 'tl_class' => 'clr long', 'allowHtml' => true], 'sql' => "varchar(255) NOT NULL default ''", ], 'tms' => [ From b79a75ac217e3c140a82cd80f5d79170d638e9b9 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 08:42:54 +0100 Subject: [PATCH 15/22] Update supported providers --- src/Bundle/Resources/config/providers.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Bundle/Resources/config/providers.yml b/src/Bundle/Resources/config/providers.yml index 392b5f5..120287c 100644 --- a/src/Bundle/Resources/config/providers.yml +++ b/src/Bundle/Resources/config/providers.yml @@ -1,13 +1,13 @@ parameters: netzmacht.contao_leaflet.providers: OpenStreetMap: - variants: ['Mapnik', 'BlackAndWhite', 'DE', 'CH', 'France', 'HOT', 'BZH'] + variants: ['Mapnik', 'DE', 'CH', 'France', 'HOT', 'BZH'] OpenSeaMap: [] - OpenTopoMap: [] + OPNVKarte: [] - OpenPtMap: [] + OpenTopoMap: [] OpenRailwayMap: [] @@ -15,6 +15,9 @@ parameters: SafeCast: [] + Stadia: + variants: ['AlidadeSmooth', 'AlidadeSmoothDark', 'OSMBright', 'Outdoors'] + Thunderforest: class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\ThunderforestProvider' variants: @@ -25,12 +28,13 @@ parameters: - 'Landscape' - 'Outdoors' - 'Pioneer' + - 'MobileAtlas' + - 'Neighbourhood' options: apiKey: 'tile_provider_key' fields: ['tile_provider_key'] - OpenMapSurfer: - variants: ['Roads', 'AdminBounds', 'Grayscale'] + CyclOSM: [] Hydda: variants: ['Full', 'Base', 'RoadsAndLabels'] @@ -41,6 +45,8 @@ parameters: accessToken: 'tile_provider_key' fields: ['tile_provider_key'] + MapTiler: [] + Stamen: variants: - 'Toner' @@ -112,6 +118,7 @@ parameters: - 'hybridDayMobile' - 'hybridDayTransit' - 'hybridDayGrey' + - 'hybridDayTraffic' - 'pedestrianDay' - 'pedestrianNight' - 'satelliteDay' From 9434302a16c234c10f9c0c1feb9b929b79b1762b Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 09:52:12 +0100 Subject: [PATCH 16/22] Use symfony translation contracts --- composer.json | 10 +++++----- src/Backend/Renderer/Label/Layer/ChainRenderer.php | 2 +- src/Backend/Renderer/Label/Layer/FileLabelRenderer.php | 2 +- .../Renderer/Label/Layer/LayerLabelRenderer.php | 2 +- .../Renderer/Label/Layer/MarkersLabelRenderer.php | 2 +- .../Renderer/Label/Layer/OverpassLabelRenderer.php | 2 +- .../Renderer/Label/Layer/ProviderLabelRenderer.php | 2 +- .../Renderer/Label/Layer/ReferenceLabelRenderer.php | 2 +- .../Renderer/Label/Layer/VectorsLabelRenderer.php | 2 +- src/Frontend/AbstractMapHybrid.php | 2 +- src/Frontend/ContentElement/MapElementFactory.php | 2 +- src/Frontend/Module/MapModuleFactory.php | 3 +-- src/Listener/Backend/UserNavigationListener.php | 2 +- src/Listener/Dca/FrontendIntegrationListener.php | 2 +- src/Listener/Dca/LayerDcaListener.php | 2 +- src/Listener/Dca/MapDcaListener.php | 2 +- src/Listener/Dca/Validator.php | 2 +- 17 files changed, 21 insertions(+), 22 deletions(-) diff --git a/composer.json b/composer.json index 83af883..8585b83 100644 --- a/composer.json +++ b/composer.json @@ -23,16 +23,16 @@ "docs": "http://leaflet-maps-for-contao.readthedocs.org/" }, "require": { - "php": ">=7.1", + "php": "^7.1 || ^8.0", "ext-json": "*", "ext-pdo": "*", - "contao-community-alliance/meta-palettes": "^2.0 || ^1.11", + "contao-community-alliance/meta-palettes": "^2.0", "contao/core-bundle": "^4.9", "doctrine/cache": "^1.0", "doctrine/dbal": "^2.11 || ^3.0", - "menatwork/contao-multicolumnwizard": "^3.3", + "menatwork/contao-multicolumnwizard-bundle": "^3.4", "netzmacht/contao-leaflet-geocode-widget": "^1.2", - "netzmacht/contao-leaflet-libraries": "^1.3.4", + "netzmacht/contao-leaflet-libraries": "^1.7.1.1", "netzmacht/contao-page-context": "~1.0", "netzmacht/contao-toolkit": "^3.7", "netzmacht/php-javascript-builder": "^1.0", @@ -46,7 +46,7 @@ "symfony/http-kernel": "~4.4 || ^5.1", "symfony/routing": "~4.4 || ^5.1", "symfony/templating": "~4.4 || ^5.1", - "symfony/translation": "~4.4 || ^5.1", + "symfony/translation-contracts": "^1.1 || ^2.0", "symfony/twig-bundle": "~4.4 || ^5.1", "twig/twig": "^2.0 || ^3.0" }, diff --git a/src/Backend/Renderer/Label/Layer/ChainRenderer.php b/src/Backend/Renderer/Label/Layer/ChainRenderer.php index 9fa24e8..42e99d0 100644 --- a/src/Backend/Renderer/Label/Layer/ChainRenderer.php +++ b/src/Backend/Renderer/Label/Layer/ChainRenderer.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class ChainRenderer. diff --git a/src/Backend/Renderer/Label/Layer/FileLabelRenderer.php b/src/Backend/Renderer/Label/Layer/FileLabelRenderer.php index 3c3a354..0205ea9 100644 --- a/src/Backend/Renderer/Label/Layer/FileLabelRenderer.php +++ b/src/Backend/Renderer/Label/Layer/FileLabelRenderer.php @@ -16,7 +16,7 @@ namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; use Contao\FilesModel; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class FileLabelRenderer diff --git a/src/Backend/Renderer/Label/Layer/LayerLabelRenderer.php b/src/Backend/Renderer/Label/Layer/LayerLabelRenderer.php index 4c5a71d..6f8651b 100644 --- a/src/Backend/Renderer/Label/Layer/LayerLabelRenderer.php +++ b/src/Backend/Renderer/Label/Layer/LayerLabelRenderer.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Interface LayerLabelRenderer. diff --git a/src/Backend/Renderer/Label/Layer/MarkersLabelRenderer.php b/src/Backend/Renderer/Label/Layer/MarkersLabelRenderer.php index 7a1e1f6..0bd0585 100644 --- a/src/Backend/Renderer/Label/Layer/MarkersLabelRenderer.php +++ b/src/Backend/Renderer/Label/Layer/MarkersLabelRenderer.php @@ -16,7 +16,7 @@ namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; use Netzmacht\Contao\Leaflet\Model\MarkerModel; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class MarkersLabelRenderer. diff --git a/src/Backend/Renderer/Label/Layer/OverpassLabelRenderer.php b/src/Backend/Renderer/Label/Layer/OverpassLabelRenderer.php index f32f19a..35a6b38 100644 --- a/src/Backend/Renderer/Label/Layer/OverpassLabelRenderer.php +++ b/src/Backend/Renderer/Label/Layer/OverpassLabelRenderer.php @@ -15,7 +15,7 @@ declare(strict_types=1); namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; use Contao\StringUtil; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class OverpassLabelRenderer. diff --git a/src/Backend/Renderer/Label/Layer/ProviderLabelRenderer.php b/src/Backend/Renderer/Label/Layer/ProviderLabelRenderer.php index 9148b97..020a854 100644 --- a/src/Backend/Renderer/Label/Layer/ProviderLabelRenderer.php +++ b/src/Backend/Renderer/Label/Layer/ProviderLabelRenderer.php @@ -14,7 +14,7 @@ declare(strict_types=1); namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Backend label renderer for provider layer. diff --git a/src/Backend/Renderer/Label/Layer/ReferenceLabelRenderer.php b/src/Backend/Renderer/Label/Layer/ReferenceLabelRenderer.php index afb5497..0abef5d 100644 --- a/src/Backend/Renderer/Label/Layer/ReferenceLabelRenderer.php +++ b/src/Backend/Renderer/Label/Layer/ReferenceLabelRenderer.php @@ -16,7 +16,7 @@ namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; use Netzmacht\Contao\Leaflet\Model\LayerModel; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class ReferenceLabelRenderer. diff --git a/src/Backend/Renderer/Label/Layer/VectorsLabelRenderer.php b/src/Backend/Renderer/Label/Layer/VectorsLabelRenderer.php index b892440..ed4a203 100644 --- a/src/Backend/Renderer/Label/Layer/VectorsLabelRenderer.php +++ b/src/Backend/Renderer/Label/Layer/VectorsLabelRenderer.php @@ -16,7 +16,7 @@ namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer; use Netzmacht\Contao\Leaflet\Model\VectorModel; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class VectorsLabelRenderer. diff --git a/src/Frontend/AbstractMapHybrid.php b/src/Frontend/AbstractMapHybrid.php index 63e1083..5814e72 100644 --- a/src/Frontend/AbstractMapHybrid.php +++ b/src/Frontend/AbstractMapHybrid.php @@ -24,7 +24,7 @@ use Netzmacht\Contao\Leaflet\Model\MapModel; use Netzmacht\Contao\Toolkit\Component\Hybrid\AbstractHybrid; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; use Symfony\Component\Templating\EngineInterface as TemplateEngine; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class HybridTrait provides method required by the frontend module and content element the same time. diff --git a/src/Frontend/ContentElement/MapElementFactory.php b/src/Frontend/ContentElement/MapElementFactory.php index 6b8da7f..2ebc4ae 100644 --- a/src/Frontend/ContentElement/MapElementFactory.php +++ b/src/Frontend/ContentElement/MapElementFactory.php @@ -22,7 +22,7 @@ use Netzmacht\Contao\Toolkit\Component\Component; use Netzmacht\Contao\Toolkit\Component\ComponentFactory; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; use Symfony\Component\Templating\EngineInterface as TemplateEngine; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class MapElementFactory diff --git a/src/Frontend/Module/MapModuleFactory.php b/src/Frontend/Module/MapModuleFactory.php index 53e255d..2b1e59a 100644 --- a/src/Frontend/Module/MapModuleFactory.php +++ b/src/Frontend/Module/MapModuleFactory.php @@ -14,7 +14,6 @@ declare(strict_types=1); namespace Netzmacht\Contao\Leaflet\Frontend\Module; -use Contao\Config; use Contao\CoreBundle\Framework\Adapter; use Contao\Input; use Netzmacht\Contao\Leaflet\MapProvider; @@ -22,7 +21,7 @@ use Netzmacht\Contao\Toolkit\Component\Component; use Netzmacht\Contao\Toolkit\Component\ComponentFactory; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; use Symfony\Component\Templating\EngineInterface as TemplateEngine; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class MapElementFactory diff --git a/src/Listener/Backend/UserNavigationListener.php b/src/Listener/Backend/UserNavigationListener.php index b42789e..72e9aff 100644 --- a/src/Listener/Backend/UserNavigationListener.php +++ b/src/Listener/Backend/UserNavigationListener.php @@ -18,7 +18,7 @@ use Contao\CoreBundle\Event\MenuEvent; use Netzmacht\Contao\Toolkit\View\Assets\AssetsManager; use Symfony\Component\HttpFoundation\RequestStack; use Symfony\Component\Routing\RouterInterface as Router; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class BackendMenuListener adds backend entries to the navigation. diff --git a/src/Listener/Dca/FrontendIntegrationListener.php b/src/Listener/Dca/FrontendIntegrationListener.php index 8a4f4c9..1fe9e92 100644 --- a/src/Listener/Dca/FrontendIntegrationListener.php +++ b/src/Listener/Dca/FrontendIntegrationListener.php @@ -20,7 +20,7 @@ use Contao\StringUtil; use Netzmacht\Contao\Leaflet\Model\MapModel; use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; use Netzmacht\Contao\Toolkit\Dca\Options\OptionsBuilder; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class Module is the helper for the tl_module dca. diff --git a/src/Listener/Dca/LayerDcaListener.php b/src/Listener/Dca/LayerDcaListener.php index 664853b..02f1af1 100644 --- a/src/Listener/Dca/LayerDcaListener.php +++ b/src/Listener/Dca/LayerDcaListener.php @@ -25,7 +25,7 @@ use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager; use Netzmacht\Contao\Toolkit\Dca\Listener\AbstractListener; use Netzmacht\Contao\Toolkit\Dca\Manager; use Netzmacht\Contao\Toolkit\Dca\Options\OptionsBuilder; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class Layer is the helper class for the tl_leaflet_layer dca. diff --git a/src/Listener/Dca/MapDcaListener.php b/src/Listener/Dca/MapDcaListener.php index 66b882a..721e6a9 100644 --- a/src/Listener/Dca/MapDcaListener.php +++ b/src/Listener/Dca/MapDcaListener.php @@ -25,7 +25,7 @@ use Netzmacht\Contao\Toolkit\Dca\Listener\AbstractListener; use Netzmacht\Contao\Toolkit\Dca\Manager; use Netzmacht\Contao\Toolkit\Dca\Options\OptionsBuilder; use Symfony\Component\HttpFoundation\Session\Session; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class Map is the helper class for the tl_leaflet_map dca. diff --git a/src/Listener/Dca/Validator.php b/src/Listener/Dca/Validator.php index e05fd5c..644c125 100644 --- a/src/Listener/Dca/Validator.php +++ b/src/Listener/Dca/Validator.php @@ -16,7 +16,7 @@ use Contao\DataContainer; use Contao\StringUtil; use Netzmacht\Contao\Toolkit\Dca\Manager; use Netzmacht\LeafletPHP\Value\LatLng; -use Symfony\Component\Translation\TranslatorInterface as Translator; +use Symfony\Contracts\Translation\TranslatorInterface as Translator; /** * Class Validator. From 94ecdf9d4256bff1e67d34afc40b8ea33c6a2151 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 09:53:41 +0100 Subject: [PATCH 17/22] Show group icon (#101) --- src/Bundle/Resources/public/css/backend_global.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Bundle/Resources/public/css/backend_global.css b/src/Bundle/Resources/public/css/backend_global.css index 2c03bd8..91e6cf9 100644 --- a/src/Bundle/Resources/public/css/backend_global.css +++ b/src/Bundle/Resources/public/css/backend_global.css @@ -1,5 +1,5 @@ -#tl_navigation .tl_level_1_group .group-leaflet { +#tl_navigation .group-leaflet { background: url(../img/leaflet.svg) 3px 2px no-repeat; } From 700a87bd1fb63f1a4a3546a5bef3b55763c30c87 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 09:53:52 +0100 Subject: [PATCH 18/22] Drop leftover phpcq v1 files --- build.default.properties | 4 ---- build.xml | 5 ----- 2 files changed, 9 deletions(-) delete mode 100644 build.default.properties delete mode 100644 build.xml diff --git a/build.default.properties b/build.default.properties deleted file mode 100644 index 384a373..0000000 --- a/build.default.properties +++ /dev/null @@ -1,4 +0,0 @@ -phpcs.standard = ${basedir}/vendor/phpcq/coding-standard/phpcs/PhpCodeQuality/ruleset.xml -phpmd.ruleset = ${basedir}/vendor/phpcq/coding-standard/phpmd/ruleset.xml -phpcs.excluded = src/Bundle/Resources/contao/languages,src/Bundle/Resources/public/js -phpcpd.excluded = contao diff --git a/build.xml b/build.xml deleted file mode 100644 index 3471b6b..0000000 --- a/build.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - From e38e92689165dd7fc7a6e018ce79ea249aa08c93 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 10:10:57 +0100 Subject: [PATCH 19/22] Avoid array index warning --- .../DependencyInjection/Pass/RegisterLibrariesPass.php | 6 ++++-- src/Frontend/DataController.php | 2 +- src/Listener/GeoJsonListener.php | 4 ++-- src/Listener/LoadAssetsListener.php | 4 ++-- src/Listener/RegisterLibrariesListener.php | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/Bundle/DependencyInjection/Pass/RegisterLibrariesPass.php b/src/Bundle/DependencyInjection/Pass/RegisterLibrariesPass.php index 84b4bdc..55d51b9 100644 --- a/src/Bundle/DependencyInjection/Pass/RegisterLibrariesPass.php +++ b/src/Bundle/DependencyInjection/Pass/RegisterLibrariesPass.php @@ -18,6 +18,8 @@ use Netzmacht\LeafletPHP\Assets; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; use Symfony\Component\DependencyInjection\ContainerBuilder; +use function array_pad; + /** * Class RegisterLibrariesPass. * @@ -43,12 +45,12 @@ class RegisterLibrariesPass implements CompilerPassInterface foreach ($libraries as $name => $assets) { if (!empty($assets['css'])) { - list ($source, $type) = (array) $assets['css']; + [$source, $type] = array_pad((array) $assets['css'], 2, null); $definition->addMethodCall('registerStylesheet', [$name, $source, $type ?: Assets::TYPE_FILE]); } if (!empty($assets['javascript'])) { - list ($source, $type) = (array) $assets['javascript']; + [$source, $type] = array_pad((array) $assets['javascript'], 2, null); $definition->addMethodCall('registerJavascript', [$name, $source, $type ?: Assets::TYPE_FILE]); } } diff --git a/src/Frontend/DataController.php b/src/Frontend/DataController.php index 563b5e6..75839af 100644 --- a/src/Frontend/DataController.php +++ b/src/Frontend/DataController.php @@ -93,7 +93,7 @@ class DataController $filter = null; } - list($data, $error) = $this->loadData($mapProvider, $input['type'], $input['id'], $filter); + [$data, $error] = $this->loadData($mapProvider, $input['type'], $input['id'], $filter); $this->encodeData($input['format'], $data); } catch (\Exception $e) { if ($this->debugMode) { diff --git a/src/Listener/GeoJsonListener.php b/src/Listener/GeoJsonListener.php index 4f5702f..3b0f37f 100644 --- a/src/Listener/GeoJsonListener.php +++ b/src/Listener/GeoJsonListener.php @@ -178,8 +178,8 @@ final class GeoJsonListener private function parseModelValue(Model $model, &$property) { if (is_array($property)) { - list($property, $type) = $property; - $value = $model->$property; + [$property, $type] = $property; + $value = $model->$property; switch ($type) { case 'array': diff --git a/src/Listener/LoadAssetsListener.php b/src/Listener/LoadAssetsListener.php index e6954c8..e027e8a 100644 --- a/src/Listener/LoadAssetsListener.php +++ b/src/Listener/LoadAssetsListener.php @@ -143,12 +143,12 @@ class LoadAssetsListener $assets = $this->libraries[$library]; if (!empty($assets['css'])) { - list ($source, $type) = (array) $assets['css']; + [$source, $type] = array_pad((array) $assets['css'], 2, null); $this->assets->addStylesheet($source, $type ?: Assets::TYPE_FILE); } if (!empty($assets['javascript'])) { - list ($source, $type) = (array) $assets['javascript']; + [$source, $type] = array_pad((array) $assets['javascript'], 2, null); $this->assets->addJavascript($source, $type ?: Assets::TYPE_FILE); } } diff --git a/src/Listener/RegisterLibrariesListener.php b/src/Listener/RegisterLibrariesListener.php index 96fbc85..e27699c 100644 --- a/src/Listener/RegisterLibrariesListener.php +++ b/src/Listener/RegisterLibrariesListener.php @@ -60,11 +60,11 @@ final class RegisterLibrariesListener { foreach ($this->libraries as $name => $assets) { if (!empty($assets['css'])) { - list ($source, $type) = (array) $assets['css']; + [$source, $type] = array_pad((array) $assets['css'], 2, null); $this->leaflet->registerStylesheet($name, $source, $type ?: Assets::TYPE_FILE); } if (!empty($assets['javascript'])) { - list ($source, $type) = (array) $assets['javascript']; + [$source, $type] = array_pad((array) $assets['javascript'], 2, null); $this->leaflet->registerJavascript($name, $source, $type ?: Assets::TYPE_FILE); } } From 18f1cb5756b897c3e8ce133ae51a84d770f2e76e Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 10:11:41 +0100 Subject: [PATCH 20/22] Load language file for the help wizard (#99) --- src/Bundle/Resources/contao/dca/tl_leaflet_layer.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php index a2a9e84..db783b2 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php @@ -10,6 +10,8 @@ * @filesource */ +\Contao\Controller::loadLanguageFile('leaflet'); + $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [ 'config' => [ 'dataContainer' => 'Table', From ea293e327f618fc6636ca95250585cb681cfd1a2 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 10:30:08 +0100 Subject: [PATCH 21/22] Fix access of sub layers (#97) --- src/Bundle/Resources/contao/dca/tl_leaflet_layer.php | 5 +++++ src/Bundle/Resources/public/css/backend.css | 4 ++++ src/Listener/Dca/FrontendIntegrationListener.php | 2 +- src/Listener/Dca/LayerDcaListener.php | 10 +++++----- 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php index db783b2..41afc99 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php @@ -73,6 +73,11 @@ $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [ 'class' => 'header_edit_all', 'attributes' => 'onclick="Backend.getScrollOffset();"', ], + 'toggleNodes' => [ + 'href' => 'ptg=all', + 'class' => 'header_toggle', + 'showOnSelect' => true, + ], ], 'operations' => [ 'markers' => [ diff --git a/src/Bundle/Resources/public/css/backend.css b/src/Bundle/Resources/public/css/backend.css index 09d7686..021e2d1 100644 --- a/src/Bundle/Resources/public/css/backend.css +++ b/src/Bundle/Resources/public/css/backend.css @@ -23,6 +23,10 @@ padding-left: 20px !important; } +.tl_listing .tl_left { + overflow: unset; +} + .long .tl_text_2 { width: 325px; } diff --git a/src/Listener/Dca/FrontendIntegrationListener.php b/src/Listener/Dca/FrontendIntegrationListener.php index 1fe9e92..99709ce 100644 --- a/src/Listener/Dca/FrontendIntegrationListener.php +++ b/src/Listener/Dca/FrontendIntegrationListener.php @@ -103,7 +103,7 @@ final class FrontendIntegrationListener ) ), Image::getHtml( - 'alias.gif', + 'alias.svg', $this->translator->trans('editalias.0', [$dataContainer->value], 'contao_tl_content'), 'style="vertical-align:top"' ) diff --git a/src/Listener/Dca/LayerDcaListener.php b/src/Listener/Dca/LayerDcaListener.php index 02f1af1..bfeaa69 100644 --- a/src/Listener/Dca/LayerDcaListener.php +++ b/src/Listener/Dca/LayerDcaListener.php @@ -197,7 +197,7 @@ class LayerDcaListener extends AbstractListener if (!empty($this->layers[$row['type']]['icon'])) { $src = $this->layers[$row['type']]['icon']; } else { - $src = 'iconPLAIN.gif'; + $src = 'iconPLAIN.svg'; } $activeIcon = $src; @@ -275,12 +275,12 @@ class LayerDcaListener extends AbstractListener $pasteAfterUrl, StringUtil::specialchars($this->translator->trans('pasteafter.1', [$row['id']], 'contao_' . $table)), Image::getHtml( - 'pasteafter.gif', + 'pasteafter.svg', $this->translator->trans('pasteafter.1', [$row['id']], 'contao_' . $table) ) ); - if (!empty($this->layers[$row['type']]['children'])) { + if (isset($row['type']) && !empty($this->layers[$row['type']]['children'])) { $pasteIntoUrl = $this->backendAdapter->addToUrl( sprintf( 'act=%s&mode=2&pid=%s%s', @@ -295,12 +295,12 @@ class LayerDcaListener extends AbstractListener $pasteIntoUrl, StringUtil::specialchars($this->translator->trans('pasteinto.1', [$row['id']], 'contao_' . $table)), Image::getHtml( - 'pasteinto.gif', + 'pasteinto.svg', $this->translator->trans('pasteinto.1', [$row['id']], 'contao_' . $table) ) ); } elseif ($row['id'] > 0) { - $buffer .= Image::getHtml('pasteinto_.gif'); + $buffer .= Image::getHtml('pasteinto_.svg'); } return $buffer; From 0e491fcc6aeb6237d05b98b5a86e27e9999b6a19 Mon Sep 17 00:00:00 2001 From: David Molineus Date: Tue, 22 Feb 2022 10:47:32 +0100 Subject: [PATCH 22/22] Prepare release 3.2.3 --- CHANGELOG.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdf0b6a..b9e7c43 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.2.3] - 2022-02-22 + +### Changed + + - Support symfony 5 (Contao 4.13 support) ([#110](https://github.com/netzmacht/contao-leaflet-maps/issues/110)) + - Support doctrine/dbal 3 (Contao 4.13 support) ([#110](https://github.com/netzmacht/contao-leaflet-maps/issues/110)) + - Fix missing icon in backend navigation ([#101](https://github.com/netzmacht/contao-leaflet-maps/issues/101)) + - Fix empty help wizard ([#99](https://github.com/netzmacht/contao-leaflet-maps/issues/99)) + - Update leaflet providers ([111](https://github.com/netzmacht/contao-leaflet-maps/issues/111), [102](https://github.com/netzmacht/contao-leaflet-maps/issues/102)) + - Fix tile layer implementation ([#108](https://github.com/netzmacht/contao-leaflet-maps/issues/108)) + - Fix access to tile layer fields ([#107](https://github.com/netzmacht/contao-leaflet-maps/issues/107)) + - Fix nexted folder structure ([#97](https://github.com/netzmacht/contao-leaflet-maps/issues/97)) + ## [3.2.2] - 2020-12-18 ### Fixed