diff --git a/.phpcq.lock b/.phpcq.lock index 374a665..b40933f 100644 --- a/.phpcq.lock +++ b/.phpcq.lock @@ -1 +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 +{"plugins":{"composer-require-checker":{"api-version":"1.0.0","version":"1.1.1.0","type":"php-file","url":"https://phpcq.github.io/repository/composer-require-checker-1.1.1.0.php","signature":null,"requirements":{"php":{"php":"^7.4 || ^8.0"},"tool":{"composer-require-checker":"^3.8 || ^4.0"}},"checksum":{"type":"sha-512","value":"d5415bddfe024c5749d894034583882aee4e5c3e1087815d9fdd81cb5e71630f631a0e35de0ff84b97fbbf738c16ece5f83bd8c00695913eb846aa6f04577dc2"},"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"}},"composerLock":null},"phpmd":{"api-version":"1.0.0","version":"1.0.2.0","type":"php-file","url":"https://phpcq.github.io/repository/phpmd-1.0.2.0.php","signature":null,"requirements":{"php":{"php":"^7.3 || ^8.0","ext-dom":"*"},"tool":{"phpmd":"^2.6.1"}},"checksum":{"type":"sha-512","value":"f22280a6dec8dbdd2ec1d83b294f23237fe32c34f4a298e52038e0a7a0074d541635b2b488b1a6098a42d8418a6cd8eb804406ea82b91e362be2b5d11a0915b0"},"tools":{"phpmd":{"version":"2.13.0","url":"https://github.com/phpmd/phpmd/releases/download/2.13.0/phpmd.phar","requirements":{"php":{"php":">=5.3.9","ext-xml":"*"}},"checksum":null,"signature":"https://github.com/phpmd/phpmd/releases/download/2.13.0/phpmd.phar.asc"}},"composerLock":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"}},"composerLock":null},"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"}},"composerLock":null},"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.7.1","url":"https://github.com/squizlabs/PHP_CodeSniffer/releases/download/3.7.1/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.7.1/phpcs.phar.asc"},"phpcbf":{"version":"3.7.1","url":"https://github.com/squizlabs/PHP_CodeSniffer/releases/download/3.7.1/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.7.1/phpcbf.phar.asc"}},"composerLock":null},"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.28.3","url":"https://github.com/ergebnis/composer-normalize/releases/download/2.28.3/composer-normalize.phar","requirements":{"php":{"php":"^7.4 || ^8.0"}},"checksum":null,"signature":"https://github.com/ergebnis/composer-normalize/releases/download/2.28.3/composer-normalize.phar.asc"}},"composerLock":null}},"tools":[]} \ No newline at end of file diff --git a/composer.json b/composer.json index 8585b83..3387a46 100644 --- a/composer.json +++ b/composer.json @@ -28,7 +28,6 @@ "ext-pdo": "*", "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-bundle": "^3.4", "netzmacht/contao-leaflet-geocode-widget": "^1.2", @@ -37,17 +36,18 @@ "netzmacht/contao-toolkit": "^3.7", "netzmacht/php-javascript-builder": "^1.0", "netzmacht/php-leaflet": "^1.1.0", - "symfony/config": "~4.4 || ^5.1", - "symfony/dependency-injection": "~4.4 || ^5.1", - "symfony/event-dispatcher": "~4.4 || ^5.1", + "symfony/cache-contracts": "^1.1 || ^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-foundation": "~4.4 || ^5.1", - "symfony/http-kernel": "~4.4 || ^5.1", - "symfony/routing": "~4.4 || ^5.1", - "symfony/templating": "~4.4 || ^5.1", + "symfony/filesystem": "^4.4 || ^5.1", + "symfony/http-foundation": "^4.4 || ^5.1", + "symfony/http-kernel": "^4.4 || ^5.1", + "symfony/routing": "^4.4 || ^5.1", + "symfony/templating": "^4.4 || ^5.1 || ^6.2", "symfony/translation-contracts": "^1.1 || ^2.0", - "symfony/twig-bundle": "~4.4 || ^5.1", + "symfony/twig-bundle": "^4.4 || ^5.1", "twig/twig": "^2.0 || ^3.0" }, "require-dev": { @@ -68,7 +68,8 @@ "allow-plugins": { "contao-components/installer": true, "contao/manager-plugin": true, - "contao-community-alliance/composer-plugin": true + "contao-community-alliance/composer-plugin": true, + "php-http/discovery": true } }, "extra": { diff --git a/phpcq.yaml.dist b/phpcq.yaml.dist index 2cbb2f8..7dda819 100644 --- a/phpcq.yaml.dist +++ b/phpcq.yaml.dist @@ -39,7 +39,7 @@ phpcq: # Composer normalize - C00543248C87FB13 # phpmd - - 0F9684B8B16B7AB0 + - A4E55EA12C7C085C tasks: fix: diff --git a/src/Bundle/Resources/config/services.yml b/src/Bundle/Resources/config/services.yml index 66cbab6..bfbc800 100644 --- a/src/Bundle/Resources/config/services.yml +++ b/src/Bundle/Resources/config/services.yml @@ -29,12 +29,14 @@ services: - '%netzmacht.contao_leaflet.filters%' netzmacht.contao_leaflet.cache.default: - class: Doctrine\Common\Cache\FilesystemCache + class: Symfony\Component\Cache\Adapter\FilesystemAdapter arguments: + - 'netzmacht.contao_leaflet' + - 0 - '%netzmacht.contao_leaflet.cache_dir%' netzmacht.contao_leaflet.cache.debug: - class: Doctrine\Common\Cache\ArrayCache + class: Symfony\Component\Cache\Adapter\ArrayAdapter netzmacht.contao_leaflet.frontend.value_filter: class: Netzmacht\Contao\Leaflet\Frontend\ValueFilter diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_control.php b/src/Bundle/Resources/contao/dca/tl_leaflet_control.php index 39488af..b935946 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_control.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_control.php @@ -5,7 +5,8 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -67,7 +68,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_control'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'toggle' => [ diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_icon.php b/src/Bundle/Resources/contao/dca/tl_leaflet_icon.php index bcd2de8..4273116 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_icon.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_icon.php @@ -5,7 +5,8 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -78,7 +79,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_icon'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'toggle' => [ diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php index 41afc99..2913d11 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_layer.php @@ -5,7 +5,8 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -112,7 +113,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_layer'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'toggle' => [ diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_map.php b/src/Bundle/Resources/contao/dca/tl_leaflet_map.php index 2d54fa5..d2ea116 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_map.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_map.php @@ -5,7 +5,9 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @author Stefan Heimes + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -73,7 +75,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_map'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'show' => [ @@ -426,10 +428,12 @@ $GLOBALS['TL_DCA']['tl_leaflet_map'] = [ 'exclude' => true, 'inputType' => 'textarea', 'eval' => [ - 'tl_class' => 'clr lng', - 'allowHtml' => true, - 'style' => 'min-height: 40px;', - 'rte' => 'ace|json', + 'tl_class' => 'clr lng', + 'preserveTags' => true, + 'decodeEntities' => true, + 'allowHtml' => true, + 'style' => 'min-height: 40px;', + 'rte' => 'ace|json', ], 'sql' => 'text NULL', ], diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_marker.php b/src/Bundle/Resources/contao/dca/tl_leaflet_marker.php index d8a6556..ee3d2dd 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_marker.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_marker.php @@ -5,7 +5,9 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @author Stefan Heimes + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -78,7 +80,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_marker'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'toggle' => [ @@ -339,9 +341,11 @@ $GLOBALS['TL_DCA']['tl_leaflet_marker'] = [ 'inputType' => 'textarea', 'eval' => [ 'tl_class' => 'clr lng', - 'allowHtml' => true, - 'style' => 'min-height: 40px;', - 'rte' => 'ace|json', + 'preserveTags' => true, + 'decodeEntities' => true, + 'allowHtml' => true, + 'style' => 'min-height: 40px;', + 'rte' => 'ace|json', ], 'sql' => 'text NULL', ], diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_popup.php b/src/Bundle/Resources/contao/dca/tl_leaflet_popup.php index 2aca701..bb98b81 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_popup.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_popup.php @@ -5,7 +5,8 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -78,7 +79,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_popup'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'toggle' => [ diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_style.php b/src/Bundle/Resources/contao/dca/tl_leaflet_style.php index 12033c8..66d4052 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_style.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_style.php @@ -5,7 +5,8 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -78,7 +79,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_style'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'toggle' => [ diff --git a/src/Bundle/Resources/contao/dca/tl_leaflet_vector.php b/src/Bundle/Resources/contao/dca/tl_leaflet_vector.php index 543b26f..c3d1a74 100644 --- a/src/Bundle/Resources/contao/dca/tl_leaflet_vector.php +++ b/src/Bundle/Resources/contao/dca/tl_leaflet_vector.php @@ -5,7 +5,9 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumann + * @author Stefan Heimes + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -84,7 +86,7 @@ $GLOBALS['TL_DCA']['tl_leaflet_vector'] = [ 'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['delete'], 'href' => 'act=delete', 'icon' => 'delete.gif', - 'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] + 'attributes' => 'onclick="if(!confirm(\'' . ($GLOBALS['TL_LANG']['MSC']['deleteConfirm'] ?? '') . '\'))return false;Backend.getScrollOffset()"', ], 'toggle' => [ @@ -378,10 +380,12 @@ $GLOBALS['TL_DCA']['tl_leaflet_vector'] = [ 'exclude' => true, 'inputType' => 'textarea', 'eval' => [ - 'tl_class' => 'clr lng', - 'allowHtml' => true, - 'style' => 'min-height: 40px;', - 'rte' => 'ace|json', + 'tl_class' => 'clr lng', + 'preserveTags' => true, + 'decodeEntities' => true, + 'allowHtml' => true, + 'style' => 'min-height: 40px;', + 'rte' => 'ace|json', ], 'sql' => 'text NULL', ], diff --git a/src/Frontend/Assets/LibrariesConfiguration.php b/src/Frontend/Assets/LibrariesConfiguration.php index 54929d8..c095c32 100644 --- a/src/Frontend/Assets/LibrariesConfiguration.php +++ b/src/Frontend/Assets/LibrariesConfiguration.php @@ -5,7 +5,8 @@ * * @package contao-leaflet-maps * @author David Molineus - * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. + * @author Sven Baumnn + * @copyright 2014-2022 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource */ @@ -15,6 +16,7 @@ declare(strict_types=1); namespace Netzmacht\Contao\Leaflet\Frontend\Assets; use Contao\CoreBundle\Framework\ContaoFrameworkInterface as ContaoFramework; +use Traversable; /** * Class LibrariesConfiguration. @@ -45,7 +47,7 @@ class LibrariesConfiguration implements \IteratorAggregate, \ArrayAccess * * @SuppressWarnings(PHPMD.Superglobals) */ - public function getIterator() + public function getIterator(): Traversable { $this->framework->initialize(); @@ -57,7 +59,7 @@ class LibrariesConfiguration implements \IteratorAggregate, \ArrayAccess * * @SuppressWarnings(PHPMD.Superglobals) */ - public function offsetExists($offset) + public function offsetExists($offset): bool { $this->framework->initialize(); @@ -81,7 +83,7 @@ class LibrariesConfiguration implements \IteratorAggregate, \ArrayAccess * * @SuppressWarnings(PHPMD.Superglobals) */ - public function offsetSet($offset, $value) + public function offsetSet($offset, $value): void { $this->framework->initialize(); @@ -93,7 +95,7 @@ class LibrariesConfiguration implements \IteratorAggregate, \ArrayAccess * * @SuppressWarnings(PHPMD.Superglobals) */ - public function offsetUnset($offset) + public function offsetUnset($offset): void { $this->framework->initialize(); diff --git a/src/MapProvider.php b/src/MapProvider.php index 192a80c..8ed75df 100644 --- a/src/MapProvider.php +++ b/src/MapProvider.php @@ -5,6 +5,7 @@ * * @package contao-leaflet-maps * @author David Molineus + * @author Stefan Heimes * @copyright 2014-2017 netzmacht David Molineus. All rights reserved. * @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE * @filesource @@ -13,7 +14,6 @@ namespace Netzmacht\Contao\Leaflet; use Contao\Input; -use Doctrine\Common\Cache\Cache; use Netzmacht\Contao\Leaflet\Encoder\ContaoAssets; use Netzmacht\Contao\Leaflet\Event\GetJavascriptEvent; use Netzmacht\Contao\Leaflet\Filter\Filter; @@ -28,7 +28,9 @@ 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\Cache\CacheItem; use Symfony\Contracts\EventDispatcher\EventDispatcherInterface as EventDispatcher; +use Symfony\Contracts\Cache\CacheInterface as Cache; /** * Class MapProvider. @@ -212,25 +214,29 @@ class MapProvider if ($doCache) { $cacheKey = $this->getCacheKey($mapId, $filter, $elementId, $template, $style); - if ($this->cache->contains($cacheKey)) { - $cached = $this->cache->fetch($cacheKey); - $this->assets->fromArray($cached['assets']); + if ($this->cache->hasItem($cacheKey)) { + $cached = $this->cache->getItem($cacheKey); + $cachedData = $cached->get(); + $this->assets->fromArray($cachedData['assets']); - return $cached['javascript']; + return $cachedData['javascript']; + } else { + $cached = $this->cache->getItem($cacheKey); } } $buffer = $this->doGenerate($model, $filter, $elementId, $template, $style); if ($doCache) { - $this->cache->save( - $cacheKey, - [ - 'assets' => $this->assets->toArray(), - 'javascript' => $buffer, - ], - (int) $model->cacheLifeTime - ); + $cached + ->expiresAfter((int) $model->cacheLifeTime) + ->set( + [ + 'assets' => $this->assets->toArray(), + 'javascript' => $buffer, + ] + ); + $this->cache->save($cached); } return $buffer; @@ -270,12 +276,19 @@ class MapProvider $cacheKey .= '.filter_' . md5($filter->toRequest()); } - if ($this->cache->contains($cacheKey)) { - return $this->cache->fetch($cacheKey); + if ($this->cache->hasItem($cacheKey)) { + $cachedItem = $this->cache->getItem($cacheKey); + + return $cachedItem->get(); + } else { + $cachedItem = $this->cache->getItem($cacheKey); } $collection = $this->mapper->handleGeoJson($model, $request); - $this->cache->save($cacheKey, $collection, $model->cacheLifeTime); + $cachedItem + ->expiresAfter($model->cacheLifeTime) + ->set($collection); + $this->cache->save($cachedItem); return $collection; }