mirror of
https://github.com/netzmacht/contao-leaflet-maps.git
synced 2025-11-28 11:04:08 +01:00
Compare commits
235 Commits
2.0.0-beta
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6054def7aa | ||
|
|
86026a473b | ||
|
|
90c4621918 | ||
|
|
e5263a6315 | ||
|
|
515a191a66 | ||
|
|
f2f7e87fd3 | ||
|
|
4198b2b6cd | ||
|
|
fbd1ef81b0 | ||
|
|
92a376a307 | ||
|
|
bf6a1f9db0 | ||
|
|
c523aed70d | ||
|
|
4795767a8b | ||
|
|
c0efdb058e | ||
|
|
a4547ffb17 | ||
|
|
a63c836535 | ||
|
|
711b06c6d3 | ||
|
|
70b7d0ab9c | ||
|
|
ea59841d6e | ||
|
|
64c332bc25 | ||
|
|
3db5aad6d3 | ||
|
|
cef9d7ff44 | ||
|
|
06dd3655c0 | ||
|
|
3b066dfeb7 | ||
|
|
697e8d2f5e | ||
|
|
a6c08ae8e5 | ||
|
|
bb8f9e42dc | ||
|
|
3be5da9176 | ||
|
|
55e4ed0702 | ||
|
|
d42e0e122f | ||
|
|
ac05d103f1 | ||
|
|
cc9990cf4d | ||
|
|
9643b2c196 | ||
|
|
4d55b012fd | ||
|
|
39a7207e23 | ||
|
|
c4feeb1b38 | ||
|
|
cb3e9bc8b4 | ||
|
|
6a88ed380b | ||
|
|
59e671f8ea | ||
|
|
b0df34b86e | ||
|
|
4ea2adbb85 | ||
|
|
dc5a0a081e | ||
|
|
79f6efd9f3 | ||
|
|
e7bede78b1 | ||
|
|
997e16891b | ||
|
|
d5407357d8 | ||
|
|
1ba19f63b1 | ||
|
|
878492c0b1 | ||
|
|
57ba63556a | ||
|
|
0e2b8dd3cd | ||
|
|
91d3786187 | ||
|
|
5e20b83503 | ||
|
|
ca103521aa | ||
|
|
f422459be2 | ||
|
|
c661abb626 | ||
|
|
83226cdd80 | ||
|
|
ed10175072 | ||
|
|
d2338332b4 | ||
|
|
7aa4f38902 | ||
|
|
cb03dcfa41 | ||
|
|
2108de32d9 | ||
|
|
314e2d21ee | ||
|
|
6faaa866ad | ||
|
|
b22563b38c | ||
|
|
a10e55a126 | ||
|
|
e27ac21902 | ||
|
|
0ba725ed38 | ||
|
|
7ec2ee0d96 | ||
|
|
9e54f12555 | ||
|
|
b323049f9d | ||
|
|
873de89d7c | ||
|
|
88927a3de8 | ||
|
|
8fdc7dab29 | ||
|
|
9a1b6dee01 | ||
|
|
9e0f11ec18 | ||
|
|
f60ed1b7be | ||
|
|
3d45f6b2eb | ||
|
|
e73a4d4bdf | ||
|
|
0322a87e94 | ||
|
|
f5e8701312 | ||
|
|
2d0221a90a | ||
|
|
9f0b34a53b | ||
|
|
e5d336037f | ||
|
|
19614d305f | ||
|
|
295d5385a0 | ||
|
|
bde761911f | ||
|
|
b4947c1404 | ||
|
|
16e58f7f40 | ||
|
|
27cef9b45b | ||
|
|
ef30de9698 | ||
|
|
db352a2df3 | ||
|
|
7db007bdab | ||
|
|
a77c1b4039 | ||
|
|
46e0661986 | ||
|
|
ded5427afb | ||
|
|
8b193a391a | ||
|
|
00da9f7b25 | ||
|
|
099cd6ca9d | ||
|
|
86fb4f4e12 | ||
|
|
ae4d9cec13 | ||
|
|
08dea6e1da | ||
|
|
ef7b493b2d | ||
|
|
ce9de6ded3 | ||
|
|
7498aef141 | ||
|
|
28adc54d36 | ||
|
|
451d13fe98 | ||
|
|
a4192b4b1a | ||
|
|
7741f44428 | ||
|
|
0716354952 | ||
|
|
dd23d386eb | ||
|
|
edb4ac9eeb | ||
|
|
5501887231 | ||
|
|
60306459d2 | ||
|
|
c465b724f4 | ||
|
|
6ded7441d9 | ||
|
|
ae5fe11d20 | ||
|
|
8dbe464ca8 | ||
|
|
d261e8b4ba | ||
|
|
57fe57b8ea | ||
|
|
46e6dcc2fa | ||
|
|
01b3962b78 | ||
|
|
734aecf738 | ||
|
|
50465e4026 | ||
|
|
0abc4676f1 | ||
|
|
d1f26056e9 | ||
|
|
31a5cc40a5 | ||
|
|
59df74c3f9 | ||
|
|
c2fd00e6a0 | ||
|
|
e6689d4d45 | ||
|
|
cda48b9567 | ||
|
|
03896940ac | ||
|
|
d952e6fc48 | ||
|
|
505dc45dd6 | ||
|
|
35227cef82 | ||
|
|
a8491bdc4b | ||
|
|
56a68175fe | ||
|
|
6bfaf63d4f | ||
|
|
c374a2ce5d | ||
|
|
df541fe433 | ||
|
|
da8613ca0b | ||
|
|
f09929fae7 | ||
|
|
8c6f4c4291 | ||
|
|
5ce9d517bc | ||
|
|
e1685f65c5 | ||
|
|
bf0fb35b21 | ||
|
|
abaf24821f | ||
|
|
58a7ccc815 | ||
|
|
13eec4ba2e | ||
|
|
86bcae2f71 | ||
|
|
1dce4bc1c6 | ||
|
|
1df16407ef | ||
|
|
d36d613e37 | ||
|
|
3c660b5bbd | ||
|
|
f5b984407e | ||
|
|
572d2e74a0 | ||
|
|
5a1ea75623 | ||
|
|
6408796b56 | ||
|
|
8f45bf925a | ||
|
|
5167318c43 | ||
|
|
6004138e4e | ||
|
|
6b646243e1 | ||
|
|
95046b65e0 | ||
|
|
cd88c2992b | ||
|
|
a2a6d31259 | ||
|
|
b898aafe51 | ||
|
|
249b12cb61 | ||
|
|
fab9b5a0ba | ||
|
|
51fc784800 | ||
|
|
edf212b850 | ||
|
|
e6ed2c456d | ||
|
|
1e315d9bc5 | ||
|
|
3c9a54c7e1 | ||
|
|
6af1b3fa22 | ||
|
|
7cee2fe631 | ||
|
|
d1c6424699 | ||
|
|
06fc40295c | ||
|
|
5289518d6a | ||
|
|
a5fbba740b | ||
|
|
756c28cdc6 | ||
|
|
ac87bcf947 | ||
|
|
96c78d4306 | ||
|
|
1932937648 | ||
|
|
8eb9a22ae0 | ||
|
|
b5ae094320 | ||
|
|
524678f56e | ||
|
|
31cd1c3ae4 | ||
|
|
e8edeb8021 | ||
|
|
a43b740ba0 | ||
|
|
1b035901c1 | ||
|
|
25b90f4c13 | ||
|
|
8a240ab0ff | ||
|
|
0a76a5450f | ||
|
|
e513edcd3b | ||
|
|
aa524478e6 | ||
|
|
25e3e0d5fb | ||
|
|
2c88d7aec5 | ||
|
|
bc425ea772 | ||
|
|
b82b010937 | ||
|
|
47713e8a38 | ||
|
|
3828c9ce13 | ||
|
|
594b10b0cf | ||
|
|
ad6a4e9384 | ||
|
|
ad5e30fd09 | ||
|
|
f03ed713f3 | ||
|
|
6c7b136c0e | ||
|
|
5a4fd9b434 | ||
|
|
ad6482c28c | ||
|
|
6111fc3594 | ||
|
|
32d47531f7 | ||
|
|
598adb54b1 | ||
|
|
e67b152225 | ||
|
|
1fc47f705d | ||
|
|
fde6c2b4c7 | ||
|
|
307381ddb6 | ||
|
|
f172c42426 | ||
|
|
b96e955504 | ||
|
|
7727263f29 | ||
|
|
25f89f91b6 | ||
|
|
f5badd14c5 | ||
|
|
320359d2f0 | ||
|
|
8300531de3 | ||
|
|
ceb05bb08f | ||
|
|
909288d4fc | ||
|
|
6ad637d4fa | ||
|
|
04c693ac7f | ||
|
|
bce7e31cb3 | ||
|
|
a3ac7262f0 | ||
|
|
20b9144b89 | ||
|
|
84294686a5 | ||
|
|
dfc1fa49d9 | ||
|
|
f8aac5747c | ||
|
|
540680f7f6 | ||
|
|
3e40da22ba | ||
|
|
eea70e3a51 | ||
|
|
827c746b0d | ||
|
|
e3344ffd4f |
11
.composer-require-checker.json
Normal file
11
.composer-require-checker.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
{
|
||||||
|
"symbol-whitelist": [
|
||||||
|
"null", "true", "false",
|
||||||
|
"static", "self", "parent",
|
||||||
|
"array", "string", "int", "float", "bool", "iterable", "callable", "void", "object",
|
||||||
|
"array_insert",
|
||||||
|
"Contao\\ManagerPlugin\\Bundle\\BundlePluginInterface",
|
||||||
|
"Contao\\ManagerPlugin\\Bundle\\Config\\BundleConfig",
|
||||||
|
"Contao\\ManagerPlugin\\Bundle\\Parser\\ParserInterface"
|
||||||
|
]
|
||||||
|
}
|
||||||
11
.gitattributes
vendored
Normal file
11
.gitattributes
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
.check-author.yml export-ignore
|
||||||
|
.gitattributes export-ignore
|
||||||
|
.github export-ignore
|
||||||
|
.gitignore export-ignore
|
||||||
|
.travis.yml export-ignore
|
||||||
|
build.default.properties export-ignore
|
||||||
|
build.xml export-ignore
|
||||||
|
phpunit.xml.dist export-ignore
|
||||||
|
/tests export-ignore
|
||||||
|
/specs export-ignore
|
||||||
|
/js export-ignore
|
||||||
1
.github/FUNDING.yml
vendored
Normal file
1
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
github: [dmolineus]
|
||||||
33
.gitignore
vendored
33
.gitignore
vendored
@@ -1,10 +1,27 @@
|
|||||||
/vendor/
|
# OS
|
||||||
/bin/
|
.DS_Store
|
||||||
/demo/
|
Thumbs.db
|
||||||
/assets/js/*.js
|
.directory
|
||||||
/node_modules/
|
|
||||||
/.tx/
|
|
||||||
|
|
||||||
coverage.xml
|
# IDEs
|
||||||
|
.buildpath
|
||||||
|
.project
|
||||||
|
.settings/
|
||||||
|
.build/
|
||||||
|
.external*/
|
||||||
|
.idea/
|
||||||
|
nbproject/
|
||||||
|
|
||||||
|
# composer related
|
||||||
|
vendor/
|
||||||
composer.lock
|
composer.lock
|
||||||
npm-debug.log
|
|
||||||
|
# build
|
||||||
|
build/
|
||||||
|
build.properties
|
||||||
|
|
||||||
|
# Translations
|
||||||
|
.tx
|
||||||
|
|
||||||
|
# NPM
|
||||||
|
node_modules
|
||||||
|
|||||||
40
.travis.yml
40
.travis.yml
@@ -1,29 +1,41 @@
|
|||||||
|
dist: xenial
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
packages:
|
||||||
|
- ant-optional
|
||||||
|
|
||||||
language: php
|
language: php
|
||||||
|
|
||||||
php:
|
php:
|
||||||
- "5.4"
|
- "7.3"
|
||||||
- "5.5"
|
- "7.2"
|
||||||
- "5.6"
|
- "7.1"
|
||||||
- "7.0"
|
- "7.4snapshot"
|
||||||
- "nightly"
|
- "nightly"
|
||||||
|
|
||||||
env:
|
env:
|
||||||
- CONTAO_VERSION=~3.5.1
|
- CONTAO_VERSION=contao/core-bundle ~4.4.0
|
||||||
|
- CONTAO_VERSION=contao/core-bundle ~4.5.0
|
||||||
|
- CONTAO_VERSION=contao/core-bundle ~4.6.0
|
||||||
|
|
||||||
sudo: false
|
matrix:
|
||||||
|
exclude:
|
||||||
|
allow_failures:
|
||||||
|
- php: "nightly"
|
||||||
|
- php: "7.4snapshot"
|
||||||
|
|
||||||
install:
|
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 self-update && composer --version
|
||||||
- travis_retry composer require contao/core $CONTAO_VERSION --no-update
|
- travis_retry composer require $CONTAO_VERSION --no-update
|
||||||
- travis_retry composer update --prefer-dist --no-interaction
|
- travis_retry composer update --prefer-dist --no-interaction
|
||||||
|
|
||||||
script: ant -keep-going
|
script: ant -keep-going
|
||||||
|
|
||||||
matrix:
|
|
||||||
allow_failures:
|
|
||||||
- php: "7.0"
|
|
||||||
- php: "nightly"
|
|
||||||
|
|
||||||
# Hack to make things work again - we can not use a shallow repository.
|
|
||||||
git:
|
git:
|
||||||
depth: 2147483647
|
depth: 2147483647
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- vendor
|
||||||
|
|||||||
174
CHANGELOG.md
Normal file
174
CHANGELOG.md
Normal file
@@ -0,0 +1,174 @@
|
|||||||
|
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [3.2.0] - 2020-08-28
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Add support for consent tools based on `hofff/contao-consent-bridge`
|
||||||
|
|
||||||
|
## [3.1.7] - 2020-08-28
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Duplicate map layer relations ([#89](https://github.com/netzmacht/contao-leaflet-maps/issues/89))
|
||||||
|
|
||||||
|
## [3.1.6] - 2020-01-03
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Do not add options which value is `NULL`
|
||||||
|
- Fix button labels ([#83](https://github.com/netzmacht/contao-leaflet-maps/issues/83))
|
||||||
|
- Fix potential security issue of symfony/dependency-injection (https://github.com/advisories/GHSA-pgwj-prpq-jpc2)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Use relative path for backend icon ([#82](https://github.com/netzmacht/contao-leaflet-maps/issues/82))
|
||||||
|
|
||||||
|
|
||||||
|
## [3.1.5] - 2019-08-26
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Use twig directly instead of templating component to restore Contao 4.8
|
||||||
|
|
||||||
|
## [3.1.4] - 2019-02-13
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix ordering changes in layer control element aren't recognized ([#72](https://github.com/netzmacht/contao-leaflet-maps/issues/72))
|
||||||
|
- Fix markers with negative coordinates aren't displayed ([#74](https://github.com/netzmacht/contao-leaflet-maps/issues/74))
|
||||||
|
- Fix image icon with non existing image throws exception ([#75](https://github.com/netzmacht/contao-leaflet-maps/issues/75))
|
||||||
|
- Fix invalid alias then using multiple edit. Aliases aren't copied anymore. ([#71](https://github.com/netzmacht/contao-leaflet-maps/issues/71))
|
||||||
|
|
||||||
|
## [3.1.3] - 2019-01-10
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix broken api routes in Contao 4.6/Symfony 4 (#69)
|
||||||
|
- Fix broken about.html.twig template. Error block was missing
|
||||||
|
|
||||||
|
## 3.1.2 - 2018-12-18
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.1...3.1.2)
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix broken MapBox integration: Access token is now required
|
||||||
|
- Fix broken OpenWeatherMap integration: Api key is now required
|
||||||
|
- Fix broken Thunderforest integration: Api key is now required
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Add missing OpenPtMap of leaflet-providers
|
||||||
|
- Add missing OpenRailwayMap of leaflet-providers
|
||||||
|
- Add missing OpenFireMap of leaflet-providers
|
||||||
|
- Add missing SafeCast of leaflet-providers
|
||||||
|
- Add missing map types `normalNightTransit`, `normalNightTransitMobile`, `reducedDay`, `reducedNight`,
|
||||||
|
`hybridDayTransit` and `hybridDayGrey` of HERE provider
|
||||||
|
- Add missing map types `Voyager`, `VoyagerNoLabels`, `VoyagerOnlyLabels` and `VoyagerLabelsUnder` of CartoDB provider
|
||||||
|
- Add missing Wikimedia of leaflet-providers
|
||||||
|
- Add missing GeoportailFrance of leaflet-providers
|
||||||
|
- Add missing OneMapSG of leaflet-providers
|
||||||
|
|
||||||
|
## [3.1.1] - 2018-12-07
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix missing marker cluster icon.
|
||||||
|
- Ignore markers without coordinates to prevent uncaught exception caused by invalid coordinates.
|
||||||
|
|
||||||
|
## 3.1.0 - 2018-11-01
|
||||||
|
|
||||||
|
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.4...3.1.0)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Custom route to load map data.
|
||||||
|
- Add distance filter support for the marker layer (Bounds Mode "fit" has to be enabled).
|
||||||
|
- Add support for relative css units for map size definition (#59).
|
||||||
|
- Add hint that zoom level is probably required (#56).
|
||||||
|
|
||||||
|
### Deprecated
|
||||||
|
|
||||||
|
- Deprecate `Netzmacht\Contao\Leaflet\Frontend\RequestUrl`. Use router to generate request url for layer data.
|
||||||
|
- Deprecate `Netzmacht\Contao\Leaflet\Frontend\DataController`. Use introduced endpoint to get map data.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Require PHP 7.1.
|
||||||
|
- Rewritten about page using own route (#48).
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Pressing enter on backend geocode control doesn't submit form anymore.
|
||||||
|
- Fix broken marker cluster layer (#60).
|
||||||
|
|
||||||
|
|
||||||
|
## [3.0.4] - 2018-10-08
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fix broken content element attributes (Missing class and custom id).
|
||||||
|
|
||||||
|
## [3.0.3] - 2018-09-18
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Make alias generator services public for Contao 4.6/Symfony 4.0 compatibility.
|
||||||
|
|
||||||
|
## [3.0.2] - 2018-08-23
|
||||||
|
|
||||||
|
- Run composer require checker and solve issues.
|
||||||
|
|
||||||
|
## [3.0.1] - 2018-06-20
|
||||||
|
|
||||||
|
- Fix broken dynamic bbox related data loading (#57)
|
||||||
|
|
||||||
|
## [3.0.0] - 2018-01-05
|
||||||
|
|
||||||
|
- Make hook/dca listener services public
|
||||||
|
|
||||||
|
## [3.0.0-beta1] - 2017-11-15
|
||||||
|
|
||||||
|
Enhancements
|
||||||
|
|
||||||
|
- Updated translations
|
||||||
|
|
||||||
|
Bugfixes
|
||||||
|
|
||||||
|
- Broken service definitions
|
||||||
|
- Broken file layer id
|
||||||
|
|
||||||
|
## [3.0.0-alpha2] - 2017-10-19
|
||||||
|
|
||||||
|
Implemented enhancements
|
||||||
|
|
||||||
|
- Refactor to a more service oriented architecture
|
||||||
|
- Use a proper template for the map templates (Customize templates has to be adjusted!)
|
||||||
|
- New file layer for gpx,kml,wkt,topojson,geojson files added
|
||||||
|
- Bypass filesystem cache in debug mode
|
||||||
|
- Changelog added
|
||||||
|
|
||||||
|
[Unreleased]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.2.0...hotfix/3.2.1
|
||||||
|
[3.2.0]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.7...3.2.0
|
||||||
|
[3.1.7]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.6...3.1.7
|
||||||
|
[3.1.6]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.5...3.1.6
|
||||||
|
[3.1.5]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.4...3.1.5
|
||||||
|
[3.1.4]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.3...3.1.4
|
||||||
|
[3.1.3]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.2...3.1.3
|
||||||
|
[3.1.1]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.0...3.1.1
|
||||||
|
[3.0.4]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.3...3.0.4
|
||||||
|
[3.0.3]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.2...3.0.3
|
||||||
|
[3.0.2]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.1...3.0.2
|
||||||
|
[3.0.1]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0...3.0.1
|
||||||
|
[3.0.0]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0-beta1...3.0.0
|
||||||
|
[3.0.0-beta1]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0-alpha2...3.0.0-beta1
|
||||||
|
[3.0-0-alpha2]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0-alpha1...3.0.0-alpha2
|
||||||
39
README.md
39
README.md
@@ -2,9 +2,9 @@ Leaflet integration into Contao CMS
|
|||||||
===================================
|
===================================
|
||||||
|
|
||||||
[](https://travis-ci.org/netzmacht/contao-leaflet-maps)
|
[](https://travis-ci.org/netzmacht/contao-leaflet-maps)
|
||||||
[](http://packagist.com/packages/netzmacht/contao-leaflet-maps)
|
[](http://packagist.org/packages/netzmacht/contao-leaflet-maps)
|
||||||
[](http://packagist.com/packages/netzmacht/contao-leaflet-maps)
|
[](http://packagist.org/packages/netzmacht/contao-leaflet-maps)
|
||||||
[](http://packagist.com/packages/netzmacht/contao-leaflet-maps)
|
[](http://packagist.org/packages/netzmacht/contao-leaflet-maps)
|
||||||
[](https://github.com/contao-community-alliance/coding-standard)
|
[](https://github.com/contao-community-alliance/coding-standard)
|
||||||
|
|
||||||
This extension provides a backend gui for integrating [Leaflet](http://leafletjs.com/) into the Contao CMS.
|
This extension provides a backend gui for integrating [Leaflet](http://leafletjs.com/) into the Contao CMS.
|
||||||
@@ -17,17 +17,19 @@ Features
|
|||||||
|
|
||||||
- Define Leaflet maps with multiple layers.
|
- Define Leaflet maps with multiple layers.
|
||||||
- Manage map controls
|
- Manage map controls
|
||||||
- [Layers control](http://leafletjs.com/reference-1.0.0.html#control-layers)
|
- [Layers control](http://leafletjs.com/reference-1.2.0.html#control-layers)
|
||||||
- [Zoom control](http://leafletjs.com/reference-1.0.0.html#control-zoom)
|
- [Zoom control](http://leafletjs.com/reference-1.2.0.html#control-zoom)
|
||||||
- [Scale control]((http://leafletjs.com/reference-1.0.0.html#control-scale))
|
- [Scale control]((http://leafletjs.com/reference-1.2.0.html#control-scale))
|
||||||
- [Attribution control](http://leafletjs.com/reference-1.0.0.html#control-attribution)
|
- [Attribution control](http://leafletjs.com/reference-1.2.0.html#control-attribution)
|
||||||
- [Loading control](https://github.com/ebrelsford/Leaflet.loading)
|
- [Loading control](https://github.com/ebrelsford/Leaflet.loading)
|
||||||
- Manage layers
|
- Manage layers
|
||||||
- [Tile provider](https://github.com/leaflet-extras/leaflet-providers)
|
- [Tile provider](https://github.com/leaflet-extras/leaflet-providers)
|
||||||
- Markers - A set of [markers](http://leafletjs.com/reference-1.0.0.html#marker)
|
- Markers - A set of [markers](http://leafletjs.com/reference-1.2.0.html#marker)
|
||||||
- Vectors - A set of [vectors](http://leafletjs.com/reference-1.0.0.html)
|
- Vectors - A set of [vectors](http://leafletjs.com/reference-1.2.0.html)
|
||||||
- Groups - A group of layers
|
- Groups - A group of layers
|
||||||
- Reference - A link to another layer
|
- Reference - A link to another layer
|
||||||
|
- [Markercluster](https://github.com/Leaflet/Leaflet.markercluster)
|
||||||
|
- External geo data files (gpx,kml,wkt,geojson,topojson)
|
||||||
- Manage marker icons
|
- Manage marker icons
|
||||||
- Manage vector styles
|
- Manage vector styles
|
||||||
- Optional deferred ajax loading of layer data
|
- Optional deferred ajax loading of layer data
|
||||||
@@ -36,11 +38,28 @@ Features
|
|||||||
- Autoloading of required assets.
|
- Autoloading of required assets.
|
||||||
- [Layer for MetaModels](https://github.com/netzmacht/contao-leaflet-metamodels)
|
- [Layer for MetaModels](https://github.com/netzmacht/contao-leaflet-metamodels)
|
||||||
|
|
||||||
|
|
||||||
|
Documentation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
A basic [user documentation](http://leaflet-maps-for-contao.readthedocs.org/) written in German is available.
|
||||||
|
|
||||||
|
Changelog
|
||||||
|
---------
|
||||||
|
|
||||||
|
View the [CHANGELOG.md](CHANGELOG.md) for the latest changes.
|
||||||
|
|
||||||
|
Requirements
|
||||||
|
------------
|
||||||
|
|
||||||
|
- Contao 4.4
|
||||||
|
- PHP >= 7.0
|
||||||
|
|
||||||
Install
|
Install
|
||||||
-------
|
-------
|
||||||
|
|
||||||
```
|
```
|
||||||
$ php composer.phar require netzmacht/contao-leaflet-maps:~2.0
|
$ php composer.phar require netzmacht/contao-leaflet-maps:~3.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
build.default.properties
Normal file
4
build.default.properties
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
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
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
|
|
||||||
phpcq.bin.dir = ${basedir}/bin
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project name="netzmacht/contao-leaflet-maps" default="build">
|
<project name="netzmacht/contao-leaflet-maps" default="build">
|
||||||
<!-- import the main build system -->
|
<!-- import the main build system -->
|
||||||
<import file="vendor/netzmacht/contao-build-tools/netzmacht.main.xml" />
|
<import file="vendor/phpcq/phpcq/phpcq.main.xml" />
|
||||||
</project>
|
</project>
|
||||||
|
|||||||
143
composer.json
143
composer.json
@@ -1,66 +1,83 @@
|
|||||||
{
|
{
|
||||||
"name":"netzmacht/contao-leaflet-maps",
|
"name": "netzmacht/contao-leaflet-maps",
|
||||||
"description":"Contao Leaflet maps integration",
|
"type": "contao-bundle",
|
||||||
"keywords":["contao", "maps", "leaflet"],
|
"description": "Contao Leaflet maps integration",
|
||||||
"type":"contao-module",
|
"keywords": [
|
||||||
"license":"LGPL-3.0+",
|
"contao",
|
||||||
"authors":[
|
"maps",
|
||||||
{
|
"leaflet"
|
||||||
"name":"David Molineus",
|
],
|
||||||
"email":"mail@netzmacht.de",
|
"license": "LGPL-3.0-or-later",
|
||||||
"homepage":"http://www.netzmacht.de",
|
"authors": [
|
||||||
"role":"Project leader"
|
{
|
||||||
}
|
"name": "David Molineus",
|
||||||
],
|
"email": "mail@netzmacht.de",
|
||||||
"support":{
|
"homepage": "https://netzmacht.de",
|
||||||
"email":"mail@netzmacht.de",
|
"role": "Developer"
|
||||||
"issues":"https://github.com/netzmacht/contao-leaflet-maps/issues",
|
|
||||||
"source":"https://github.com/netzmacht/contao-leaflet-maps"
|
|
||||||
},
|
|
||||||
"require":{
|
|
||||||
"php":">=5.4",
|
|
||||||
"contao/core":"^3.5",
|
|
||||||
"contao-community-alliance/dependency-container":"^1.0",
|
|
||||||
"contao-community-alliance/event-dispatcher":"^1.0",
|
|
||||||
"netzmacht/contao-leaflet-libraries": "^1.0",
|
|
||||||
"netzmacht/php-javascript-builder": "^1.0",
|
|
||||||
"netzmacht/php-leaflet": "^1.0",
|
|
||||||
"netzmacht/contao-toolkit":"^2.0",
|
|
||||||
"contao-community-alliance/meta-palettes": "^1.5",
|
|
||||||
"menatwork/contao-multicolumnwizard": "^3.2",
|
|
||||||
"doctrine/cache": "^1.0"
|
|
||||||
},
|
|
||||||
"require-dev":{
|
|
||||||
"netzmacht/contao-build-tools": "^1.1"
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-0": {
|
|
||||||
"Netzmacht\\Contao\\Leaflet\\": "src/"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"bin-dir": "bin"
|
|
||||||
},
|
|
||||||
"prefer-stable": true,
|
|
||||||
"minimum-stability": "dev",
|
|
||||||
"extra":{
|
|
||||||
"branch-alias": {
|
|
||||||
"dev-master": "2.0.x-dev",
|
|
||||||
"dev-develop": "2.1.x-dev",
|
|
||||||
"dev-support/0.7.x": "0.7.x-dev"
|
|
||||||
},
|
|
||||||
"contao": {
|
|
||||||
"sources":{
|
|
||||||
"module": "system/modules/leaflet",
|
|
||||||
"assets/maps": "assets/leaflet/maps",
|
|
||||||
"assets/js": "assets/leaflet/js"
|
|
||||||
},
|
|
||||||
"transifex": {
|
|
||||||
"project": "contao-leaflet-maps",
|
|
||||||
"prefix": "core-",
|
|
||||||
"languages_cto": "module/languages",
|
|
||||||
"languages_tx": ".tx"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
],
|
||||||
|
"require": {
|
||||||
|
"php": ">=7.1",
|
||||||
|
"ext-json": "*",
|
||||||
|
"ext-pdo": "*",
|
||||||
|
"contao-community-alliance/meta-palettes": "^2.0 || ^1.11",
|
||||||
|
"contao/core-bundle": "~4.4",
|
||||||
|
"doctrine/cache": "^1.0",
|
||||||
|
"doctrine/dbal": "^2.5",
|
||||||
|
"menatwork/contao-multicolumnwizard": "^3.3",
|
||||||
|
"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/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"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"contao/manager-plugin": "^2.1",
|
||||||
|
"hofff/contao-consent-bridge": "^1.0",
|
||||||
|
"phpcq/all-tasks": "^1.2"
|
||||||
|
},
|
||||||
|
"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/"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
41
gulpfile.js
41
gulpfile.js
@@ -1,28 +1,35 @@
|
|||||||
var gulp = require('gulp');
|
const { series, src, watch, dest, parallel, task} = require('gulp');
|
||||||
var del = require('del');
|
const del = require('promised-del');
|
||||||
var uglify = require('gulp-uglify');
|
const uglify = require('gulp-uglify');
|
||||||
var concat = require('gulp-concat');
|
const concat = require('gulp-concat');
|
||||||
|
|
||||||
var paths = {
|
var paths = {
|
||||||
minified: 'contao-leaflet.js',
|
minified: 'contao-leaflet.js',
|
||||||
scripts: ['assets/maps/src/*.js'],
|
scripts: ['js/vendor/*.js', 'js/*.js'],
|
||||||
dest: 'assets/maps'
|
dest: 'src/Bundle/Resources/public/js'
|
||||||
};
|
};
|
||||||
|
|
||||||
gulp.task('clear', function() {
|
function clean () {
|
||||||
del([paths.dest + '/' + paths.minified]);
|
return del([paths.dest + '/' + paths.minified]);
|
||||||
});
|
}
|
||||||
|
|
||||||
gulp.task('scripts', ['clear'], function() {
|
function build () {
|
||||||
return gulp.src(paths.scripts)
|
return src(paths.scripts)
|
||||||
.pipe(concat(paths.minified))
|
.pipe(concat(paths.minified))
|
||||||
.pipe(uglify())
|
.pipe(uglify())
|
||||||
.pipe(gulp.dest(paths.dest));
|
.pipe(dest(paths.dest));
|
||||||
});
|
}
|
||||||
|
|
||||||
|
const buildTasks = series(clean, build);
|
||||||
|
|
||||||
gulp.task('default', ['scripts']);
|
function watchTask () {
|
||||||
|
watch(
|
||||||
|
paths.scripts,
|
||||||
|
buildTasks
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
gulp.task('watch', function() {
|
exports.clean = clean;
|
||||||
gulp.watch(paths.scripts, ['scripts']);
|
exports.watch = watchTask;
|
||||||
});
|
exports.build = buildTasks;
|
||||||
|
exports.default = buildTasks;
|
||||||
|
|||||||
@@ -3,9 +3,7 @@
|
|||||||
*
|
*
|
||||||
* This class provides some helpers for loading layer data manages maps and map objects.
|
* This class provides some helpers for loading layer data manages maps and map objects.
|
||||||
*/
|
*/
|
||||||
L.Contao = L.Class.extend({
|
L.Contao = L.Evented.extend({
|
||||||
includes: L.Mixin.Events,
|
|
||||||
|
|
||||||
statics: {
|
statics: {
|
||||||
/**
|
/**
|
||||||
* Contao extension attribution.
|
* Contao extension attribution.
|
||||||
@@ -126,8 +124,23 @@ L.Contao = L.Class.extend({
|
|||||||
* @param map Pass a map object so that the data loading events are passed to the map.
|
* @param map Pass a map object so that the data loading events are passed to the map.
|
||||||
*/
|
*/
|
||||||
load: function (hash, type, options, customLayer, map) {
|
load: function (hash, type, options, customLayer, map) {
|
||||||
var url = this.createRequestUrl(hash, map),
|
var url = this.createRequestUrl(hash, map);
|
||||||
layer = omnivore[type](url, options, customLayer);
|
|
||||||
|
return this.loadFile(url, type, options, customLayer, map);
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load data from an url into a layer using omnivore.
|
||||||
|
*
|
||||||
|
* @param url A file url.
|
||||||
|
* @param type The response content format.
|
||||||
|
* @param options Parser options
|
||||||
|
* @param customLayer optional custom layer.
|
||||||
|
* @param map Pass a map object so that the data loading events are passed to the map.
|
||||||
|
*/
|
||||||
|
loadUrl: function (url, type, options, customLayer, map) {
|
||||||
|
url = this.applyFilterToUrl(url, map);
|
||||||
|
var layer = omnivore[type](url, options, customLayer);
|
||||||
|
|
||||||
if (map) {
|
if (map) {
|
||||||
// Required because Control.Loading tries to get _leafet_id which is created here.
|
// Required because Control.Loading tries to get _leafet_id which is created here.
|
||||||
@@ -135,7 +148,7 @@ L.Contao = L.Class.extend({
|
|||||||
|
|
||||||
// Add listener for map bounds changes.
|
// Add listener for map bounds changes.
|
||||||
if (map.options.dynamicLoad && layer.options.boundsMode == 'fit') {
|
if (map.options.dynamicLoad && layer.options.boundsMode == 'fit') {
|
||||||
layer.options.requestHash = hash;
|
layer.options.requestUrl = url;
|
||||||
map.on('moveend', layer.refreshData, layer);
|
map.on('moveend', layer.refreshData, layer);
|
||||||
|
|
||||||
map.on('layerremove', function(e) {
|
map.on('layerremove', function(e) {
|
||||||
@@ -160,6 +173,19 @@ L.Contao = L.Class.extend({
|
|||||||
return layer;
|
return layer;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load data from an url into a layer using omnivore.
|
||||||
|
*
|
||||||
|
* @param url A file url.
|
||||||
|
* @param type The response content format.
|
||||||
|
* @param options Parser options
|
||||||
|
* @param customLayer optional custom layer.
|
||||||
|
* @param map Pass a map object so that the data loading events are passed to the map.
|
||||||
|
*/
|
||||||
|
loadFile: function (url, type, options, customLayer, map) {
|
||||||
|
return this.loadUrl(url, type, options, customLayer, map);
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Point to layer callback. Adds a geo json point to the layer.
|
* Point to layer callback. Adds a geo json point to the layer.
|
||||||
*
|
*
|
||||||
@@ -301,6 +327,36 @@ L.Contao = L.Class.extend({
|
|||||||
}
|
}
|
||||||
|
|
||||||
return value;
|
return value;
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Apply the filter to a request url.
|
||||||
|
*
|
||||||
|
* @param {string} url The request url.
|
||||||
|
* @param {L.Map} map The map.
|
||||||
|
*
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
applyFilterToUrl: function (url, map) {
|
||||||
|
var value, query, bounds;
|
||||||
|
|
||||||
|
if (!map || !map.options.dynamicLoad) {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
url = new URL(url);
|
||||||
|
query = new URLSearchParams(url.search);
|
||||||
|
|
||||||
|
bounds = map.getBounds();
|
||||||
|
value = bounds.getSouth() + ',' + bounds.getWest();
|
||||||
|
value += ',' + bounds.getNorth() + ',' + bounds.getEast();
|
||||||
|
|
||||||
|
query.set('filter', 'bbox');
|
||||||
|
query.set('values', value);
|
||||||
|
|
||||||
|
url.search = query.toString();
|
||||||
|
|
||||||
|
return url.toString();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -29,6 +29,6 @@ L.GeoJSON.include({
|
|||||||
});
|
});
|
||||||
|
|
||||||
// TODO: Allow other data formats.
|
// TODO: Allow other data formats.
|
||||||
omnivore.geojson(L.contao.createRequestUrl(this.options.requestHash, e.target), null, dataLayer);
|
omnivore.geojson(L.contao.applyFilterToUrl(this.options.requestUrl, e.target), null, dataLayer);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<IfModule !mod_authz_core.c>
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
</IfModule>
|
|
||||||
<IfModule mod_authz_core.c>
|
|
||||||
Require all granted
|
|
||||||
</IfModule>
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
|
|
||||||
.tl_listing_container.tree_view ul > li.tl_file {
|
|
||||||
background: url('./../img/fol-placeholder.gif') no-repeat 6px 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tl_listing_container.tree_view ul > li.tl_file > div {
|
|
||||||
line-height: 18px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tl_listing_container.tree_view > ul > li.tl_file {
|
|
||||||
padding-left: 26px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tl_listing_container.tree_view ul > li.parent > ul {
|
|
||||||
padding-left: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tl_listing_container.tree_view ul > li > .tl_left > a {
|
|
||||||
margin-left: -20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tl_listing_container.tree_view ul[class="level_1"] li.tl_file > .tl_left {
|
|
||||||
padding-left: 20px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.long .tl_text_2 {
|
|
||||||
width: 325px;
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
requires[] = 'toolkit'
|
|
||||||
@@ -1,21 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
TemplateLoader::addFiles(
|
|
||||||
array(
|
|
||||||
'ce_leaflet_map' => 'system/modules/leaflet/templates',
|
|
||||||
'leaflet_map_js' => 'system/modules/leaflet/templates',
|
|
||||||
'leaflet_map_html' => 'system/modules/leaflet/templates',
|
|
||||||
'mod_leaflet_map' => 'system/modules/leaflet/templates',
|
|
||||||
'be_leaflet_geocode' => 'system/modules/leaflet/templates',
|
|
||||||
'be_leaflet_about' => 'system/modules/leaflet/templates',
|
|
||||||
)
|
|
||||||
);
|
|
||||||
@@ -1,382 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Backend module.
|
|
||||||
*/
|
|
||||||
array_insert(
|
|
||||||
$GLOBALS['BE_MOD'],
|
|
||||||
1,
|
|
||||||
array(
|
|
||||||
'leaflet' => array
|
|
||||||
(
|
|
||||||
'leaflet_map' => array
|
|
||||||
(
|
|
||||||
'tables' => array
|
|
||||||
(
|
|
||||||
'tl_leaflet_map',
|
|
||||||
'tl_leaflet_control',
|
|
||||||
),
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/map.png',
|
|
||||||
'stylesheet' => 'system/modules/leaflet/assets/css/backend.css',
|
|
||||||
),
|
|
||||||
'leaflet_layer' => array
|
|
||||||
(
|
|
||||||
'tables' => array
|
|
||||||
(
|
|
||||||
'tl_leaflet_layer',
|
|
||||||
'tl_leaflet_marker',
|
|
||||||
'tl_leaflet_vector',
|
|
||||||
'tl_leaflet_icon',
|
|
||||||
'tl_leaflet_style',
|
|
||||||
'tl_leaflet_popup',
|
|
||||||
),
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/layers.png',
|
|
||||||
'stylesheet' => 'system/modules/leaflet/assets/css/backend.css',
|
|
||||||
),
|
|
||||||
'leaflet_about' => array
|
|
||||||
(
|
|
||||||
'callback' => 'Netzmacht\Contao\Leaflet\Backend\About',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/about.png',
|
|
||||||
'stylesheet' => 'system/modules/leaflet/assets/css/about.css',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Content elements.
|
|
||||||
*/
|
|
||||||
$GLOBALS['TL_CTE']['includes']['leaflet'] = 'Netzmacht\Contao\Toolkit\Component\ContentElement\ContentElementDecorator';
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Frontend modules
|
|
||||||
*/
|
|
||||||
$GLOBALS['FE_MOD']['includes']['leaflet'] = 'Netzmacht\Contao\Toolkit\Component\Module\ModuleDecorator';
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Models.
|
|
||||||
*/
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_control'] = 'Netzmacht\Contao\Leaflet\Model\ControlModel';
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_icon'] = 'Netzmacht\Contao\Leaflet\Model\IconModel';
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_layer'] = 'Netzmacht\Contao\Leaflet\Model\LayerModel';
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_map'] = 'Netzmacht\Contao\Leaflet\Model\MapModel';
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_marker'] = 'Netzmacht\Contao\Leaflet\Model\MarkerModel';
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_popup'] = 'Netzmacht\Contao\Leaflet\Model\PopupModel';
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_style'] = 'Netzmacht\Contao\Leaflet\Model\StyleModel';
|
|
||||||
$GLOBALS['TL_MODELS']['tl_leaflet_vector'] = 'Netzmacht\Contao\Leaflet\Model\VectorModel';
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet mappers.
|
|
||||||
*
|
|
||||||
* Mappers do the translations between the database models and the leaflet definition.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'] = array();
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\MapMapper';
|
|
||||||
|
|
||||||
// Layer mappers.
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Layer\TileLayerMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new \Netzmacht\Contao\Leaflet\Mapper\Layer\ProviderLayerMapper(
|
|
||||||
$GLOBALS['LEAFLET_TILE_PROVIDERS']
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Layer\MarkersLayerMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Layer\GroupLayerMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Layer\VectorsLayerMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Layer\ReferenceLayerMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Layer\OverpassLayerMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new \Netzmacht\Contao\Leaflet\Mapper\Layer\MarkerClusterLayerMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::MAP_ASSETS]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Control mappers.
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\ZoomControlMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\ScaleControlMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\LayersControlMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\AttributionControlMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\LoadingControlMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Control\FullscreenControlMapper';
|
|
||||||
|
|
||||||
// Vector mappers.
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolylineMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolylineMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolygonMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\RectangleMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
// Miscellaneous mappers.
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\UI\PopupMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Type\ImageIconMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Type\DivIconMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Type\ExtraMarkersIconMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = 'Netzmacht\Contao\Leaflet\Mapper\Style\FixedStyleMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function () {
|
|
||||||
return new \Netzmacht\Contao\Leaflet\Mapper\UI\MarkerMapper(
|
|
||||||
$GLOBALS['container'][\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::FRONTEND_VALUE_FILTER]
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet encoders.
|
|
||||||
*
|
|
||||||
* The encoders transforms the definitions into javascript. The encoders has to be an implementation of the
|
|
||||||
* EventDispatcherInterface of the event dispatcher.
|
|
||||||
*
|
|
||||||
* You can define the encoders using the syntax of the cca event dispatcher implementation.
|
|
||||||
*
|
|
||||||
* @see https://github.com/contao-community-alliance/event-dispatcher#event-subscriber-per-configuration
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'] = array();
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\LeafletPHP\Encoder\MapEncoder';
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\LeafletPHP\Encoder\ControlEncoder';
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\LeafletPHP\Encoder\GroupEncoder';
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\LeafletPHP\Encoder\RasterEncoder';
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\LeafletPHP\Encoder\VectorEncoder';
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\LeafletPHP\Encoder\UIEncoder';
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\LeafletPHP\Encoder\TypeEncoder';
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'][] = 'Netzmacht\Contao\Leaflet\Subscriber\EncoderSubscriber';
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet layer types.
|
|
||||||
*
|
|
||||||
* The type is used for the database driven definitions.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_LAYERS'] = array
|
|
||||||
(
|
|
||||||
'provider' => array
|
|
||||||
(
|
|
||||||
'children' => false,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/provider.png',
|
|
||||||
'label' => function ($row, $label) {
|
|
||||||
if (!empty($GLOBALS['TL_LANG']['leaflet_provider'][$row['tile_provider']][0])) {
|
|
||||||
$provider = $GLOBALS['TL_LANG']['leaflet_provider'][$row['tile_provider']][0];
|
|
||||||
} else {
|
|
||||||
$provider = $row['tile_provider'];
|
|
||||||
}
|
|
||||||
|
|
||||||
$label .= sprintf('<span class="tl_gray"> (%s)</span>', $provider);
|
|
||||||
|
|
||||||
return $label;
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'group' => array
|
|
||||||
(
|
|
||||||
'children' => true,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/group.png',
|
|
||||||
),
|
|
||||||
'markers' => array
|
|
||||||
(
|
|
||||||
'children' => false,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/markers.png',
|
|
||||||
'markers' => true,
|
|
||||||
'boundsMode' => array(
|
|
||||||
'extend' => true,
|
|
||||||
'fit' => 'deferred'
|
|
||||||
),
|
|
||||||
'label' => function ($row, $label) {
|
|
||||||
$count = \Netzmacht\Contao\Leaflet\Model\MarkerModel::countBy('pid', $row['id']);
|
|
||||||
$label .= sprintf(
|
|
||||||
'<span class="tl_gray"> (%s %s)</span>',
|
|
||||||
$count,
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['countEntries']
|
|
||||||
);
|
|
||||||
|
|
||||||
return $label;
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'vectors' => array
|
|
||||||
(
|
|
||||||
'children' => false,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/vectors.png',
|
|
||||||
'vectors' => true,
|
|
||||||
'boundsMode' => array(
|
|
||||||
'extend' => true,
|
|
||||||
),
|
|
||||||
'label' => function ($row, $label) {
|
|
||||||
$count = \Netzmacht\Contao\Leaflet\Model\VectorModel::countBy('pid', $row['id']);
|
|
||||||
$label .= sprintf(
|
|
||||||
'<span class="tl_gray"> (%s %s)</span>',
|
|
||||||
$count,
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['countEntries']
|
|
||||||
);
|
|
||||||
|
|
||||||
return $label;
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'reference' => array
|
|
||||||
(
|
|
||||||
'children' => false,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/reference.png',
|
|
||||||
'label' => function ($row, $label) {
|
|
||||||
$reference = \Netzmacht\Contao\Leaflet\Model\LayerModel::findByPk($row['reference']);
|
|
||||||
|
|
||||||
if ($reference) {
|
|
||||||
$label .= '<span class="tl_gray"> (' . $reference->title . ')</span>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return $label;
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'markercluster' => array
|
|
||||||
(
|
|
||||||
'children' => true,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/cluster.png',
|
|
||||||
),
|
|
||||||
'tile' => array(
|
|
||||||
'children' => false,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/tile.png',
|
|
||||||
),
|
|
||||||
'overpass' => array(
|
|
||||||
'children' => false,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/overpass.png',
|
|
||||||
'label' => function ($row, $label) {
|
|
||||||
if ($row['overpassQuery']) {
|
|
||||||
$label .= '<span class="tl_gray"> ' . \StringUtil::substr($row['overpassQuery'], 50) . '</span>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return $label;
|
|
||||||
},
|
|
||||||
'boundsMode' => array(
|
|
||||||
'extend' => true,
|
|
||||||
'fit' => true,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* leaflet controls.
|
|
||||||
*
|
|
||||||
* Supported leaflet control types. Register your type for the database driven definition here.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_CONTROLS'] = array('zoom', 'layers', 'scale', 'attribution', 'loading', 'fullscreen');
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet icons.
|
|
||||||
*
|
|
||||||
* Supported leaflet icon types. Register you type for the database driven definition here.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_ICONS'] = array('image', 'div', 'extra');
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The style concept is not part of the LeafletJS library. Styles are extracted from the Path options. Instead
|
|
||||||
* of defining the style for every vector again, manage them at one place.
|
|
||||||
*
|
|
||||||
* The goal is to provide different style strategies. For instance a random style chooser, one which uses a color
|
|
||||||
* range and so one.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_STYLES'] = array('fixed');
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet vectors.
|
|
||||||
*
|
|
||||||
* Supported leaflet vector types. Register you type for the database driven definition here.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_VECTORS'] = array
|
|
||||||
(
|
|
||||||
'polyline',
|
|
||||||
'polygon',
|
|
||||||
'multiPolyline',
|
|
||||||
'multiPolygon',
|
|
||||||
'rectangle',
|
|
||||||
'circle',
|
|
||||||
'circleMarker'
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet tile layer providers.
|
|
||||||
*/
|
|
||||||
require_once TL_ROOT . '/system/modules/leaflet/config/leaflet_providers.php';
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet assets.
|
|
||||||
*
|
|
||||||
* The leaflet definition are aware of the required javascript libraries. Register the assets so that they are
|
|
||||||
* loaded automatically.
|
|
||||||
*
|
|
||||||
* Each entry is an array of 2 values. The first is the resource. The second is a type. Supported types are:
|
|
||||||
* - url: An valid url.
|
|
||||||
* - file: An file path relative to the Contao Root.
|
|
||||||
* - source: Inline css/javascript.
|
|
||||||
*
|
|
||||||
* You don't have to define it as array if you simply add a file. Do not add |static and or media type flag to it.
|
|
||||||
* It's getting added by default if not being in debug mode.
|
|
||||||
*/
|
|
||||||
if (!isset($GLOBALS['LEAFLET_LIBRARIES'])) {
|
|
||||||
$GLOBALS['LEAFLET_LIBRARIES'] = array();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* When creating a GeoJSON feature of a map object a feature.properties.model object is passed.
|
|
||||||
* Define the properties you always want to set.
|
|
||||||
*
|
|
||||||
* For more control you can subscribe the ConvertToGeoJsonEvent.
|
|
||||||
*
|
|
||||||
* The entry can be a string or an array. If an array is passed, the 2nd value is the type. Following types
|
|
||||||
* are supported.
|
|
||||||
* - array: Use deserialize before adding the value
|
|
||||||
* - file: Thread value a uuid and find the path.
|
|
||||||
* - files: Thread values as a list of file uuids and get an array of paths.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_FEATURE_MODEL_PROPERTIES']['tl_leaflet_marker'][] = 'id';
|
|
||||||
$GLOBALS['LEAFLET_FEATURE_MODEL_PROPERTIES']['tl_leaflet_marker'][] = 'title';
|
|
||||||
$GLOBALS['LEAFLET_FEATURE_MODEL_PROPERTIES']['tl_leaflet_marker'][] = 'alias';
|
|
||||||
|
|
||||||
$GLOBALS['LEAFLET_FEATURE_MODEL_PROPERTIES']['tl_leaflet_vector'][] = 'id';
|
|
||||||
$GLOBALS['LEAFLET_FEATURE_MODEL_PROPERTIES']['tl_leaflet_vector'][] = 'title';
|
|
||||||
$GLOBALS['LEAFLET_FEATURE_MODEL_PROPERTIES']['tl_leaflet_vector'][] = 'alias';
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Filters can be passed to a data request to get only specific data from a layer.
|
|
||||||
*/
|
|
||||||
$GLOBALS['LEAFLET_FILTERS']['bbox'] = 'Netzmacht\Contao\Leaflet\Filter\BboxFilter';
|
|
||||||
$GLOBALS['LEAFLET_FILTERS']['distance'] = 'Netzmacht\Contao\Leaflet\Filter\DistanceFilter';
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
return array(
|
|
||||||
$GLOBALS['container']['leaflet.boot.subscriber'],
|
|
||||||
'Netzmacht\Contao\Leaflet\Subscriber\HashSubscriber',
|
|
||||||
$GLOBALS['container']['leaflet.subscriber.geo-json'],
|
|
||||||
);
|
|
||||||
@@ -1,213 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
return [
|
|
||||||
'administration',
|
|
||||||
'advertising',
|
|
||||||
'alm',
|
|
||||||
'animal_boarding',
|
|
||||||
'animal_breeding',
|
|
||||||
'animal_shelter',
|
|
||||||
'architect_office',
|
|
||||||
'arts_centre',
|
|
||||||
'artwork',
|
|
||||||
'atm',
|
|
||||||
'audiologist',
|
|
||||||
'baby_hatch',
|
|
||||||
'bank',
|
|
||||||
'bar',
|
|
||||||
'bbq',
|
|
||||||
'bench',
|
|
||||||
'bicycle_parking',
|
|
||||||
'bicycle_rental',
|
|
||||||
'bicycle_repair_station',
|
|
||||||
'bicycle_trailer_sharing',
|
|
||||||
'biergarten',
|
|
||||||
'bikeshed',
|
|
||||||
'boat_rental',
|
|
||||||
'boat_sharing',
|
|
||||||
'boat_storage',
|
|
||||||
'brothel',
|
|
||||||
'bts',
|
|
||||||
'bureau_de_change',
|
|
||||||
'bus_station',
|
|
||||||
'cafe',
|
|
||||||
'canoe_hire',
|
|
||||||
'car_rental',
|
|
||||||
'car_repair',
|
|
||||||
'car_sharing',
|
|
||||||
'car_wash',
|
|
||||||
'casino',
|
|
||||||
'charging_station',
|
|
||||||
'childcare',
|
|
||||||
'cinema',
|
|
||||||
'citymap_post',
|
|
||||||
'clinic',
|
|
||||||
'clock',
|
|
||||||
'club',
|
|
||||||
'coast_guard',
|
|
||||||
'coast_radar_station',
|
|
||||||
'college',
|
|
||||||
'community_center',
|
|
||||||
'community_centre',
|
|
||||||
'compressed_air',
|
|
||||||
'concert_hall',
|
|
||||||
'conference_centre',
|
|
||||||
'courthouse',
|
|
||||||
'coworking_space',
|
|
||||||
'crematorium',
|
|
||||||
'crucifix',
|
|
||||||
'crypt',
|
|
||||||
'customs',
|
|
||||||
'dancing_school',
|
|
||||||
'dead_pub',
|
|
||||||
'dentist',
|
|
||||||
'disused',
|
|
||||||
'dive_centre',
|
|
||||||
'doctors',
|
|
||||||
'dog_bin',
|
|
||||||
'dog_waste_bin',
|
|
||||||
'dojo',
|
|
||||||
'drinking_water',
|
|
||||||
'_driving_school',
|
|
||||||
'education',
|
|
||||||
'embassy',
|
|
||||||
'emergency_phone',
|
|
||||||
'emergency_service',
|
|
||||||
'events_venue',
|
|
||||||
'ev_charging',
|
|
||||||
'exhibition_centre',
|
|
||||||
'fast_food',
|
|
||||||
'ferry_terminal',
|
|
||||||
'festival_grounds',
|
|
||||||
'financial_advice',
|
|
||||||
'fire_hydrant',
|
|
||||||
'fire_station',
|
|
||||||
'first_aid',
|
|
||||||
'fish_spa',
|
|
||||||
'food_court',
|
|
||||||
'fountain',
|
|
||||||
'fuel',
|
|
||||||
'gambling',
|
|
||||||
'game_feeding',
|
|
||||||
'garages',
|
|
||||||
'grave_yard',
|
|
||||||
'grit_bin',
|
|
||||||
'harbourmaster',
|
|
||||||
'hospice',
|
|
||||||
'hospital',
|
|
||||||
'hotel',
|
|
||||||
'hunting_stand',
|
|
||||||
'ice_cream',
|
|
||||||
'internet_cafe',
|
|
||||||
'jobcentre',
|
|
||||||
'kindergarten',
|
|
||||||
'kiosk',
|
|
||||||
'kitchen',
|
|
||||||
'Kneippbecken',
|
|
||||||
'kneipp_water_cure',
|
|
||||||
'language_school',
|
|
||||||
'lavoir',
|
|
||||||
'library',
|
|
||||||
'lifeboat_station',
|
|
||||||
'life_ring',
|
|
||||||
'loading_dock',
|
|
||||||
'love_hotel',
|
|
||||||
'marae',
|
|
||||||
'marketplace',
|
|
||||||
'milk_dispenser',
|
|
||||||
'mobile_library',
|
|
||||||
'monastery',
|
|
||||||
'money_transfer',
|
|
||||||
'mortuary',
|
|
||||||
'motorcycle_parking',
|
|
||||||
'motorcycle_rental',
|
|
||||||
'music_school',
|
|
||||||
'music_venue',
|
|
||||||
'nameplate',
|
|
||||||
'nightclub',
|
|
||||||
'nursery',
|
|
||||||
'nursing_home',
|
|
||||||
'park',
|
|
||||||
'parking',
|
|
||||||
'parking_entrance',
|
|
||||||
'parking_space',
|
|
||||||
'pharmacy',
|
|
||||||
'photo_booth',
|
|
||||||
'place_of_worship',
|
|
||||||
'planetarium',
|
|
||||||
'police',
|
|
||||||
'post_box',
|
|
||||||
'post_office',
|
|
||||||
'preschool',
|
|
||||||
'printer',
|
|
||||||
'prison',
|
|
||||||
'prison_camp',
|
|
||||||
'proposed',
|
|
||||||
'pub',
|
|
||||||
'public_bath',
|
|
||||||
'public_bookcase',
|
|
||||||
'public_building',
|
|
||||||
'public_hall',
|
|
||||||
'ranger_station',
|
|
||||||
'recycling',
|
|
||||||
'refugee_housing',
|
|
||||||
'register_office',
|
|
||||||
'rescue_box',
|
|
||||||
'rescue_station',
|
|
||||||
'research_institute',
|
|
||||||
'restaurant',
|
|
||||||
'retirement_home',
|
|
||||||
'sanatorium',
|
|
||||||
'sanitary_dump_station',
|
|
||||||
'sauna',
|
|
||||||
'school',
|
|
||||||
'scout_hut',
|
|
||||||
'shelter',
|
|
||||||
'shop',
|
|
||||||
'shower',
|
|
||||||
'ski_school',
|
|
||||||
'smoking_area',
|
|
||||||
'social_centre',
|
|
||||||
'social_facility',
|
|
||||||
'spa',
|
|
||||||
'stables',
|
|
||||||
'stripclub',
|
|
||||||
'studio',
|
|
||||||
'swimming_pool',
|
|
||||||
'swingerclub',
|
|
||||||
'table',
|
|
||||||
'taxi',
|
|
||||||
'telephone',
|
|
||||||
'theatre',
|
|
||||||
'ticket_booth',
|
|
||||||
'ticket_validator',
|
|
||||||
'toilets',
|
|
||||||
'townhall',
|
|
||||||
'trolley_bay',
|
|
||||||
'university',
|
|
||||||
'vacuum_cleaner',
|
|
||||||
'vehicle_inspection',
|
|
||||||
'vending_machine',
|
|
||||||
'veterinary',
|
|
||||||
'vivarium',
|
|
||||||
'wash_center',
|
|
||||||
'waste_basket',
|
|
||||||
'waste_disposal',
|
|
||||||
'waste_transfer_station',
|
|
||||||
'water',
|
|
||||||
'watering_place',
|
|
||||||
'water_point',
|
|
||||||
'weighbridge',
|
|
||||||
'winery',
|
|
||||||
'yacht_club',
|
|
||||||
'youth_centre',
|
|
||||||
];
|
|
||||||
@@ -1,181 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Support all providers and variants which are supported by leaflet-providers.
|
|
||||||
* See https://github.com/leaflet-extras/leaflet-providers/blob/master/leaflet-providers.js
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['LEAFLET_TILE_PROVIDERS'] = array
|
|
||||||
(
|
|
||||||
'OpenStreetMap' => array
|
|
||||||
(
|
|
||||||
'variants' => array('Mapnik', 'BlackAndWhite', 'DE', 'France', 'HOT', 'BZH'),
|
|
||||||
),
|
|
||||||
'OpenSeaMap' => array(),
|
|
||||||
'OpenTopoMap' => array(),
|
|
||||||
'Thunderforest' => array
|
|
||||||
(
|
|
||||||
'variants' => array(
|
|
||||||
'OpenCycleMap',
|
|
||||||
'Transport',
|
|
||||||
'TransportDark',
|
|
||||||
'SpinalMap',
|
|
||||||
'Landscape',
|
|
||||||
'Outdoors',
|
|
||||||
'Pioneer'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'OpenMapSurfer' => array
|
|
||||||
(
|
|
||||||
'variants' => array('Roads', 'AdminBounds', 'Grayscale')
|
|
||||||
),
|
|
||||||
'Hydda' => array(
|
|
||||||
'variants' => array('Full', 'Base', 'RoadsAndLabels')
|
|
||||||
),
|
|
||||||
'MapBox' => array(
|
|
||||||
'class' => 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\MapBoxProvider',
|
|
||||||
'options' => array(
|
|
||||||
'key' => 'tile_provider_key'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'Stamen' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'Toner',
|
|
||||||
'TonerBackground',
|
|
||||||
'TonerHybrid',
|
|
||||||
'TonerLines',
|
|
||||||
'TonerLabels',
|
|
||||||
'TonerLite',
|
|
||||||
'Terrain',
|
|
||||||
'TerrainBackground',
|
|
||||||
'TopOSMRelief',
|
|
||||||
'TopOSMFeatures',
|
|
||||||
'Watercolor'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'Esri' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'WorldStreetMap',
|
|
||||||
'DeLorme',
|
|
||||||
'WorldTopoMap',
|
|
||||||
'WorldImagery',
|
|
||||||
'WorldTerrain',
|
|
||||||
'WorldShadedRelief',
|
|
||||||
'WorldPhysical',
|
|
||||||
'OceanBasemap',
|
|
||||||
'NatGeoWorldMap',
|
|
||||||
'WorldGrayCanvas'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'OpenWeatherMap' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'Clouds',
|
|
||||||
'CloudsClassic',
|
|
||||||
'Precipitation',
|
|
||||||
'PrecipitationClassic',
|
|
||||||
'Rain',
|
|
||||||
'RainClassic',
|
|
||||||
'Pressure',
|
|
||||||
'PressureContour',
|
|
||||||
'Wind',
|
|
||||||
'Temperature',
|
|
||||||
'Snow'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'HERE' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'normalDay',
|
|
||||||
'normalDayCustom',
|
|
||||||
'normalDayGrey',
|
|
||||||
'normalDayMobile',
|
|
||||||
'normalDayGreyMobile',
|
|
||||||
'normalDayTransit',
|
|
||||||
'normalDayTransitMobile',
|
|
||||||
'normalNight',
|
|
||||||
'normalNightMobile',
|
|
||||||
'normalNightGrey',
|
|
||||||
'normalNightGreyMobile',
|
|
||||||
'basicMap',
|
|
||||||
'mapLabels',
|
|
||||||
'trafficFlow',
|
|
||||||
'carnavDayGrey',
|
|
||||||
'hybridDay',
|
|
||||||
'hybridDayMobile',
|
|
||||||
'pedestrianDay',
|
|
||||||
'pedestrianNight',
|
|
||||||
'satelliteDay',
|
|
||||||
'terrainDay',
|
|
||||||
'terrainDayMobile',
|
|
||||||
),
|
|
||||||
'options' => array(
|
|
||||||
'appId' => 'tile_provider_key',
|
|
||||||
'appCode' => 'tile_provider_code',
|
|
||||||
),
|
|
||||||
'fields' => array('tile_provider_key', 'tile_provider_code'),
|
|
||||||
'class' => 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\HereProvider',
|
|
||||||
),
|
|
||||||
'JusticeMap' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'income',
|
|
||||||
'americanIndian',
|
|
||||||
'asian',
|
|
||||||
'black',
|
|
||||||
'hispanic',
|
|
||||||
'multi',
|
|
||||||
'nonWhite',
|
|
||||||
'white',
|
|
||||||
'plurality'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'FreeMapSK' => array(),
|
|
||||||
'MtbMap' => array(),
|
|
||||||
'CartoDB' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'Positron',
|
|
||||||
'PositronNoLabels',
|
|
||||||
'PositronOnlyLabels',
|
|
||||||
'DarkMatter',
|
|
||||||
'DarkMatterNoLabels',
|
|
||||||
'DarkMatterOnlyLabels',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'HikeBike' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'HikeBike',
|
|
||||||
'HillShading',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'BasemapAT' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'basemap',
|
|
||||||
'grau',
|
|
||||||
'overlay',
|
|
||||||
'highdpi',
|
|
||||||
'orthofoto',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'nlmaps' => array(
|
|
||||||
'variants' => array('standaard', 'pastel', 'grijs', 'luchtfoto')
|
|
||||||
),
|
|
||||||
'NASAGIBS' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'ModisTerraTrueColorCR',
|
|
||||||
'ModisTerraBands367CR',
|
|
||||||
'ViirsEarthAtNight2012',
|
|
||||||
'ModisTerraLSTDay',
|
|
||||||
'ModisTerraSnowCover',
|
|
||||||
'ModisTerraAOD',
|
|
||||||
'ModisTerraChlorophyll',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'NLS' => array()
|
|
||||||
);
|
|
||||||
@@ -1,361 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
use Doctrine\Common\Cache\ArrayCache;
|
|
||||||
use Doctrine\Common\Cache\FilesystemCache;
|
|
||||||
use Interop\Container\ContainerInterface;
|
|
||||||
use Netzmacht\Contao\Leaflet\Alias\DefaultAliasFilter;
|
|
||||||
use Netzmacht\Contao\Leaflet\Boot;
|
|
||||||
use Netzmacht\Contao\Leaflet\ContaoAssets;
|
|
||||||
use Netzmacht\Contao\Leaflet\Dca\ControlCallbacks;
|
|
||||||
use Netzmacht\Contao\Leaflet\Dca\FrontendIntegration;
|
|
||||||
use Netzmacht\Contao\Leaflet\Dca\LayerCallbacks;
|
|
||||||
use Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks;
|
|
||||||
use Netzmacht\Contao\Leaflet\Dca\MapCallbacks;
|
|
||||||
use Netzmacht\Contao\Leaflet\Dca\Validator;
|
|
||||||
use Netzmacht\Contao\Leaflet\Dca\VectorCallbacks;
|
|
||||||
use Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices;
|
|
||||||
use Netzmacht\Contao\Leaflet\Frontend\MapElement;
|
|
||||||
use Netzmacht\Contao\Leaflet\Frontend\MapModule;
|
|
||||||
use Netzmacht\Contao\Leaflet\Frontend\ValueFilter;
|
|
||||||
use Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper;
|
|
||||||
use Netzmacht\Contao\Leaflet\MapProvider;
|
|
||||||
use Netzmacht\Contao\Leaflet\Subscriber\BootSubscriber;
|
|
||||||
use Netzmacht\Contao\Leaflet\Subscriber\GeoJsonSubscriber;
|
|
||||||
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\ExistingAliasFilter;
|
|
||||||
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SlugifyFilter;
|
|
||||||
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SuffixFilter;
|
|
||||||
use Netzmacht\Contao\Toolkit\Data\Alias\FilterBasedAliasGenerator;
|
|
||||||
use Netzmacht\Contao\Toolkit\Data\Alias\Validator\UniqueDatabaseValueValidator;
|
|
||||||
use Netzmacht\Contao\Toolkit\DependencyInjection\Services;
|
|
||||||
use Netzmacht\JavascriptBuilder\Builder;
|
|
||||||
use Netzmacht\JavascriptBuilder\Encoder\ChainEncoder;
|
|
||||||
use Netzmacht\JavascriptBuilder\Encoder\JavascriptEncoder;
|
|
||||||
use Netzmacht\JavascriptBuilder\Encoder\MultipleObjectsEncoder;
|
|
||||||
use Netzmacht\JavascriptBuilder\Flags;
|
|
||||||
use Netzmacht\JavascriptBuilder\Output;
|
|
||||||
use Netzmacht\JavascriptBuilder\Symfony\EventDispatchingEncoder;
|
|
||||||
use Netzmacht\LeafletPHP\Leaflet;
|
|
||||||
use Symfony\Component\EventDispatcher\EventDispatcher;
|
|
||||||
|
|
||||||
/** @var \Pimple $container */
|
|
||||||
global $container;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Leaflet map provider is a simply api entry to to get the leaflet map from the database.
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::MAP_PROVIDER] = $container->share(function ($container) {
|
|
||||||
return new MapProvider(
|
|
||||||
$container[LeafletServices::DEFINITION_MAPPER],
|
|
||||||
$container[LeafletServices::DEFINITION_BUILDER],
|
|
||||||
$container[Services::EVENT_DISPATCHER],
|
|
||||||
$container[Services::INPUT],
|
|
||||||
$container[LeafletServices::MAP_ASSETS],
|
|
||||||
$container[LeafletServices::CACHE],
|
|
||||||
$GLOBALS['LEAFLET_FILTERS'],
|
|
||||||
\Config::get('debugMode') || \Config::get('displayErrors')
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Contao assets handler. Loads Leaflet assets as contao (static) assets.
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::MAP_ASSETS] = $container->share(function ($container) {
|
|
||||||
return new ContaoAssets($container[Services::ASSETS_MANAGER]);
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The leaflet boot.
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::BOOT] = $container->share(function ($container) {
|
|
||||||
return new Boot($container[Services::EVENT_DISPATCHER]);
|
|
||||||
});
|
|
||||||
|
|
||||||
$container['leaflet.boot.subscriber'] = $container->share(function ($container) {
|
|
||||||
return new BootSubscriber(
|
|
||||||
$container[LeafletServices::MAP_ASSETS],
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'],
|
|
||||||
$GLOBALS['LEAFLET_ENCODERS'],
|
|
||||||
$GLOBALS['LEAFLET_LIBRARIES']
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The definition mapper.
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::DEFINITION_MAPPER] = $container->share(function ($container) {
|
|
||||||
/** @var Boot $boot */
|
|
||||||
$boot = $container[LeafletServices::BOOT];
|
|
||||||
$mapper = new DefinitionMapper($container[Services::EVENT_DISPATCHER]);
|
|
||||||
|
|
||||||
return $boot->initializeDefinitionMapper($mapper);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The local event dispatcher is used for the leaflet javascript encoding system.
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::DEFINITION_BUILDER_EVENT_DISPATCHER] = $container->share(function ($container) {
|
|
||||||
/** @var Boot $boot */
|
|
||||||
$boot = $container[LeafletServices::BOOT];
|
|
||||||
$dispatcher = new EventDispatcher();
|
|
||||||
|
|
||||||
return $boot->initializeEventDispatcher($dispatcher);
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The javascript encoder factory being used for building the map javascript.
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::DEFINITION_ENCODER_FACTORY] = function ($container) {
|
|
||||||
$dispatcher = $container[LeafletServices::DEFINITION_BUILDER_EVENT_DISPATCHER];
|
|
||||||
|
|
||||||
return function (Output $output) use ($dispatcher) {
|
|
||||||
$encoder = new ChainEncoder();
|
|
||||||
$encoder
|
|
||||||
->register(new MultipleObjectsEncoder())
|
|
||||||
->register(new EventDispatchingEncoder($dispatcher))
|
|
||||||
->register(new JavascriptEncoder($output, JSON_UNESCAPED_SLASHES));
|
|
||||||
|
|
||||||
return $encoder;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The leaflet builder transforms the definition to javascript.
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::DEFINITION_BUILDER] = $container->share(function($container) {
|
|
||||||
/** @var Boot $boot */
|
|
||||||
$boot = $container[LeafletServices::BOOT];
|
|
||||||
$dispatcher = $container[LeafletServices::DEFINITION_BUILDER_EVENT_DISPATCHER];
|
|
||||||
$factory = $container[LeafletServices::DEFINITION_ENCODER_FACTORY];
|
|
||||||
|
|
||||||
$builder = new Builder($factory);
|
|
||||||
$leaflet = new Leaflet($builder, $dispatcher, array(), JSON_UNESCAPED_SLASHES ^ Flags::BUILD_STACK);
|
|
||||||
|
|
||||||
return $boot->initializeLeafletBuilder($leaflet);
|
|
||||||
});
|
|
||||||
|
|
||||||
$container[LeafletServices::FRONTEND_VALUE_FILTER] = $container->share(function($container) {
|
|
||||||
return new ValueFilter($container[Services::INSERT_TAG_REPLACER]);
|
|
||||||
});
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Internal used leaflet cache.
|
|
||||||
*
|
|
||||||
* @var Cache
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::CACHE] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
if ($container[Services::PRODUCTION_MODE]) {
|
|
||||||
return new FilesystemCache(TL_ROOT . '/system/cache/leaflet');
|
|
||||||
} else {
|
|
||||||
return new ArrayCache();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Leaflet alias generator.
|
|
||||||
*
|
|
||||||
* @return \Netzmacht\Contao\Toolkit\Data\Alias\AliasGenerator
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::ALIAS_GENERATOR] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return function ($dataContainerName, $aliasField, $fields) use ($container) {
|
|
||||||
$filters = [
|
|
||||||
new ExistingAliasFilter(),
|
|
||||||
new SlugifyFilter($fields),
|
|
||||||
new DefaultAliasFilter($dataContainerName),
|
|
||||||
new SuffixFilter(),
|
|
||||||
];
|
|
||||||
|
|
||||||
$validator = new UniqueDatabaseValueValidator(
|
|
||||||
$container[Services::DATABASE_CONNECTION],
|
|
||||||
$dataContainerName,
|
|
||||||
$aliasField
|
|
||||||
);
|
|
||||||
|
|
||||||
return new FilterBasedAliasGenerator($filters, $validator, $dataContainerName, $aliasField, '_');
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Leaflet alias generator.
|
|
||||||
*
|
|
||||||
* @return \Netzmacht\Contao\Toolkit\Data\Alias\AliasGenerator
|
|
||||||
*/
|
|
||||||
$container[LeafletServices::PARENT_ALIAS_GENERATOR] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return function ($dataContainerName, $aliasField, $fields) use ($container) {
|
|
||||||
$filters = [
|
|
||||||
new ExistingAliasFilter(),
|
|
||||||
new SlugifyFilter($fields),
|
|
||||||
new DefaultAliasFilter($dataContainerName),
|
|
||||||
new SuffixFilter(),
|
|
||||||
];
|
|
||||||
|
|
||||||
$validator = new UniqueDatabaseValueValidator(
|
|
||||||
$container[Services::DATABASE_CONNECTION],
|
|
||||||
$dataContainerName,
|
|
||||||
$aliasField,
|
|
||||||
['pid']
|
|
||||||
);
|
|
||||||
|
|
||||||
return new FilterBasedAliasGenerator($filters, $validator, $dataContainerName, $aliasField, '_');
|
|
||||||
};
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Callback helper class for tl_leaflet_map.
|
|
||||||
*
|
|
||||||
* @return MapCallbacks
|
|
||||||
*/
|
|
||||||
$container['leaflet.dca.map-callbacks'] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return new MapCallbacks(
|
|
||||||
$container[Services::DCA_MANAGER],
|
|
||||||
$container[Services::DATABASE_CONNECTION]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Callback helper class for tl_leaflet_layer.
|
|
||||||
*
|
|
||||||
* @return LayerCallbacks
|
|
||||||
*/
|
|
||||||
$container['leaflet.dca.layer-callbacks'] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return new LayerCallbacks(
|
|
||||||
$container[Services::DCA_MANAGER],
|
|
||||||
$container[Services::DATABASE_CONNECTION],
|
|
||||||
$container[Services::TRANSLATOR],
|
|
||||||
$GLOBALS['LEAFLET_LAYERS'],
|
|
||||||
$GLOBALS['LEAFLET_TILE_PROVIDERS'],
|
|
||||||
require TL_ROOT . '/system/modules/leaflet/config/leaflet_amenities.php'
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Callback helper class for tl_leaflet_control.
|
|
||||||
*
|
|
||||||
* @return ControlCallbacks
|
|
||||||
*/
|
|
||||||
$container['leaflet.dca.control-callbacks'] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return new ControlCallbacks(
|
|
||||||
$container[Services::DCA_MANAGER],
|
|
||||||
$container[Services::DATABASE_CONNECTION]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Callback helper class for tl_leaflet_control.
|
|
||||||
*
|
|
||||||
* @return ControlCallbacks
|
|
||||||
*/
|
|
||||||
$container['leaflet.dca.vector-callbacks'] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return new VectorCallbacks($container[Services::DCA_MANAGER]);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Callback helper class for frontend integration.
|
|
||||||
*
|
|
||||||
* @return FrontendIntegration
|
|
||||||
*/
|
|
||||||
$container['leaflet.dca.frontend-integration'] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return new FrontendIntegration(
|
|
||||||
$container[Services::TRANSLATOR]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Common callback helpers.
|
|
||||||
*
|
|
||||||
* @return LeafletCallbacks
|
|
||||||
*/
|
|
||||||
$container['leaflet.dca.common'] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return new LeafletCallbacks(
|
|
||||||
$container[Services::FILE_SYSTEM]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Validator helper class.
|
|
||||||
*
|
|
||||||
* @return Validator
|
|
||||||
*/
|
|
||||||
$container['leaflet.dca.validator'] = $container->share(
|
|
||||||
function ($container) {
|
|
||||||
return new Validator(
|
|
||||||
$container[Services::TRANSLATOR]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Component factory for content element.
|
|
||||||
*
|
|
||||||
* @param ContentModel $model Content model.
|
|
||||||
* @param string $column Template section.
|
|
||||||
* @param ContainerInterface $container Container.
|
|
||||||
*
|
|
||||||
* @return MapElement
|
|
||||||
*/
|
|
||||||
$container[Services::CONTENT_ELEMENTS_MAP]['leaflet'] = function ($model, $column, ContainerInterface $container) {
|
|
||||||
return new MapElement(
|
|
||||||
$model,
|
|
||||||
$container->get(Services::TEMPLATE_FACTORY),
|
|
||||||
$container->get(Services::TRANSLATOR),
|
|
||||||
$container->get(LeafletServices::MAP_PROVIDER),
|
|
||||||
$container->get(Services::INPUT),
|
|
||||||
$container->get(Services::CONFIG),
|
|
||||||
$column
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Component factory for frontend module.
|
|
||||||
*
|
|
||||||
* @param ModuleModel $model Module model.
|
|
||||||
* @param string $column Template section.
|
|
||||||
* @param ContainerInterface $container Container.
|
|
||||||
*
|
|
||||||
* @return MapModule
|
|
||||||
*/
|
|
||||||
$container[Services::MODULES_MAP]['leaflet'] = function ($model, $column, ContainerInterface $container) {
|
|
||||||
return new MapModule(
|
|
||||||
$model,
|
|
||||||
$container->get(Services::TEMPLATE_FACTORY),
|
|
||||||
$container->get(Services::TRANSLATOR),
|
|
||||||
$container->get(LeafletServices::MAP_PROVIDER),
|
|
||||||
$container->get(Services::INPUT),
|
|
||||||
$container->get(Services::CONFIG),
|
|
||||||
$column
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
||||||
$container['leaflet.subscriber.geo-json'] = $container->share(function () {
|
|
||||||
return new GeoJsonSubscriber(
|
|
||||||
$GLOBALS['LEAFLET_FEATURE_MODEL_PROPERTIES']
|
|
||||||
);
|
|
||||||
});
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_content']['metapalettes']['leaflet'] = array(
|
|
||||||
'type' => array('type', 'headline'),
|
|
||||||
'leaflet' => array('leaflet_map', 'leaflet_mapId', 'leaflet_width', 'leaflet_height', 'leaflet_template'),
|
|
||||||
'templates' => array(':hide', 'customTpl'),
|
|
||||||
'protected' => array(':hide', 'protected'),
|
|
||||||
'expert' => array(':hide', 'guests', 'cssID', 'space'),
|
|
||||||
'invisible' => array(':hide', 'invisible', 'start', 'start')
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_map'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_map'],
|
|
||||||
'inputType' => 'select',
|
|
||||||
'exclude' => true,
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\FrontendIntegration::callback('getMaps'),
|
|
||||||
'wizard' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\FrontendIntegration::callback('getEditMapLink'),
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50 wizard',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_mapId'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_mapId'],
|
|
||||||
'inputType' => 'text',
|
|
||||||
'exclude' => true,
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'maxlength' => 16,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(16) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_width'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_width'],
|
|
||||||
'inputType' => 'inputUnit',
|
|
||||||
'options' => array('px', '%', 'em', 'pt', 'pc', 'in', 'cm', 'mm'),
|
|
||||||
'search' => false,
|
|
||||||
'exclude' => true,
|
|
||||||
'eval' => array('rgxp' => 'digit', 'tl_class' => 'clr w50'),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_height'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_height'],
|
|
||||||
'inputType' => 'inputUnit',
|
|
||||||
'options' => array('px', '%', 'em', 'pt', 'pc', 'in', 'cm', 'mm'),
|
|
||||||
'search' => false,
|
|
||||||
'exclude' => true,
|
|
||||||
'eval' => array('rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_template'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_template'],
|
|
||||||
'inputType' => 'select',
|
|
||||||
'exclude' => true,
|
|
||||||
'options_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::getTemplates('leaflet_map_js'),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
@@ -1,439 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
\Controller::loadLanguageFile('leaflet');
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_control'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'ptable' => 'tl_leaflet_map',
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'pid' => 'index',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
|
|
||||||
// List
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 4,
|
|
||||||
'fields' => array('sorting'),
|
|
||||||
'headerFields' => array('title'),
|
|
||||||
'flag' => 1,
|
|
||||||
'sorting' => 2,
|
|
||||||
'panelLayout' => 'filter,sort;search,limit',
|
|
||||||
'child_record_callback' => \Netzmacht\Contao\Leaflet\Dca\ControlCallbacks::callback('generateRow'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title'),
|
|
||||||
'format' => '%s',
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'header.gif'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'toggle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['toggle'],
|
|
||||||
'icon' => 'visible.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::stateButton('tl_leaflet_control', 'active')
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'palettes' => array(
|
|
||||||
'__selector__' => array('type')
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'name' => array('title', 'alias', 'type', 'position'),
|
|
||||||
'config' => array(),
|
|
||||||
'active' => array('active'),
|
|
||||||
),
|
|
||||||
'zoom extends default' => array(
|
|
||||||
'config' => array('zoomInText', 'zoomOutText', 'zoomInTitle', 'zoomOutTitle'),
|
|
||||||
),
|
|
||||||
'layers extends default' => array(
|
|
||||||
'config' => array('layers', 'collapsed', 'autoZIndex')
|
|
||||||
),
|
|
||||||
'scale extends default' => array(
|
|
||||||
'config' => array('maxWidth', 'metric', 'imperial', 'updateWhenIdle')
|
|
||||||
),
|
|
||||||
'attribution extends default' => array(
|
|
||||||
'config' => array('attributions', 'prefix', 'disableDefault')
|
|
||||||
),
|
|
||||||
'loading extends default' => array(
|
|
||||||
'config' => array('separate', 'zoomControl', 'spinjs')
|
|
||||||
),
|
|
||||||
'fullscreen extends default' => array(
|
|
||||||
'config' => array('buttonTitle', 'separate', 'simulateFullScreen')
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'spinjs' => array('spin')
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'pid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
'sorting' => true,
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'sorting' => true,
|
|
||||||
'search' => true,
|
|
||||||
'flag' => 1,
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'search' => true,
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_control',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::PARENT_ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'type' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['type'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'chosen' => true,
|
|
||||||
'helpwizard' => true,
|
|
||||||
),
|
|
||||||
'options' => $GLOBALS['LEAFLET_CONTROLS'],
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['leaflet_control'],
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'position' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['position'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'options' => array('topleft', 'topright', 'bottomleft', 'bottomright'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_control'],
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'helpwizard' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'active' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['active'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'filter' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''",
|
|
||||||
'save_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
'zoomInText' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'zoomOutText' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'zoomInTitle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInTitle'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'zoomOutTitle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutTitle'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'collapsed' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['collapsed'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => '1',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'autoZIndex' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['autoZIndex'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => '1',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'layers' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['layers'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'multiColumnWizard',
|
|
||||||
'load_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\ControlCallbacks::callback('loadLayerRelations'),
|
|
||||||
),
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\ControlCallbacks::callback('saveLayerRelations'),
|
|
||||||
),
|
|
||||||
'eval' => array
|
|
||||||
(
|
|
||||||
'tl_class' => 'clr',
|
|
||||||
'columnFields' => array
|
|
||||||
(
|
|
||||||
'layer' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['layer'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\ControlCallbacks::callback('getLayers'),
|
|
||||||
'eval' => array(
|
|
||||||
'style' => 'width: 300px',
|
|
||||||
'chosen' => true,
|
|
||||||
'includeBlankOption' => true
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'mode' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['layerMode'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options' => array('base', 'overlay'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_control'],
|
|
||||||
'eval' => array(
|
|
||||||
'style' => 'width: 200px',
|
|
||||||
'helpwizard' => true,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'sql' => "mediumblob NULL"
|
|
||||||
),
|
|
||||||
'maxWidth' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['maxWidth'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 100,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'rgxp' => 'digit'),
|
|
||||||
'sql' => "int(5) NOT NULL default '100'"
|
|
||||||
),
|
|
||||||
'metric' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['metric'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => '1',
|
|
||||||
'eval' => array('tl_class' => 'w50 clr'),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'imperial' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['imperial'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => '1',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'updateWhenIdle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['updateWhenIdle'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'prefix' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['prefix'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'attributions' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['attributions'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'listWizard',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'clr', 'allowHtml' => true),
|
|
||||||
'sql' => "mediumblob NULL"
|
|
||||||
),
|
|
||||||
'separate' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['separate'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'w50 m12'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'zoomControl' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomControl'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\ControlCallbacks::callback('getZoomControls'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_control'],
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'includeBlankOption' => true
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'spinjs' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['spinjs'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'spin' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['spin'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'style' => 'height:60px',
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|json',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'simulateFullScreen' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['simulateFullScreen'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'w50 m12'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'buttonTitle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['buttonTitle'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'disableDefault' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['disableDefault'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,52 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_control_layer'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'cid,lid' => 'unique',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'sorting' => array(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'cid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'lid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'mode' => array
|
|
||||||
(
|
|
||||||
'sql' => "varchar(16) NOT NULL default ''"
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
|
||||||
@@ -1,449 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_icon'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 1,
|
|
||||||
'fields' => array('title'),
|
|
||||||
'flag' => 1,
|
|
||||||
'panelLayout' => 'limit',
|
|
||||||
'headerFields' => array('title', 'type'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title', 'type'),
|
|
||||||
'format' => '%s <span class="tl_gray">[%s]</span>',
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'layers' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['layersBtn'],
|
|
||||||
'href' => 'table=tl_leaflet_layer',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/layers.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
'styles' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['styles'],
|
|
||||||
'href' => 'table=tl_leaflet_style',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/style.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'popups' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['popups'],
|
|
||||||
'href' => 'table=tl_leaflet_popup',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/popup.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'edit.gif'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'toggle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['toggle'],
|
|
||||||
'icon' => 'visible.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::stateButton(
|
|
||||||
'tl_leaflet_icon',
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'palettes' => array(
|
|
||||||
'__selector__' => array('type')
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'title' => array('title', 'alias', 'type'),
|
|
||||||
),
|
|
||||||
'image extends default' => array(
|
|
||||||
'config' => array(
|
|
||||||
'iconImage',
|
|
||||||
'iconRetinaImage',
|
|
||||||
'iconAnchor',
|
|
||||||
'popupAnchor',
|
|
||||||
'className',
|
|
||||||
),
|
|
||||||
'shadow' => array(
|
|
||||||
'shadowImage',
|
|
||||||
'shadowRetinaImage',
|
|
||||||
'shadowAnchor',
|
|
||||||
),
|
|
||||||
'active' => array(
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'div extends default' => array(
|
|
||||||
'config' => array(
|
|
||||||
'html',
|
|
||||||
'iconSize',
|
|
||||||
'iconAnchor',
|
|
||||||
'popupAnchor',
|
|
||||||
'className',
|
|
||||||
),
|
|
||||||
'active' => array(
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'extra extends default' => array(
|
|
||||||
'config' => array(
|
|
||||||
'icon',
|
|
||||||
'prefix',
|
|
||||||
'shape',
|
|
||||||
'markerColor',
|
|
||||||
'number',
|
|
||||||
'iconColor',
|
|
||||||
),
|
|
||||||
'active' => array(
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_icon',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'type' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['type'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'options' => &$GLOBALS['LEAFLET_ICONS'],
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['leaflet_icon'],
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'active' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['active'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''",
|
|
||||||
'save_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
'iconImage' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconImage'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'fileTree',
|
|
||||||
'eval' => array(
|
|
||||||
'filesOnly' => true,
|
|
||||||
'fieldType' => 'radio',
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'clr',
|
|
||||||
'extensions' => 'gif,png,svg,jpg'
|
|
||||||
),
|
|
||||||
'sql' => "binary(16) NULL",
|
|
||||||
),
|
|
||||||
'iconRetinaImage' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconRetinaImage'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'fileTree',
|
|
||||||
'eval' => array(
|
|
||||||
'filesOnly' => true,
|
|
||||||
'fieldType' => 'radio',
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'clr',
|
|
||||||
'extensions' => 'gif,png,svg,jpg'
|
|
||||||
),
|
|
||||||
'sql' => "binary(16) NULL",
|
|
||||||
),
|
|
||||||
'shadowImage' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowImage'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'fileTree',
|
|
||||||
'eval' => array(
|
|
||||||
'filesOnly' => true,
|
|
||||||
'fieldType' => 'radio',
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'clr',
|
|
||||||
'extensions' => 'gif,png,svg,jpg'
|
|
||||||
),
|
|
||||||
'sql' => "binary(16) NULL",
|
|
||||||
),
|
|
||||||
'shadowRetinaImage' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowRetinaImage'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'fileTree',
|
|
||||||
'eval' => array(
|
|
||||||
'filesOnly' => true,
|
|
||||||
'fieldType' => 'radio',
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'clr',
|
|
||||||
'extensions' => 'gif,png,svg,jpg'
|
|
||||||
),
|
|
||||||
'sql' => "binary(16) NULL",
|
|
||||||
),
|
|
||||||
'iconAnchor' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconAnchor'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateCoordinates')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'shadowAnchor' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowAnchor'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateCoordinates')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'popupAnchor' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['popupAnchor'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateCoordinates')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'className' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['className'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 64, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'iconSize' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconSize'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 64,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NULL"
|
|
||||||
),
|
|
||||||
'html' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['html'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'style' => 'height:60px',
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|html',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'icon' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['icon'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 64,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NULL"
|
|
||||||
),
|
|
||||||
'prefix' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['prefix'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 64,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NULL"
|
|
||||||
),
|
|
||||||
'shape' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shape'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'default' => 'circle',
|
|
||||||
'options' => ['circle', 'square', 'star', 'penta'],
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NULL"
|
|
||||||
),
|
|
||||||
'iconColor' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconColor'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'wizard' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::colorPicker()
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 64,
|
|
||||||
'tl_class' => 'w50 wizard',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(16) NULL"
|
|
||||||
),
|
|
||||||
'markerColor' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['markerColor'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'default' => 'circle',
|
|
||||||
'options' => [
|
|
||||||
'blue',
|
|
||||||
'red',
|
|
||||||
'orange-dark',
|
|
||||||
'orange',
|
|
||||||
'yellow',
|
|
||||||
'blue-dark',
|
|
||||||
'cyan',
|
|
||||||
'purple',
|
|
||||||
'violet',
|
|
||||||
'pink',
|
|
||||||
'green-dark',
|
|
||||||
'green',
|
|
||||||
'green-light',
|
|
||||||
'black',
|
|
||||||
'white'
|
|
||||||
],
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(16) NULL"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,930 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_layer'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'ctable' => array('tl_leaflet_vector', 'tl_leaflet_marker'),
|
|
||||||
'ondelete_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('deleteRelations'),
|
|
||||||
),
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'pid' => 'index',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onload_callback' => array(
|
|
||||||
function() {
|
|
||||||
\Controller::loadLanguageFile('leaflet');
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 5,
|
|
||||||
'fields' => array('title'),
|
|
||||||
'flag' => 1,
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/layers.png',
|
|
||||||
'panelLayout' => 'filter;search,limit',
|
|
||||||
'paste_button_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('getPasteButtons'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title'),
|
|
||||||
'format' => '%s',
|
|
||||||
'label_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('generateRow')
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'styles' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['styles'],
|
|
||||||
'href' => 'table=tl_leaflet_style',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/style.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'icons' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['icons'],
|
|
||||||
'href' => 'table=tl_leaflet_icon',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/icons.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'popups' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups'],
|
|
||||||
'href' => 'table=tl_leaflet_popup',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/popup.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'markers' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['markers'],
|
|
||||||
'href' => 'table=tl_leaflet_marker',
|
|
||||||
'icon' => 'edit.gif',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('generateMarkersButton')
|
|
||||||
),
|
|
||||||
'vectors' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['vectors'],
|
|
||||||
'href' => 'table=tl_leaflet_vector',
|
|
||||||
'icon' => 'edit.gif',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('generateVectorsButton'),
|
|
||||||
),
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'header.gif'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'cut' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cut'],
|
|
||||||
'href' => 'act=paste&mode=cut',
|
|
||||||
'icon' => 'cut.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset()"',
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'toggle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['toggle'],
|
|
||||||
'icon' => 'visible.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::stateButton(
|
|
||||||
'tl_leaflet_layer',
|
|
||||||
'active'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'palettes' => array(
|
|
||||||
'__selector__' => array('type'),
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'title' => array('title', 'alias', 'type'),
|
|
||||||
'config' => array(),
|
|
||||||
'style' => array(),
|
|
||||||
'expert' => array(':hide'),
|
|
||||||
'active' => array('active'),
|
|
||||||
),
|
|
||||||
'markers extends default' => array(
|
|
||||||
'+expert' => array('pointToLayer'),
|
|
||||||
'+config' => array('boundsMode', 'deferred')
|
|
||||||
),
|
|
||||||
'group extends default' => array(
|
|
||||||
'+title' => array('groupType'),
|
|
||||||
'+active' => array('boundsMode')
|
|
||||||
),
|
|
||||||
'vectors extends default' => array(
|
|
||||||
'+expert' => array('onEachFeature', 'pointToLayer'),
|
|
||||||
'+config' => array('boundsMode', 'deferred'),
|
|
||||||
),
|
|
||||||
'reference extends default' => array(
|
|
||||||
'+title' => array('reference', 'standalone')
|
|
||||||
),
|
|
||||||
'markercluster extends default' => array(
|
|
||||||
'config' => array(
|
|
||||||
'showCoverageOnHover',
|
|
||||||
'zoomToBoundsOnClick',
|
|
||||||
'removeOutsideVisibleBounds',
|
|
||||||
'animateAddingMarkers',
|
|
||||||
'spiderfyOnMaxZoom',
|
|
||||||
'disableClusteringAtZoom',
|
|
||||||
'maxClusterRadius',
|
|
||||||
'singleMarkerMode',
|
|
||||||
),
|
|
||||||
'+expert' => array(
|
|
||||||
'polygonOptions',
|
|
||||||
'iconCreateFunction',
|
|
||||||
'disableDefaultStyle'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'tile extends default' => array(
|
|
||||||
'config' => array(
|
|
||||||
'tileUrl',
|
|
||||||
'subdomains',
|
|
||||||
'attribution',
|
|
||||||
'minZoom',
|
|
||||||
'maxZoom',
|
|
||||||
),
|
|
||||||
'+expert' => array(
|
|
||||||
'errorTileUrl',
|
|
||||||
'tileSize',
|
|
||||||
'tms',
|
|
||||||
'continuousWorld',
|
|
||||||
'noWrap',
|
|
||||||
'zoomReverse',
|
|
||||||
'zoomOffset',
|
|
||||||
'maxNativeZoom',
|
|
||||||
'opacity',
|
|
||||||
'zIndex',
|
|
||||||
'unloadvisibleTiles',
|
|
||||||
'updateWhenIdle',
|
|
||||||
'detectRetina',
|
|
||||||
'reuseTiles',
|
|
||||||
'bounds'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'overpass extends default' => array(
|
|
||||||
'config' => array(
|
|
||||||
'overpassQuery',
|
|
||||||
'boundsMode',
|
|
||||||
'minZoom',
|
|
||||||
'overpassEndpoint',
|
|
||||||
'overpassPopup'
|
|
||||||
),
|
|
||||||
'style' => array(
|
|
||||||
'amenityIcons'
|
|
||||||
),
|
|
||||||
'+expert' => array(
|
|
||||||
'onEachFeature',
|
|
||||||
'pointToLayer',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
'metasubselectpalettes' => array(
|
|
||||||
'type' => array(
|
|
||||||
'provider' => array('tile_provider', 'tile_provider_variant')
|
|
||||||
),
|
|
||||||
'tile_provider' => array(
|
|
||||||
'MapBox' => array('tile_provider_key'),
|
|
||||||
'HERE' => array('tile_provider_key', 'tile_provider_code'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'spiderfyOnMaxZoom' => array('spiderfyDistanceMultiplier'),
|
|
||||||
'deferred' => array('cache'),
|
|
||||||
'cache' => array('cacheLifeTime')
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'pid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'search' => true,
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'search' => true,
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_layer',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'type' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['type'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'filter' => true,
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'chosen' => true,
|
|
||||||
'helpwizard' => true,
|
|
||||||
),
|
|
||||||
'options' => array_keys($GLOBALS['LEAFLET_LAYERS']),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['leaflet_layer'],
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'active' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['active'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'filter' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''",
|
|
||||||
'save_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
'tile_provider' => array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50 clr',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'options' => array_keys($GLOBALS['LEAFLET_TILE_PROVIDERS']),
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'tile_provider_variant' => array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_variant'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'chosen' => false,
|
|
||||||
),
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('getVariants'),
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'tile_provider_key' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_key'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'clr w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'tile_provider_code' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_code'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'deferred' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['deferred'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'groupType' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['groupType'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'helpwizard' => true,
|
|
||||||
),
|
|
||||||
'default' => 'layer',
|
|
||||||
'options' => array('layer', 'feature'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['groupTypes'],
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'reference' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['reference'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('getLayers'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
),
|
|
||||||
'standalone' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['standalone'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'onEachFeature' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['onEachFeature'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|javascript',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'pointToLayer' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['pointToLayer'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|javascript',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'showCoverageOnHover' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['showCoverageOnHover'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'zoomToBoundsOnClick' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomToBoundsOnClick'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'spiderfyOnMaxZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['spiderfyOnMaxZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'removeOutsideVisibleBounds' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['removeOutsideVisibleBounds'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'animateAddingMarkers' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['animateAddingMarkers'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'disableClusteringAtZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['disableClusteringAtZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'maxClusterRadius' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxClusterRadius'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(5) NULL"
|
|
||||||
),
|
|
||||||
'singleMarkerMode' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['singleMarkerMode'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => false, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'polygonOptions' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['polygonOptions'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|json',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'spiderfyDistanceMultiplier' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['spiderfyDistanceMultiplier'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(5) NULL"
|
|
||||||
),
|
|
||||||
'iconCreateFunction' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['iconCreateFunction'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|javascript',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'disableDefaultStyle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['disableDefaultStyle'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'boundsMode' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['boundsMode'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('getBoundsModes'),
|
|
||||||
'eval' => array('tl_class' => 'w50', 'includeBlankOption' => true),
|
|
||||||
'sql' => "varchar(6) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'tileUrl' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileUrl'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array('maxlength' => 255, 'tl_class' => 'w50', 'mandatory' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'minZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'maxZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'maxNativeZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxNativeZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'tileSize' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileSize'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(5) NULL"
|
|
||||||
),
|
|
||||||
'subdomains' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['subdomains'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array('maxlength' => 16, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(16) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'errorTileUrl' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['errorTileUrl'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array('maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'attribution' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['attribution'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array('maxlength' => 255, 'tl_class' => 'long', 'allowHtml' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'tms' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tms'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'continuousWorld' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['continuousWorld'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'noWrap' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['noWrap'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'zoomOffset' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomOffset'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(5) NULL"
|
|
||||||
),
|
|
||||||
'zoomReverse' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomReverse'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'opacity' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['opacity'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '1.0',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50 clr'),
|
|
||||||
'sql' => "varchar(4) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'zIndex' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zIndex'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(5) NULL"
|
|
||||||
),
|
|
||||||
'unloadvisibleTiles' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['unloadvisibleTiles'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'updateWhenIdle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['updateWhenIdle'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'detectRetina' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['detectRetina'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'reuseTiles' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['reuseTiles'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'bounds' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['bounds'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'multiple'=>true,
|
|
||||||
'size'=>2,
|
|
||||||
'tl_class' => 'long clr',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "mediumblob NULL"
|
|
||||||
),
|
|
||||||
'cache' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cache'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'cacheLifeTime' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cacheLifeTime'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 0,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'overpassQuery' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassQuery'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'overpassEndpoint' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassEndpoint'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'overpassCallback' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassCallback'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|javascript',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'minZoomIndicatorPosition' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorPosition'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'options' => array('topleft', 'topright', 'bottomleft', 'bottomright'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer'],
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'helpwizard' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'minZoomIndicatorMessage' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorMessage'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array('tl_class' => 'clr w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'minZoomIndicatorMessageNoLayer' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorMessageNoLayer'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'debug' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['debug'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'amenityIcons' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcons'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'multiColumnWizard',
|
|
||||||
'options_callback' => array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getIcons'),
|
|
||||||
'eval' => array(
|
|
||||||
'columnFields' => array(
|
|
||||||
'amenity' => array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenity'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\LayerCallbacks::callback('getAmenities'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'style' => 'width: 200px',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'icon' => array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcon'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getIcons'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'style' => 'width: 200px',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'sql' => "blob NULL",
|
|
||||||
),
|
|
||||||
'overpassPopup' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassPopup'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array(
|
|
||||||
'preserveTags' => true,
|
|
||||||
'decodeEntities' => true,
|
|
||||||
'allowHtml' => true,
|
|
||||||
'rte' => 'ace|javascript',
|
|
||||||
'tl_class' => 'clr'
|
|
||||||
),
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
@@ -1,585 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_map'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'ctable' => array('tl_leaflet_control'),
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onload_callback' => array(
|
|
||||||
function() {
|
|
||||||
\Controller::loadLanguageFile('leaflet');
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 1,
|
|
||||||
'fields' => array('title'),
|
|
||||||
'panelLayout' => 'search,limit',
|
|
||||||
'flag' => 1,
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title', 'alias'),
|
|
||||||
'format' => '%s <span class="tl_gray">[%s]</span>'
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'header.gif'
|
|
||||||
),
|
|
||||||
'controls' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['controls'],
|
|
||||||
'href' => 'table=tl_leaflet_control',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/control.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'title' => array('title', 'alias'),
|
|
||||||
'zoom' => array('center', 'zoom', 'adjustZoomExtra', 'adjustBounds', 'dynamicLoad', 'boundsPadding'),
|
|
||||||
'locate' => array('locate'),
|
|
||||||
'layers' => array('layers'),
|
|
||||||
'interaction' => array(
|
|
||||||
'dragging',
|
|
||||||
'touchZoom',
|
|
||||||
'scrollWheelZoom',
|
|
||||||
'doubleClickZoom',
|
|
||||||
'boxZoom',
|
|
||||||
'tap',
|
|
||||||
'keyboard'
|
|
||||||
),
|
|
||||||
'behaviour' => array(
|
|
||||||
'zoomControl',
|
|
||||||
'trackResize',
|
|
||||||
'closeOnClick',
|
|
||||||
'bounceAtZoomLimits'
|
|
||||||
),
|
|
||||||
'expert' => array(
|
|
||||||
'options',
|
|
||||||
'cache',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'keyboard' => array(
|
|
||||||
'keyboardPanOffset',
|
|
||||||
'keyboardZoomOffset'
|
|
||||||
),
|
|
||||||
'adjustZoomExtra' => array(
|
|
||||||
'minZoom',
|
|
||||||
'maxZoom',
|
|
||||||
'zoomSnap',
|
|
||||||
'zoomDelta',
|
|
||||||
),
|
|
||||||
'locate' => array(
|
|
||||||
':hide',
|
|
||||||
'locateWatch',
|
|
||||||
'locateSetView',
|
|
||||||
'locateMaxZoom',
|
|
||||||
'locateTimeout',
|
|
||||||
'locateMaximumAge',
|
|
||||||
'enableHighAccuracy'
|
|
||||||
),
|
|
||||||
'cache' => array(
|
|
||||||
'cacheLifeTime'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'search' => true,
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'search' => true,
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_map',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias')
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'center' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['center'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateCoordinates'),
|
|
||||||
),
|
|
||||||
'wizard' => array(
|
|
||||||
Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getGeocoder')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'long clr',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'layers' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['layers'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'multiColumnWizard',
|
|
||||||
'load_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\MapCallbacks::callback('loadLayerRelations'),
|
|
||||||
),
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\MapCallbacks::callback('saveLayerRelations'),
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'multiple' => true,
|
|
||||||
'doNotSaveEmpty' => true,
|
|
||||||
'columnFields' => array(
|
|
||||||
'reference' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['reference'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\MapCallbacks::callback('getLayers'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'style' => 'width: 300px'
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'flatArray' => true
|
|
||||||
),
|
|
||||||
'sql' => "mediumblob NULL"
|
|
||||||
),
|
|
||||||
'zoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'default' => '',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'adjustZoomExtra' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'minZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['minZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'maxZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['maxZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'zoomSnap' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomSnap'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "varchar(4) NULL"
|
|
||||||
),
|
|
||||||
'zoomDelta' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomDelta'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "varchar(4) NULL"
|
|
||||||
),
|
|
||||||
'dragging' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['dragging'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'touchZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['touchZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'scrollWheelZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['scrollWheelZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options' => array('1', 'center'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'],
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'helpwizard' => true,
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'blankOptionLabel' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][0]
|
|
||||||
),
|
|
||||||
'sql' => "char(6) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'doubleClickZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['doubleClickZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options' => array('1', 'center'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'],
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'helpwizard' => true,
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'blankOptionLabel' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][0]
|
|
||||||
),
|
|
||||||
'sql' => "char(6) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'boxZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'tap' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['tap'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'trackResize' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['trackResize'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'bounceAtZoomLimits' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'closeOnClick' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['closeOnClick'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'keyboard' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboard'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'keyboardPanOffset' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardPanOffset'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 80,
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'clr w50'),
|
|
||||||
'sql' => "int(4) NOT NULL default '80'"
|
|
||||||
),
|
|
||||||
'keyboardZoomOffset' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardZoomOffset'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 1,
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "int(4) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'zoomControl' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomControl'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'options' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['options'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array('tl_class' => 'clr lng',
|
|
||||||
'allowHtml' => true,
|
|
||||||
'style' => 'min-height: 40px;',
|
|
||||||
'rte' => 'ace|json'
|
|
||||||
),
|
|
||||||
'sql' => "text NULL"
|
|
||||||
),
|
|
||||||
'adjustBounds' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'options' => array('load', 'deferred'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions'],
|
|
||||||
'eval' => array('tl_class' => 'clr w50', 'multiple' => true, 'helpwizard' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'dynamicLoad' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['dynamicLoad'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'clr w50', 'submitOnChange' => false),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'boundsPadding' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['boundsPadding'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 32,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "varchar(32) NULL"
|
|
||||||
),
|
|
||||||
'locate' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locate'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'locateWatch' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateWatch'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'locateSetView' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'locateTimeout' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateTimeout'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(9) NULL"
|
|
||||||
),
|
|
||||||
'locateMaximumAge' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(9) NULL"
|
|
||||||
),
|
|
||||||
'enableHighAccuracy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['enableHighAccuracy'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'locateMaxZoom' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'clr w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'cache' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['cache'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'cacheLifeTime' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['cacheLifeTime'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 0,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "int(9) NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_map_layer'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'mid,lid' => 'unique',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'sorting' => array(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'mid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'lid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
@@ -1,376 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_marker'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'ptable' => 'tl_leaflet_layer',
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'pid' => 'index',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onload_callback' => array(
|
|
||||||
function() {
|
|
||||||
\Controller::loadLanguageFile('leaflet');
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 4,
|
|
||||||
'fields' => array('sorting'),
|
|
||||||
'flag' => 1,
|
|
||||||
'panelLayout' => 'sort,filter;search,limit',
|
|
||||||
'headerFields' => array('title', 'type'),
|
|
||||||
'child_record_callback' => array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'generateRow'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title'),
|
|
||||||
'format' => '%s',
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'icons' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['icons'],
|
|
||||||
'href' => 'table=tl_leaflet_icon&id=',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/icons.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
'popups' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popups'],
|
|
||||||
'href' => 'table=tl_leaflet_popup',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/popup.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'edit.gif'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'toggle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['toggle'],
|
|
||||||
'icon' => 'visible.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::stateButton(
|
|
||||||
'tl_leaflet_marker',
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'title' => array('title', 'alias', 'coordinates'),
|
|
||||||
'content' => array('tooltip', 'alt', 'addPopup'),
|
|
||||||
'config' => array(
|
|
||||||
':hide',
|
|
||||||
'clickable',
|
|
||||||
'draggable',
|
|
||||||
'keyboard',
|
|
||||||
'zIndexOffset',
|
|
||||||
'opacity',
|
|
||||||
'riseOnHover',
|
|
||||||
'riseOffset',
|
|
||||||
'customIcon',
|
|
||||||
),
|
|
||||||
'expert' => array(':hide', 'featureData'),
|
|
||||||
'active' => array('active', 'ignoreForBounds')
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'addPopup' => array('popup', 'popupContent'),
|
|
||||||
'customIcon' => array('icon')
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
'sorting' => true,
|
|
||||||
),
|
|
||||||
'pid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'search' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'flag' => 1,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'search' => true,
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_marker',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'coordinates' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['coordinates'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateCoordinates'),
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'saveCoordinates')
|
|
||||||
),
|
|
||||||
'load_callback' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'loadCoordinates')
|
|
||||||
),
|
|
||||||
'wizard' => array(
|
|
||||||
Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getGeocoder')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'long clr',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
'doNotSaveEmpty' => true,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'latitude' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['latitude'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "decimal(10,8) NULL"
|
|
||||||
),
|
|
||||||
'longitude' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['longitude'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "decimal(11,8) NULL"
|
|
||||||
),
|
|
||||||
'altitude' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['altitude'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "float NULL"
|
|
||||||
),
|
|
||||||
'active' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['active'],
|
|
||||||
'exclude' => true,
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'flag' => 12,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''",
|
|
||||||
'save_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
'tooltip' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['tooltip'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alt' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['alt'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'addPopup' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['addPopup'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'filter' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'popup' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popup'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getPopups'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
),
|
|
||||||
'popupContent' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popupContent'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'rte' => 'tinyMCE', 'helpwizard' => true, 'tl_class' => 'clr'),
|
|
||||||
'explanation' => 'insertTags',
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'customIcon' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['customIcon'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'clr w50 m12', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'icon' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['icon'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getIcons'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
),
|
|
||||||
'draggable' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['draggable'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'clickable' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['clickable'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'keyboard' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'zIndexOffset' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 0,
|
|
||||||
'eval' => array('maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'clr w50', 'nullIfEmpty' => true),
|
|
||||||
'sql' => "int(5) NULL"
|
|
||||||
),
|
|
||||||
'ignoreForBounds' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['ignoreForBounds'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'featureData' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['featureData'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array('tl_class' => 'clr lng',
|
|
||||||
'allowHtml' => true,
|
|
||||||
'style' => 'min-height: 40px;',
|
|
||||||
'rte' => 'ace|json'
|
|
||||||
),
|
|
||||||
'sql' => "text NULL"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,302 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_popup'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 1,
|
|
||||||
'fields' => array('title'),
|
|
||||||
'flag' => 1,
|
|
||||||
'panelLayout' => 'limit',
|
|
||||||
'headerFields' => array('title', 'type'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title', 'type'),
|
|
||||||
'format' => '%s <span class="tl_gray">[%s]</span>',
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'layers' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn'],
|
|
||||||
'href' => 'table=tl_leaflet_layer',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/layers.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
'styles' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['styles'],
|
|
||||||
'href' => 'table=tl_leaflet_style',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/style.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'icons' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons'],
|
|
||||||
'href' => 'table=tl_leaflet_icon',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/icons.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'edit.gif'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'toggle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['toggle'],
|
|
||||||
'icon' => 'visible.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::stateButton(
|
|
||||||
'tl_leaflet_popup',
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'palettes' => array(
|
|
||||||
'__selector__' => array('type')
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'title' => array('title', 'alias'),
|
|
||||||
'size' => array('maxWidth', 'minWidth', 'maxHeight'),
|
|
||||||
'config' => array(
|
|
||||||
':hide',
|
|
||||||
'closeButton',
|
|
||||||
'keepInView',
|
|
||||||
'closeOnClick',
|
|
||||||
'zoomAnimation',
|
|
||||||
'offset',
|
|
||||||
'className',
|
|
||||||
'autoPan'
|
|
||||||
),
|
|
||||||
'active' => array('active'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'autoPan' => array('autoPanPadding')
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_popup',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'maxWidth' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxWidth'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'minWidth' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['minWidth'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'maxHeight' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxHeight'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => null,
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
'autoPan' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPan'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'keepInView' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'closeButton' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeButton'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'offset' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['offset'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateCoordinates')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'autoPanPadding' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPanPadding'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
'multiple' => true,
|
|
||||||
'size' => 2,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'zoomAnimation' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['zoomAnimation'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'closeOnClick' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeOnClick'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => false),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'className' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['className'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 64, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'active' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['active'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'search' => false,
|
|
||||||
'flag' => 12,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''",
|
|
||||||
'save_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,304 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_style'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 1,
|
|
||||||
'fields' => array('title'),
|
|
||||||
'flag' => 1,
|
|
||||||
'panelLayout' => 'limit',
|
|
||||||
'headerFields' => array('title', 'type'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title', 'type'),
|
|
||||||
'format' => '%s <span class="tl_gray">[%s]</span>',
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'layers' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['layersBtn'],
|
|
||||||
'href' => 'table=tl_leaflet_layer',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/layers.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
'icons' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['icons'],
|
|
||||||
'href' => 'table=tl_leaflet_icon',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/icons.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'popups' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['popups'],
|
|
||||||
'href' => 'table=tl_leaflet_popup',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/popup.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'edit.gif'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'toggle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['toggle'],
|
|
||||||
'icon' => 'visible.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::stateButton(
|
|
||||||
'tl_leaflet_style',
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'palettes' => array(
|
|
||||||
'__selector__' => array('type')
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'title' => array('title', 'alias', 'type'),
|
|
||||||
'config' => array(),
|
|
||||||
'active' => array('active'),
|
|
||||||
),
|
|
||||||
'fixed extends default' => array(
|
|
||||||
'config' => array('stroke', 'fill'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'stroke' => array('color', 'weight', 'opacity', 'dashArray', 'lineCap', 'lineJoin'),
|
|
||||||
'fill' => array('fillColor', 'fillOpacity',)
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_style',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'type' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['type'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'options' => &$GLOBALS['LEAFLET_STYLES'],
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['leaflet_style'],
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'stroke' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['stroke'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default '1'"
|
|
||||||
),
|
|
||||||
'color' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['color'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'wizard' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::colorPicker()
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50 wizard clr',
|
|
||||||
'maxlength' => 7,
|
|
||||||
'decodeEntities' => true
|
|
||||||
),
|
|
||||||
'sql' => "varchar(8) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'weight' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['weight'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 5,
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "int(4) NOT NULL default '5'"
|
|
||||||
),
|
|
||||||
'opacity' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['opacity'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '0.5',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(4) NOT NULL default '0.5'"
|
|
||||||
),
|
|
||||||
'fill' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['fill'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'eval' => array('tl_class' => 'clr w50', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'fillColor' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['fillColor'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'wizard' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::colorPicker()
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'clr w50 wizard',
|
|
||||||
'maxlength' => 7,
|
|
||||||
'decodeEntities' => true
|
|
||||||
),
|
|
||||||
'sql' => "varchar(8) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'fillOpacity' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => '0.2',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(4) NOT NULL default '0.2'"
|
|
||||||
),
|
|
||||||
'dashArray' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['dashArray'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 32, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'lineCap' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options' => array('butt', 'round', 'square', 'inherit'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCaps'],
|
|
||||||
'eval' => array('mandatory' => false, 'tl_class' => 'w50 clr', 'includeBlankOption' => true, 'helpwizard'),
|
|
||||||
'sql' => "varchar(8) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'lineJoin' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoin'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options' => array('miter', 'round', 'bevel', 'inherit'),
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoins'],
|
|
||||||
'eval' => array('mandatory' => false, 'tl_class' => 'w50', 'includeBlankOption' => true, 'helpwizard'),
|
|
||||||
'sql' => "varchar(8) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'active' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['active'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'search' => false,
|
|
||||||
'flag' => 12,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''",
|
|
||||||
'save_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,415 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_leaflet_vector'] = array
|
|
||||||
(
|
|
||||||
'config' => array(
|
|
||||||
'dataContainer' => 'Table',
|
|
||||||
'enableVersioning' => true,
|
|
||||||
'ptable' => 'tl_leaflet_layer',
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'pid' => 'index',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onload_callback' => array(
|
|
||||||
function() {
|
|
||||||
\Controller::loadLanguageFile('leaflet');
|
|
||||||
}
|
|
||||||
),
|
|
||||||
'onsubmit_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
|
|
||||||
'list' => array
|
|
||||||
(
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'mode' => 4,
|
|
||||||
'fields' => array('sorting'),
|
|
||||||
'flag' => 1,
|
|
||||||
'panelLayout' => 'sort,filter;search,limit',
|
|
||||||
'headerFields' => array('title', 'type'),
|
|
||||||
'child_record_callback' => Netzmacht\Contao\Leaflet\Dca\VectorCallbacks::callback('generateRow'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title'),
|
|
||||||
'format' => '%s',
|
|
||||||
),
|
|
||||||
'global_operations' => array
|
|
||||||
(
|
|
||||||
'styles' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['styles'],
|
|
||||||
'href' => 'table=tl_leaflet_style',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/style.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'popups' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popups'],
|
|
||||||
'href' => 'table=tl_leaflet_popup',
|
|
||||||
'icon' => 'system/modules/leaflet/assets/img/popup.png',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();"'
|
|
||||||
),
|
|
||||||
'all' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
|
||||||
'href' => 'act=select',
|
|
||||||
'class' => 'header_edit_all',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'operations' => array
|
|
||||||
(
|
|
||||||
'edit' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['edit'],
|
|
||||||
'href' => 'act=edit',
|
|
||||||
'icon' => 'edit.gif'
|
|
||||||
),
|
|
||||||
'copy' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['copy'],
|
|
||||||
'href' => 'act=copy',
|
|
||||||
'icon' => 'copy.gif'
|
|
||||||
),
|
|
||||||
'cut' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['cut'],
|
|
||||||
'href' => 'act=paste&mode=cut',
|
|
||||||
'icon' => 'cut.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset()"',
|
|
||||||
),
|
|
||||||
'delete' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['delete'],
|
|
||||||
'href' => 'act=delete',
|
|
||||||
'icon' => 'delete.gif',
|
|
||||||
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm'] . '\'))return false;Backend.getScrollOffset()"'
|
|
||||||
),
|
|
||||||
'toggle' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['toggle'],
|
|
||||||
'icon' => 'visible.gif',
|
|
||||||
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
|
||||||
'button_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::stateButton(
|
|
||||||
'tl_leaflet_vector',
|
|
||||||
'active'
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'show' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['show'],
|
|
||||||
'href' => 'act=show',
|
|
||||||
'icon' => 'show.gif'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'palettes' => array(
|
|
||||||
'__selector__' => array('type')
|
|
||||||
),
|
|
||||||
|
|
||||||
'metapalettes' => array(
|
|
||||||
'default' => array(
|
|
||||||
'title' => array('title', 'alias', 'type'),
|
|
||||||
'data' => array(),
|
|
||||||
'popup' => array(':hide','addPopup'),
|
|
||||||
'config' => array(':hide', 'style', 'className', 'clickable'),
|
|
||||||
'expert' => array(':hide', 'featureData'),
|
|
||||||
'active' => array('active', 'ignoreForBounds')
|
|
||||||
),
|
|
||||||
|
|
||||||
'polyline extends default' => array(
|
|
||||||
'+config' => array('smoothFactor', 'noClip'),
|
|
||||||
'data' => array('data')
|
|
||||||
),
|
|
||||||
|
|
||||||
'multiPolyline extends polyline' => array(
|
|
||||||
'data' => array('multiData')
|
|
||||||
),
|
|
||||||
|
|
||||||
'polygon extends polyline' => array(),
|
|
||||||
|
|
||||||
'multiPolygon extends multiPolyline' => array(
|
|
||||||
),
|
|
||||||
|
|
||||||
'rectangle extends polygon' => array(
|
|
||||||
'data' => array('bounds'),
|
|
||||||
),
|
|
||||||
|
|
||||||
'circle extends default' => array(
|
|
||||||
'+data' => array('coordinates', 'radius'),
|
|
||||||
),
|
|
||||||
|
|
||||||
'circleMarker extends circle' => array(),
|
|
||||||
),
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'addPopup' => array('popup', 'popupContent'),
|
|
||||||
),
|
|
||||||
|
|
||||||
'fields' => array
|
|
||||||
(
|
|
||||||
'id' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL auto_increment"
|
|
||||||
),
|
|
||||||
'tstamp' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'pid' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
),
|
|
||||||
'sorting' => array
|
|
||||||
(
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
'sorting' => true,
|
|
||||||
),
|
|
||||||
'title' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['title'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'filter' => false,
|
|
||||||
'sorting' => true,
|
|
||||||
'search' => true,
|
|
||||||
'flag' => 1,
|
|
||||||
'eval' => array('mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'alias' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['alias'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'search' => true,
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::aliasGenerator(
|
|
||||||
'tl_leaflet_vector',
|
|
||||||
'alias',
|
|
||||||
['title'],
|
|
||||||
\Netzmacht\Contao\Leaflet\DependencyInjection\LeafletServices::ALIAS_GENERATOR
|
|
||||||
),
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateAlias'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'type' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['type'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'search' => false,
|
|
||||||
'flag' => 1,
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'submitOnChange' => true,
|
|
||||||
'chosen' => true,
|
|
||||||
'helpwizard' => true,
|
|
||||||
),
|
|
||||||
'options' => &$GLOBALS['LEAFLET_VECTORS'],
|
|
||||||
'reference' => &$GLOBALS['TL_LANG']['leaflet_vector'],
|
|
||||||
'sql' => "varchar(32) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'active' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['active'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'filter' => true,
|
|
||||||
'sorting' => true,
|
|
||||||
'search' => false,
|
|
||||||
'flag' => 12,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''",
|
|
||||||
'save_callback' => [
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('clearCache'),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
'addPopup' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['addPopup'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'filter' => true,
|
|
||||||
'eval' => array('tl_class' => 'w50 m12', 'submitOnChange' => true),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'popup' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popup'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => array('Netzmacht\Contao\Leaflet\Dca\MarkerCallbacks', 'getPopups'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
),
|
|
||||||
'popupContent' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popupContent'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => true, 'rte' => 'tinyMCE', 'helpwizard' => true, 'tl_class' => 'clr'),
|
|
||||||
'explanation' => 'insertTags',
|
|
||||||
'sql' => "mediumtext NULL"
|
|
||||||
),
|
|
||||||
'style' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['style'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => Netzmacht\Contao\Leaflet\Dca\VectorCallbacks::callback('getStyles'),
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => false,
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'",
|
|
||||||
),
|
|
||||||
'clickable' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['clickable'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => true,
|
|
||||||
'eval' => array('tl_class' => 'm12 w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'className' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['className'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 64, 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'coordinates' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['coordinates'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateCoordinates')
|
|
||||||
),
|
|
||||||
'wizard' => array(
|
|
||||||
Netzmacht\Contao\Leaflet\Dca\LeafletCallbacks::callback('getGeocoder')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'long clr',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
'mandatory' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(255) NULL"
|
|
||||||
),
|
|
||||||
'radius' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['radius'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'default' => 5,
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 10, 'rgxp' => 'digit', 'tl_class' => 'clr w50'),
|
|
||||||
'sql' => "int(10) NOT NULL default '5'"
|
|
||||||
),
|
|
||||||
'data' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['data'],
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'search' => false,
|
|
||||||
'eval' => array('mandatory' => true, 'alwaysSave' => true),
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateMultipleCoordinates')
|
|
||||||
),
|
|
||||||
'sql' => "longblob NULL"
|
|
||||||
),
|
|
||||||
'multiData' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['multiData'],
|
|
||||||
'inputType' => 'multiColumnWizard',
|
|
||||||
'search' => false,
|
|
||||||
'eval' => array(
|
|
||||||
'mandatory' => true,
|
|
||||||
'alwaysSave' => true,
|
|
||||||
'flatArray' => true,
|
|
||||||
'columnFields' => array
|
|
||||||
(
|
|
||||||
'data' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['data'],
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'search' => false,
|
|
||||||
'eval' => array('alwaysSave' => true, 'style' => 'width:600px'),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'save_callback' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\Validator::callback('validateMultipleCoordinateSets')
|
|
||||||
),
|
|
||||||
'sql' => "longblob NULL"
|
|
||||||
),
|
|
||||||
'bounds' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['bounds'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'multiple'=>true,
|
|
||||||
'size'=>2,
|
|
||||||
'tl_class' => 'long clr',
|
|
||||||
'nullIfEmpty' => true,
|
|
||||||
),
|
|
||||||
'sql' => "mediumblob NULL"
|
|
||||||
),
|
|
||||||
'ignoreForBounds' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['ignoreForBounds'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'checkbox',
|
|
||||||
'default' => false,
|
|
||||||
'eval' => array('tl_class' => 'w50'),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'featureData' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['featureData'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'textarea',
|
|
||||||
'eval' => array('tl_class' => 'clr lng',
|
|
||||||
'allowHtml' => true,
|
|
||||||
'style' => 'min-height: 40px;',
|
|
||||||
'rte' => 'ace|json'
|
|
||||||
),
|
|
||||||
'sql' => "text NULL"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package contao-leaflet-maps
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_module']['metapalettes']['leaflet'] = array(
|
|
||||||
'type' => array('name', 'type', 'headline'),
|
|
||||||
'leaflet' => array('leaflet_map', 'leaflet_mapId', 'leaflet_width', 'leaflet_height', 'leaflet_template'),
|
|
||||||
'templates' => array(':hide', 'customTpl'),
|
|
||||||
'protected' => array(':hide', 'protected'),
|
|
||||||
'expert' => array(':hide', 'guests', 'cssID', 'space'),
|
|
||||||
'invisible' => array(':hide', 'invisible', 'start', 'start')
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_map'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_map'],
|
|
||||||
'inputType' => 'select',
|
|
||||||
'exclude' => true,
|
|
||||||
'options_callback' => \Netzmacht\Contao\Leaflet\Dca\FrontendIntegration::callback('getMaps'),
|
|
||||||
'wizard' => array(
|
|
||||||
\Netzmacht\Contao\Leaflet\Dca\FrontendIntegration::callback('getEditMapLink'),
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50 wizard',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'sql' => "int(10) unsigned NOT NULL default '0'"
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_mapId'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_mapId'],
|
|
||||||
'inputType' => 'text',
|
|
||||||
'exclude' => true,
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
'maxlength' => 16,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(16) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_width'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_width'],
|
|
||||||
'inputType' => 'inputUnit',
|
|
||||||
'options' => array('px', '%', 'em', 'pt', 'pc', 'in', 'cm', 'mm'),
|
|
||||||
'search' => false,
|
|
||||||
'exclude' => true,
|
|
||||||
'eval' => array('rgxp' => 'digit', 'tl_class' => 'clr w50'),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_height'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_height'],
|
|
||||||
'inputType' => 'inputUnit',
|
|
||||||
'options' => array('px', '%', 'em', 'pt', 'pc', 'in', 'cm', 'mm'),
|
|
||||||
'search' => false,
|
|
||||||
'exclude' => true,
|
|
||||||
'eval' => array('rgxp' => 'digit', 'tl_class' => 'w50'),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
|
|
||||||
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_template'] = array(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_template'],
|
|
||||||
'inputType' => 'select',
|
|
||||||
'exclude' => true,
|
|
||||||
'options_callback' => \Netzmacht\Contao\Toolkit\Dca\Callback\CallbackFactory::getTemplates('leaflet_map_js'),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
@@ -1,107 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['title_legend'] = 'Title';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['interaction_legend'] = 'Interaction controls';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom_legend'] = 'Center and zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate_legend'] = 'Locate user position';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['layers_legend'] = 'Default layers';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['expert_legend'] = 'Expert settings';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['behaviour_legend'] = 'Behaviour';
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['new'][0] = 'Create map';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['new'][1] = 'Create new map';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['edit'][0] = 'Edit map';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['edit'][1] = 'Edit map ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['copy'][0] = 'Copy map';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['copy'][1] = 'Copy map ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['controls'][0] = 'Manage controls';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['controls'][1] = 'Manage controls of map ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['delete'][0] = 'Delete map';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['delete'][1] = 'Delete map ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['show'][0] = 'Show details';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['show'][1] = 'Show map ID %s details';
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['title'][0] = 'Title';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['title'][1] = 'Title of the map.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['alias'][0] = 'Alias';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['alias'][1] = 'Alias of the map.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['center'][0] = 'Center';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['center'][1] = 'Initial geographical center of the map. Comma separated coordinates.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['dragging'][0] = 'Dragging';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['dragging'][1] = 'Whether the map be draggable with mouse/touch or not.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['touchZoom'][0] = 'Touch zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['touchZoom'][1] = 'Whether the map can be zoomed by touch-dragging with two fingers.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['scrollWheelZoom'][0] = 'Scroll wheel zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['scrollWheelZoom'][1] = 'Whether the map can be zoomed by using the mouse wheel.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['doubleClickZoom'][0] = 'Double click zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['doubleClickZoom'][1] = 'Whether the map can be zoomed in by double clicking on it and zoomed out by double clicking while holding shift.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom'][0] = 'Box zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom'][1] = 'Whether the map can be zoomed to a rectangular area specified by dragging the mouse while pressing shift.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['tap'][0] = 'Instant taps';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['tap'][1] = 'Enables mobile hacks for supporting instant taps.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['trackResize'][0] = 'Track window resize';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['trackResize'][1] = 'Whether the map automatically handles browser window resize to update itself.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['closeOnClick'][0] = 'Close popup on click';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['closeOnClick'][1] = 'Disable if you don\'t want popups to close when user clicks the map';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboard'][0] = 'Keyboard navigation';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboard'][1] = 'Makes the map focusable and allows users to navigate the map with keyboard arrows and +/- keys';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardPanOffset'][0] = 'Keyboard pan offset';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardPanOffset'][1] = 'Amount of pixels to pan when pressing an arrow key.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardZoomOffset'][0] = 'Keyboard zoom offset';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardZoomOffset'][1] = 'Number of zoom levels to change when pressing + or - key.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom'][0] = 'Zoom level';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom'][1] = 'Initial map zoom.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['minZoom'][0] = 'Minimum zoom level';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['minZoom'][1] = 'Minimum zoom level of the map. Overrides any minZoom set on map layers.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['maxZoom'][0] = 'Maximum zoom level';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['maxZoom'][1] = 'Maximum zoom level of the map. This overrides any maxZoom set on map layers.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomSnap'][0] = 'Zoom snap';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomSnap'][1] = 'Forces the map\'s zoom level to always be a multiple of the number. Default is 1.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomDelta'][0] = 'Zoom delta';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomDelta'][1] = 'Controls how much the map\'s zoom level will change after zoom in or zoom out.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomControl'][0] = 'Add default zoom control';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomControl'][1] = 'Whether the zoom control is added to the map by default.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits'][0] = 'Bounce at zoom limits';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits'][1] = 'Disable if you don\'t want the map to zoom beyond min/max zoom and then bounce back when pinch-zooming';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['options'][0] = 'Extra options';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['options'][1] = 'Add extra map options as valid json. See <a href="http://leafletjs.com/reference.html#map-options">http://leafletjs.com/reference.html#map-options</a>';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra'][0] = 'Adjust extra zoom settings';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra'][1] = 'Enable if you want to adjust minimum and maximum zoom as well';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['layers'][0] = 'Default layers';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['layers'][1] = 'Inital visible layers of the map. For optional layers use the layers control.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds'][0] = 'Adjust bounds';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds'][1] = 'If enabled the map will fit into bounds of data layers which are marked to affect the map bounds.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate'][0] = 'Locate user position';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate'][1] = 'Initial map zoom.Tries to locate the user using the Geolocation API.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateWatch'][0] = 'Watch continuously';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateWatch'][1] = 'If true, starts continous watching of location changes ';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView'][0] = 'Update map center';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView'][1] = 'If enabled, automatically sets the map view to the user location. Otherwise only the <em>locationfound</em> event is triggered.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom'][0] = 'Locate max zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom'][1] = 'Max zoom when setting updating map view.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateTimeout'][0] = 'Locate timeout';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateTimeout'][1] = 'Number of milliseconds to wait for a response from geolocation.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['enableHighAccuracy'][0] = 'High accuracy';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['enableHighAccuracy'][1] = 'Enables high accuracy, see <a href="http://dev.w3.org/geo/api/spec-source.html#high-accuracy" target="_blank">description in the W3C spec</a>.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge'][0] = 'Locate maximum age';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge'][1] = 'Maximum age of detected location in milliseconds. Use cached value if time has not passed.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['dynamicLoad'][0] = 'Load data dynamically in bounds';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['dynamicLoad'][1] = 'If enabled the map requests data from the layers for the current bounds only and make a new request if bounds has changed.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['boundsPadding'][0] = 'Bounds padding';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['boundsPadding'][1] = 'Padding being used then applying bounds. Use comma separated values. If 2 values are given the <em>padding</em> option is set. If 4 values are given <em>paddingTopLeft</em> and <em>paddingBottomRight</em> is set.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['cache'][0] = 'Enable cache';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['cache'][1] = 'If enabled the generated map javascript is cached.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['cacheLifeTime'][0] = 'Cache lifetime';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['cacheLifeTime'][1] = 'Indicates how long a cache entry is valid in seconds.';
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load'][0] = 'At map initialization';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load'][1] = 'Calculate bounds when the map is initialized. All static and already loaded deferred featured are included.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['deferred'][0] = 'After loading deferred feature';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['deferred'][1] = 'Recalculate bounds when a deferred feature is load.';
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][0] = 'Disable';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][1] = 'Disable zoom function.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['1'][0] = 'Enable';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['1'][1] = 'Enable zoom function.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['center'][0] = 'Center';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['center'][1] = 'If passed \'center\', it will zoom to the center of the view regardless of where the mouse was.';
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
<IfModule !mod_authz_core.c>
|
|
||||||
Order allow,deny
|
|
||||||
Allow from all
|
|
||||||
</IfModule>
|
|
||||||
<IfModule mod_authz_core.c>
|
|
||||||
Require all granted
|
|
||||||
</IfModule>
|
|
||||||
@@ -1,125 +0,0 @@
|
|||||||
<div class="netzmacht-leaflet-credits">
|
|
||||||
<div class="header">
|
|
||||||
<h1 class="sub_headline"><?php echo $this->headline; ?> <small><?php echo $this->version; ?></small></h1>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tl_box block row">
|
|
||||||
<h2>About</h2>
|
|
||||||
<div class="left">
|
|
||||||
<p>
|
|
||||||
The Leaflet maps integration for Contao CMS is an Open Source Software license under the LGPL 3.0.
|
|
||||||
This extension is only exists because of great other Open Source Software which it heavenly depends on.
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
This software ships with an visible attribution to <em>netzmacht creative</em> in the map attribution control.
|
|
||||||
If you want to remove this attribution, you have to purchase a commercial license.
|
|
||||||
For more details visit the <a href="https://netzmacht.de/contao-leaflet" target="_blank">project website</a>.
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<div class="right">
|
|
||||||
<a href="http://www.netzmacht.de" <?php echo LINK_NEW_WINDOW; ?>>
|
|
||||||
<img src="system/modules/leaflet/assets/img/logo.png"></a>
|
|
||||||
<p>
|
|
||||||
<strong class="company">netzmacht </strong><br>
|
|
||||||
David Molineus<br>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
DAB Bank München<br>
|
|
||||||
IBAN: DE52701204008354237003<br>
|
|
||||||
BIC: DABBDEMMXXX
|
|
||||||
</p>
|
|
||||||
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
|
|
||||||
<input type="hidden" name="cmd" value="_s-xclick">
|
|
||||||
<input type="hidden" name="hosted_button_id" value="YWMA95YS3FT6U">
|
|
||||||
<input type="image" src="https://www.paypalobjects.com/en_GB/i/btn/btn_donate_SM.gif" border="0" name="submit" alt="PayPal – The safer, easier way to pay online.">
|
|
||||||
<img alt="" border="0" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tl_box">
|
|
||||||
<h2>Support Contao Leaflet</h2>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col">
|
|
||||||
<h3>Report issues</h3>
|
|
||||||
<p>If you found a bug, got some troubles or have a feature request - feel free to open an issue.</p>
|
|
||||||
<p><a href="http://github.com/netzmacht/contao-leaflet-maps/issues" class="btn" target="_blank">Issue tracker</a> </p>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<h3>Contribute</h3>
|
|
||||||
<p>There are many ways you can con­tribute. Translations,
|
|
||||||
docu­mentation or code contributions are welcome.
|
|
||||||
</p>
|
|
||||||
<p><a href="https://netzmacht/contao-leaflet/contribute.html" class="btn" target="_blank">Contribute</a> </p>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<h3>Fund a feature</h3>
|
|
||||||
<p>Contao Leaflet is not feature complete. Have a look at the list of planned feature and support them.</p>
|
|
||||||
<p><a href="https://netzmacht/contao-leaflet/planned-features.html" class="btn" target="_blank">Planned features</a> </p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="row">
|
|
||||||
|
|
||||||
<div class="col">
|
|
||||||
<h3>Individual development</h3>
|
|
||||||
<p>If you have special requirements you can hire me for an individual development.</p>
|
|
||||||
<p><a href="https://netzmacht/contao-leaflet/contact.html" class="btn" target="_blank">Contact</a> </p>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<h3>Commercial license</h3>
|
|
||||||
<p>If you want to remove the attribution in the attribution control, you can purchase a commercial license.</p>
|
|
||||||
<p><a href="https://netzmacht/contao-leaflet/commercial-license.html" class="btn" target="_blank">Purchase license</a> </p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="tl_box">
|
|
||||||
<h2>Credits</h2>
|
|
||||||
<table class="tl_listing">
|
|
||||||
<tr>
|
|
||||||
<th>Name</th>
|
|
||||||
<th>Version</th>
|
|
||||||
<th>License</th>
|
|
||||||
<th>Homepage</th>
|
|
||||||
</tr>
|
|
||||||
<?php if ($this->libraries): ?>
|
|
||||||
<tr><th colspan="4" class="subtitle">Libraries</th> </tr>
|
|
||||||
<?php endif; ?>
|
|
||||||
<?php foreach ($this->libraries as $library): ?>
|
|
||||||
<tr>
|
|
||||||
<td><?php echo $library['name']; ?></td>
|
|
||||||
<td><?php echo $library['version']; ?></td>
|
|
||||||
<td><?php echo $library['license']; ?></td>
|
|
||||||
<td><?php echo $library['homepage']; ?></td>
|
|
||||||
</tr>
|
|
||||||
<?php endforeach; ?>
|
|
||||||
<tr>
|
|
||||||
<th class="subtitle" colspan="4">Graphics</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Farm Fresh-Web Icons</td>
|
|
||||||
<td>3.9.2</td>
|
|
||||||
<td><a href="http://creativecommons.org/licenses/by/3.0/us/" target="_blank">CC BY 3.0 US</a></td>
|
|
||||||
<td><a href="http://www.fatcow.com/free-icons" target="_blank">fatcow.com/free-icons</a></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>Web Blog Icons by SEM Labs</td>
|
|
||||||
<td>3.9.2</td>
|
|
||||||
<td><a href="http://creativecommons.org/licenses/by/4.0/" target="_blank">CC BY 4.0</a></td>
|
|
||||||
<td><a href="http://semlabs.co.uk/" target="_blank">semlabs.co.uk</a></td>
|
|
||||||
</tr>
|
|
||||||
<?php if ($this->dependencies): ?>
|
|
||||||
<tr><th colspan="4" class="subtitle">Dependencies</th> </tr>
|
|
||||||
<?php endif; ?>
|
|
||||||
<?php foreach ($this->dependencies as $dep): ?>
|
|
||||||
<tr>
|
|
||||||
<td><?php echo $dep['name']; ?></td>
|
|
||||||
<td><?php echo $dep['version']; ?></td>
|
|
||||||
<td><?php echo $dep['license']; ?></td>
|
|
||||||
<td><?php echo $dep['homepage']; ?></td>
|
|
||||||
</tr>
|
|
||||||
<?php endforeach; ?>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
<div id="<?php echo $mapId; ?>" style="<?php echo $style; ?>"></div>
|
|
||||||
<script>
|
|
||||||
L.contao.addMap('<?php echo $mapId; ?>', function() {
|
|
||||||
<?php echo $javascript; ?>
|
|
||||||
return { map: map, layers: layers, controls: controls, icons: icons };
|
|
||||||
}());</script>
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
L.contao.addMap('<?php echo $mapId; ?>', function() {
|
|
||||||
<?php echo $javascript; ?>
|
|
||||||
|
|
||||||
return { map: map, layers: layers, controls: controls, icons: icons };
|
|
||||||
}());
|
|
||||||
2841
package-lock.json
generated
Normal file
2841
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
11
package.json
11
package.json
@@ -4,10 +4,11 @@
|
|||||||
"description": "Leaflet maps for Contao",
|
"description": "Leaflet maps for Contao",
|
||||||
"main": "gulpfile.js",
|
"main": "gulpfile.js",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"del": "^2.2.2",
|
"gulp": "^4.0.2",
|
||||||
"gulp": "^3.9.1",
|
"gulp-cli": "^2.2.0",
|
||||||
"gulp-concat": "^2.6.0",
|
"gulp-concat": "^2.6.1",
|
||||||
"gulp-uglify": "^2.0.0"
|
"gulp-uglify": "^3.0.2",
|
||||||
|
"promised-del": "^1.0.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
@@ -23,7 +24,7 @@
|
|||||||
"Maps"
|
"Maps"
|
||||||
],
|
],
|
||||||
"author": "netzmacht David Molineus",
|
"author": "netzmacht David Molineus",
|
||||||
"license": "LGPL-3.0",
|
"license": "LGPL-3.0-or-later",
|
||||||
"bugs": {
|
"bugs": {
|
||||||
"url": "https://github.com/netzmacht/contao-leaflet-maps/issues"
|
"url": "https://github.com/netzmacht/contao-leaflet-maps/issues"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package netzmacht
|
* Leaflet maps for Contao CMS.
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2016 netzmacht David Molineus. All rights reserved.
|
|
||||||
* @filesource
|
|
||||||
*
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Netzmacht\Contao\Leaflet\Alias;
|
namespace Netzmacht\Contao\Leaflet\Alias;
|
||||||
|
|
||||||
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\AbstractFilter;
|
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\AbstractFilter;
|
||||||
@@ -42,7 +46,7 @@ class DefaultAliasFilter extends AbstractFilter
|
|||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public function repeatUntilValid()
|
public function repeatUntilValid(): bool
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -50,7 +54,7 @@ class DefaultAliasFilter extends AbstractFilter
|
|||||||
/**
|
/**
|
||||||
* {@inheritdoc}
|
* {@inheritdoc}
|
||||||
*/
|
*/
|
||||||
public function apply($model, $value, $separator)
|
public function apply($model, $value, string $separator): string
|
||||||
{
|
{
|
||||||
if (!$value) {
|
if (!$value) {
|
||||||
return $this->prefix . $separator . $model->id;
|
return $this->prefix . $separator . $model->id;
|
||||||
66
src/Alias/DefaultAliasGeneratorFactory.php
Normal file
66
src/Alias/DefaultAliasGeneratorFactory.php
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Alias;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Connection;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\AliasGenerator;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Factory\AliasGeneratorFactory;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\ExistingAliasFilter;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SlugifyFilter;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SuffixFilter;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\FilterBasedAliasGenerator;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Validator\UniqueDatabaseValueValidator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class DefaultAliasGeneratorFactory.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Alias
|
||||||
|
*/
|
||||||
|
class DefaultAliasGeneratorFactory implements AliasGeneratorFactory
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Database connection.
|
||||||
|
*
|
||||||
|
* @var Connection
|
||||||
|
*/
|
||||||
|
private $connection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DefaultAliasGeneratorFactory constructor.
|
||||||
|
*
|
||||||
|
* @param Connection $connection Database connection.
|
||||||
|
*/
|
||||||
|
public function __construct(Connection $connection)
|
||||||
|
{
|
||||||
|
$this->connection = $connection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function create(string $dataContainerName, string $aliasField, array $fields): AliasGenerator
|
||||||
|
{
|
||||||
|
$filters = [
|
||||||
|
new ExistingAliasFilter(),
|
||||||
|
new SlugifyFilter($fields),
|
||||||
|
new DefaultAliasFilter($dataContainerName),
|
||||||
|
new SuffixFilter(),
|
||||||
|
];
|
||||||
|
|
||||||
|
$validator = new UniqueDatabaseValueValidator($this->connection, $dataContainerName, $aliasField);
|
||||||
|
|
||||||
|
return new FilterBasedAliasGenerator($filters, $validator, $dataContainerName, $aliasField, '_');
|
||||||
|
}
|
||||||
|
}
|
||||||
66
src/Alias/ParentAliasGeneratorFactory.php
Normal file
66
src/Alias/ParentAliasGeneratorFactory.php
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Alias;
|
||||||
|
|
||||||
|
use Doctrine\DBAL\Connection;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\AliasGenerator;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Factory\AliasGeneratorFactory;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\ExistingAliasFilter;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SlugifyFilter;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Filter\SuffixFilter;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\FilterBasedAliasGenerator;
|
||||||
|
use Netzmacht\Contao\Toolkit\Data\Alias\Validator\UniqueDatabaseValueValidator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Alias generator validating against the parent id (pid).
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Alias
|
||||||
|
*/
|
||||||
|
class ParentAliasGeneratorFactory implements AliasGeneratorFactory
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Database connection.
|
||||||
|
*
|
||||||
|
* @var Connection
|
||||||
|
*/
|
||||||
|
private $connection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DefaultAliasGeneratorFactory constructor.
|
||||||
|
*
|
||||||
|
* @param Connection $connection Database connection.
|
||||||
|
*/
|
||||||
|
public function __construct(Connection $connection)
|
||||||
|
{
|
||||||
|
$this->connection = $connection;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function create(string $dataContainerName, string $aliasField, array $fields): AliasGenerator
|
||||||
|
{
|
||||||
|
$filters = [
|
||||||
|
new ExistingAliasFilter(),
|
||||||
|
new SlugifyFilter($fields),
|
||||||
|
new DefaultAliasFilter($dataContainerName),
|
||||||
|
new SuffixFilter(),
|
||||||
|
];
|
||||||
|
|
||||||
|
$validator = new UniqueDatabaseValueValidator($this->connection, $dataContainerName, $aliasField, ['pid']);
|
||||||
|
|
||||||
|
return new FilterBasedAliasGenerator($filters, $validator, $dataContainerName, $aliasField, '_');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,38 +1,70 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
* @package contao-leaflet-maps
|
* @package contao-leaflet-maps
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
* @copyright 2014-2016 netzmacht David Molineus
|
* @copyright 2014-2019 netzmacht David Molineus. All rights reserved.
|
||||||
* @license LGPL 3.0
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
* @filesource
|
* @filesource
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
namespace Netzmacht\Contao\Leaflet\Backend;
|
namespace Netzmacht\Contao\Leaflet\Backend\Action;
|
||||||
|
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Twig\Environment;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Credits backend module.
|
* Credits backend module.
|
||||||
*
|
*
|
||||||
* @package Netzmacht\Contao\Leaflet\Backend
|
* @package Netzmacht\Contao\Leaflet\Backend
|
||||||
*/
|
*/
|
||||||
class About
|
final class AboutAction
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Twig environment.
|
||||||
|
*
|
||||||
|
* @var Environment
|
||||||
|
*/
|
||||||
|
private $twig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project directory.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $projectDir;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AboutAction constructor.
|
||||||
|
*
|
||||||
|
* @param Environment $twig Twig environment.
|
||||||
|
* @param string $projectDir Project directory.
|
||||||
|
*/
|
||||||
|
public function __construct(Environment $twig, string $projectDir)
|
||||||
|
{
|
||||||
|
$this->twig = $twig;
|
||||||
|
$this->projectDir = $projectDir;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generate the backend view.
|
* Generate the backend view.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function generate()
|
public function __invoke(): Response
|
||||||
{
|
{
|
||||||
$template = new \BackendTemplate('be_leaflet_about');
|
$data = [
|
||||||
|
'headline' => 'Leaftlet maps integration for Contao CMS',
|
||||||
|
'libraries' => $this->getLibraries(),
|
||||||
|
];
|
||||||
|
|
||||||
$template->headline = 'Leaftlet maps integration for Contao CMS';
|
[$data['version'], $data['dependencies']] = $this->extractFromComposer();
|
||||||
$template->libraries = $this->getLibraries();
|
|
||||||
|
|
||||||
list($template->version, $template->dependencies) = $this->extractFromComposer();
|
return new Response(
|
||||||
|
$this->twig->render('@NetzmachtContaoLeaflet/backend/about.html.twig', $data)
|
||||||
return $template->parse();
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -42,23 +74,22 @@ class About
|
|||||||
*
|
*
|
||||||
* @SuppressWarnings(PHPMD.Superglobals)
|
* @SuppressWarnings(PHPMD.Superglobals)
|
||||||
*/
|
*/
|
||||||
private function getLibraries()
|
private function getLibraries(): array
|
||||||
{
|
{
|
||||||
return array_map(
|
return array_map(
|
||||||
function ($library) {
|
function ($library) {
|
||||||
$library = array_merge(
|
$library = array_merge(
|
||||||
array(
|
[
|
||||||
'homepage' => null,
|
'homepage' => null,
|
||||||
'version' => null,
|
'version' => null,
|
||||||
),
|
],
|
||||||
$library
|
$library
|
||||||
);
|
);
|
||||||
|
|
||||||
if ($library['homepage']) {
|
if ($library['homepage']) {
|
||||||
$library['homepage'] = sprintf(
|
$library['homepage'] = sprintf(
|
||||||
'<a href="%s" %s>%s</a>',
|
'<a href="%s" target="_blank">%s</a>',
|
||||||
$library['homepage'],
|
$library['homepage'],
|
||||||
LINK_NEW_WINDOW,
|
|
||||||
preg_replace('#^(https?://(www)?)#i', '', $library['homepage'])
|
preg_replace('#^(https?://(www)?)#i', '', $library['homepage'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -68,7 +99,7 @@ class About
|
|||||||
array_filter(
|
array_filter(
|
||||||
$GLOBALS['LEAFLET_LIBRARIES'],
|
$GLOBALS['LEAFLET_LIBRARIES'],
|
||||||
function ($library) {
|
function ($library) {
|
||||||
return isset($library['name']) && isset($library['license']);
|
return isset($library['name'], $library['license']);
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
@@ -79,36 +110,36 @@ class About
|
|||||||
*
|
*
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
private function extractFromComposer()
|
private function extractFromComposer(): array
|
||||||
{
|
{
|
||||||
$extFile = TL_ROOT . '/composer/vendor/netzmacht/contao-leaflet-maps/composer.json';
|
$extFile = $this->projectDir . '/vendor/netzmacht/contao-leaflet-maps/composer.json';
|
||||||
$lockFile = TL_ROOT . '/composer/composer.lock';
|
$lockFile = $this->projectDir . '/composer.lock';
|
||||||
|
|
||||||
if (!file_exists($extFile) || !file_exists($lockFile)) {
|
if (!file_exists($extFile) || !file_exists($lockFile)) {
|
||||||
return array();
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
$extension = json_decode(file_get_contents($extFile), true);
|
$extension = json_decode(file_get_contents($extFile), true);
|
||||||
$installed = json_decode(file_get_contents($lockFile), true);
|
$installed = json_decode(file_get_contents($lockFile), true);
|
||||||
$deps = array();
|
$deps = [];
|
||||||
$version = null;
|
$version = null;
|
||||||
|
|
||||||
foreach ($installed['packages'] as $package) {
|
foreach ($installed['packages'] as $package) {
|
||||||
if ($package['name'] === 'netzmacht/contao-leaflet-maps') {
|
if ($package['name'] === 'netzmacht/contao-leaflet-maps') {
|
||||||
$version = $package['version'];
|
$version = $package['version'];
|
||||||
} elseif (isset($extension['require'][$package['name']])) {
|
} elseif (isset($extension['require'][$package['name']])) {
|
||||||
$deps[] = array(
|
$deps[] = [
|
||||||
'name' => $package['name'],
|
'name' => $package['name'],
|
||||||
'version' => $package['version'],
|
'version' => $package['version'],
|
||||||
'license' => !empty($package['license']) ? implode(', ', $package['license']) : '',
|
'license' => !empty($package['license']) ? implode(', ', $package['license']) : '',
|
||||||
'homepage' => sprintf(
|
'homepage' => sprintf(
|
||||||
'<a href="https://packagist.org/packages/%s" target="_blank">Visit packagist</a>',
|
'<a href="https://packagist.org/packages/%s" target="_blank">Visit packagist</a>',
|
||||||
$package['name']
|
$package['name']
|
||||||
)
|
),
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return array($version, $deps);
|
return [$version, $deps];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
38
src/Backend/Renderer/Label/Layer/AbstractLabelRenderer.php
Normal file
38
src/Backend/Renderer/Label/Layer/AbstractLabelRenderer.php
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class AbstractLabelRenderer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
abstract class AbstractLabelRenderer implements LayerLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function supports(array $row): bool
|
||||||
|
{
|
||||||
|
return $row['type'] === $this->getLayerType();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the supported layer type.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
abstract protected function getLayerType(): string;
|
||||||
|
}
|
||||||
70
src/Backend/Renderer/Label/Layer/ChainRenderer.php
Normal file
70
src/Backend/Renderer/Label/Layer/ChainRenderer.php
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
|
||||||
|
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface as Translator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ChainRenderer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
final class ChainRenderer implements LayerLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* List of layer label renderer.
|
||||||
|
*
|
||||||
|
* @var array|LayerLabelRenderer[]
|
||||||
|
*/
|
||||||
|
private $renderer;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ChainRenderer constructor.
|
||||||
|
*
|
||||||
|
* @param array|LayerLabelRenderer[] $renderer List of layer label renderer.
|
||||||
|
*/
|
||||||
|
public function __construct($renderer)
|
||||||
|
{
|
||||||
|
$this->renderer = $renderer;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function supports(array $row): bool
|
||||||
|
{
|
||||||
|
foreach ($this->renderer as $renderer) {
|
||||||
|
if ($renderer->supports($row)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string
|
||||||
|
{
|
||||||
|
foreach ($this->renderer as $renderer) {
|
||||||
|
if ($renderer->supports($row)) {
|
||||||
|
return $renderer->render($row, $label, $translator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $label;
|
||||||
|
}
|
||||||
|
}
|
||||||
67
src/Backend/Renderer/Label/Layer/FileLabelRenderer.php
Normal file
67
src/Backend/Renderer/Label/Layer/FileLabelRenderer.php
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class FileLabelRenderer
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
class FileLabelRenderer extends AbstractLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Repository manager.
|
||||||
|
*
|
||||||
|
* @var RepositoryManager
|
||||||
|
*/
|
||||||
|
private $repositoryManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FileLabelRenderer constructor.
|
||||||
|
*
|
||||||
|
* @param RepositoryManager $repositoryManager Repository manager.
|
||||||
|
*/
|
||||||
|
public function __construct(RepositoryManager $repositoryManager)
|
||||||
|
{
|
||||||
|
$this->repositoryManager = $repositoryManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
protected function getLayerType(): string
|
||||||
|
{
|
||||||
|
return 'file';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string
|
||||||
|
{
|
||||||
|
$repository = $this->repositoryManager->getRepository(FilesModel::class);
|
||||||
|
$file = $repository->findByPk($row['file']);
|
||||||
|
|
||||||
|
if ($file) {
|
||||||
|
$label .= ' <span class="tl_gray">(' . $file->path . ')</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $label;
|
||||||
|
}
|
||||||
|
}
|
||||||
45
src/Backend/Renderer/Label/Layer/LayerLabelRenderer.php
Normal file
45
src/Backend/Renderer/Label/Layer/LayerLabelRenderer.php
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
|
||||||
|
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface as Translator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface LayerLabelRenderer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
interface LayerLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Check if current row is supported.
|
||||||
|
*
|
||||||
|
* @param array $row Current row.
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function supports(array $row): bool;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Render the backend label of an layer.
|
||||||
|
*
|
||||||
|
* @param array $row Current row.
|
||||||
|
* @param string $label Default label.
|
||||||
|
* @param Translator $translator The translator.
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string;
|
||||||
|
}
|
||||||
68
src/Backend/Renderer/Label/Layer/MarkersLabelRenderer.php
Normal file
68
src/Backend/Renderer/Label/Layer/MarkersLabelRenderer.php
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class MarkersLabelRenderer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
final class MarkersLabelRenderer extends AbstractLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Repository manager.
|
||||||
|
*
|
||||||
|
* @var RepositoryManager
|
||||||
|
*/
|
||||||
|
private $repositoryManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FileLabelRenderer constructor.
|
||||||
|
*
|
||||||
|
* @param RepositoryManager $repositoryManager Repository manager.
|
||||||
|
*/
|
||||||
|
public function __construct(RepositoryManager $repositoryManager)
|
||||||
|
{
|
||||||
|
$this->repositoryManager = $repositoryManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected function getLayerType(): string
|
||||||
|
{
|
||||||
|
return 'markers';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string
|
||||||
|
{
|
||||||
|
$repository = $this->repositoryManager->getRepository(MarkerModel::class);
|
||||||
|
$count = $repository->countBy(['pid=?'], [$row['id']]);
|
||||||
|
$label .= sprintf(
|
||||||
|
'<span class="tl_gray"> (%s %s)</span>',
|
||||||
|
$count,
|
||||||
|
$translator->trans('countEntries', [], 'contao_tl_leaflet_layer')
|
||||||
|
);
|
||||||
|
|
||||||
|
return $label;
|
||||||
|
}
|
||||||
|
}
|
||||||
46
src/Backend/Renderer/Label/Layer/OverpassLabelRenderer.php
Normal file
46
src/Backend/Renderer/Label/Layer/OverpassLabelRenderer.php
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
|
||||||
|
|
||||||
|
use Contao\StringUtil;
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface as Translator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class OverpassLabelRenderer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
final class OverpassLabelRenderer extends AbstractLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected function getLayerType(): string
|
||||||
|
{
|
||||||
|
return 'overpass';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string
|
||||||
|
{
|
||||||
|
if ($row['overpassQuery']) {
|
||||||
|
$label .= '<span class="tl_gray"> ' . StringUtil::substr($row['overpassQuery'], 50) . '</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $label;
|
||||||
|
}
|
||||||
|
}
|
||||||
52
src/Backend/Renderer/Label/Layer/ProviderLabelRenderer.php
Normal file
52
src/Backend/Renderer/Label/Layer/ProviderLabelRenderer.php
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
|
||||||
|
|
||||||
|
use Symfony\Component\Translation\TranslatorInterface as Translator;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Backend label renderer for provider layer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
final class ProviderLabelRenderer extends AbstractLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected function getLayerType(): string
|
||||||
|
{
|
||||||
|
return 'provider';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string
|
||||||
|
{
|
||||||
|
$langKey = 'leaflet_provider.' . $row['tile_provider'] . '.0';
|
||||||
|
$translated = $translator->trans($langKey, [], 'contao_leaflet');
|
||||||
|
|
||||||
|
if ($translated !== $langKey) {
|
||||||
|
$provider = $translated;
|
||||||
|
} else {
|
||||||
|
$provider = $row['tile_provider'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$label .= sprintf('<span class="tl_gray"> (%s)</span>', $provider);
|
||||||
|
|
||||||
|
return $label;
|
||||||
|
}
|
||||||
|
}
|
||||||
67
src/Backend/Renderer/Label/Layer/ReferenceLabelRenderer.php
Normal file
67
src/Backend/Renderer/Label/Layer/ReferenceLabelRenderer.php
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class ReferenceLabelRenderer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
final class ReferenceLabelRenderer extends AbstractLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Repository manager.
|
||||||
|
*
|
||||||
|
* @var RepositoryManager
|
||||||
|
*/
|
||||||
|
private $repositoryManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FileLabelRenderer constructor.
|
||||||
|
*
|
||||||
|
* @param RepositoryManager $repositoryManager Repository manager.
|
||||||
|
*/
|
||||||
|
public function __construct(RepositoryManager $repositoryManager)
|
||||||
|
{
|
||||||
|
$this->repositoryManager = $repositoryManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected function getLayerType(): string
|
||||||
|
{
|
||||||
|
return 'reference';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string
|
||||||
|
{
|
||||||
|
$repository = $this->repositoryManager->getRepository(LayerModel::class);
|
||||||
|
$reference = $repository->find((int) $row['reference']);
|
||||||
|
|
||||||
|
if ($reference) {
|
||||||
|
$label .= '<span class="tl_gray"> (' . $reference->title . ')</span>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $label;
|
||||||
|
}
|
||||||
|
}
|
||||||
68
src/Backend/Renderer/Label/Layer/VectorsLabelRenderer.php
Normal file
68
src/Backend/Renderer/Label/Layer/VectorsLabelRenderer.php
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
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;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class VectorsLabelRenderer.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
|
||||||
|
*/
|
||||||
|
final class VectorsLabelRenderer extends AbstractLabelRenderer
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Repository manager.
|
||||||
|
*
|
||||||
|
* @var RepositoryManager
|
||||||
|
*/
|
||||||
|
private $repositoryManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* FileLabelRenderer constructor.
|
||||||
|
*
|
||||||
|
* @param RepositoryManager $repositoryManager Repository manager.
|
||||||
|
*/
|
||||||
|
public function __construct(RepositoryManager $repositoryManager)
|
||||||
|
{
|
||||||
|
$this->repositoryManager = $repositoryManager;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
protected function getLayerType(): string
|
||||||
|
{
|
||||||
|
return 'vectors';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function render(array $row, string $label, Translator $translator): string
|
||||||
|
{
|
||||||
|
$repository = $this->repositoryManager->getRepository(VectorModel::class);
|
||||||
|
$count = $repository->countBy(['pid=?'], [$row['id']]);
|
||||||
|
$label .= sprintf(
|
||||||
|
'<span class="tl_gray"> (%s %s)</span>',
|
||||||
|
$count,
|
||||||
|
$translator->trans('countEntries', [], 'contao_tl_leaflet_layer')
|
||||||
|
);
|
||||||
|
|
||||||
|
return $label;
|
||||||
|
}
|
||||||
|
}
|
||||||
37
src/Bundle/ConsentBridge/Plugin.php
Normal file
37
src/Bundle/ConsentBridge/Plugin.php
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Bundle\ConsentBridge;
|
||||||
|
|
||||||
|
use Hofff\Contao\Consent\Bridge\Bridge;
|
||||||
|
use Hofff\Contao\Consent\Bridge\Plugin as ConsentBridgePlugin;
|
||||||
|
use Hofff\Contao\Consent\Bridge\Render\RenderInformation;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Consent Bridge plugin for leaflet.
|
||||||
|
*/
|
||||||
|
final class Plugin implements ConsentBridgePlugin
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function load(Bridge $bridge): void
|
||||||
|
{
|
||||||
|
$renderInformation = RenderInformation::autoRenderWithPlaceholder('leaflet_consent_bridge_placeholder');
|
||||||
|
|
||||||
|
$bridge
|
||||||
|
->supportContentElement('leaflet', $renderInformation)
|
||||||
|
->supportFrontendModule('leaflet', $renderInformation);
|
||||||
|
}
|
||||||
|
}
|
||||||
66
src/Bundle/ContaoManager/Plugin.php
Normal file
66
src/Bundle/ContaoManager/Plugin.php
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Bundle\ContaoManager;
|
||||||
|
|
||||||
|
use Contao\CoreBundle\ContaoCoreBundle;
|
||||||
|
use Contao\ManagerPlugin\Bundle\BundlePluginInterface;
|
||||||
|
use Contao\ManagerPlugin\Bundle\Config\BundleConfig;
|
||||||
|
use Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
|
||||||
|
use Contao\ManagerPlugin\Routing\RoutingPluginInterface;
|
||||||
|
use Netzmacht\Contao\Leaflet\Bundle\NetzmachtContaoLeafletBundle;
|
||||||
|
use Netzmacht\Contao\PageContext\NetzmachtContaoPageContextBundle;
|
||||||
|
use Netzmacht\Contao\Toolkit\Bundle\NetzmachtContaoToolkitBundle;
|
||||||
|
use Symfony\Component\Config\Loader\LoaderResolverInterface;
|
||||||
|
use Symfony\Component\HttpKernel\KernelInterface;
|
||||||
|
use Symfony\Component\Routing\RouteCollection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Contao manager plugin.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\ContaoManager
|
||||||
|
*/
|
||||||
|
class Plugin implements BundlePluginInterface, RoutingPluginInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getBundles(ParserInterface $parser)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
BundleConfig::create(NetzmachtContaoLeafletBundle::class)
|
||||||
|
->setLoadAfter(
|
||||||
|
[
|
||||||
|
ContaoCoreBundle::class,
|
||||||
|
NetzmachtContaoToolkitBundle::class,
|
||||||
|
NetzmachtContaoPageContextBundle::class
|
||||||
|
]
|
||||||
|
)
|
||||||
|
->setReplace(['leaflet']),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function getRouteCollection(LoaderResolverInterface $resolver, KernelInterface $kernel): ?RouteCollection
|
||||||
|
{
|
||||||
|
$loader = $resolver->resolve(__DIR__ . '/../Resources/config/routing.yml');
|
||||||
|
if (!$loader) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $loader->load(__DIR__ . '/../Resources/config/routing.yml');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Bundle\DependencyInjection;
|
||||||
|
|
||||||
|
use Symfony\Component\Config\FileLocator;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
use Symfony\Component\DependencyInjection\Loader\YamlFileLoader;
|
||||||
|
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class NetzmachtContaoLeafletExtension.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\DependencyInjection
|
||||||
|
*/
|
||||||
|
class NetzmachtContaoLeafletExtension extends Extension
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function load(array $configs, ContainerBuilder $container)
|
||||||
|
{
|
||||||
|
$loader = new YamlFileLoader(
|
||||||
|
$container,
|
||||||
|
new FileLocator(dirname(__DIR__) . '/Resources/config')
|
||||||
|
);
|
||||||
|
|
||||||
|
// Common config, services and listeners
|
||||||
|
$loader->load('config.yml');
|
||||||
|
$loader->load('services.yml');
|
||||||
|
$loader->load('listeners.yml');
|
||||||
|
|
||||||
|
// Amenities and providers config
|
||||||
|
$loader->load('amenities.yml');
|
||||||
|
$loader->load('providers.yml');
|
||||||
|
|
||||||
|
// Other services
|
||||||
|
$loader->load('mappers.yml');
|
||||||
|
$loader->load('encoders.yml');
|
||||||
|
$loader->load('layers.yml');
|
||||||
|
|
||||||
|
if (!$container->hasDefinition('netzmacht.contao_leaflet.cache')) {
|
||||||
|
if ($container->getParameter('kernel.debug')) {
|
||||||
|
$container->setAlias('netzmacht.contao_leaflet.cache', 'netzmacht.contao_leaflet.cache.debug');
|
||||||
|
} else {
|
||||||
|
$container->setAlias('netzmacht.contao_leaflet.cache', 'netzmacht.contao_leaflet.cache.default');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Bundle\DependencyInjection\Pass;
|
||||||
|
|
||||||
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
use Symfony\Component\DependencyInjection\Reference;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register all definition mappers.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\DependencyInjection\Pass
|
||||||
|
*/
|
||||||
|
class RegisterDefinitionMapperPass implements CompilerPassInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function process(ContainerBuilder $container)
|
||||||
|
{
|
||||||
|
if (!$container->hasDefinition('netzmacht.contao_leaflet.definition.mapper')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$definition = $container->getDefinition('netzmacht.contao_leaflet.definition.mapper');
|
||||||
|
$taggedServices = $container->findTaggedServiceIds('netzmacht.contao_leaflet.mapper');
|
||||||
|
|
||||||
|
foreach ($taggedServices as $serviceId => $tags) {
|
||||||
|
foreach ($tags as $attributes) {
|
||||||
|
if (isset($attributes['priority'])) {
|
||||||
|
$definition->addMethodCall('register', [new Reference($serviceId), (int) $attributes['priority']]);
|
||||||
|
} else {
|
||||||
|
$definition->addMethodCall('register', [new Reference($serviceId)]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
44
src/Bundle/DependencyInjection/Pass/RegisterEncodersPass.php
Normal file
44
src/Bundle/DependencyInjection/Pass/RegisterEncodersPass.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Bundle\DependencyInjection\Pass;
|
||||||
|
|
||||||
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
use Symfony\Component\DependencyInjection\Reference;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register all definition encoders.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\DependencyInjection\Pass
|
||||||
|
*/
|
||||||
|
class RegisterEncodersPass implements CompilerPassInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function process(ContainerBuilder $container)
|
||||||
|
{
|
||||||
|
if (!$container->hasDefinition('netzmacht.contao_leaflet.definition.builder.event_dispatcher')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$definition = $container->getDefinition('netzmacht.contao_leaflet.definition.builder.event_dispatcher');
|
||||||
|
$serviceIds = $container->findTaggedServiceIds('netzmacht.contao_leaflet.encoder');
|
||||||
|
|
||||||
|
foreach (array_keys($serviceIds) as $serviceId) {
|
||||||
|
$definition->addMethodCall('addSubscriber', [new Reference($serviceId)]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,56 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Bundle\DependencyInjection\Pass;
|
||||||
|
|
||||||
|
use Netzmacht\LeafletPHP\Assets;
|
||||||
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class RegisterLibrariesPass.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\DependencyInjection\Pass
|
||||||
|
*/
|
||||||
|
class RegisterLibrariesPass implements CompilerPassInterface
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function process(ContainerBuilder $container)
|
||||||
|
{
|
||||||
|
if (!$container->hasDefinition('netzmacht.contao_leaflet.definition.builder')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$container->hasParameter('netzmacht.contao_leaflet.libraries')) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
$definition = $container->getDefinition('netzmacht.contao_leaflet.definition.builder');
|
||||||
|
$libraries = $container->getParameter('netzmacht.contao_leaflet.libraries');
|
||||||
|
|
||||||
|
foreach ($libraries as $name => $assets) {
|
||||||
|
if (!empty($assets['css'])) {
|
||||||
|
list ($source, $type) = (array) $assets['css'];
|
||||||
|
$definition->addMethodCall('registerStylesheet', [$name, $source, $type ?: Assets::TYPE_FILE]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($assets['javascript'])) {
|
||||||
|
list ($source, $type) = (array) $assets['javascript'];
|
||||||
|
$definition->addMethodCall('registerJavascript', [$name, $source, $type ?: Assets::TYPE_FILE]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
46
src/Bundle/NetzmachtContaoLeafletBundle.php
Normal file
46
src/Bundle/NetzmachtContaoLeafletBundle.php
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
declare(strict_types=1);
|
||||||
|
|
||||||
|
namespace Netzmacht\Contao\Leaflet\Bundle;
|
||||||
|
|
||||||
|
use Netzmacht\Contao\Leaflet\Bundle\DependencyInjection\Pass\RegisterDefinitionMapperPass;
|
||||||
|
use Netzmacht\Contao\Leaflet\Bundle\DependencyInjection\Pass\RegisterEncodersPass;
|
||||||
|
use Netzmacht\Contao\Leaflet\Bundle\DependencyInjection\Pass\RegisterLibrariesPass;
|
||||||
|
use Netzmacht\Contao\Toolkit\Bundle\DependencyInjection\Compiler\AddTaggedServicesAsArgumentPass;
|
||||||
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
|
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class NetzmachtContaoLeafletBundle.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet
|
||||||
|
*/
|
||||||
|
class NetzmachtContaoLeafletBundle extends Bundle
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*/
|
||||||
|
public function build(ContainerBuilder $container)
|
||||||
|
{
|
||||||
|
$container->addCompilerPass(new RegisterDefinitionMapperPass());
|
||||||
|
$container->addCompilerPass(new RegisterEncodersPass());
|
||||||
|
$container->addCompilerPass(new RegisterLibrariesPass());
|
||||||
|
$container->addCompilerPass(
|
||||||
|
new AddTaggedServicesAsArgumentPass(
|
||||||
|
'netzmacht.contao_leaflet.layer_label_renderer',
|
||||||
|
'netzmacht.contao_leaflet.layer_label_renderer'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
202
src/Bundle/Resources/config/amenities.yml
Normal file
202
src/Bundle/Resources/config/amenities.yml
Normal file
@@ -0,0 +1,202 @@
|
|||||||
|
parameters:
|
||||||
|
netzmacht.contao_leaflet.amenities:
|
||||||
|
- 'administration'
|
||||||
|
- 'advertising'
|
||||||
|
- 'alm'
|
||||||
|
- 'animal_boarding'
|
||||||
|
- 'animal_breeding'
|
||||||
|
- 'animal_shelter'
|
||||||
|
- 'architect_office'
|
||||||
|
- 'arts_centre'
|
||||||
|
- 'artwork'
|
||||||
|
- 'atm'
|
||||||
|
- 'audiologist'
|
||||||
|
- 'baby_hatch'
|
||||||
|
- 'bank'
|
||||||
|
- 'bar'
|
||||||
|
- 'bbq'
|
||||||
|
- 'bench'
|
||||||
|
- 'bicycle_parking'
|
||||||
|
- 'bicycle_rental'
|
||||||
|
- 'bicycle_repair_station'
|
||||||
|
- 'bicycle_trailer_sharing'
|
||||||
|
- 'biergarten'
|
||||||
|
- 'bikeshed'
|
||||||
|
- 'boat_rental'
|
||||||
|
- 'boat_sharing'
|
||||||
|
- 'boat_storage'
|
||||||
|
- 'brothel'
|
||||||
|
- 'bts'
|
||||||
|
- 'bureau_de_change'
|
||||||
|
- 'bus_station'
|
||||||
|
- 'cafe'
|
||||||
|
- 'canoe_hire'
|
||||||
|
- 'car_rental'
|
||||||
|
- 'car_repair'
|
||||||
|
- 'car_sharing'
|
||||||
|
- 'car_wash'
|
||||||
|
- 'casino'
|
||||||
|
- 'charging_station'
|
||||||
|
- 'childcare'
|
||||||
|
- 'cinema'
|
||||||
|
- 'citymap_post'
|
||||||
|
- 'clinic'
|
||||||
|
- 'clock'
|
||||||
|
- 'club'
|
||||||
|
- 'coast_guard'
|
||||||
|
- 'coast_radar_station'
|
||||||
|
- 'college'
|
||||||
|
- 'community_center'
|
||||||
|
- 'community_centre'
|
||||||
|
- 'compressed_air'
|
||||||
|
- 'concert_hall'
|
||||||
|
- 'conference_centre'
|
||||||
|
- 'courthouse'
|
||||||
|
- 'coworking_space'
|
||||||
|
- 'crematorium'
|
||||||
|
- 'crucifix'
|
||||||
|
- 'crypt'
|
||||||
|
- 'customs'
|
||||||
|
- 'dancing_school'
|
||||||
|
- 'dead_pub'
|
||||||
|
- 'dentist'
|
||||||
|
- 'disused'
|
||||||
|
- 'dive_centre'
|
||||||
|
- 'doctors'
|
||||||
|
- 'dog_bin'
|
||||||
|
- 'dog_waste_bin'
|
||||||
|
- 'dojo'
|
||||||
|
- 'drinking_water'
|
||||||
|
- '_driving_school'
|
||||||
|
- 'education'
|
||||||
|
- 'embassy'
|
||||||
|
- 'emergency_phone'
|
||||||
|
- 'emergency_service'
|
||||||
|
- 'events_venue'
|
||||||
|
- 'ev_charging'
|
||||||
|
- 'exhibition_centre'
|
||||||
|
- 'fast_food'
|
||||||
|
- 'ferry_terminal'
|
||||||
|
- 'festival_grounds'
|
||||||
|
- 'financial_advice'
|
||||||
|
- 'fire_hydrant'
|
||||||
|
- 'fire_station'
|
||||||
|
- 'first_aid'
|
||||||
|
- 'fish_spa'
|
||||||
|
- 'food_court'
|
||||||
|
- 'fountain'
|
||||||
|
- 'fuel'
|
||||||
|
- 'gambling'
|
||||||
|
- 'game_feeding'
|
||||||
|
- 'garages'
|
||||||
|
- 'grave_yard'
|
||||||
|
- 'grit_bin'
|
||||||
|
- 'harbourmaster'
|
||||||
|
- 'hospice'
|
||||||
|
- 'hospital'
|
||||||
|
- 'hotel'
|
||||||
|
- 'hunting_stand'
|
||||||
|
- 'ice_cream'
|
||||||
|
- 'internet_cafe'
|
||||||
|
- 'jobcentre'
|
||||||
|
- 'kindergarten'
|
||||||
|
- 'kiosk'
|
||||||
|
- 'kitchen'
|
||||||
|
- 'Kneippbecken'
|
||||||
|
- 'kneipp_water_cure'
|
||||||
|
- 'language_school'
|
||||||
|
- 'lavoir'
|
||||||
|
- 'library'
|
||||||
|
- 'lifeboat_station'
|
||||||
|
- 'life_ring'
|
||||||
|
- 'loading_dock'
|
||||||
|
- 'love_hotel'
|
||||||
|
- 'marae'
|
||||||
|
- 'marketplace'
|
||||||
|
- 'milk_dispenser'
|
||||||
|
- 'mobile_library'
|
||||||
|
- 'monastery'
|
||||||
|
- 'money_transfer'
|
||||||
|
- 'mortuary'
|
||||||
|
- 'motorcycle_parking'
|
||||||
|
- 'motorcycle_rental'
|
||||||
|
- 'music_school'
|
||||||
|
- 'music_venue'
|
||||||
|
- 'nameplate'
|
||||||
|
- 'nightclub'
|
||||||
|
- 'nursery'
|
||||||
|
- 'nursing_home'
|
||||||
|
- 'park'
|
||||||
|
- 'parking'
|
||||||
|
- 'parking_entrance'
|
||||||
|
- 'parking_space'
|
||||||
|
- 'pharmacy'
|
||||||
|
- 'photo_booth'
|
||||||
|
- 'place_of_worship'
|
||||||
|
- 'planetarium'
|
||||||
|
- 'police'
|
||||||
|
- 'post_box'
|
||||||
|
- 'post_office'
|
||||||
|
- 'preschool'
|
||||||
|
- 'printer'
|
||||||
|
- 'prison'
|
||||||
|
- 'prison_camp'
|
||||||
|
- 'proposed'
|
||||||
|
- 'pub'
|
||||||
|
- 'public_bath'
|
||||||
|
- 'public_bookcase'
|
||||||
|
- 'public_building'
|
||||||
|
- 'public_hall'
|
||||||
|
- 'ranger_station'
|
||||||
|
- 'recycling'
|
||||||
|
- 'refugee_housing'
|
||||||
|
- 'register_office'
|
||||||
|
- 'rescue_box'
|
||||||
|
- 'rescue_station'
|
||||||
|
- 'research_institute'
|
||||||
|
- 'restaurant'
|
||||||
|
- 'retirement_home'
|
||||||
|
- 'sanatorium'
|
||||||
|
- 'sanitary_dump_station'
|
||||||
|
- 'sauna'
|
||||||
|
- 'school'
|
||||||
|
- 'scout_hut'
|
||||||
|
- 'shelter'
|
||||||
|
- 'shop'
|
||||||
|
- 'shower'
|
||||||
|
- 'ski_school'
|
||||||
|
- 'smoking_area'
|
||||||
|
- 'social_centre'
|
||||||
|
- 'social_facility'
|
||||||
|
- 'spa'
|
||||||
|
- 'stables'
|
||||||
|
- 'stripclub'
|
||||||
|
- 'studio'
|
||||||
|
- 'swimming_pool'
|
||||||
|
- 'swingerclub'
|
||||||
|
- 'table'
|
||||||
|
- 'taxi'
|
||||||
|
- 'telephone'
|
||||||
|
- 'theatre'
|
||||||
|
- 'ticket_booth'
|
||||||
|
- 'ticket_validator'
|
||||||
|
- 'toilets'
|
||||||
|
- 'townhall'
|
||||||
|
- 'trolley_bay'
|
||||||
|
- 'university'
|
||||||
|
- 'vacuum_cleaner'
|
||||||
|
- 'vehicle_inspection'
|
||||||
|
- 'vending_machine'
|
||||||
|
- 'veterinary'
|
||||||
|
- 'vivarium'
|
||||||
|
- 'wash_center'
|
||||||
|
- 'waste_basket'
|
||||||
|
- 'waste_disposal'
|
||||||
|
- 'waste_transfer_station'
|
||||||
|
- 'water'
|
||||||
|
- 'watering_place'
|
||||||
|
- 'water_point'
|
||||||
|
- 'weighbridge'
|
||||||
|
- 'winery'
|
||||||
|
- 'yacht_club'
|
||||||
|
- 'youth_centre'
|
||||||
72
src/Bundle/Resources/config/config.yml
Normal file
72
src/Bundle/Resources/config/config.yml
Normal file
@@ -0,0 +1,72 @@
|
|||||||
|
parameters:
|
||||||
|
# leaflet controls.
|
||||||
|
#
|
||||||
|
# Supported leaflet control types. Register your type for the database driven definition here.
|
||||||
|
netzmacht.contao_leaflet.controls:
|
||||||
|
- 'zoom'
|
||||||
|
- 'layers'
|
||||||
|
- 'scale'
|
||||||
|
- 'attribution'
|
||||||
|
- 'loading'
|
||||||
|
- 'fullscreen'
|
||||||
|
|
||||||
|
# Leaflet icons.
|
||||||
|
#
|
||||||
|
# Supported leaflet icon types. Register you type for the database driven definition here.
|
||||||
|
netzmacht.contao_leaflet.icons:
|
||||||
|
- 'image'
|
||||||
|
- 'div'
|
||||||
|
- 'extra'
|
||||||
|
|
||||||
|
# The style concept is not part of the LeafletJS library. Styles are extracted from the Path options. Instead
|
||||||
|
# of defining the style for every vector again, manage them at one place.
|
||||||
|
#
|
||||||
|
# The goal is to provide different style strategies. For instance a random style chooser, one which uses a color
|
||||||
|
# range and so one.
|
||||||
|
netzmacht.contao_leaflet.styles:
|
||||||
|
- 'fixed'
|
||||||
|
|
||||||
|
# Leaflet vectors.
|
||||||
|
#
|
||||||
|
# Supported leaflet vector types. Register you type for the database driven definition here.
|
||||||
|
netzmacht.contao_leaflet.vectors:
|
||||||
|
- 'polyline'
|
||||||
|
- 'polygon'
|
||||||
|
- 'multiPolyline'
|
||||||
|
- 'multiPolygon'
|
||||||
|
- 'rectangle'
|
||||||
|
- 'circle'
|
||||||
|
- 'circleMarker'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.file_formats:
|
||||||
|
gpx: ['gpx']
|
||||||
|
kml: ['kml']
|
||||||
|
wkt: ['wkt']
|
||||||
|
geojson: ['json', 'geojson']
|
||||||
|
topojson: ['json', 'topojson']
|
||||||
|
|
||||||
|
# When creating a GeoJSON feature of a map object a feature.properties.model object is passed.
|
||||||
|
# Define the properties you always want to set.
|
||||||
|
#
|
||||||
|
# For more control you can subscribe the ConvertToGeoJsonEvent.
|
||||||
|
#
|
||||||
|
# The entry can be a string or an array. If an array is passed, the 2nd value is the type. Following types
|
||||||
|
# are supported.
|
||||||
|
# - array: Use deserialize before adding the value
|
||||||
|
# - file: Thread value a uuid and find the path.
|
||||||
|
# - files: Thread values as a list of file uuids and get an array of paths.
|
||||||
|
netzmacht.contao_leaflet.feature_model_properties:
|
||||||
|
tl_leaflet_marker:
|
||||||
|
- 'id'
|
||||||
|
- 'title'
|
||||||
|
- 'alias'
|
||||||
|
|
||||||
|
tl_leaflet_vector:
|
||||||
|
- 'id'
|
||||||
|
- 'title'
|
||||||
|
- 'alias'
|
||||||
|
|
||||||
|
# Filters can be passed to a data request to get only specific data from a layer.
|
||||||
|
netzmacht.contao_leaflet.filters:
|
||||||
|
bbox: Netzmacht\Contao\Leaflet\Filter\BboxFilter
|
||||||
|
distance: Netzmacht\Contao\Leaflet\Filter\DistanceFilter
|
||||||
47
src/Bundle/Resources/config/encoders.yml
Normal file
47
src/Bundle/Resources/config/encoders.yml
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
# Leaflet encoders.
|
||||||
|
#
|
||||||
|
# The encoders transforms the definitions into javascript. The encoders has to be an implementation of the
|
||||||
|
# EventSubscriberInterface of the event dispatcher.
|
||||||
|
services:
|
||||||
|
_defaults:
|
||||||
|
public: false
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.map:
|
||||||
|
class: Netzmacht\LeafletPHP\Encoder\MapEncoder
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.control:
|
||||||
|
class: Netzmacht\LeafletPHP\Encoder\ControlEncoder
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.group:
|
||||||
|
class: Netzmacht\LeafletPHP\Encoder\GroupEncoder
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.raster:
|
||||||
|
class: Netzmacht\LeafletPHP\Encoder\RasterEncoder
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.vector:
|
||||||
|
class: Netzmacht\LeafletPHP\Encoder\VectorEncoder
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.ui:
|
||||||
|
class: Netzmacht\LeafletPHP\Encoder\UIEncoder
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.type:
|
||||||
|
class: Netzmacht\LeafletPHP\Encoder\TypeEncoder
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.encoder.subscriber:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Encoder\Subscriber\EncoderSubscriber
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.encoder }
|
||||||
99
src/Bundle/Resources/config/layers.yml
Normal file
99
src/Bundle/Resources/config/layers.yml
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
# Leaflet layer types.
|
||||||
|
#
|
||||||
|
# The type is used for the database driven definitions.
|
||||||
|
parameters:
|
||||||
|
netzmacht.contao_leaflet.layers:
|
||||||
|
provider:
|
||||||
|
children: false
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/provider.png'
|
||||||
|
|
||||||
|
group:
|
||||||
|
children: true
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/group.png'
|
||||||
|
|
||||||
|
markers:
|
||||||
|
children: false
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/markers.png'
|
||||||
|
markers: true
|
||||||
|
boundsMode:
|
||||||
|
extend: true
|
||||||
|
fit: 'deferred'
|
||||||
|
|
||||||
|
vectors:
|
||||||
|
children: false
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/vectors.png'
|
||||||
|
vectors: true
|
||||||
|
boundsMode:
|
||||||
|
extend: true
|
||||||
|
|
||||||
|
reference:
|
||||||
|
children: false
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/reference.png'
|
||||||
|
|
||||||
|
markercluster:
|
||||||
|
children: true
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/cluster.png'
|
||||||
|
|
||||||
|
tile:
|
||||||
|
children: false
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/tile.png'
|
||||||
|
|
||||||
|
overpass:
|
||||||
|
children: false
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/overpass.png'
|
||||||
|
boundsMode:
|
||||||
|
extend: true
|
||||||
|
fit: true
|
||||||
|
|
||||||
|
file:
|
||||||
|
children: false
|
||||||
|
icon: 'bundles/netzmachtcontaoleaflet/img/file.png'
|
||||||
|
boundsMode:
|
||||||
|
extend: true
|
||||||
|
|
||||||
|
services:
|
||||||
|
_defaults:
|
||||||
|
public: false
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.layer_label_renderer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\ChainRenderer
|
||||||
|
arguments:
|
||||||
|
- []
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.layer_label_renderer.markers:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\MarkersLabelRenderer
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_leaflet.layer_label_renderer' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.layer_label_renderer.overpass:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\OverpassLabelRenderer
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_leaflet.layer_label_renderer' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.layer_label_renderer.provider:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\ProviderLabelRenderer
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_leaflet.layer_label_renderer' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.layer_label_renderer.reference:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\ReferenceLabelRenderer
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_leaflet.layer_label_renderer' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.layer_label_renderer.vectors:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\VectorsLabelRenderer
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_leaflet.layer_label_renderer' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.layer_label_renderer.file:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer\FileLabelRenderer
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_leaflet.layer_label_renderer' }
|
||||||
127
src/Bundle/Resources/config/listeners.yml
Normal file
127
src/Bundle/Resources/config/listeners.yml
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
services:
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.leaflet:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\LeafletDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@templating'
|
||||||
|
- '@filesystem'
|
||||||
|
- '@netzmacht.contao_toolkit.contao.system_adapter'
|
||||||
|
- '%netzmacht.contao_leaflet.cache_dir%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.validator:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\Validator
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.dca.manager'
|
||||||
|
- '@translator'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.frontend_integration:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\FrontendIntegrationListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@translator'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.map:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\MapDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.dca.manager'
|
||||||
|
- '@database_connection'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@translator'
|
||||||
|
- '@session'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.control:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\ControlDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.dca.manager'
|
||||||
|
- '@database_connection'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '%netzmacht.contao_leaflet.controls%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\LayerDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.dca.manager'
|
||||||
|
- '@database_connection'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@translator'
|
||||||
|
- '@netzmacht.contao_leaflet.layer_label_renderer'
|
||||||
|
- '@netzmacht.contao_toolkit.contao.backend_adapter'
|
||||||
|
- '%netzmacht.contao_leaflet.layers%'
|
||||||
|
- '%netzmacht.contao_leaflet.providers%'
|
||||||
|
- '%netzmacht.contao_leaflet.amenities%'
|
||||||
|
- '%netzmacht.contao_leaflet.file_formats%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.marker:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\MarkerDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@database_connection'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.vector:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\VectorDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.dca.manager'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '%netzmacht.contao_leaflet.vectors%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.icon:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\IconDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '%netzmacht.contao_leaflet.icons%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.dca.style:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Dca\StyleDcaListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '%netzmacht.contao_leaflet.styles%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.geo_json_listener:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\GeoJsonListener
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '%netzmacht.contao_leaflet.feature_model_properties%'
|
||||||
|
tags:
|
||||||
|
- { name: 'kernel.event_listener', event: 'netzmacht.contao_leaflet.mapper.convert_to_geojson', method: 'handle' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.hash_subscriber:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\HashSubscriber
|
||||||
|
tags:
|
||||||
|
- { name: 'kernel.event_subscriber' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.load_assets:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\LoadAssetsListener
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.map.assets'
|
||||||
|
- '@netzmacht.contao_leaflet.definition.mapper'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.libraries'
|
||||||
|
tags:
|
||||||
|
- { name: 'kernel.event_listener', event: 'netzmacht.contao_leaflet.get_javascript', method: 'onGetJavascriptEvent' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.register_libraries:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\RegisterLibrariesListener
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.libraries'
|
||||||
|
- '@netzmacht.contao_leaflet.definition.builder'
|
||||||
|
tags:
|
||||||
|
- { name: 'contao.hook', hook: 'initializeSystem', method: 'onInitializeSystem' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.listeners.backend_menu:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Listener\Backend\UserNavigationListener
|
||||||
|
arguments:
|
||||||
|
- '@request_stack'
|
||||||
|
- '@router'
|
||||||
|
- '@translator'
|
||||||
|
- '@netzmacht.contao_toolkit.assets_manager'
|
||||||
|
tags:
|
||||||
|
- { name: 'contao.hook', hook: 'getUserNavigation', method: '__invoke'}
|
||||||
210
src/Bundle/Resources/config/mappers.yml
Normal file
210
src/Bundle/Resources/config/mappers.yml
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
# Leaflet mappers.
|
||||||
|
#
|
||||||
|
# Mappers translate between the database models and the leaflet definition.
|
||||||
|
services:
|
||||||
|
_defaults:
|
||||||
|
public: false
|
||||||
|
|
||||||
|
|
||||||
|
# Map mapper
|
||||||
|
netzmacht.contao_leaflet.mapper.map:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\MapMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
|
||||||
|
# Layer mappers
|
||||||
|
netzmacht.contao_leaflet.mapper.tile_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\TileLayerMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.provider_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\ProviderLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '%netzmacht.contao_leaflet.providers%'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.markers_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\MarkersLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@router'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.group_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\GroupLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.vectors_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\VectorsLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@router'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.reference_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\ReferenceLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.overpass_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\OverpassLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.marker_cluster_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\MarkerClusterLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.map.assets'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.file_layer:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Layer\FileLayerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
# Control mappers
|
||||||
|
netzmacht.contao_leaflet.mapper.zoom_control:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Control\ZoomControlMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.scale_control:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Control\ScaleControlMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.layers_control:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Control\LayersControlMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.attribution_control:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Control\AttributionControlMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.loading_control:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Control\LoadingControlMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.fullscreen_control:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Control\FullscreenControlMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
|
||||||
|
# Vector mappers
|
||||||
|
netzmacht.contao_leaflet.mapper.polyline:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Vector\PolylineMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.multi_polyline:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolylineMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.polygon:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Vector\PolygonMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.multi_polygon:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.circle:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.circle_mapper:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.rectangle_mapper:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Vector\RectangleMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
|
||||||
|
# Miscellaneous mappers
|
||||||
|
netzmacht.contao_leaflet.mapper.popup:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\UI\PopupMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.image_icon:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Type\ImageIconMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.div_icon:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Type\DivIconMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.extra_markers:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Type\ExtraMarkersIconMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.fixed_style:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\Style\FixedStyleMapper
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.mapper.marker:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\UI\MarkerMapper
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.value_filter'
|
||||||
|
tags:
|
||||||
|
- { name: netzmacht.contao_leaflet.mapper }
|
||||||
|
|
||||||
201
src/Bundle/Resources/config/providers.yml
Normal file
201
src/Bundle/Resources/config/providers.yml
Normal file
@@ -0,0 +1,201 @@
|
|||||||
|
parameters:
|
||||||
|
netzmacht.contao_leaflet.providers:
|
||||||
|
OpenStreetMap:
|
||||||
|
variants: ['Mapnik', 'BlackAndWhite', 'DE', 'CH', 'France', 'HOT', 'BZH']
|
||||||
|
|
||||||
|
OpenSeaMap: []
|
||||||
|
|
||||||
|
OpenTopoMap: []
|
||||||
|
|
||||||
|
OpenPtMap: []
|
||||||
|
|
||||||
|
OpenRailwayMap: []
|
||||||
|
|
||||||
|
OpenFireMap: []
|
||||||
|
|
||||||
|
SafeCast: []
|
||||||
|
|
||||||
|
Thunderforest:
|
||||||
|
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\ThunderforestProvider'
|
||||||
|
variants:
|
||||||
|
- 'OpenCycleMap'
|
||||||
|
- 'Transport'
|
||||||
|
- 'TransportDark'
|
||||||
|
- 'SpinalMap'
|
||||||
|
- 'Landscape'
|
||||||
|
- 'Outdoors'
|
||||||
|
- 'Pioneer'
|
||||||
|
options:
|
||||||
|
apiKey: 'tile_provider_key'
|
||||||
|
fields: ['tile_provider_key']
|
||||||
|
|
||||||
|
OpenMapSurfer:
|
||||||
|
variants: ['Roads', 'AdminBounds', 'Grayscale']
|
||||||
|
|
||||||
|
Hydda:
|
||||||
|
variants: ['Full', 'Base', 'RoadsAndLabels']
|
||||||
|
|
||||||
|
MapBox:
|
||||||
|
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\MapBoxProvider'
|
||||||
|
options:
|
||||||
|
accessToken: 'tile_provider_key'
|
||||||
|
fields: ['tile_provider_key']
|
||||||
|
|
||||||
|
Stamen:
|
||||||
|
variants:
|
||||||
|
- 'Toner'
|
||||||
|
- 'TonerBackground'
|
||||||
|
- 'TonerHybrid'
|
||||||
|
- 'TonerLines'
|
||||||
|
- 'TonerLabels'
|
||||||
|
- 'TonerLite'
|
||||||
|
- 'Terrain'
|
||||||
|
- 'TerrainBackground'
|
||||||
|
- 'TopOSMRelief'
|
||||||
|
- 'TopOSMFeatures'
|
||||||
|
- 'Watercolor'
|
||||||
|
|
||||||
|
Esri:
|
||||||
|
variants:
|
||||||
|
- 'WorldStreetMap'
|
||||||
|
- 'DeLorme'
|
||||||
|
- 'WorldTopoMap'
|
||||||
|
- 'WorldImagery'
|
||||||
|
- 'WorldTerrain'
|
||||||
|
- 'WorldShadedRelief'
|
||||||
|
- 'WorldPhysical'
|
||||||
|
- 'OceanBasemap'
|
||||||
|
- 'NatGeoWorldMap'
|
||||||
|
- 'WorldGrayCanvas'
|
||||||
|
|
||||||
|
OpenWeatherMap:
|
||||||
|
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\OpenWeatherMapProvider'
|
||||||
|
variants:
|
||||||
|
- 'Clouds'
|
||||||
|
- 'CloudsClassic'
|
||||||
|
- 'Precipitation'
|
||||||
|
- 'PrecipitationClassic'
|
||||||
|
- 'Rain'
|
||||||
|
- 'RainClassic'
|
||||||
|
- 'Pressure'
|
||||||
|
- 'PressureContour'
|
||||||
|
- 'Wind'
|
||||||
|
- 'Temperature'
|
||||||
|
- 'Snow'
|
||||||
|
options:
|
||||||
|
apiKey: 'tile_provider_key'
|
||||||
|
fields: ['tile_provider_key']
|
||||||
|
|
||||||
|
HERE:
|
||||||
|
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\HereProvider'
|
||||||
|
variants:
|
||||||
|
- 'normalDay'
|
||||||
|
- 'normalDayCustom'
|
||||||
|
- 'normalDayGrey'
|
||||||
|
- 'normalDayMobile'
|
||||||
|
- 'normalDayGreyMobile'
|
||||||
|
- 'normalDayTransit'
|
||||||
|
- 'normalDayTransitMobile'
|
||||||
|
- 'normalNight'
|
||||||
|
- 'normalNightMobile'
|
||||||
|
- 'normalNightGrey'
|
||||||
|
- 'normalNightGreyMobile'
|
||||||
|
- 'normalNightTransit'
|
||||||
|
- 'normalNightTransitMobile'
|
||||||
|
- 'reducedDay'
|
||||||
|
- 'reducedNight'
|
||||||
|
- 'basicMap'
|
||||||
|
- 'mapLabels'
|
||||||
|
- 'trafficFlow'
|
||||||
|
- 'carnavDayGrey'
|
||||||
|
- 'hybridDay'
|
||||||
|
- 'hybridDayMobile'
|
||||||
|
- 'hybridDayTransit'
|
||||||
|
- 'hybridDayGrey'
|
||||||
|
- 'pedestrianDay'
|
||||||
|
- 'pedestrianNight'
|
||||||
|
- 'satelliteDay'
|
||||||
|
- 'terrainDay'
|
||||||
|
- 'terrainDayMobile'
|
||||||
|
options:
|
||||||
|
appId: 'tile_provider_key'
|
||||||
|
appCode: 'tile_provider_code'
|
||||||
|
fields: ['tile_provider_key', 'tile_provider_code']
|
||||||
|
|
||||||
|
JusticeMap:
|
||||||
|
variants:
|
||||||
|
- 'income'
|
||||||
|
- 'americanIndian'
|
||||||
|
- 'asian'
|
||||||
|
- 'black'
|
||||||
|
- 'hispanic'
|
||||||
|
- 'multi'
|
||||||
|
- 'nonWhite'
|
||||||
|
- 'white'
|
||||||
|
- 'plurality'
|
||||||
|
|
||||||
|
FreeMapSK: []
|
||||||
|
|
||||||
|
MtbMap: []
|
||||||
|
|
||||||
|
CartoDB:
|
||||||
|
variants:
|
||||||
|
- 'Positron'
|
||||||
|
- 'PositronNoLabels'
|
||||||
|
- 'PositronOnlyLabels'
|
||||||
|
- 'DarkMatter'
|
||||||
|
- 'DarkMatterNoLabels'
|
||||||
|
- 'DarkMatterOnlyLabels'
|
||||||
|
- 'Voyager'
|
||||||
|
- 'VoyagerNoLabels'
|
||||||
|
- 'VoyagerOnlyLabels'
|
||||||
|
- 'VoyagerLabelsUnder'
|
||||||
|
|
||||||
|
HikeBike:
|
||||||
|
variants:
|
||||||
|
- 'HikeBike'
|
||||||
|
- 'HillShading'
|
||||||
|
|
||||||
|
BasemapAT:
|
||||||
|
variants:
|
||||||
|
- 'basemap'
|
||||||
|
- 'grau'
|
||||||
|
- 'overlay'
|
||||||
|
- 'highdpi'
|
||||||
|
- 'orthofoto'
|
||||||
|
|
||||||
|
nlmaps:
|
||||||
|
variants:
|
||||||
|
- 'standaard'
|
||||||
|
- 'pastel'
|
||||||
|
- 'grijs'
|
||||||
|
- 'luchtfoto'
|
||||||
|
|
||||||
|
NASAGIBS:
|
||||||
|
variants:
|
||||||
|
- 'ModisTerraTrueColorCR'
|
||||||
|
- 'ModisTerraBands367CR'
|
||||||
|
- 'ViirsEarthAtNight2012'
|
||||||
|
- 'ModisTerraLSTDay'
|
||||||
|
- 'ModisTerraSnowCover'
|
||||||
|
- 'ModisTerraAOD'
|
||||||
|
- 'ModisTerraChlorophyll'
|
||||||
|
|
||||||
|
NLS: []
|
||||||
|
|
||||||
|
Wikimedia: []
|
||||||
|
|
||||||
|
GeoportailFrance:
|
||||||
|
variants:
|
||||||
|
- 'parcels'
|
||||||
|
- 'ignMaps'
|
||||||
|
- 'maps'
|
||||||
|
- 'orthos'
|
||||||
|
|
||||||
|
OneMapSG:
|
||||||
|
variants:
|
||||||
|
- 'Default'
|
||||||
|
- 'Night'
|
||||||
|
- 'Original'
|
||||||
|
- 'Grey'
|
||||||
|
- 'LandLot'
|
||||||
18
src/Bundle/Resources/config/routing.yml
Normal file
18
src/Bundle/Resources/config/routing.yml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
leaflet_layer:
|
||||||
|
path: /leaflet/api/layer/{layerId}
|
||||||
|
controller: Netzmacht\Contao\Leaflet\Frontend\Action\LayerDataAction
|
||||||
|
defaults:
|
||||||
|
_leaflet_scope: page
|
||||||
|
_format: geojson
|
||||||
|
_scope: frontend
|
||||||
|
requirements:
|
||||||
|
_format: geojson
|
||||||
|
context: \w+
|
||||||
|
contextId: \d+
|
||||||
|
|
||||||
|
leaflet_backend_about:
|
||||||
|
path: /contao/leaflet/about
|
||||||
|
controller: Netzmacht\Contao\Leaflet\Backend\Action\AboutAction
|
||||||
|
defaults:
|
||||||
|
_scope: backend
|
||||||
|
_backend_module: leaflet_about
|
||||||
144
src/Bundle/Resources/config/services.yml
Normal file
144
src/Bundle/Resources/config/services.yml
Normal file
@@ -0,0 +1,144 @@
|
|||||||
|
parameters:
|
||||||
|
netzmacht.contao_leaflet.cache_dir: '%kernel.cache_dir%/leaflet'
|
||||||
|
|
||||||
|
# JSON_UNESCAPED_SLASHES ^ Netzmacht\JavascriptBuilder\Flags::BUILD_STACK
|
||||||
|
netzmacht.contao_leaflet.encoding_flags: 16448
|
||||||
|
|
||||||
|
services:
|
||||||
|
netzmacht.contao_leaflet.map.provider:
|
||||||
|
class: Netzmacht\Contao\Leaflet\MapProvider
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.definition.mapper'
|
||||||
|
- '@netzmacht.contao_leaflet.definition.builder'
|
||||||
|
- '@event_dispatcher'
|
||||||
|
- '@netzmacht.contao_toolkit.contao.input_adapter'
|
||||||
|
- '@netzmacht.contao_leaflet.map.assets'
|
||||||
|
- '@netzmacht.contao_leaflet.cache'
|
||||||
|
- '@netzmacht.contao_leaflet.frontend.data_controller'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@templating'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.libraries:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Frontend\Assets\LibrariesConfiguration
|
||||||
|
arguments:
|
||||||
|
- '@contao.framework'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.filter_factory:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Filter\FilterFactory
|
||||||
|
arguments:
|
||||||
|
- '%netzmacht.contao_leaflet.filters%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.cache.default:
|
||||||
|
class: Doctrine\Common\Cache\FilesystemCache
|
||||||
|
arguments:
|
||||||
|
- '%netzmacht.contao_leaflet.cache_dir%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.cache.debug:
|
||||||
|
class: Doctrine\Common\Cache\ArrayCache
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.frontend.value_filter:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Frontend\ValueFilter
|
||||||
|
arguments:
|
||||||
|
- '@contao.framework'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.map.assets:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Encoder\ContaoAssets
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_toolkit.assets_manager'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.definition.builder:
|
||||||
|
class: Netzmacht\LeafletPHP\Leaflet
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.definition.builder.javascript_builder'
|
||||||
|
- '@netzmacht.contao_leaflet.definition.builder.event_dispatcher'
|
||||||
|
- []
|
||||||
|
- '%netzmacht.contao_leaflet.encoding_flags%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.definition.builder.javascript_builder:
|
||||||
|
class: Netzmacht\JavascriptBuilder\Builder
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.definition.encoder_factory'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.definition.builder.event_dispatcher:
|
||||||
|
class: Symfony\Component\EventDispatcher\EventDispatcher
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.definition.mapper:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper
|
||||||
|
arguments:
|
||||||
|
- '@event_dispatcher'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.definition.encoder_factory:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Encoder\EncoderFactory
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.definition.builder.event_dispatcher'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.definition.alias_generator.factory_default:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Alias\DefaultAliasGeneratorFactory
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@database_connection'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.definition.alias_generator.factory_parent:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Alias\ParentAliasGeneratorFactory
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@database_connection'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.frontend.element_factory:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Frontend\ContentElement\MapElementFactory
|
||||||
|
arguments:
|
||||||
|
- '@templating'
|
||||||
|
- '@translator'
|
||||||
|
- '@netzmacht.contao_leaflet.map.provider'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_toolkit.contao.input_adapter'
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_toolkit.component.content_element_factory' }
|
||||||
|
- { name: 'netzmacht.contao_toolkit.component.content_element', alias: 'leaflet', category: 'includes' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.frontend.module_factory:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Frontend\Module\MapModuleFactory
|
||||||
|
arguments:
|
||||||
|
- '@templating'
|
||||||
|
- '@translator'
|
||||||
|
- '@netzmacht.contao_leaflet.map.provider'
|
||||||
|
- '@netzmacht.contao_toolkit.repository_manager'
|
||||||
|
- '@netzmacht.contao_toolkit.contao.input_adapter'
|
||||||
|
tags:
|
||||||
|
- { name: 'netzmacht.contao_toolkit.component.frontend_module_factory' }
|
||||||
|
- { name: 'netzmacht.contao_toolkit.component.frontend_module', alias: 'leaflet', category: 'includes' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.frontend.insert_tag:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Frontend\InsertTag\LeafletInsertTagParser
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.map.provider'
|
||||||
|
- '%kernel.debug%'
|
||||||
|
tags:
|
||||||
|
- { name: 'contao.hook', hook: 'replaceInsertTags', method: 'replace' }
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.frontend.data_controller:
|
||||||
|
class: Netzmacht\Contao\Leaflet\Frontend\DataController
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.filter_factory'
|
||||||
|
- '%kernel.debug%'
|
||||||
|
|
||||||
|
Netzmacht\Contao\Leaflet\Frontend\PageIdDeterminator:
|
||||||
|
tags:
|
||||||
|
- { name: Netzmacht\Contao\PageContext\Request\PageIdDeterminator }
|
||||||
|
|
||||||
|
Netzmacht\Contao\Leaflet\Frontend\Action\LayerDataAction:
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@netzmacht.contao_leaflet.map.provider'
|
||||||
|
- '@netzmacht.contao_leaflet.filter_factory'
|
||||||
|
|
||||||
|
Netzmacht\Contao\Leaflet\Backend\Action\AboutAction:
|
||||||
|
public: true
|
||||||
|
arguments:
|
||||||
|
- '@twig'
|
||||||
|
- '%kernel.project_dir%'
|
||||||
|
|
||||||
|
Netzmacht\Contao\Leaflet\Bundle\ConsentBridge\Plugin:
|
||||||
|
tags:
|
||||||
|
- { name: hofff_contao_consent_bridge.plugin }
|
||||||
62
src/Bundle/Resources/contao/config/config.php
Normal file
62
src/Bundle/Resources/contao/config/config.php
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Backend module.
|
||||||
|
*/
|
||||||
|
|
||||||
|
array_insert(
|
||||||
|
$GLOBALS['BE_MOD'],
|
||||||
|
1,
|
||||||
|
[
|
||||||
|
'leaflet' => [
|
||||||
|
'leaflet_map' => [
|
||||||
|
'tables' => [
|
||||||
|
'tl_leaflet_map',
|
||||||
|
'tl_leaflet_control',
|
||||||
|
],
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/map.png',
|
||||||
|
'stylesheet' => 'bundles/netzmachtcontaoleaflet/css/backend.css',
|
||||||
|
],
|
||||||
|
'leaflet_layer' => [
|
||||||
|
'tables' => [
|
||||||
|
'tl_leaflet_layer',
|
||||||
|
'tl_leaflet_marker',
|
||||||
|
'tl_leaflet_vector',
|
||||||
|
'tl_leaflet_icon',
|
||||||
|
'tl_leaflet_style',
|
||||||
|
'tl_leaflet_popup',
|
||||||
|
],
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
|
||||||
|
'stylesheet' => 'bundles/netzmachtcontaoleaflet/css/backend.css',
|
||||||
|
'javascript' => 'bundles/netzmachtcontaoleaflet/js/backend.js',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
]
|
||||||
|
);
|
||||||
|
|
||||||
|
if (defined('TL_MODE') && TL_MODE === 'BE') {
|
||||||
|
$GLOBALS['TL_CSS'][] = 'bundles/netzmachtcontaoleaflet/css/backend_global.css';
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Models.
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_control'] = \Netzmacht\Contao\Leaflet\Model\ControlModel::class;
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_icon'] = \Netzmacht\Contao\Leaflet\Model\IconModel::class;
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_layer'] = \Netzmacht\Contao\Leaflet\Model\LayerModel::class;
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_map'] = \Netzmacht\Contao\Leaflet\Model\MapModel::class;
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_marker'] = \Netzmacht\Contao\Leaflet\Model\MarkerModel::class;
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_popup'] = \Netzmacht\Contao\Leaflet\Model\PopupModel::class;
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_style'] = \Netzmacht\Contao\Leaflet\Model\StyleModel::class;
|
||||||
|
$GLOBALS['TL_MODELS']['tl_leaflet_vector'] = \Netzmacht\Contao\Leaflet\Model\VectorModel::class;
|
||||||
86
src/Bundle/Resources/contao/dca/tl_content.php
Normal file
86
src/Bundle/Resources/contao/dca/tl_content.php
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Fritz Michael Gschwantner <fmg@inspiredminds.at>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_content']['metapalettes']['leaflet'] = [
|
||||||
|
'type' => ['type', 'headline'],
|
||||||
|
'leaflet' => ['leaflet_map', 'leaflet_mapId', 'leaflet_width', 'leaflet_height'],
|
||||||
|
'template' => [':hide', 'customTpl', 'leaflet_template'],
|
||||||
|
'protected' => [':hide', 'protected'],
|
||||||
|
'expert' => [':hide', 'guests', 'cssID', 'space'],
|
||||||
|
'invisible' => [':hide', 'invisible', 'start', 'start'],
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_map'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_map'],
|
||||||
|
'inputType' => 'select',
|
||||||
|
'exclude' => true,
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.frontend_integration', 'getMaps'],
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.frontend_integration', 'getEditMapLink'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50 wizard',
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_mapId'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_mapId'],
|
||||||
|
'inputType' => 'text',
|
||||||
|
'exclude' => true,
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'maxlength' => 16,
|
||||||
|
],
|
||||||
|
'sql' => "varchar(16) NOT NULL default ''",
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_width'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_width'],
|
||||||
|
'inputType' => 'inputUnit',
|
||||||
|
'options' => $GLOBALS['TL_CSS_UNITS'],
|
||||||
|
'search' => false,
|
||||||
|
'exclude' => true,
|
||||||
|
'eval' => ['rgxp' => 'digit', 'tl_class' => 'clr w50'],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_height'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_height'],
|
||||||
|
'inputType' => 'inputUnit',
|
||||||
|
'options' => $GLOBALS['TL_CSS_UNITS'],
|
||||||
|
'search' => false,
|
||||||
|
'exclude' => true,
|
||||||
|
'eval' => ['rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_content']['fields']['leaflet_template'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_content']['leaflet_template'],
|
||||||
|
'inputType' => 'select',
|
||||||
|
'exclude' => true,
|
||||||
|
'options_callback' => ['netzmacht.contao_toolkit.dca.listeners.template_options', 'handleOptionsCallback'],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'template_options' => [
|
||||||
|
'prefix' => 'leaflet_map_js',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
];
|
||||||
410
src/Bundle/Resources/contao/dca/tl_leaflet_control.php
Normal file
410
src/Bundle/Resources/contao/dca/tl_leaflet_control.php
Normal file
@@ -0,0 +1,410 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_control'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'ptable' => 'tl_leaflet_map',
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'pid' => 'index',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onload_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
// List configuration
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 4,
|
||||||
|
'fields' => ['sorting'],
|
||||||
|
'headerFields' => ['title'],
|
||||||
|
'flag' => 1,
|
||||||
|
'sorting' => 2,
|
||||||
|
'panelLayout' => 'filter,sort;search,limit',
|
||||||
|
'child_record_callback' => ['netzmacht.contao_leaflet.listeners.dca.control', 'generateRow'],
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title'],
|
||||||
|
'format' => '%s',
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'header.gif',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'toggle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['toggle'],
|
||||||
|
'icon' => 'visible.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
||||||
|
'button_callback' => [
|
||||||
|
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
|
||||||
|
'handleButtonCallback',
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'state_button' => [
|
||||||
|
'stateColumn' => 'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'palettes' => [
|
||||||
|
'__selector__' => ['type'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'name' => ['title', 'alias', 'type', 'position'],
|
||||||
|
'config' => [],
|
||||||
|
'active' => ['active'],
|
||||||
|
],
|
||||||
|
'zoom extends default' => [
|
||||||
|
'config' => ['zoomInText', 'zoomOutText', 'zoomInTitle', 'zoomOutTitle'],
|
||||||
|
],
|
||||||
|
'layers extends default' => [
|
||||||
|
'config' => ['layers', 'collapsed', 'autoZIndex'],
|
||||||
|
],
|
||||||
|
'scale extends default' => [
|
||||||
|
'config' => ['maxWidth', 'metric', 'imperial', 'updateWhenIdle'],
|
||||||
|
],
|
||||||
|
'attribution extends default' => [
|
||||||
|
'config' => ['attributions', 'prefix', 'disableDefault'],
|
||||||
|
],
|
||||||
|
'loading extends default' => [
|
||||||
|
'config' => ['separate', 'zoomControl', 'spinjs'],
|
||||||
|
],
|
||||||
|
'fullscreen extends default' => [
|
||||||
|
'config' => ['buttonTitle', 'separate', 'simulateFullScreen'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metasubpalettes' => [
|
||||||
|
'spinjs' => ['spin'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'pid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'sorting' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
'sorting' => true,
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'sorting' => true,
|
||||||
|
'search' => true,
|
||||||
|
'flag' => 1,
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'search' => true,
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_parent',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'type' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['type'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => true,
|
||||||
|
'helpwizard' => true,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.control', 'getControlTypes'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['leaflet_control'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'position' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['position'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'options' => ['topleft', 'topright', 'bottomleft', 'bottomright'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_control'],
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'helpwizard' => true],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['active'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'filter' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'zoomInText' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'zoomOutText' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'zoomInTitle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInTitle'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'zoomOutTitle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutTitle'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'collapsed' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['collapsed'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => '1',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'autoZIndex' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['autoZIndex'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => '1',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'layers' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['layers'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'multiColumnWizard',
|
||||||
|
'load_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.control', 'loadLayerRelations'],
|
||||||
|
],
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.control', 'saveLayerRelations'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'leaflet-mcw leaflet-mcw-control-layers',
|
||||||
|
'columnFields' => [
|
||||||
|
'layer' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['layer'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.control', 'getLayers'],
|
||||||
|
'eval' => [
|
||||||
|
'style' => 'width: 300px',
|
||||||
|
'chosen' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'mode' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['layerMode'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options' => ['base', 'overlay'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_control'],
|
||||||
|
'eval' => [
|
||||||
|
'style' => 'width: 200px',
|
||||||
|
'helpwizard' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'mediumblob NULL',
|
||||||
|
],
|
||||||
|
'maxWidth' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['maxWidth'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 100,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'rgxp' => 'digit'],
|
||||||
|
'sql' => "int(5) NOT NULL default '100'",
|
||||||
|
],
|
||||||
|
'metric' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['metric'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => '1',
|
||||||
|
'eval' => ['tl_class' => 'w50 clr'],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'imperial' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['imperial'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => '1',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'updateWhenIdle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['updateWhenIdle'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'prefix' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['prefix'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'attributions' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['attributions'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'listWizard',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'clr', 'allowHtml' => true],
|
||||||
|
'sql' => 'mediumblob NULL',
|
||||||
|
],
|
||||||
|
'separate' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['separate'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'w50 m12'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'zoomControl' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomControl'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.control', 'getZoomControls'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_control'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'spinjs' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['spinjs'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'spin' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['spin'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'style' => 'height:60px',
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|json',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'simulateFullScreen' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['simulateFullScreen'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'w50 m12'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'buttonTitle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['buttonTitle'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'disableDefault' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['disableDefault'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
44
src/Bundle/Resources/contao/dca/tl_leaflet_control_layer.php
Normal file
44
src/Bundle/Resources/contao/dca/tl_leaflet_control_layer.php
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_control_layer'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'cid,lid' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'sorting' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'cid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'lid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'mode' => [
|
||||||
|
'sql' => "varchar(16) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
425
src/Bundle/Resources/contao/dca/tl_leaflet_icon.php
Normal file
425
src/Bundle/Resources/contao/dca/tl_leaflet_icon.php
Normal file
@@ -0,0 +1,425 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_icon'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'alias' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 1,
|
||||||
|
'fields' => ['title'],
|
||||||
|
'flag' => 1,
|
||||||
|
'panelLayout' => 'limit',
|
||||||
|
'headerFields' => ['title', 'type'],
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title', 'type'],
|
||||||
|
'format' => '%s <span class="tl_gray">[%s]</span>',
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'layers' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['layersBtn'],
|
||||||
|
'href' => 'table=tl_leaflet_layer',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
'styles' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['styles'],
|
||||||
|
'href' => 'table=tl_leaflet_style',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'popups' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['popups'],
|
||||||
|
'href' => 'table=tl_leaflet_popup',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'edit.gif',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'toggle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['toggle'],
|
||||||
|
'icon' => 'visible.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
||||||
|
'button_callback' => [
|
||||||
|
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
|
||||||
|
'handleButtonCallback',
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'state_button' => [
|
||||||
|
'stateColumn' => 'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'palettes' => [
|
||||||
|
'__selector__' => ['type'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'title' => ['title', 'alias', 'type'],
|
||||||
|
],
|
||||||
|
'image extends default' => [
|
||||||
|
'config' => [
|
||||||
|
'iconImage',
|
||||||
|
'iconRetinaImage',
|
||||||
|
'iconAnchor',
|
||||||
|
'popupAnchor',
|
||||||
|
'className',
|
||||||
|
],
|
||||||
|
'shadow' => [
|
||||||
|
'shadowImage',
|
||||||
|
'shadowRetinaImage',
|
||||||
|
'shadowAnchor',
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'div extends default' => [
|
||||||
|
'config' => [
|
||||||
|
'html',
|
||||||
|
'iconSize',
|
||||||
|
'iconAnchor',
|
||||||
|
'popupAnchor',
|
||||||
|
'className',
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'extra extends default' => [
|
||||||
|
'config' => [
|
||||||
|
'icon',
|
||||||
|
'prefix',
|
||||||
|
'shape',
|
||||||
|
'markerColor',
|
||||||
|
'number',
|
||||||
|
'iconColor',
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'unique' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'type' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['type'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.icon', 'getIconOptions'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['leaflet_icon'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['active'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'iconImage' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconImage'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'fileTree',
|
||||||
|
'eval' => [
|
||||||
|
'filesOnly' => true,
|
||||||
|
'fieldType' => 'radio',
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
'extensions' => 'gif,png,svg,jpg',
|
||||||
|
],
|
||||||
|
'sql' => 'binary(16) NULL',
|
||||||
|
],
|
||||||
|
'iconRetinaImage' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconRetinaImage'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'fileTree',
|
||||||
|
'eval' => [
|
||||||
|
'filesOnly' => true,
|
||||||
|
'fieldType' => 'radio',
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
'extensions' => 'gif,png,svg,jpg',
|
||||||
|
],
|
||||||
|
'sql' => 'binary(16) NULL',
|
||||||
|
],
|
||||||
|
'shadowImage' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowImage'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'fileTree',
|
||||||
|
'eval' => [
|
||||||
|
'filesOnly' => true,
|
||||||
|
'fieldType' => 'radio',
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
'extensions' => 'gif,png,svg,jpg',
|
||||||
|
],
|
||||||
|
'sql' => 'binary(16) NULL',
|
||||||
|
],
|
||||||
|
'shadowRetinaImage' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowRetinaImage'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'fileTree',
|
||||||
|
'eval' => [
|
||||||
|
'filesOnly' => true,
|
||||||
|
'fieldType' => 'radio',
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
'extensions' => 'gif,png,svg,jpg',
|
||||||
|
],
|
||||||
|
'sql' => 'binary(16) NULL',
|
||||||
|
],
|
||||||
|
'iconAnchor' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconAnchor'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'shadowAnchor' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowAnchor'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'popupAnchor' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['popupAnchor'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'className' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['className'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 64, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'iconSize' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconSize'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 64,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(64) NULL',
|
||||||
|
],
|
||||||
|
'html' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['html'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'style' => 'height:60px',
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|html',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'icon' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['icon'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 64,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(64) NULL',
|
||||||
|
],
|
||||||
|
'prefix' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['prefix'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 64,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(64) NULL',
|
||||||
|
],
|
||||||
|
'shape' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['shape'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'default' => 'circle',
|
||||||
|
'options' => ['circle', 'square', 'star', 'penta'],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(64) NULL',
|
||||||
|
],
|
||||||
|
'iconColor' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconColor'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.color_picker', 'handleWizardCallback'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 64,
|
||||||
|
'tl_class' => 'w50 wizard',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(16) NULL',
|
||||||
|
],
|
||||||
|
'markerColor' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['markerColor'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'default' => 'circle',
|
||||||
|
'options' => [
|
||||||
|
'blue',
|
||||||
|
'red',
|
||||||
|
'orange-dark',
|
||||||
|
'orange',
|
||||||
|
'yellow',
|
||||||
|
'blue-dark',
|
||||||
|
'cyan',
|
||||||
|
'purple',
|
||||||
|
'violet',
|
||||||
|
'pink',
|
||||||
|
'green-dark',
|
||||||
|
'green',
|
||||||
|
'green-light',
|
||||||
|
'black',
|
||||||
|
'white',
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(16) NULL',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
909
src/Bundle/Resources/contao/dca/tl_leaflet_layer.php
Normal file
909
src/Bundle/Resources/contao/dca/tl_leaflet_layer.php
Normal file
@@ -0,0 +1,909 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_layer'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'ctable' => ['tl_leaflet_vector', 'tl_leaflet_marker'],
|
||||||
|
'ondelete_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.layer', 'deleteRelations'],
|
||||||
|
],
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'pid' => 'index',
|
||||||
|
'alias' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onload_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 5,
|
||||||
|
'fields' => ['title'],
|
||||||
|
'flag' => 1,
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
|
||||||
|
'panelLayout' => 'filter;search,limit',
|
||||||
|
'paste_button_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getPasteButtons'],
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title'],
|
||||||
|
'format' => '%s',
|
||||||
|
'label_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'generateRow'],
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'styles' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['styles'],
|
||||||
|
'href' => 'table=tl_leaflet_style',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'icons' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['icons'],
|
||||||
|
'href' => 'table=tl_leaflet_icon',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'popups' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups'],
|
||||||
|
'href' => 'table=tl_leaflet_popup',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'markers' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['markers'],
|
||||||
|
'href' => 'table=tl_leaflet_marker',
|
||||||
|
'icon' => 'edit.gif',
|
||||||
|
'button_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'generateMarkersButton'],
|
||||||
|
],
|
||||||
|
'vectors' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['vectors'],
|
||||||
|
'href' => 'table=tl_leaflet_vector',
|
||||||
|
'icon' => 'edit.gif',
|
||||||
|
'button_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'generateVectorsButton'],
|
||||||
|
],
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'header.gif',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'cut' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cut'],
|
||||||
|
'href' => 'act=paste&mode=cut',
|
||||||
|
'icon' => 'cut.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'toggle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['toggle'],
|
||||||
|
'icon' => 'visible.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();
|
||||||
|
return ContaoLeafletAjaxRequest.toggleVisibility(this,%s)"',
|
||||||
|
'button_callback' => [
|
||||||
|
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
|
||||||
|
'handleButtonCallback',
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'state_button' => [
|
||||||
|
'stateColumn' => 'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'palettes' => [
|
||||||
|
'__selector__' => ['type'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'title' => ['title', 'alias', 'type'],
|
||||||
|
'config' => [],
|
||||||
|
'style' => [],
|
||||||
|
'expert' => [':hide'],
|
||||||
|
'active' => ['active'],
|
||||||
|
],
|
||||||
|
'markers extends default' => [
|
||||||
|
'+expert' => ['pointToLayer'],
|
||||||
|
'+config' => ['boundsMode', 'deferred'],
|
||||||
|
],
|
||||||
|
'group extends default' => [
|
||||||
|
'+title' => ['groupType'],
|
||||||
|
'+active' => ['boundsMode'],
|
||||||
|
],
|
||||||
|
'vectors extends default' => [
|
||||||
|
'+expert' => ['onEachFeature', 'pointToLayer'],
|
||||||
|
'+config' => ['boundsMode', 'deferred'],
|
||||||
|
],
|
||||||
|
'reference extends default' => [
|
||||||
|
'+title' => ['reference', 'standalone'],
|
||||||
|
],
|
||||||
|
'markercluster extends default' => [
|
||||||
|
'config' => [
|
||||||
|
'showCoverageOnHover',
|
||||||
|
'zoomToBoundsOnClick',
|
||||||
|
'removeOutsideVisibleBounds',
|
||||||
|
'animateAddingMarkers',
|
||||||
|
'spiderfyOnMaxZoom',
|
||||||
|
'disableClusteringAtZoom',
|
||||||
|
'maxClusterRadius',
|
||||||
|
'singleMarkerMode',
|
||||||
|
],
|
||||||
|
'+expert' => [
|
||||||
|
'polygonOptions',
|
||||||
|
'iconCreateFunction',
|
||||||
|
'disableDefaultStyle',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'tile extends default' => [
|
||||||
|
'config' => [
|
||||||
|
'tileUrl',
|
||||||
|
'subdomains',
|
||||||
|
'attribution',
|
||||||
|
'minZoom',
|
||||||
|
'maxZoom',
|
||||||
|
],
|
||||||
|
'+expert' => [
|
||||||
|
'errorTileUrl',
|
||||||
|
'tileSize',
|
||||||
|
'tms',
|
||||||
|
'continuousWorld',
|
||||||
|
'noWrap',
|
||||||
|
'zoomReverse',
|
||||||
|
'zoomOffset',
|
||||||
|
'maxNativeZoom',
|
||||||
|
'opacity',
|
||||||
|
'zIndex',
|
||||||
|
'unloadvisibleTiles',
|
||||||
|
'updateWhenIdle',
|
||||||
|
'detectRetina',
|
||||||
|
'reuseTiles',
|
||||||
|
'bounds',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'overpass extends default' => [
|
||||||
|
'config' => [
|
||||||
|
'overpassQuery',
|
||||||
|
'boundsMode',
|
||||||
|
'minZoom',
|
||||||
|
'overpassEndpoint',
|
||||||
|
'overpassPopup',
|
||||||
|
],
|
||||||
|
'style' => [
|
||||||
|
'amenityIcons',
|
||||||
|
],
|
||||||
|
'+expert' => [
|
||||||
|
'onEachFeature',
|
||||||
|
'pointToLayer',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'file extends default' => [
|
||||||
|
'+config' => ['boundsMode', 'fileFormat'],
|
||||||
|
'+expert' => [
|
||||||
|
'onEachFeature',
|
||||||
|
'pointToLayer',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metasubselectpalettes' => [
|
||||||
|
'type' => [
|
||||||
|
'provider' => ['tile_provider', 'tile_provider_variant'],
|
||||||
|
],
|
||||||
|
'tile_provider' => [
|
||||||
|
'MapBox' => ['tile_provider_key'],
|
||||||
|
'HERE' => ['tile_provider_key', 'tile_provider_code'],
|
||||||
|
'OpenWeatherMap' => ['tile_provider_key'],
|
||||||
|
'Thunderforest' => ['tile_provider_key'],
|
||||||
|
],
|
||||||
|
'fileFormat' => [
|
||||||
|
'!' => ['file'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metasubpalettes' => [
|
||||||
|
'spiderfyOnMaxZoom' => ['spiderfyDistanceMultiplier'],
|
||||||
|
'deferred' => ['cache'],
|
||||||
|
'cache' => ['cacheLifeTime'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'pid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'sorting' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'search' => true,
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'search' => true,
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'unique' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'type' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['type'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'filter' => true,
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => true,
|
||||||
|
'helpwizard' => true,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getLayerOptions'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['leaflet_layer'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['active'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'filter' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'tile_provider' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50 clr',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getProviderOptions'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'tile_provider_variant' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_variant'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => false,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getVariants'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'tile_provider_key' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_key'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'clr w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'tile_provider_code' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_code'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'deferred' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['deferred'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'groupType' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['groupType'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'helpwizard' => true,
|
||||||
|
],
|
||||||
|
'default' => 'layer',
|
||||||
|
'options' => ['layer', 'feature'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['groupTypes'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'reference' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['reference'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getLayers'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'standalone' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['standalone'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'onEachFeature' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['onEachFeature'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|javascript',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'pointToLayer' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['pointToLayer'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|javascript',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'showCoverageOnHover' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['showCoverageOnHover'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'zoomToBoundsOnClick' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomToBoundsOnClick'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'spiderfyOnMaxZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['spiderfyOnMaxZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'removeOutsideVisibleBounds' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['removeOutsideVisibleBounds'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'animateAddingMarkers' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['animateAddingMarkers'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'disableClusteringAtZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['disableClusteringAtZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'default' => null,
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'maxClusterRadius' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxClusterRadius'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(5) NULL',
|
||||||
|
],
|
||||||
|
'singleMarkerMode' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['singleMarkerMode'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => false, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'polygonOptions' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['polygonOptions'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|json',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'spiderfyDistanceMultiplier' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['spiderfyDistanceMultiplier'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(5) NULL',
|
||||||
|
],
|
||||||
|
'iconCreateFunction' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['iconCreateFunction'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|javascript',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'disableDefaultStyle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['disableDefaultStyle'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'boundsMode' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['boundsMode'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getBoundsModes'],
|
||||||
|
'eval' => ['tl_class' => 'w50', 'includeBlankOption' => true],
|
||||||
|
'sql' => "varchar(6) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'tileUrl' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileUrl'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '',
|
||||||
|
'eval' => ['maxlength' => 255, 'tl_class' => 'w50', 'mandatory' => true],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'minZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'maxZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'maxNativeZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxNativeZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'tileSize' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileSize'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(5) NULL',
|
||||||
|
],
|
||||||
|
'subdomains' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['subdomains'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '',
|
||||||
|
'eval' => ['maxlength' => 16, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(16) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'errorTileUrl' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['errorTileUrl'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '',
|
||||||
|
'eval' => ['maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'attribution' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['attribution'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '',
|
||||||
|
'eval' => ['maxlength' => 255, 'tl_class' => 'long', 'allowHtml' => true],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'tms' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tms'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'continuousWorld' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['continuousWorld'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'noWrap' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['noWrap'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'zoomOffset' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomOffset'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(5) NULL',
|
||||||
|
],
|
||||||
|
'zoomReverse' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomReverse'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'opacity' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['opacity'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '1.0',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50 clr'],
|
||||||
|
'sql' => "varchar(4) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'zIndex' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zIndex'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(5) NULL',
|
||||||
|
],
|
||||||
|
'unloadvisibleTiles' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['unloadvisibleTiles'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'updateWhenIdle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['updateWhenIdle'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'detectRetina' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['detectRetina'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'reuseTiles' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['reuseTiles'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'bounds' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['bounds'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'leaflet_geocode',
|
||||||
|
'save_callback' => [
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'multiple' => true,
|
||||||
|
'size' => 2,
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'mediumblob NULL',
|
||||||
|
],
|
||||||
|
'cache' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cache'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'cacheLifeTime' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cacheLifeTime'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 0,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'overpassQuery' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassQuery'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'overpassEndpoint' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassEndpoint'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'overpassCallback' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassCallback'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|javascript',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'minZoomIndicatorPosition' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorPosition'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'options' => ['topleft', 'topright', 'bottomleft', 'bottomright'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer'],
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'helpwizard' => true],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'minZoomIndicatorMessage' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorMessage'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '',
|
||||||
|
'eval' => ['tl_class' => 'clr w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'minZoomIndicatorMessageNoLayer' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorMessageNoLayer'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'debug' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['debug'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'amenityIcons' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcons'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'multiColumnWizard',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getIcons'],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'leaflet-mcw leaflet-mcw-amenity-icons',
|
||||||
|
'columnFields' => [
|
||||||
|
'amenity' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenity'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getAmenities'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'style' => 'width: 200px',
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'icon' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcon'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getIcons'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'style' => 'width: 200px',
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'blob NULL',
|
||||||
|
],
|
||||||
|
'overpassPopup' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassPopup'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'rte' => 'ace|javascript',
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'fileFormat' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['fileFormat'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'filter' => true,
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => true,
|
||||||
|
'helpwizard' => true,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getFileFormats'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['fileFormats'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'file' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['file'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'fileTree',
|
||||||
|
'load_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.layer', 'prepareFileWidget'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'filesOnly' => true,
|
||||||
|
'fieldType' => 'radio',
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
],
|
||||||
|
'sql' => 'binary(16) NULL',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
544
src/Bundle/Resources/contao/dca/tl_leaflet_map.php
Normal file
544
src/Bundle/Resources/contao/dca/tl_leaflet_map.php
Normal file
@@ -0,0 +1,544 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_map'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'ctable' => ['tl_leaflet_control'],
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'alias' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onload_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.map', 'addIncompleteConfigurationWarning'],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
'oncopy_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.map', 'copyLayerRelations'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 1,
|
||||||
|
'fields' => ['title'],
|
||||||
|
'panelLayout' => 'search,limit',
|
||||||
|
'flag' => 1,
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title', 'alias'],
|
||||||
|
'format' => '%s <span class="tl_gray">[%s]</span>',
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'header.gif',
|
||||||
|
],
|
||||||
|
'controls' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['controls'],
|
||||||
|
'href' => 'table=tl_leaflet_control',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/control.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'title' => ['title', 'alias'],
|
||||||
|
'zoom' => ['center', 'zoom', 'adjustZoomExtra', 'adjustBounds', 'dynamicLoad', 'boundsPadding'],
|
||||||
|
'locate' => ['locate'],
|
||||||
|
'layers' => ['layers'],
|
||||||
|
'interaction' => [
|
||||||
|
'dragging',
|
||||||
|
'touchZoom',
|
||||||
|
'scrollWheelZoom',
|
||||||
|
'doubleClickZoom',
|
||||||
|
'boxZoom',
|
||||||
|
'tap',
|
||||||
|
'keyboard',
|
||||||
|
],
|
||||||
|
'behaviour' => [
|
||||||
|
'zoomControl',
|
||||||
|
'trackResize',
|
||||||
|
'closeOnClick',
|
||||||
|
'bounceAtZoomLimits',
|
||||||
|
],
|
||||||
|
'expert' => [
|
||||||
|
'options',
|
||||||
|
'cache',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'metasubpalettes' => [
|
||||||
|
'keyboard' => [
|
||||||
|
'keyboardPanOffset',
|
||||||
|
'keyboardZoomOffset',
|
||||||
|
],
|
||||||
|
'adjustZoomExtra' => [
|
||||||
|
'minZoom',
|
||||||
|
'maxZoom',
|
||||||
|
'zoomSnap',
|
||||||
|
'zoomDelta',
|
||||||
|
],
|
||||||
|
'locate' => [
|
||||||
|
':hide',
|
||||||
|
'locateWatch',
|
||||||
|
'locateSetView',
|
||||||
|
'locateMaxZoom',
|
||||||
|
'locateTimeout',
|
||||||
|
'locateMaximumAge',
|
||||||
|
'enableHighAccuracy',
|
||||||
|
],
|
||||||
|
'cache' => [
|
||||||
|
'cacheLifeTime',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'search' => true,
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'search' => true,
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'unique' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'center' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['center'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
|
||||||
|
],
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getGeocoder'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'long clr',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'layers' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['layers'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'multiColumnWizard',
|
||||||
|
'load_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.map', 'loadLayerRelations'],
|
||||||
|
],
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.map', 'saveLayerRelations'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'multiple' => true,
|
||||||
|
'doNotSaveEmpty' => true,
|
||||||
|
'tl_class' => 'leaflet-mcw leaflet-mcw-map-layers',
|
||||||
|
'columnFields' => [
|
||||||
|
'reference' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['reference'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.map', 'getLayers'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'flatArray' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'mediumblob NULL',
|
||||||
|
],
|
||||||
|
'zoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'default' => null,
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'adjustZoomExtra' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'minZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['minZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'maxZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['maxZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'zoomSnap' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomSnap'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(4) NULL',
|
||||||
|
],
|
||||||
|
'zoomDelta' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomDelta'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(4) NULL',
|
||||||
|
],
|
||||||
|
'dragging' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['dragging'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'touchZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['touchZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'scrollWheelZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['scrollWheelZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options' => ['1', 'center'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'],
|
||||||
|
'default' => true,
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'helpwizard' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'blankOptionLabel' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][0],
|
||||||
|
],
|
||||||
|
'sql' => "char(6) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'doubleClickZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['doubleClickZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options' => ['1', 'center'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'],
|
||||||
|
'default' => true,
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'helpwizard' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'blankOptionLabel' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][0],
|
||||||
|
],
|
||||||
|
'sql' => "char(6) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'boxZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'tap' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['tap'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'trackResize' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['trackResize'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'bounceAtZoomLimits' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'closeOnClick' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['closeOnClick'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'keyboard' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboard'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'keyboardPanOffset' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardPanOffset'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 80,
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'clr w50'],
|
||||||
|
'sql' => "int(4) NOT NULL default '80'",
|
||||||
|
],
|
||||||
|
'keyboardZoomOffset' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardZoomOffset'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 1,
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "int(4) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'zoomControl' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomControl'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'options' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['options'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'clr lng',
|
||||||
|
'allowHtml' => true,
|
||||||
|
'style' => 'min-height: 40px;',
|
||||||
|
'rte' => 'ace|json',
|
||||||
|
],
|
||||||
|
'sql' => 'text NULL',
|
||||||
|
],
|
||||||
|
'adjustBounds' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'options' => ['load', 'deferred'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions'],
|
||||||
|
'eval' => ['tl_class' => 'clr w50', 'multiple' => true, 'helpwizard' => true],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'dynamicLoad' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['dynamicLoad'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'clr w50', 'submitOnChange' => false],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'boundsPadding' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['boundsPadding'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 32,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(32) NULL',
|
||||||
|
],
|
||||||
|
'locate' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locate'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'locateWatch' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateWatch'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'locateSetView' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'locateTimeout' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateTimeout'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(9) NULL',
|
||||||
|
],
|
||||||
|
'locateMaximumAge' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(9) NULL',
|
||||||
|
],
|
||||||
|
'enableHighAccuracy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['enableHighAccuracy'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'locateMaxZoom' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 4,
|
||||||
|
'rgxp' => 'digit',
|
||||||
|
'tl_class' => 'clr w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'cache' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['cache'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'cacheLifeTime' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['cacheLifeTime'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 0,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "int(9) NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
41
src/Bundle/Resources/contao/dca/tl_leaflet_map_layer.php
Normal file
41
src/Bundle/Resources/contao/dca/tl_leaflet_map_layer.php
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_map_layer'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'mid,lid' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'sorting' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'mid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'lid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
349
src/Bundle/Resources/contao/dca/tl_leaflet_marker.php
Normal file
349
src/Bundle/Resources/contao/dca/tl_leaflet_marker.php
Normal file
@@ -0,0 +1,349 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_marker'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'ptable' => 'tl_leaflet_layer',
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'pid' => 'index',
|
||||||
|
'alias' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onload_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 4,
|
||||||
|
'fields' => ['sorting'],
|
||||||
|
'flag' => 1,
|
||||||
|
'panelLayout' => 'sort,filter;search,limit',
|
||||||
|
'headerFields' => ['title', 'type'],
|
||||||
|
'child_record_callback' => ['netzmacht.contao_leaflet.listeners.dca.marker', 'generateRow'],
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title'],
|
||||||
|
'format' => '%s',
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'icons' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['icons'],
|
||||||
|
'href' => 'table=tl_leaflet_icon&id=',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
'popups' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popups'],
|
||||||
|
'href' => 'table=tl_leaflet_popup',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'edit.gif',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'toggle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['toggle'],
|
||||||
|
'icon' => 'visible.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
||||||
|
'button_callback' => [
|
||||||
|
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
|
||||||
|
'handleButtonCallback',
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'state_button' => [
|
||||||
|
'stateColumn' => 'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'title' => ['title', 'alias', 'coordinates'],
|
||||||
|
'content' => ['tooltip', 'alt', 'addPopup'],
|
||||||
|
'config' => [
|
||||||
|
':hide',
|
||||||
|
'clickable',
|
||||||
|
'draggable',
|
||||||
|
'keyboard',
|
||||||
|
'zIndexOffset',
|
||||||
|
'opacity',
|
||||||
|
'riseOnHover',
|
||||||
|
'riseOffset',
|
||||||
|
'customIcon',
|
||||||
|
],
|
||||||
|
'expert' => [':hide', 'featureData'],
|
||||||
|
'active' => ['active', 'ignoreForBounds'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'metasubpalettes' => [
|
||||||
|
'addPopup' => ['popup', 'popupContent'],
|
||||||
|
'customIcon' => ['icon'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'sorting' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
'sorting' => true,
|
||||||
|
],
|
||||||
|
'pid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'search' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'flag' => 1,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'search' => true,
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'unique' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'coordinates' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['coordinates'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.marker', 'saveCoordinates'],
|
||||||
|
],
|
||||||
|
'load_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.marker', 'loadCoordinates'],
|
||||||
|
],
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getGeocoder'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'long clr',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
'doNotSaveEmpty' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'latitude' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['latitude'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => 'decimal(10,8) NULL',
|
||||||
|
],
|
||||||
|
'longitude' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['longitude'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => 'decimal(11,8) NULL',
|
||||||
|
],
|
||||||
|
'altitude' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['altitude'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => 'float NULL',
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['active'],
|
||||||
|
'exclude' => true,
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'flag' => 12,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'tooltip' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['tooltip'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alt' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['alt'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'addPopup' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['addPopup'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'filter' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'popup' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popup'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.marker', 'getPopups'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'popupContent' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popupContent'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'rte' => 'tinyMCE', 'helpwizard' => true, 'tl_class' => 'clr'],
|
||||||
|
'explanation' => 'insertTags',
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'customIcon' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['customIcon'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'clr w50 m12', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'icon' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['icon'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.marker', 'getIcons'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'draggable' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['draggable'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'clickable' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['clickable'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'keyboard' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'zIndexOffset' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 0,
|
||||||
|
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'clr w50', 'nullIfEmpty' => true],
|
||||||
|
'sql' => 'int(5) NULL',
|
||||||
|
],
|
||||||
|
'ignoreForBounds' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['ignoreForBounds'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'featureData' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['featureData'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'clr lng',
|
||||||
|
'allowHtml' => true,
|
||||||
|
'style' => 'min-height: 40px;',
|
||||||
|
'rte' => 'ace|json',
|
||||||
|
],
|
||||||
|
'sql' => 'text NULL',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
283
src/Bundle/Resources/contao/dca/tl_leaflet_popup.php
Normal file
283
src/Bundle/Resources/contao/dca/tl_leaflet_popup.php
Normal file
@@ -0,0 +1,283 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_popup'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'alias' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 1,
|
||||||
|
'fields' => ['title'],
|
||||||
|
'flag' => 1,
|
||||||
|
'panelLayout' => 'limit',
|
||||||
|
'headerFields' => ['title', 'type'],
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title', 'type'],
|
||||||
|
'format' => '%s <span class="tl_gray">[%s]</span>',
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'layers' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn'],
|
||||||
|
'href' => 'table=tl_leaflet_layer',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
'styles' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['styles'],
|
||||||
|
'href' => 'table=tl_leaflet_style',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'icons' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons'],
|
||||||
|
'href' => 'table=tl_leaflet_icon',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'edit.gif',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'toggle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['toggle'],
|
||||||
|
'icon' => 'visible.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
||||||
|
'button_callback' => [
|
||||||
|
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
|
||||||
|
'handleButtonCallback',
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'state_button' => [
|
||||||
|
'stateColumn' => 'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'palettes' => [
|
||||||
|
'__selector__' => ['type'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'title' => ['title', 'alias'],
|
||||||
|
'size' => ['maxWidth', 'minWidth', 'maxHeight'],
|
||||||
|
'config' => [
|
||||||
|
':hide',
|
||||||
|
'closeButton',
|
||||||
|
'keepInView',
|
||||||
|
'closeOnClick',
|
||||||
|
'zoomAnimation',
|
||||||
|
'offset',
|
||||||
|
'className',
|
||||||
|
'autoPan',
|
||||||
|
],
|
||||||
|
'active' => ['active'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metasubpalettes' => [
|
||||||
|
'autoPan' => ['autoPanPadding'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'unique' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'maxWidth' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxWidth'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'minWidth' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['minWidth'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'maxHeight' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxHeight'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => null,
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => 'int(4) NULL',
|
||||||
|
],
|
||||||
|
'autoPan' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPan'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'keepInView' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'closeButton' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeButton'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'offset' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['offset'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'autoPanPadding' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPanPadding'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
'multiple' => true,
|
||||||
|
'size' => 2,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'zoomAnimation' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['zoomAnimation'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'closeOnClick' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeOnClick'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'className' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['className'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 64, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['active'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'search' => false,
|
||||||
|
'flag' => 12,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
291
src/Bundle/Resources/contao/dca/tl_leaflet_style.php
Normal file
291
src/Bundle/Resources/contao/dca/tl_leaflet_style.php
Normal file
@@ -0,0 +1,291 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_style'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'alias' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 1,
|
||||||
|
'fields' => ['title'],
|
||||||
|
'flag' => 1,
|
||||||
|
'panelLayout' => 'limit',
|
||||||
|
'headerFields' => ['title', 'type'],
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title', 'type'],
|
||||||
|
'format' => '%s <span class="tl_gray">[%s]</span>',
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'layers' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['layersBtn'],
|
||||||
|
'href' => 'table=tl_leaflet_layer',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
'icons' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['icons'],
|
||||||
|
'href' => 'table=tl_leaflet_icon',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'popups' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['popups'],
|
||||||
|
'href' => 'table=tl_leaflet_popup',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'edit.gif',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'toggle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['toggle'],
|
||||||
|
'icon' => 'visible.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
||||||
|
'button_callback' => [
|
||||||
|
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
|
||||||
|
'handleButtonCallback',
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'state_button' => [
|
||||||
|
'stateColumn' => 'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'palettes' => [
|
||||||
|
'__selector__' => ['type'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'title' => ['title', 'alias', 'type'],
|
||||||
|
'config' => [],
|
||||||
|
'active' => ['active'],
|
||||||
|
],
|
||||||
|
'fixed extends default' => [
|
||||||
|
'config' => ['stroke', 'fill'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metasubpalettes' => [
|
||||||
|
'stroke' => ['color', 'weight', 'opacity', 'dashArray', 'lineCap', 'lineJoin'],
|
||||||
|
'fill' => ['fillColor', 'fillOpacity',],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'unique' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'type' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['type'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.style', 'getStyleOptions'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['leaflet_style'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'stroke' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['stroke'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default '1'",
|
||||||
|
],
|
||||||
|
'color' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['color'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.color_picker', 'handleWizardCallback'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50 wizard clr',
|
||||||
|
'maxlength' => 7,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
],
|
||||||
|
'sql' => "varchar(8) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'weight' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['weight'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 5,
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "int(4) NOT NULL default '5'",
|
||||||
|
],
|
||||||
|
'opacity' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['opacity'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '0.5',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(4) NOT NULL default '0.5'",
|
||||||
|
],
|
||||||
|
'fill' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['fill'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'eval' => ['tl_class' => 'clr w50', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'fillColor' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['fillColor'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.color_picker', 'handleWizardCallback'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'clr w50 wizard',
|
||||||
|
'maxlength' => 7,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
],
|
||||||
|
'sql' => "varchar(8) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'fillOpacity' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => '0.2',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(4) NOT NULL default '0.2'",
|
||||||
|
],
|
||||||
|
'dashArray' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['dashArray'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 32, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'lineCap' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options' => ['butt', 'round', 'square', 'inherit'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCaps'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'w50 clr',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'helpwizard' => true,
|
||||||
|
],
|
||||||
|
'sql' => "varchar(8) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'lineJoin' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoin'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options' => ['miter', 'round', 'bevel', 'inherit'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoins'],
|
||||||
|
'eval' => ['mandatory' => false, 'tl_class' => 'w50', 'includeBlankOption' => true, 'helpwizard'],
|
||||||
|
'sql' => "varchar(8) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['active'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'search' => false,
|
||||||
|
'flag' => 12,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
389
src/Bundle/Resources/contao/dca/tl_leaflet_vector.php
Normal file
389
src/Bundle/Resources/contao/dca/tl_leaflet_vector.php
Normal file
@@ -0,0 +1,389 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_leaflet_vector'] = [
|
||||||
|
'config' => [
|
||||||
|
'dataContainer' => 'Table',
|
||||||
|
'enableVersioning' => true,
|
||||||
|
'ptable' => 'tl_leaflet_layer',
|
||||||
|
'sql' => [
|
||||||
|
'keys' => [
|
||||||
|
'id' => 'primary',
|
||||||
|
'pid' => 'index',
|
||||||
|
'alias' => 'unique',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'onload_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
|
||||||
|
],
|
||||||
|
'onsubmit_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'list' => [
|
||||||
|
'sorting' => [
|
||||||
|
'mode' => 4,
|
||||||
|
'fields' => ['sorting'],
|
||||||
|
'flag' => 1,
|
||||||
|
'panelLayout' => 'sort,filter;search,limit',
|
||||||
|
'headerFields' => ['title', 'type'],
|
||||||
|
'child_record_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'generateRow'],
|
||||||
|
],
|
||||||
|
'label' => [
|
||||||
|
'fields' => ['title'],
|
||||||
|
'format' => '%s',
|
||||||
|
],
|
||||||
|
'global_operations' => [
|
||||||
|
'styles' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['styles'],
|
||||||
|
'href' => 'table=tl_leaflet_style',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'popups' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popups'],
|
||||||
|
'href' => 'table=tl_leaflet_popup',
|
||||||
|
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();"',
|
||||||
|
],
|
||||||
|
'all' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
|
||||||
|
'href' => 'act=select',
|
||||||
|
'class' => 'header_edit_all',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'operations' => [
|
||||||
|
'edit' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['edit'],
|
||||||
|
'href' => 'act=edit',
|
||||||
|
'icon' => 'edit.gif',
|
||||||
|
],
|
||||||
|
'copy' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['copy'],
|
||||||
|
'href' => 'act=copy',
|
||||||
|
'icon' => 'copy.gif',
|
||||||
|
],
|
||||||
|
'cut' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['cut'],
|
||||||
|
'href' => 'act=paste&mode=cut',
|
||||||
|
'icon' => 'cut.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'delete' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['delete'],
|
||||||
|
'href' => 'act=delete',
|
||||||
|
'icon' => 'delete.gif',
|
||||||
|
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
|
||||||
|
. '\'))return false;Backend.getScrollOffset()"',
|
||||||
|
],
|
||||||
|
'toggle' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['toggle'],
|
||||||
|
'icon' => 'visible.gif',
|
||||||
|
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
|
||||||
|
'button_callback' => [
|
||||||
|
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
|
||||||
|
'handleButtonCallback',
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'state_button' => [
|
||||||
|
'stateColumn' => 'active',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'show' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['show'],
|
||||||
|
'href' => 'act=show',
|
||||||
|
'icon' => 'show.gif',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'palettes' => [
|
||||||
|
'__selector__' => ['type'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'metapalettes' => [
|
||||||
|
'default' => [
|
||||||
|
'title' => ['title', 'alias', 'type'],
|
||||||
|
'data' => [],
|
||||||
|
'popup' => [':hide', 'addPopup'],
|
||||||
|
'config' => [':hide', 'style', 'className', 'clickable'],
|
||||||
|
'expert' => [':hide', 'featureData'],
|
||||||
|
'active' => ['active', 'ignoreForBounds'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'polyline extends default' => [
|
||||||
|
'+config' => ['smoothFactor', 'noClip'],
|
||||||
|
'data' => ['data'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'multiPolyline extends polyline' => [
|
||||||
|
'data' => ['multiData'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'polygon extends polyline' => [],
|
||||||
|
|
||||||
|
'multiPolygon extends multiPolyline' => [
|
||||||
|
],
|
||||||
|
|
||||||
|
'rectangle extends polygon' => [
|
||||||
|
'data' => ['bounds'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'circle extends default' => [
|
||||||
|
'+data' => ['coordinates', 'radius'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'circleMarker extends circle' => [],
|
||||||
|
],
|
||||||
|
'metasubpalettes' => [
|
||||||
|
'addPopup' => ['popup', 'popupContent'],
|
||||||
|
],
|
||||||
|
|
||||||
|
'fields' => [
|
||||||
|
'id' => [
|
||||||
|
'sql' => 'int(10) unsigned NOT NULL auto_increment',
|
||||||
|
],
|
||||||
|
'tstamp' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'pid' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'sorting' => [
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
'sorting' => true,
|
||||||
|
],
|
||||||
|
'title' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['title'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'filter' => false,
|
||||||
|
'sorting' => true,
|
||||||
|
'search' => true,
|
||||||
|
'flag' => 1,
|
||||||
|
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(255) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'alias' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['alias'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'search' => true,
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'unique' => true,
|
||||||
|
'doNotCopy' => true,
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'alias_generator' => [
|
||||||
|
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
|
||||||
|
'fields' => ['title'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'type' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['type'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'search' => false,
|
||||||
|
'flag' => 1,
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => true,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
'submitOnChange' => true,
|
||||||
|
'chosen' => true,
|
||||||
|
'helpwizard' => true,
|
||||||
|
],
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'getVectorOptions'],
|
||||||
|
'reference' => &$GLOBALS['TL_LANG']['leaflet_vector'],
|
||||||
|
'sql' => "varchar(32) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'active' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['active'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'filter' => true,
|
||||||
|
'sorting' => true,
|
||||||
|
'search' => false,
|
||||||
|
'flag' => 12,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'addPopup' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['addPopup'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'filter' => true,
|
||||||
|
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'popup' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popup'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'getPopups'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'popupContent' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popupContent'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => true, 'rte' => 'tinyMCE', 'helpwizard' => true, 'tl_class' => 'clr'],
|
||||||
|
'explanation' => 'insertTags',
|
||||||
|
'sql' => 'mediumtext NULL',
|
||||||
|
],
|
||||||
|
'style' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['style'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'select',
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'getStyles'],
|
||||||
|
'eval' => [
|
||||||
|
'mandatory' => false,
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'includeBlankOption' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
],
|
||||||
|
'clickable' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['clickable'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => true,
|
||||||
|
'eval' => ['tl_class' => 'm12 w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'className' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['className'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 64, 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'coordinates' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['coordinates'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
|
||||||
|
],
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getGeocoder'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'tl_class' => 'long clr',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
'mandatory' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'varchar(255) NULL',
|
||||||
|
],
|
||||||
|
'radius' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['radius'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'text',
|
||||||
|
'default' => 5,
|
||||||
|
'eval' => ['mandatory' => false, 'maxlength' => 10, 'rgxp' => 'digit', 'tl_class' => 'clr w50'],
|
||||||
|
'sql' => "int(10) NOT NULL default '5'",
|
||||||
|
],
|
||||||
|
'data' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['data'],
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'search' => false,
|
||||||
|
'eval' => ['mandatory' => true, 'alwaysSave' => true],
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateMultipleCoordinates'],
|
||||||
|
],
|
||||||
|
'sql' => 'longblob NULL',
|
||||||
|
],
|
||||||
|
'multiData' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['multiData'],
|
||||||
|
'inputType' => 'multiColumnWizard',
|
||||||
|
'search' => false,
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'leaflet-mcw',
|
||||||
|
'mandatory' => true,
|
||||||
|
'alwaysSave' => true,
|
||||||
|
'flatArray' => true,
|
||||||
|
'columnFields' => [
|
||||||
|
'data' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['data'],
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'search' => false,
|
||||||
|
'eval' => ['alwaysSave' => true, 'style' => 'width:600px'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'save_callback' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateMultipleCoordinateSets'],
|
||||||
|
],
|
||||||
|
'sql' => 'longblob NULL',
|
||||||
|
],
|
||||||
|
'bounds' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['bounds'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'leaflet_geocode',
|
||||||
|
'save_callback' => [],
|
||||||
|
'eval' => [
|
||||||
|
'maxlength' => 255,
|
||||||
|
'multiple' => true,
|
||||||
|
'size' => 2,
|
||||||
|
'tl_class' => 'clr',
|
||||||
|
'nullIfEmpty' => true,
|
||||||
|
],
|
||||||
|
'sql' => 'mediumblob NULL',
|
||||||
|
],
|
||||||
|
'ignoreForBounds' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['ignoreForBounds'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'checkbox',
|
||||||
|
'default' => false,
|
||||||
|
'eval' => ['tl_class' => 'w50'],
|
||||||
|
'sql' => "char(1) NOT NULL default ''",
|
||||||
|
],
|
||||||
|
'featureData' => [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['featureData'],
|
||||||
|
'exclude' => true,
|
||||||
|
'inputType' => 'textarea',
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'clr lng',
|
||||||
|
'allowHtml' => true,
|
||||||
|
'style' => 'min-height: 40px;',
|
||||||
|
'rte' => 'ace|json',
|
||||||
|
],
|
||||||
|
'sql' => 'text NULL',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
86
src/Bundle/Resources/contao/dca/tl_module.php
Normal file
86
src/Bundle/Resources/contao/dca/tl_module.php
Normal file
@@ -0,0 +1,86 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Fritz Michael Gschwantner <fmg@inspiredminds.at>
|
||||||
|
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_module']['metapalettes']['leaflet'] = [
|
||||||
|
'type' => ['name', 'type', 'headline'],
|
||||||
|
'leaflet' => ['leaflet_map', 'leaflet_mapId', 'leaflet_width', 'leaflet_height', 'leaflet_template'],
|
||||||
|
'template' => [':hide', 'customTpl'],
|
||||||
|
'protected' => [':hide', 'protected'],
|
||||||
|
'expert' => [':hide', 'guests', 'cssID', 'space'],
|
||||||
|
'invisible' => [':hide', 'invisible', 'start', 'start'],
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_map'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_map'],
|
||||||
|
'inputType' => 'select',
|
||||||
|
'exclude' => true,
|
||||||
|
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.frontend_integration', 'getMaps'],
|
||||||
|
'wizard' => [
|
||||||
|
['netzmacht.contao_leaflet.listeners.dca.frontend_integration', 'getEditMapLink'],
|
||||||
|
],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50 wizard',
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'sql' => "int(10) unsigned NOT NULL default '0'",
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_mapId'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_mapId'],
|
||||||
|
'inputType' => 'text',
|
||||||
|
'exclude' => true,
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
'maxlength' => 16,
|
||||||
|
],
|
||||||
|
'sql' => "varchar(16) NOT NULL default ''",
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_width'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_width'],
|
||||||
|
'inputType' => 'inputUnit',
|
||||||
|
'options' => $GLOBALS['TL_CSS_UNITS'],
|
||||||
|
'search' => false,
|
||||||
|
'exclude' => true,
|
||||||
|
'eval' => ['rgxp' => 'digit', 'tl_class' => 'clr w50'],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_height'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_height'],
|
||||||
|
'inputType' => 'inputUnit',
|
||||||
|
'options' => $GLOBALS['TL_CSS_UNITS'],
|
||||||
|
'search' => false,
|
||||||
|
'exclude' => true,
|
||||||
|
'eval' => ['rgxp' => 'digit', 'tl_class' => 'w50'],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
];
|
||||||
|
|
||||||
|
$GLOBALS['TL_DCA']['tl_module']['fields']['leaflet_template'] = [
|
||||||
|
'label' => &$GLOBALS['TL_LANG']['tl_module']['leaflet_template'],
|
||||||
|
'inputType' => 'select',
|
||||||
|
'exclude' => true,
|
||||||
|
'options_callback' => ['netzmacht.contao_toolkit.dca.listeners.template_options', 'handleOptionsCallback'],
|
||||||
|
'eval' => [
|
||||||
|
'tl_class' => 'w50',
|
||||||
|
'chosen' => true,
|
||||||
|
],
|
||||||
|
'toolkit' => [
|
||||||
|
'template_options' => [
|
||||||
|
'prefix' => 'leaflet_map_js',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'sql' => "varchar(64) NOT NULL default ''",
|
||||||
|
];
|
||||||
@@ -3,17 +3,18 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2016-10-06T15:54:30+02:00
|
* last-updated: 2017-10-17T16:04:08+00:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['leaflet']['applyPosition'] = 'Position anwenden';
|
$GLOBALS['TL_LANG']['leaflet']['applyPosition'] = 'Position anwenden';
|
||||||
$GLOBALS['TL_LANG']['leaflet']['invalidAlias'] = 'Ein ungültiger Alias wurde angegeben. Ein Alias darf nicht leer sein, mit einer Zahl beginnen oder Sonderzeichen enthalten (Unterstriche sind erlaubt).';
|
$GLOBALS['TL_LANG']['leaflet']['invalidAlias'] = 'Ein ungültiger Alias wurde angegeben. Ein Alias darf nicht leer sein, mit einer Zahl beginnen oder Sonderzeichen enthalten (Unterstriche sind erlaubt).';
|
||||||
$GLOBALS['TL_LANG']['leaflet']['invalidCoordinates'] = 'Ungültige Koordinatenwerte vorhanden.';
|
$GLOBALS['TL_LANG']['leaflet']['invalidCoordinates'] = 'Ungültige Koordinatenwerte vorhanden.';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet']['searchPosition'] = 'Standort suchen';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['attribution']['0'] = 'Copyright-Leiste';
|
$GLOBALS['TL_LANG']['leaflet_control']['attribution']['0'] = 'Copyright-Leiste';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['attribution']['1'] = 'Das Kontrollelement zur Namensnennung erlaubt es, Urheber in einer kleinen Textbox auf der Karte anzuzeigen. Lesen Sie für weitere Details die <a href="http://leafletjs.com/reference.html#control-attribution" target="_blank">Leaflet-Dokumentation</a>.';
|
$GLOBALS['TL_LANG']['leaflet_control']['attribution']['1'] = 'Das Kontrollelement zur Namensnennung erlaubt es, Urheber in einer kleinen Textbox auf der Karte anzuzeigen. Lesen Sie für weitere Details die <a href="http://leafletjs.com/reference.html#control-attribution" target="_blank">Leaflet-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['fullscreen']['0'] = 'Fullscreen-Kontrollelement';
|
$GLOBALS['TL_LANG']['leaflet_control']['fullscreen']['0'] = 'Fullscreen-Kontrollelement';
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2016-10-04T13:07:35+02:00
|
* last-updated: 2017-10-17T16:04:09+00:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['active']['0'] = 'Kontrollelement aktivieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['active']['0'] = 'Kontrollelement aktivieren';
|
||||||
@@ -21,6 +21,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_control']['attributions']['1'] = 'Hier kö
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['autoZIndex']['0'] = 'Automatischer Z-Index';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['autoZIndex']['0'] = 'Automatischer Z-Index';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['autoZIndex']['1'] = 'Falls aktiviert wird das Kontrollelement zu allen Layern in aufsteigender Reihenfolge einen z-index hinzufügen, damit die Reihenfolge auch beim an- und abschalten von Layern erhalten bleibt.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['autoZIndex']['1'] = 'Falls aktiviert wird das Kontrollelement zu allen Layern in aufsteigender Reihenfolge einen z-index hinzufügen, damit die Reihenfolge auch beim an- und abschalten von Layern erhalten bleibt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['base']['0'] = 'Basislayer';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['base']['0'] = 'Basislayer';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['base']['1'] = 'Basis-Layer werden mit Radio-Buttons umgeschaltet. Beachten Sie, dass alle Basis-Layer als Basis-Layer-Objekte übergeben werden sollten, aber nur ein einziger für die Initialisierung der Karte benutzt werden soll.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['bottomleft']['0'] = 'Links unten';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['bottomleft']['0'] = 'Links unten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['bottomleft']['1'] = 'Linker unterer Bereich der Karte';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['bottomleft']['1'] = 'Linker unterer Bereich der Karte';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['bottomright']['0'] = 'Rechts unten';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['bottomright']['0'] = 'Rechts unten';
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2016-10-04T13:07:35+02:00
|
* last-updated: 2017-10-17T16:04:07+00:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['active']['0'] = 'Aktivieren Sie das Icon.';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['active']['0'] = 'Aktivieren Sie das Icon.';
|
||||||
@@ -30,6 +30,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_icon']['edit']['1'] = 'Icon ID %s b
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['icon']['0'] = 'Icon-CSS-Klasse';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['icon']['0'] = 'Icon-CSS-Klasse';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['icon']['1'] = 'Icon-CSS-Klasse, beispielsweise <em>fa-envelope</em>';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['icon']['1'] = 'Icon-CSS-Klasse, beispielsweise <em>fa-envelope</em>';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconAnchor']['0'] = 'Icon-Anker';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconAnchor']['0'] = 'Icon-Anker';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconAnchor']['1'] = 'Die Koordinaten der "Spitze" des Schattens (relativ zu seiner oberen linken Ecke).';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconColor']['0'] = 'Iconfarbe';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconColor']['0'] = 'Iconfarbe';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconColor']['1'] = 'Definieren Sie hier eine Farbe für den Icon-Marker';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconColor']['1'] = 'Definieren Sie hier eine Farbe für den Icon-Marker';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconImage']['0'] = 'Icon-Bild';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconImage']['0'] = 'Icon-Bild';
|
||||||
@@ -48,7 +49,10 @@ $GLOBALS['TL_LANG']['tl_leaflet_icon']['popupAnchor']['0'] = 'Popup-Anker'
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['popupAnchor']['1'] = 'Geben Sie die Koordinaten des Punktes an, von dem aus sich das Popup "öffnet". Die Koordinaten werden relativ zum Anker des Icons benutzt.';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['popupAnchor']['1'] = 'Geben Sie die Koordinaten des Punktes an, von dem aus sich das Popup "öffnet". Die Koordinaten werden relativ zum Anker des Icons benutzt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['popups']['0'] = 'Popups verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['popups']['0'] = 'Popups verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['popups']['1'] = 'Popup-Icons verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['popups']['1'] = 'Popup-Icons verwalten';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['prefix']['0'] = 'Iconpräfix Klasse';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['prefix']['1'] = 'Iconpräfix Klasse, z.B. <em>fa</em>';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowAnchor']['0'] = 'Schatten-Anker';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowAnchor']['0'] = 'Schatten-Anker';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowAnchor']['1'] = 'Die Koordinaten der "Spitze" des Schattens (relativ zu seiner oberen linken Ecke) (das gleiche wie der Symbol Anker, wenn nicht angegeben).';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowImage']['0'] = 'Schatten-Bild';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowImage']['0'] = 'Schatten-Bild';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowImage']['1'] = 'Wählen Sie ein Bild für den Schatten aus.';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowImage']['1'] = 'Wählen Sie ein Bild für den Schatten aus.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowRetinaImage']['0'] = 'Retina-Schattenbild';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowRetinaImage']['0'] = 'Retina-Schattenbild';
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
@@ -58,7 +58,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_layer']['groupTypes']['layer']['1'] = 'Ba
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['iconCreateFunction']['0'] = 'Cluster-Icon-Funktion erstellen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['iconCreateFunction']['0'] = 'Cluster-Icon-Funktion erstellen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['iconCreateFunction']['1'] = 'Diese Funktion wird zum Erstellen des Cluster-Icons benutzt.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['iconCreateFunction']['1'] = 'Diese Funktion wird zum Erstellen des Cluster-Icons benutzt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['icons']['0'] = 'Icons verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['icons']['0'] = 'Icons verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['icons']['1'] = 'Stile verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['icons']['1'] = 'Icon-Stile verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['map']['0'] = 'Karten verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['map']['0'] = 'Karten verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['map']['1'] = 'Leaflet-Karten verwalten.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['map']['1'] = 'Leaflet-Karten verwalten.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['markerCluster']['0'] = 'Marker-Cluster';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['markerCluster']['0'] = 'Marker-Cluster';
|
||||||
@@ -83,7 +83,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_layer']['pasteafter']['1'] = 'Na
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['pasteinto']['1'] = 'In Layer %s einfügen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['pasteinto']['1'] = 'In Layer %s einfügen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['polygonOptions']['0'] = 'Polygon-Optionen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['polygonOptions']['0'] = 'Polygon-Optionen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups']['0'] = 'Popups verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups']['0'] = 'Popups verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups']['1'] = 'Popup-Icons verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups']['1'] = 'Marker Popups verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['reference']['0'] = 'Referenz';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['reference']['0'] = 'Referenz';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['reference']['1'] = 'Wählen Sie den Referenzlayer aus. Ansonsten wird dasselbe JavaScript-Objekt benutzt.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['reference']['1'] = 'Wählen Sie den Referenzlayer aus. Ansonsten wird dasselbe JavaScript-Objekt benutzt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['removeOutsideVisibleBounds']['0'] = 'Entfernen, wenn außerhalb der sichtbaren Begrenzung';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['removeOutsideVisibleBounds']['0'] = 'Entfernen, wenn außerhalb der sichtbaren Begrenzung';
|
||||||
@@ -3,16 +3,17 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2016-10-06T15:54:30+02:00
|
* last-updated: 2017-10-17T16:04:07+00:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds']['0'] = 'Grenzen festlegen';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds']['0'] = 'Grenzen festlegen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds']['1'] = 'Falls aktiviert passt sich die karten an den Bereich der Datenlayer an, für die Auswirkungen auf die Kartengrenzen zugelassen sind.';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds']['1'] = 'Falls aktiviert passt sich die karten an den Bereich der Datenlayer an, für die Auswirkungen auf die Kartengrenzen zugelassen sind.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['deferred']['0'] = 'Nach dem Laden des verzögerten Features';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['deferred']['1'] = 'Bestimmt ob die Kartengrenzen neu berechnet werden wenn ein Feature verzögert geladen wird.';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['deferred']['1'] = 'Bestimmt ob die Kartengrenzen neu berechnet werden wenn ein Feature verzögert geladen wird.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load']['0'] = 'bei Karteninitialisierung';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load']['0'] = 'bei Karteninitialisierung';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load']['1'] = 'Grenzen berechnen, wenn die Karte initialisiert wird. Alle statischen und bereits geladenen Features werden mit einbezogen.';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load']['1'] = 'Grenzen berechnen, wenn die Karte initialisiert wird. Alle statischen und bereits geladenen Features werden mit einbezogen.';
|
||||||
@@ -23,6 +24,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_map']['alias']['1'] =
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['behaviour_legend'] = 'Verhalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['behaviour_legend'] = 'Verhalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits']['0'] = 'Zurückfedern bei Erreichen des Zoom-Limits';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits']['0'] = 'Zurückfedern bei Erreichen des Zoom-Limits';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits']['1'] = 'Deaktivieren Sie diese Einstellung, falls Sie verhindern möchten, dass außerhalb liegende Elemente der Karte beim Zoomen über die festgelegten minimalen / maximalen Zoomstufen hinaus angezeigt werden wenn mit zwei Fingern gezoomt wird.';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits']['1'] = 'Deaktivieren Sie diese Einstellung, falls Sie verhindern möchten, dass außerhalb liegende Elemente der Karte beim Zoomen über die festgelegten minimalen / maximalen Zoomstufen hinaus angezeigt werden wenn mit zwei Fingern gezoomt wird.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['boundsPadding']['1'] = 'Padding wird verwendet, um Grenzen zu setzen. Verwenden Sie kommagetrennte Werte. Wenn 2 Werte angegeben werden, ist die <em>Padding</em>-Option eingestellt. Wenn 4 Werte angegeben werden, ist <em>paddingTopLeft</em> und <em>paddingBottomRight</em> gesetzt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom']['0'] = 'Zoomen durch Markierung';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom']['0'] = 'Zoomen durch Markierung';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom']['1'] = 'legen Sie fest ob der Kartenausschnitt vergrößert werden kann indem Benutzer die Maus mit gedrückter Umschalttaste über die Karte ziehen.';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom']['1'] = 'legen Sie fest ob der Kartenausschnitt vergrößert werden kann indem Benutzer die Maus mit gedrückter Umschalttaste über die Karte ziehen.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['cache']['0'] = 'Cache aktivieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['cache']['0'] = 'Cache aktivieren';
|
||||||
@@ -62,6 +64,8 @@ $GLOBALS['TL_LANG']['tl_leaflet_map']['layers']['1'] =
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['layers_legend'] = 'Standardlayer';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['layers_legend'] = 'Standardlayer';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate']['0'] = 'Nutzerposition ermitteln';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate']['0'] = 'Nutzerposition ermitteln';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate']['1'] = 'Initialer Kartenzoom. Diese Funktion versucht, den Benutzer mittels Geolocation-API zu orten.';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate']['1'] = 'Initialer Kartenzoom. Diese Funktion versucht, den Benutzer mittels Geolocation-API zu orten.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom']['0'] = 'Lokalisieren Sie den maximalen Zoom';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom']['1'] = 'Max-Zoom bei der Aktualisierung der Kartenansicht.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge']['0'] = 'Maximale Gültigkeit der Benutzerposition';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge']['0'] = 'Maximale Gültigkeit der Benutzerposition';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge']['1'] = 'Maximales Alter der Daten zum Aufenthaltsort in Millisekunden. Ansonsten wird der zwischengespeicherte Wert benutzt.';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge']['1'] = 'Maximales Alter der Daten zum Aufenthaltsort in Millisekunden. Ansonsten wird der zwischengespeicherte Wert benutzt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView']['0'] = 'Kartenmitte aktualisieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView']['0'] = 'Kartenmitte aktualisieren';
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2016-10-06T15:54:30+02:00
|
* last-updated: 2017-10-17T16:04:07+00:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['active']['0'] = 'Marker aktivieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['active']['0'] = 'Marker aktivieren';
|
||||||
@@ -44,6 +44,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_marker']['icon']['1'] = 'Individuelle
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['icons']['0'] = 'Icons verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['icons']['0'] = 'Icons verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['icons']['1'] = 'Marker-Icons verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['icons']['1'] = 'Marker-Icons verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['ignoreForBounds']['0'] = 'Von Grenzen-Berechnung ausschließen.';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['ignoreForBounds']['0'] = 'Von Grenzen-Berechnung ausschließen.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['ignoreForBounds']['1'] = 'Fügen Sie dieses Element nicht in die Berechnung ein.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard']['0'] = 'Tatstaturnavigation';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard']['0'] = 'Tatstaturnavigation';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard']['1'] = 'Legen Sie fest ob der Marker über die Tabulatortaste erreicht und mit der Eingabetaste geklickt werden kann.';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard']['1'] = 'Legen Sie fest ob der Marker über die Tabulatortaste erreicht und mit der Eingabetaste geklickt werden kann.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['new']['0'] = 'Marker erstellen';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['new']['0'] = 'Marker erstellen';
|
||||||
@@ -62,5 +63,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_marker']['title_legend'] = 'Titel und Ty
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['toggle']['0'] = 'Aktivierung umschalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['toggle']['0'] = 'Aktivierung umschalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['toggle']['1'] = 'Aktivierung von Marker ID %s umschalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['toggle']['1'] = 'Aktivierung von Marker ID %s umschalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['tooltip']['0'] = 'Tooltip';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['tooltip']['0'] = 'Tooltip';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['tooltip']['1'] = 'Marker-Tooltip als Titelattribut gerendert.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset']['0'] = 'Z-Index-Offset';
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset']['0'] = 'Z-Index-Offset';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset']['1'] = 'Standardmäßig werden Markerbilder z-Index automatisch auf Grundlage der geografischen Breite festgelegt. Verwenden Sie diese Option, wenn Sie den Marker über allen anderen (oder darunter) platzieren möchten und einen hohen Wert wie 1000 (bzw. einen hohen negativen Wert) angeben.';
|
||||||
|
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
@@ -35,8 +35,8 @@ $GLOBALS['TL_LANG']['tl_leaflet_popup']['delete']['0'] = 'Popup löschen
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete']['1'] = 'Popup ID %s löschen';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete']['1'] = 'Popup ID %s löschen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit']['0'] = 'Popup bearbeiten';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit']['0'] = 'Popup bearbeiten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit']['1'] = 'Popup ID %s bearbeiten';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit']['1'] = 'Popup ID %s bearbeiten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons']['0'] = 'Popups verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons']['0'] = 'Icons verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons']['1'] = 'Marker-Popups verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons']['1'] = 'Marker-Icons verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView']['0'] = 'Im Sichtfeld behalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView']['0'] = 'Im Sichtfeld behalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView']['1'] = 'Aktivieren Sie diese Einstellung um ein herausschieben des Popups aus dem sichbaren Bereich zu verhindern.';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView']['1'] = 'Aktivieren Sie diese Einstellung um ein herausschieben des Popups aus dem sichbaren Bereich zu verhindern.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn']['0'] = 'Layer verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn']['0'] = 'Layer verwalten';
|
||||||
@@ -3,22 +3,24 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2016-10-04T13:07:35+02:00
|
* last-updated: 2017-10-17T16:04:07+00:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['active_legend'] = 'Aktivierung';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['active_legend'] = 'Aktivierung';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['alias']['0'] = 'Alias';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['alias']['0'] = 'Alias';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['alias']['1'] = 'Alias des Stils.';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['alias']['1'] = 'Alias des Stils.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['color']['0'] = 'Linienfarbe';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['color']['0'] = 'Linienfarbe';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['color']['1'] = 'Eigene Linienfarbe. Wenn dieses Feld leer ist wird die Standard-Linienfarbe benutzt. Erwartete Werte sind vollständige Hex-Codes (mit #).';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['config_legend'] = 'Konfiguration';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['config_legend'] = 'Konfiguration';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['copy']['0'] = 'Stil kopieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['copy']['0'] = 'Stil kopieren';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['copy']['1'] = 'Stil ID %s kopieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['copy']['1'] = 'Stil ID %s kopieren';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['dashArray']['0'] = 'Linienmuster';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['dashArray']['0'] = 'Linienmuster';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['dashArray']['1'] = 'Geben Sie einen String ein, der für die <a href="https://developer.mozilla.org/en/SVG/Attribute/stroke-dasharray" target="_blank">Linienart</a> benutzt werden soll.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['delete']['0'] = 'Stil löschen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['delete']['0'] = 'Stil löschen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['delete']['1'] = 'Stil ID %s löschen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['delete']['1'] = 'Stil ID %s löschen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['edit']['0'] = 'Stil bearbeiten';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['edit']['0'] = 'Stil bearbeiten';
|
||||||
@@ -26,6 +28,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_style']['edit']['1'] = 'Stil ID %s bearbe
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['fill']['0'] = 'Vektor füllen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['fill']['0'] = 'Vektor füllen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['fill']['1'] = 'Bestimmen Sie, ob der Pfad gefüllt dargestellt werden soll.';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['fill']['1'] = 'Bestimmen Sie, ob der Pfad gefüllt dargestellt werden soll.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillColor']['0'] = 'Füllfarbe';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillColor']['0'] = 'Füllfarbe';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillColor']['1'] = 'Eigene Linienfarbe. Wenn dieses Feld leer ist wird die Standard-Linienfarbe benutzt. Erwartete Werte sind vollständige Hex-Codes (mit #).';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity']['0'] = 'Transparenz der Füllung';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity']['0'] = 'Transparenz der Füllung';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity']['1'] = 'Die Transparenz der Füllung kann einen Wert zwischen 0 und 1 annehmen.';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity']['1'] = 'Die Transparenz der Füllung kann einen Wert zwischen 0 und 1 annehmen.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['icons']['0'] = 'Icons verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['icons']['0'] = 'Icons verwalten';
|
||||||
@@ -35,15 +38,17 @@ $GLOBALS['TL_LANG']['tl_leaflet_style']['layersBtn']['1'] = 'Leaflet-Layer ver
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap']['0'] = 'Linienenden';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap']['0'] = 'Linienenden';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap']['1'] = 'Geben Sie einen Wert ein, der für die <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap" target="_blank">Enden der Linie</a> benutzt werden soll,';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap']['1'] = 'Geben Sie einen Wert ein, der für die <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap" target="_blank">Enden der Linie</a> benutzt werden soll,';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoin']['0'] = 'Linienverbindung';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoin']['0'] = 'Linienverbindung';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoin']['1'] = 'Geben Sie einen String ein, der die <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linejoin" target="_blank">Form der Ecken</a> definiert.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['new']['0'] = 'Stil erstellen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['new']['0'] = 'Stil erstellen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['new']['1'] = 'Neuen Stil erstellen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['new']['1'] = 'Neuen Stil erstellen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['opacity']['0'] = 'Linientransparenz';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['opacity']['0'] = 'Linientransparenz';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['opacity']['1'] = 'Die Transparenz des Striches kann einen Wert zwischen 0 und 1 annehmen.';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['opacity']['1'] = 'Die Transparenz des Striches kann einen Wert zwischen 0 und 1 annehmen.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['popups']['0'] = 'Popups verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['popups']['0'] = 'Popups verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['popups']['1'] = 'Popup-Icons verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['popups']['1'] = 'Popup-Stile verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['show']['0'] = 'Details anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['show']['0'] = 'Details anzeigen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['show']['1'] = 'Details des Stils ID %s anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['show']['1'] = 'Details des Stils ID %s anzeigen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['stroke']['0'] = 'Linie ziehen';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['stroke']['0'] = 'Linie ziehen';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['stroke']['1'] = 'Legt fest, ob eine Linie entlang des Pfades dargestellt werden soll. Deaktivieren Sie diese Einstellung um die Grenzen von Polygonen oder Kreisen unsichtbar zu schalten.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['title']['0'] = 'Titel';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['title']['0'] = 'Titel';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['title']['1'] = 'Titel des Stils.';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['title']['1'] = 'Titel des Stils.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_style']['title_legend'] = 'Titel und Typ';
|
$GLOBALS['TL_LANG']['tl_leaflet_style']['title_legend'] = 'Titel und Typ';
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
@@ -3,8 +3,8 @@
|
|||||||
* Translations are managed using Transifex. To create a new translation
|
* Translations are managed using Transifex. To create a new translation
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
* or to help to maintain an existing one, please register at transifex.com.
|
||||||
*
|
*
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
* @link http://help.transifex.com/intro/translating.html
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user