forked from Snck3rs/contao-leaflet-maps
Compare commits
373 Commits
1.0.0-beta
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2d47186d26 | ||
|
|
512ecef899 | ||
|
|
06400f9d1a | ||
|
|
b346efeb0a | ||
|
|
dd23a1594e | ||
|
|
ae800257d8 | ||
|
|
35e86ec1b9 | ||
|
|
a2d1ae683d | ||
|
|
91ba3ebf04 | ||
|
|
8ab3cf286c | ||
|
|
ec30f4b4b9 | ||
|
|
fd54d739d7 | ||
|
|
44546e4952 | ||
|
|
9814ed31ad | ||
|
|
bfa70d9f21 | ||
|
|
ff6aae3a6e | ||
|
|
c4980c481d | ||
|
|
d0b9e7cf10 | ||
|
|
097cd5c31f | ||
|
|
c01610271c | ||
|
|
bcb68af234 | ||
|
|
0e491fcc6a | ||
|
|
ea293e327f | ||
|
|
18f1cb5756 | ||
|
|
e38e926891 | ||
|
|
700a87bd1f | ||
|
|
94ecdf9d42 | ||
|
|
9434302a16 | ||
|
|
b79a75ac21 | ||
|
|
d498903645 | ||
|
|
c544202ca8 | ||
|
|
93f176a738 | ||
|
|
852b926252 | ||
|
|
87bd720d6e | ||
|
|
3f2020b0d1 | ||
|
|
e9b0d6156f | ||
|
|
e8f1fa2485 | ||
|
|
791eebaddb | ||
|
|
2ed1000d4d | ||
|
|
4e52e31937 | ||
|
|
ef8b6d294d | ||
|
|
445729acfe | ||
|
|
d6a7e14a05 | ||
|
|
bd0eb5a416 | ||
|
|
664ce11831 | ||
|
|
8a752b1955 | ||
|
|
f2584d400c | ||
|
|
60e285c673 | ||
|
|
49f3b7dbcd | ||
|
|
89d83ab8e0 | ||
|
|
141bb0f7b1 | ||
|
|
457bb612ef | ||
|
|
118bb9a829 | ||
|
|
e49c74c546 | ||
|
|
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 | ||
|
|
5b7c7d01d8 | ||
|
|
722e17b29c | ||
|
|
8920be6649 | ||
|
|
4651f2b885 | ||
|
|
a8c4e03ab1 | ||
|
|
4c1df8eaaf | ||
|
|
da3b7ba994 | ||
|
|
9f950b0f31 | ||
|
|
324e65e217 | ||
|
|
5cf75b76b7 | ||
|
|
d95f45d35a | ||
|
|
3f05bd8783 | ||
|
|
cb370f6723 | ||
|
|
f462a11c1d | ||
|
|
c61e2d9cc9 | ||
|
|
130848c1f3 | ||
|
|
74f500513a | ||
|
|
8947efc351 | ||
|
|
37065f2183 | ||
|
|
422433bc52 | ||
|
|
cba8939843 | ||
|
|
2705ff2676 | ||
|
|
28490a9ee6 | ||
|
|
17e7bc5e1c | ||
|
|
b27c706fe3 | ||
|
|
f22906b8b6 | ||
|
|
1eba70b5b4 | ||
|
|
d394d36aff | ||
|
|
9e0723a67a | ||
|
|
8c24f5e735 | ||
|
|
2e5139a756 | ||
|
|
92b7080217 | ||
|
|
340cd5d9f6 | ||
|
|
fa67267473 | ||
|
|
33a097ebe7 | ||
|
|
45cee3bfb8 | ||
|
|
caa137e566 | ||
|
|
48a6a3a360 | ||
|
|
016d0f1435 | ||
|
|
d7d76913b1 | ||
|
|
a6ffe76134 | ||
|
|
ca4e4e0d2d | ||
|
|
025ce1ba81 | ||
|
|
ee4c157e9c | ||
|
|
daf902b989 | ||
|
|
a375a73668 | ||
|
|
b1cfbb3b04 | ||
|
|
2c9dd0ad48 | ||
|
|
4e4380270b | ||
|
|
4068f62df1 | ||
|
|
ea359e8b79 | ||
|
|
bbd97ae47d | ||
|
|
3e84260e79 | ||
|
|
971f905ad2 | ||
|
|
436cf88901 | ||
|
|
7ef6aff458 | ||
|
|
7d817850cc | ||
|
|
395f3503fa | ||
|
|
c7cf1524a7 | ||
|
|
8e89cc3616 | ||
|
|
5a41b2b5d8 | ||
|
|
59b0218f15 | ||
|
|
047bde7b15 | ||
|
|
abcc4f5d88 | ||
|
|
c8ea8d4fab | ||
|
|
e574aa36a0 | ||
|
|
91000979eb | ||
|
|
7d3c053bd1 | ||
|
|
1bb9fb4d7a | ||
|
|
749b8f3068 | ||
|
|
5da4c047b0 | ||
|
|
98ef670e4a | ||
|
|
b043b134a8 | ||
|
|
ddcec3f1e3 | ||
|
|
e75b325ec6 | ||
|
|
11bc76fea6 | ||
|
|
13253873fa | ||
|
|
5b648427c1 | ||
|
|
f4a54cdec3 | ||
|
|
0e10a3d7c4 | ||
|
|
7207d9e0e6 | ||
|
|
f8e28f3299 | ||
|
|
69e3ea8898 | ||
|
|
5d8028eda5 |
15
.composer-require-checker.json
Normal file
15
.composer-require-checker.json
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"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",
|
||||||
|
"Contao\\ManagerPlugin\\Routing\\RoutingPluginInterface",
|
||||||
|
"Hofff\\Contao\\Consent\\Bridge\\Bridge",
|
||||||
|
"Hofff\\Contao\\Consent\\Bridge\\Plugin",
|
||||||
|
"Hofff\\Contao\\Consent\\Bridge\\Render\\RenderInformation"
|
||||||
|
]
|
||||||
|
}
|
||||||
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]
|
||||||
82
.github/workflows/diagnostics.yml
vendored
Normal file
82
.github/workflows/diagnostics.yml
vendored
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
name: Code Quality Diagnostics
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
name: PHP ${{ matrix.php }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- php: 7.4
|
||||||
|
output: '-o github-action -o default'
|
||||||
|
phpcq_install: 'install'
|
||||||
|
- php: 8.0
|
||||||
|
output: '-o default'
|
||||||
|
phpcq_install: 'update'
|
||||||
|
- php: 8.1
|
||||||
|
output: '-o default'
|
||||||
|
phpcq_install: 'update'
|
||||||
|
- php: 8.2
|
||||||
|
output: '-o default'
|
||||||
|
phpcq_install: 'update'
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Pull source
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Setup PHP with PECL extension
|
||||||
|
uses: shivammathur/setup-php@v2
|
||||||
|
with:
|
||||||
|
php-version: ${{ matrix.php }}
|
||||||
|
|
||||||
|
- name: Cache composer cache directory
|
||||||
|
uses: actions/cache@v1
|
||||||
|
env:
|
||||||
|
cache-name: composer-cache-dir
|
||||||
|
with:
|
||||||
|
path: ~/.cache/composer
|
||||||
|
key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}
|
||||||
|
|
||||||
|
- name: Cache vendor directory
|
||||||
|
uses: actions/cache@v1
|
||||||
|
env:
|
||||||
|
cache-name: vendor
|
||||||
|
with:
|
||||||
|
path: vendor
|
||||||
|
key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}-${{ hashFiles('**/composer.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}-
|
||||||
|
|
||||||
|
- name: Cache phpcq directory
|
||||||
|
uses: actions/cache@v1
|
||||||
|
env:
|
||||||
|
cache-name: phpcq
|
||||||
|
with:
|
||||||
|
path: .phpcq
|
||||||
|
key: ${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}-${{ hashFiles('**/.phpcq.lock') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-${{ matrix.php }}-build-${{ env.cache-name }}-
|
||||||
|
|
||||||
|
- name: Install composer dependencies
|
||||||
|
run: composer install
|
||||||
|
- name: Install phpcq toolchain
|
||||||
|
run: ./vendor/bin/phpcq ${{ matrix.phpcq_install }} -v
|
||||||
|
|
||||||
|
- name: Run tests
|
||||||
|
run: ./vendor/bin/phpcq run -v ${{ matrix.output }}
|
||||||
|
|
||||||
|
- name: Upload build directory to artifact
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
if: ${{ success() }} || ${{ failure() }}
|
||||||
|
with:
|
||||||
|
name: phpcq-builds-php-${{ matrix.php }}
|
||||||
|
path: .phpcq/build/
|
||||||
36
.gitignore
vendored
36
.gitignore
vendored
@@ -1,10 +1,30 @@
|
|||||||
/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
|
||||||
|
|
||||||
|
.phpcq
|
||||||
|
phpcq.yaml
|
||||||
|
|||||||
1
.phpcq.lock
Normal file
1
.phpcq.lock
Normal file
File diff suppressed because one or more lines are too long
31
.travis.yml
31
.travis.yml
@@ -1,31 +0,0 @@
|
|||||||
language: php
|
|
||||||
|
|
||||||
php:
|
|
||||||
- 5.4
|
|
||||||
- 5.5
|
|
||||||
- 5.6
|
|
||||||
|
|
||||||
env:
|
|
||||||
- CONTAO_VERSION=~3.2.0
|
|
||||||
- CONTAO_VERSION=~3.3.0
|
|
||||||
- CONTAO_VERSION=~3.4.0
|
|
||||||
- CONTAO_VERSION=~3.5.0
|
|
||||||
|
|
||||||
# Exclude impossible Contao Version combinations.
|
|
||||||
matrix:
|
|
||||||
exclude:
|
|
||||||
- php: 5.3
|
|
||||||
env: CONTAO_VERSION=~3.5.0
|
|
||||||
|
|
||||||
sudo: false
|
|
||||||
|
|
||||||
install:
|
|
||||||
- travis_retry composer self-update && composer --version
|
|
||||||
- travis_retry composer require contao/core $CONTAO_VERSION --no-update
|
|
||||||
- travis_retry composer update --prefer-dist --no-interaction
|
|
||||||
|
|
||||||
script: ant -keep-going
|
|
||||||
|
|
||||||
# Hack to make things work again - we can not use a shallow repository.
|
|
||||||
git:
|
|
||||||
depth: 2147483647
|
|
||||||
210
CHANGELOG.md
Normal file
210
CHANGELOG.md
Normal file
@@ -0,0 +1,210 @@
|
|||||||
|
|
||||||
|
# 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.4] - 2023-02-20
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Load after `netzmacht-contao-leaflet-libraries` ([#116](https://github.com/netzmacht/contao-leaflet-maps/pull/116, [#120](https://github.com/netzmacht/contao-leaflet-maps/pull/120, [#121](https://github.com/netzmacht/contao-leaflet-maps/issues/121), [#122](https://github.com/netzmacht/contao-leaflet-maps/issues/122))
|
||||||
|
- Do not use `doctrine/cache` anymore ([#118](https://github.com/netzmacht/contao-leaflet-maps/pull/118))
|
||||||
|
- Fix issues of js generation in debug mode ([#114](https://github.com/netzmacht/contao-leaflet-maps/issues/114))
|
||||||
|
|
||||||
|
## [3.2.3] - 2022-02-22
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Support symfony 5 (Contao 4.13 support) ([#110](https://github.com/netzmacht/contao-leaflet-maps/issues/110))
|
||||||
|
- Support doctrine/dbal 3 (Contao 4.13 support) ([#110](https://github.com/netzmacht/contao-leaflet-maps/issues/110))
|
||||||
|
- Fix missing icon in backend navigation ([#101](https://github.com/netzmacht/contao-leaflet-maps/issues/101))
|
||||||
|
- Fix empty help wizard ([#99](https://github.com/netzmacht/contao-leaflet-maps/issues/99))
|
||||||
|
- Update leaflet providers ([111](https://github.com/netzmacht/contao-leaflet-maps/issues/111), [102](https://github.com/netzmacht/contao-leaflet-maps/issues/102))
|
||||||
|
- Fix tile layer implementation ([#108](https://github.com/netzmacht/contao-leaflet-maps/issues/108))
|
||||||
|
- Fix access to tile layer fields ([#107](https://github.com/netzmacht/contao-leaflet-maps/issues/107))
|
||||||
|
- Fix nexted folder structure ([#97](https://github.com/netzmacht/contao-leaflet-maps/issues/97))
|
||||||
|
|
||||||
|
## [3.2.2] - 2020-12-18
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Remove template debug placeholders, it breaks generated javascript ([#93](https://github.com/netzmacht/contao-leaflet-maps/issues/93))
|
||||||
|
- Generate absolute urls for file layers ([#92](https://github.com/netzmacht/contao-leaflet-maps/issues/92))
|
||||||
|
|
||||||
|
## [3.2.1] - 2020-09-02
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Do not append javascript to the body anymore as consent tools might interrupt rendering
|
||||||
|
|
||||||
|
## [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.2...hotfix/3.2.3
|
||||||
|
[3.2.2]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.2.1...3.2.2
|
||||||
|
[3.2.1]: https://github.com/netzmacht/contao-leaflet-maps/compare/3.2.0...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
|
||||||
41
README.md
41
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.html#control-layers)
|
- [Layers control](http://leafletjs.com/reference-1.2.0.html#control-layers)
|
||||||
- [Zoom control](http://leafletjs.com/reference.html#control-zoom)
|
- [Zoom control](http://leafletjs.com/reference-1.2.0.html#control-zoom)
|
||||||
- [Scale control]((http://leafletjs.com/reference.html#control-scale))
|
- [Scale control]((http://leafletjs.com/reference-1.2.0.html#control-scale))
|
||||||
- [Attribution control](http://leafletjs.com/reference.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.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.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:~1.0
|
$ php composer.phar require netzmacht/contao-leaflet-maps:~3.0
|
||||||
```
|
```
|
||||||
|
|
||||||
Credits
|
Credits
|
||||||
@@ -53,5 +72,5 @@ The about icon is part of the [Web Blog Icons by SEM Labs](http://semlabs.co.uk/
|
|||||||
[CC BY 4.0](http://creativecommons.org/licenses/by/4.0/).
|
[CC BY 4.0](http://creativecommons.org/licenses/by/4.0/).
|
||||||
|
|
||||||
English translations when possible where copied from the used libraries. Mainly the
|
English translations when possible where copied from the used libraries. Mainly the
|
||||||
[leaflet documentation](leafletjs.com/reference.html) is used.
|
[leaflet documentation](http://leafletjs.com/reference-1.0.0.html) is used.
|
||||||
|
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
L.Contao=L.Class.extend({includes:L.Mixin.Events,statics:{ATTRIBUTION:' | <a href="http://contao-leaflet.netzmacht.de/" title="Leaflet extension for Contao CMS">netzmacht <em>creative</em></a>'},maps:{},icons:{},initialize:function(){L.Icon.Default.imagePath="assets/leaflet/libs/leaflet/images",this.setGeoJsonListeners(L.GeoJSON)},addMap:function(t,e){return this.maps[t]=e,this.fire("map:added",{id:t,map:e}),this},getMap:function(t){return"undefined"==typeof this.maps[t]?null:this.maps[t]},addIcon:function(t,e){return this.icons[t]=e,this.fire("icon:added",{id:t,icon:e}),this},loadIcons:function(t){for(var e=0;e<t.length;e++){var o=L[t[e].type](t[e].options);this.addIcon(t[e].id,o)}},getIcon:function(t){return"undefined"==typeof this.icons[t]?null:this.icons[t]},load:function(t,e,o,n,i){var s=this.createRequestUrl(t,i),r=omnivore[e](s,o,n);return i&&(L.stamp(r),i.options.dynamicLoad&&"fit"==r.options.boundsMode&&(r.options.requestHash=t,i.on("moveend",r.refreshData,r),i.on("layerremove",function(t){t.layer===r&&i.off("moveend",r.updateBounds,r)})),i.fire("dataloading",{layer:r}),r.on("ready",function(){i.calculateFeatureBounds(r),i.fire("dataload",{layer:r})}),r.on("error",function(){i.fire("dataload",{layer:r})})),r},pointToLayer:function(t,e){var o="marker",n=null;if(t.properties&&(t.properties.bounds=!0,t.properties.type&&(o=t.properties.type),t.properties.arguments&&(n=L[o].apply(L[o],t.properties.arguments),L.Util.setOptions(n,t.properties.options))),null===n&&(n=L[o](e,t.properties.options)),t.properties){if(t.properties.radius&&n.setRadius(t.properties.radius),t.properties.icon){var i=this.getIcon(t.properties.icon);i&&n.setIcon(i)}this.bindPopupFromFeature(n,t)}return this.fire("point:added",{marker:n,feature:t,latlng:e,type:o}),n},onEachFeature:function(t,e){t.properties&&(L.Util.setOptions(e,t.properties.options),this.bindPopupFromFeature(e,t),this.fire("feature:added",{feature:t,layer:e}))},bindPopupFromFeature:function(t,e){e.properties&&(e.properties.popup?t.bindPopup(e.properties.popup,e.properties.popupOptions):e.properties.popupContent&&t.bindPopup(e.properties.popupContent,e.properties.popupOptions))},setGeoJsonListeners:function(t){t&&t.prototype&&(t.prototype.options={pointToLayer:this.pointToLayer.bind(this),onEachFeature:this.onEachFeature.bind(this)})},createRequestUrl:function(t,e){var o,n="leaflet",i=document.location.search.substr(1).split("&");if(t=encodeURIComponent(t),""==i)t=document.location.pathname+"?"+[n,t].join("=");else{for(var s,r=i.length;r--;)if(s=i[r].split("="),s[0]==n){s[1]=t,i[r]=s.join("=");break}0>r&&(i[i.length]=[n,t].join("=")),t=document.location.pathname+"?"+i.join("&")}return e&&e.options.dynamicLoad&&(o=e.getBounds(),t+="&f=bbox&v=",t+=o.getSouth()+","+o.getWest(),t+=","+o.getNorth()+","+o.getEast()),t}}),L.contao=new L.Contao,L.Control.Attribution.addInitHook(function(){this.options.prefix+=L.Contao.ATTRIBUTION}),L.Control.Attribution.include({setPrefix:function(t){return-1===t.indexOf(L.Contao.ATTRIBUTION)&&(t+=L.Contao.ATTRIBUTION),this.options.prefix=t,this._update(),this}}),L.GeoJSON.include({refreshData:function(t){var e=L.geoJson(),o=this;e.on("ready",function(){var t,e=o.getLayers();for(t=0;t<e.length;t++)o.removeLayer(e[t]);for(e=this.getLayers(),t=0;t<e.length;t++)this.removeLayer(e[t]),o.addLayer(e[t])}),omnivore.geojson(L.contao.createRequestUrl(this.options.requestHash,t.target),null,e)}}),L.Map.include({_dynamicBounds:null,calculateFeatureBounds:function(t,e){if(t){if(!this.options.adjustBounds&&!e)return;this._scanForBounds(t)}else this.eachLayer(this._scanForBounds,this);this._dynamicBounds&&this.fitBounds(this._dynamicBounds)},_scanForBounds:function(t){var e;!t.feature||t.feature.properties&&t.feature.properties.ignoreForBounds?L.MarkerClusterGroup&&t instanceof L.MarkerClusterGroup&&t.options.boundsMode&&"extend"==t.options.boundsMode?(e=t.getBounds(),e.isValid()&&(this._dynamicBounds?this._dynamicBounds.extend(e):this._dynamicBounds=L.latLngBounds(e.getSouthWest(),e.getNorthEast()))):(!t.options||t.options&&t.options.boundsMode&&!t.options.ignoreForBounds)&&t.eachLayer&&t.eachLayer(this._scanForBounds,this):t.getBounds?(e=t.getBounds(),e.isValid()&&(this._dynamicBounds?this._dynamicBounds.extend(e):this._dynamicBounds=L.latLngBounds(e.getSouthWest(),e.getNorthEast()))):t.getLatLng&&(e=t.getLatLng(),this._dynamicBounds?this._dynamicBounds.extend(e):this._dynamicBounds=L.latLngBounds(e,e))}});
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
|
|
||||||
phpcq.bin.dir = ${basedir}/bin
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project name="netzmacht/contao-leaflet-maps" default="build">
|
|
||||||
<!-- import the main build system -->
|
|
||||||
<import file="vendor/netzmacht/contao-build-tools/netzmacht.main.xml" />
|
|
||||||
</project>
|
|
||||||
115
composer.json
115
composer.json
@@ -1,64 +1,91 @@
|
|||||||
{
|
{
|
||||||
"name":"netzmacht/contao-leaflet-maps",
|
"name": "netzmacht/contao-leaflet-maps",
|
||||||
"description":"Contao Leaflet maps integration",
|
"description": "Contao Leaflet maps integration",
|
||||||
"keywords":["contao", "maps", "leaflet"],
|
"license": "LGPL-3.0-or-later",
|
||||||
"type":"contao-module",
|
"type": "contao-bundle",
|
||||||
"license":"LGPL-3.0+",
|
"keywords": [
|
||||||
"authors":[
|
"contao",
|
||||||
|
"maps",
|
||||||
|
"leaflet"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
{
|
{
|
||||||
"name":"David Molineus",
|
"name": "David Molineus",
|
||||||
"email":"mail@netzmacht.de",
|
"email": "mail@netzmacht.de",
|
||||||
"homepage":"http://www.netzmacht.de",
|
"homepage": "https://netzmacht.de",
|
||||||
"role":"Project leader"
|
"role": "Developer"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"support":{
|
"support": {
|
||||||
"email":"mail@netzmacht.de",
|
"email": "mail@netzmacht.de",
|
||||||
"issues":"https://github.com/netzmacht/contao-leaflet-maps/issues",
|
"issues": "https://github.com/netzmacht/contao-leaflet-maps/issues",
|
||||||
"source":"https://github.com/netzmacht/contao-leaflet-maps"
|
"source": "https://github.com/netzmacht/contao-leaflet-maps",
|
||||||
|
"docs": "http://leaflet-maps-for-contao.readthedocs.org/"
|
||||||
},
|
},
|
||||||
"require":{
|
"require": {
|
||||||
"php":">=5.4",
|
"php": "^7.1 || ^8.0",
|
||||||
"contao/core":">=3.2,<3.6-dev",
|
"ext-json": "*",
|
||||||
"contao-community-alliance/dependency-container":"~1.0",
|
"ext-pdo": "*",
|
||||||
"contao-community-alliance/event-dispatcher":"~1.0",
|
"contao-community-alliance/meta-palettes": "^2.0",
|
||||||
"netzmacht/contao-leaflet-libraries": "~0.7",
|
"contao/core-bundle": "^4.9",
|
||||||
"netzmacht/php-javascript-builder": "~1.0",
|
"doctrine/dbal": "^2.11 || ^3.0",
|
||||||
"netzmacht/php-leaflet": "~0.7",
|
"menatwork/contao-multicolumnwizard-bundle": "^3.4",
|
||||||
"netzmacht/contao-toolkit":"~1.0",
|
"netzmacht/contao-leaflet-geocode-widget": "^1.2",
|
||||||
"contao-community-alliance/meta-palettes": "~1.5",
|
"netzmacht/contao-leaflet-libraries": "^1.7.1.1",
|
||||||
"menatwork/contao-multicolumnwizard": "~3.2",
|
"netzmacht/contao-page-context": "~1.0",
|
||||||
"doctrine/cache": "~1.0"
|
"netzmacht/contao-toolkit": "^3.7",
|
||||||
|
"netzmacht/php-javascript-builder": "^1.0",
|
||||||
|
"netzmacht/php-leaflet": "^1.1.0",
|
||||||
|
"symfony/cache-contracts": "^1.1 || ^2.0",
|
||||||
|
"symfony/config": "^4.4 || ^5.1",
|
||||||
|
"symfony/dependency-injection": "^4.4 || ^5.1",
|
||||||
|
"symfony/event-dispatcher": "^4.4 || ^5.1",
|
||||||
|
"symfony/event-dispatcher-contracts": "^1.1 || ^2.0",
|
||||||
|
"symfony/filesystem": "^4.4 || ^5.1",
|
||||||
|
"symfony/http-foundation": "^4.4 || ^5.1",
|
||||||
|
"symfony/http-kernel": "^4.4 || ^5.1",
|
||||||
|
"symfony/routing": "^4.4 || ^5.1",
|
||||||
|
"symfony/templating": "^4.4 || ^5.1 || ^6.2",
|
||||||
|
"symfony/translation-contracts": "^1.1 || ^2.0",
|
||||||
|
"symfony/twig-bundle": "^4.4 || ^5.1",
|
||||||
|
"twig/twig": "^2.0 || ^3.0"
|
||||||
},
|
},
|
||||||
"require-dev":{
|
"require-dev": {
|
||||||
"netzmacht/contao-build-tools": "~1.1"
|
"contao/manager-plugin": "^2.1",
|
||||||
|
"hofff/contao-consent-bridge": "^1.0",
|
||||||
|
"phpcq/coding-standard": "^2.1",
|
||||||
|
"phpcq/runner-bootstrap": "^1.0@dev"
|
||||||
|
},
|
||||||
|
"conflict": {
|
||||||
|
"hofff/contao-consent-bridge": "<1.0 || >= 2.0"
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-0": {
|
"psr-4": {
|
||||||
"Netzmacht\\Contao\\Leaflet": "src/"
|
"Netzmacht\\Contao\\Leaflet\\": "src/"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"config": {
|
"config": {
|
||||||
"bin-dir": "bin"
|
"allow-plugins": {
|
||||||
|
"contao-components/installer": true,
|
||||||
|
"contao/manager-plugin": true,
|
||||||
|
"contao-community-alliance/composer-plugin": true,
|
||||||
|
"php-http/discovery": true
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"prefer-stable": true,
|
"extra": {
|
||||||
"minimum-stability": "dev",
|
|
||||||
"extra":{
|
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "1.0.x-dev"
|
"dev-develop": "3.3.x-dev",
|
||||||
|
"dev-master": "3.2.x-dev",
|
||||||
|
"dev-support/2.x": "2.0.x-dev"
|
||||||
},
|
},
|
||||||
"contao": {
|
"contao": {
|
||||||
"sources":{
|
|
||||||
"module": "system/modules/leaflet",
|
|
||||||
"assets/maps": "assets/leaflet/maps",
|
|
||||||
"assets/js": "assets/leaflet/js"
|
|
||||||
},
|
|
||||||
"transifex": {
|
"transifex": {
|
||||||
"project": "contao-leaflet-maps",
|
"languages_cto": "src/Bundle/Resources/contao/languages",
|
||||||
|
"languages_tx": ".tx",
|
||||||
"prefix": "core-",
|
"prefix": "core-",
|
||||||
"languages_cto": "module/languages",
|
"project": "contao-leaflet-maps"
|
||||||
"languages_tx": ".tx"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"contao-manager-plugin": "Netzmacht\\Contao\\Leaflet\\Bundle\\ContaoManager\\Plugin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
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(cb) {
|
function clean () {
|
||||||
del([paths.dest + '/' + paths.minified], cb);
|
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,16 +3,14 @@
|
|||||||
*
|
*
|
||||||
* 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.
|
||||||
*
|
*
|
||||||
* You are not allowed to remove or change it. Contact me if you want to buy an removal license.
|
* You are not allowed to remove or change it. Contact me if you want to buy an removal license.
|
||||||
*/
|
*/
|
||||||
ATTRIBUTION: ' | <a href="http://contao-leaflet.netzmacht.de/" title="Leaflet extension for Contao CMS">netzmacht <em>creative</em></a>'
|
ATTRIBUTION: ' | <a href="https://netzmacht.de/contao-leaflet" title="Powered by Leaflet extension for Contao CMS developed by netzmacht David Molineus">netzmacht</a>'
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -29,7 +27,7 @@ L.Contao = L.Class.extend({
|
|||||||
* Initialize Contao leaflet integration.
|
* Initialize Contao leaflet integration.
|
||||||
*/
|
*/
|
||||||
initialize: function () {
|
initialize: function () {
|
||||||
L.Icon.Default.imagePath = 'assets/leaflet/libs/leaflet/images';
|
L.Icon.Default.imagePath = 'assets/leaflet/libs/leaflet/images/';
|
||||||
|
|
||||||
this.setGeoJsonListeners(L.GeoJSON);
|
this.setGeoJsonListeners(L.GeoJSON);
|
||||||
},
|
},
|
||||||
@@ -89,7 +87,14 @@ L.Contao = L.Class.extend({
|
|||||||
*/
|
*/
|
||||||
loadIcons: function (icons) {
|
loadIcons: function (icons) {
|
||||||
for (var i = 0; i < icons.length; i++) {
|
for (var i = 0; i < icons.length; i++) {
|
||||||
var icon = L[icons[i].type](icons[i].options);
|
var icon;
|
||||||
|
|
||||||
|
if (icons[i].type === 'extraMarkers.icon') {
|
||||||
|
icon = L.ExtraMarkers.icon(icons[i].options);
|
||||||
|
} else {
|
||||||
|
icon = L[icons[i].type](icons[i].options);
|
||||||
|
}
|
||||||
|
|
||||||
this.addIcon(icons[i].id, icon);
|
this.addIcon(icons[i].id, icon);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -110,7 +115,7 @@ L.Contao = L.Class.extend({
|
|||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Layer a url into a layer using omnivore.
|
* Load data from an url into a layer using omnivore.
|
||||||
*
|
*
|
||||||
* @param hash The leaflet url hash.
|
* @param hash The leaflet url hash.
|
||||||
* @param type The response content format.
|
* @param type The response content format.
|
||||||
@@ -119,16 +124,31 @@ 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.
|
||||||
L.stamp(layer);
|
L.stamp(layer);
|
||||||
|
|
||||||
// Add listender 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) {
|
||||||
@@ -153,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.
|
||||||
*
|
*
|
||||||
@@ -294,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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -30,10 +30,31 @@ L.Map.include({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (this._dynamicBounds) {
|
if (this._dynamicBounds) {
|
||||||
this.fitBounds(this._dynamicBounds);
|
this.fitBounds(this._dynamicBounds, this.getBoundsOptions());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the bounds optons
|
||||||
|
* @returns {{}}
|
||||||
|
*/
|
||||||
|
getBoundsOptions: function () {
|
||||||
|
options = {};
|
||||||
|
|
||||||
|
if (this.options.boundsPadding) {
|
||||||
|
options.padding = this.options.boundsPadding;
|
||||||
|
} else {
|
||||||
|
if (this.options.boundsPaddingTopLeft) {
|
||||||
|
options.paddingTopLeft = this.options.boundsPaddingTopLeft;
|
||||||
|
}
|
||||||
|
if (this.options.boundsPaddingBottomRight) {
|
||||||
|
options.paddingBottomRight = this.options.boundsPaddingBottomRight;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return options;
|
||||||
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Scan recursively for bounds in a layer and extend _dynamicBounds if any found.
|
* Scan recursively for bounds in a layer and extend _dynamicBounds if any found.
|
||||||
*
|
*
|
||||||
231
js/OverpassLayer.js
Normal file
231
js/OverpassLayer.js
Normal file
@@ -0,0 +1,231 @@
|
|||||||
|
/**
|
||||||
|
* Get the bounds as overpass bbox string.
|
||||||
|
*
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
L.LatLngBounds.prototype.toOverpassBBoxString = function () {
|
||||||
|
var a = this._southWest,
|
||||||
|
b = this._northEast;
|
||||||
|
|
||||||
|
return [a.lat, a.lng, b.lat, b.lng].join(",");
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of the overpass layer. Heavily inspired by
|
||||||
|
* https://github.com/kartenkarsten/leaflet-layer-overpass.
|
||||||
|
*/
|
||||||
|
L.OverPassLayer = L.FeatureGroup.extend({
|
||||||
|
options: {
|
||||||
|
minZoom: 0,
|
||||||
|
endpoint: '//overpass-api.de/api/',
|
||||||
|
query: '(node(BBOX)[organic];node(BBOX)[second_hand];);out qt;',
|
||||||
|
amenityIcons: {}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Initialize the layer.
|
||||||
|
*
|
||||||
|
* @param options
|
||||||
|
*/
|
||||||
|
initialize: function (options) {
|
||||||
|
if (!options.pointToLayer) {
|
||||||
|
options.pointToLayer = this.pointToLayer;
|
||||||
|
}
|
||||||
|
if (!options.onEachFeature) {
|
||||||
|
options.onEachFeature = this.onEachFeature;
|
||||||
|
}
|
||||||
|
|
||||||
|
L.Util.setOptions(this, options);
|
||||||
|
this.options.dynamicLoad = this.options.query.match(/BBOX/g) ? true : false;
|
||||||
|
|
||||||
|
this._layer = L.geoJson();
|
||||||
|
this._layers = {};
|
||||||
|
|
||||||
|
this.addLayer(this._layer);
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Refresh the data of the layer.
|
||||||
|
*
|
||||||
|
* TODO: Implement some caching.
|
||||||
|
*/
|
||||||
|
refreshData: function () {
|
||||||
|
if (this._map.getZoom() < this.options.minZoom) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var bounds = this._map.getBounds().toOverpassBBoxString();
|
||||||
|
var query = this.options.query.replace(/(BBOX)/g, bounds);
|
||||||
|
var url = this.options.endpoint + "interpreter?data=[out:json];" + query;
|
||||||
|
|
||||||
|
this._map.fire('dataloading', {layer: this});
|
||||||
|
|
||||||
|
this.request(url, function (error, response) {
|
||||||
|
var data = JSON.parse(response.response);
|
||||||
|
var features = osmtogeojson(data);
|
||||||
|
var layer = L.geoJson(features, {
|
||||||
|
pointToLayer: this.options.pointToLayer.bind(this),
|
||||||
|
onEachFeature: this.options.onEachFeature.bind(this)
|
||||||
|
});
|
||||||
|
|
||||||
|
this.addLayer(layer);
|
||||||
|
this.removeLayer(this._layer);
|
||||||
|
this._layer = layer;
|
||||||
|
|
||||||
|
if (this.options.boundsMode === 'extend' && layer.getBounds().isValid()) {
|
||||||
|
var bounds = this._map.getBounds();
|
||||||
|
bounds = bounds.extend(layer.getBounds());
|
||||||
|
|
||||||
|
this._map.fitBounds(bounds, this._map.getBoundsOptions());
|
||||||
|
}
|
||||||
|
|
||||||
|
this._map.fire('dataload', {layer: this});
|
||||||
|
}.bind(this));
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* @param map
|
||||||
|
*/
|
||||||
|
onAdd: function (map) {
|
||||||
|
if (this.options.boundsMode === 'fit' && this.options.dynamicLoad) {
|
||||||
|
map.on('moveend', this.refreshData, this);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.refreshData();
|
||||||
|
},
|
||||||
|
pointToLayer: function (feature, latlng) {
|
||||||
|
var type = 'marker';
|
||||||
|
var icon = null;
|
||||||
|
var marker = L.marker(latlng, feature.properties.options);
|
||||||
|
|
||||||
|
if (feature.properties) {
|
||||||
|
if (feature.properties.radius) {
|
||||||
|
marker.setRadius(feature.properties.radius);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (feature.properties.icon) {
|
||||||
|
icon = this._map.getIcon(feature.properties.icon);
|
||||||
|
|
||||||
|
} else if (feature.properties.tags
|
||||||
|
&& feature.properties.tags.amenity
|
||||||
|
&& this.options.amenityIcons[feature.properties.tags.amenity]
|
||||||
|
) {
|
||||||
|
icon = L.contao.getIcon(this.options.amenityIcons[feature.properties.tags.amenity]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (icon) {
|
||||||
|
marker.setIcon(icon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.options.overpassPopup) {
|
||||||
|
marker.bindPopup(this.options.overpassPopup(feature, marker));
|
||||||
|
}
|
||||||
|
|
||||||
|
this._map.fire('point:added', {marker: marker, feature: feature, latlng: latlng, type: type});
|
||||||
|
|
||||||
|
return marker;
|
||||||
|
},
|
||||||
|
onEachFeature: function (feature, layer) {
|
||||||
|
if (feature.properties) {
|
||||||
|
L.Util.setOptions(layer, feature.properties.options);
|
||||||
|
|
||||||
|
if (this.options.overpassPopup) {
|
||||||
|
layer.bindPopup(this.options.overpassPopup(feature, layer));
|
||||||
|
}
|
||||||
|
|
||||||
|
this._map.fire('feature:added', {feature: feature, layer: layer});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* Make an ajax request. Clone of corslite from MapQuest.
|
||||||
|
*/
|
||||||
|
request: function (url, callback, cors) {
|
||||||
|
var sent = false;
|
||||||
|
|
||||||
|
if (typeof window.XMLHttpRequest === 'undefined') {
|
||||||
|
return callback(Error('Browser not supported'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof cors === 'undefined') {
|
||||||
|
var m = url.match(/^\s*https?:\/\/[^\/]*/);
|
||||||
|
cors = m && (m[0] !== location.protocol + '//' + location.hostname +
|
||||||
|
(location.port ? ':' + location.port : ''));
|
||||||
|
}
|
||||||
|
|
||||||
|
var x = new window.XMLHttpRequest();
|
||||||
|
|
||||||
|
function isSuccessful(status) {
|
||||||
|
return status >= 200 && status < 300 || status === 304;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (cors && !('withCredentials' in x)) {
|
||||||
|
// IE8-9
|
||||||
|
x = new window.XDomainRequest();
|
||||||
|
|
||||||
|
// Ensure callback is never called synchronously, i.e., before
|
||||||
|
// x.send() returns (this has been observed in the wild).
|
||||||
|
// See https://github.com/mapbox/mapbox.js/issues/472
|
||||||
|
var original = callback;
|
||||||
|
callback = function() {
|
||||||
|
if (sent) {
|
||||||
|
original.apply(this, arguments);
|
||||||
|
} else {
|
||||||
|
var that = this, args = arguments;
|
||||||
|
setTimeout(function() {
|
||||||
|
original.apply(that, args);
|
||||||
|
}, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loaded() {
|
||||||
|
if (
|
||||||
|
// XDomainRequest
|
||||||
|
x.status === undefined ||
|
||||||
|
// modern browsers
|
||||||
|
isSuccessful(x.status)) callback.call(x, null, x);
|
||||||
|
else callback.call(x, x, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Both `onreadystatechange` and `onload` can fire. `onreadystatechange`
|
||||||
|
// has [been supported for longer](http://stackoverflow.com/a/9181508/229001).
|
||||||
|
if ('onload' in x) {
|
||||||
|
x.onload = loaded;
|
||||||
|
} else {
|
||||||
|
x.onreadystatechange = function readystate() {
|
||||||
|
if (x.readyState === 4) {
|
||||||
|
loaded();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
// Call the callback with the XMLHttpRequest object as an error and prevent
|
||||||
|
// it from ever being called again by reassigning it to `noop`
|
||||||
|
x.onerror = function error(evt) {
|
||||||
|
// XDomainRequest provides no evt parameter
|
||||||
|
callback.call(this, evt || true, null);
|
||||||
|
callback = function() { };
|
||||||
|
};
|
||||||
|
|
||||||
|
// IE9 must have onprogress be set to a unique function.
|
||||||
|
x.onprogress = function() { };
|
||||||
|
|
||||||
|
x.ontimeout = function(evt) {
|
||||||
|
callback.call(this, evt, null);
|
||||||
|
callback = function() { };
|
||||||
|
};
|
||||||
|
|
||||||
|
x.onabort = function(evt) {
|
||||||
|
callback.call(this, evt, null);
|
||||||
|
callback = function() { };
|
||||||
|
};
|
||||||
|
|
||||||
|
// GET is the only supported HTTP Verb by XDomainRequest and is the
|
||||||
|
// only one supported here.
|
||||||
|
x.open('GET', url, true);
|
||||||
|
|
||||||
|
// Send the request. Sending data is not supported.
|
||||||
|
x.send(null);
|
||||||
|
sent = true;
|
||||||
|
|
||||||
|
return x;
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -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;
|
|
||||||
}
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 5.5 KiB |
@@ -1,21 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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,340 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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\Leaflet\Frontend\MapElement';
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Frontend modules
|
|
||||||
*/
|
|
||||||
$GLOBALS['FE_MOD']['includes']['leaflet'] = 'Netzmacht\Contao\Leaflet\Frontend\MapModule';
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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'][] = 'Netzmacht\Contao\Leaflet\Mapper\Layer\ProviderLayerMapper';
|
|
||||||
$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\MarkerClusterLayerMapper';
|
|
||||||
|
|
||||||
// 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 (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolylineMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolylineMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\PolygonMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new Netzmacht\Contao\Leaflet\Mapper\Vector\RectangleMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
|
|
||||||
// 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\Style\FixedStyleMapper';
|
|
||||||
$GLOBALS['LEAFLET_MAPPERS'][] = function (\Netzmacht\Contao\Leaflet\ServiceContainer $container) {
|
|
||||||
return new \Netzmacht\Contao\Leaflet\Mapper\UI\MarkerMapper($container->getFrontendValueFilter());
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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',
|
|
||||||
),
|
|
||||||
);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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');
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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 dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
return array(
|
|
||||||
'Netzmacht\Contao\Leaflet\Subscriber\BootSubscriber',
|
|
||||||
'Netzmacht\Contao\Leaflet\Subscriber\HashSubscriber',
|
|
||||||
'Netzmacht\Contao\Leaflet\Subscriber\GeoJsonSubscriber',
|
|
||||||
);
|
|
||||||
@@ -1,165 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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'),
|
|
||||||
),
|
|
||||||
'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',
|
|
||||||
),
|
|
||||||
'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',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'NASAGIBS' => array(
|
|
||||||
'variants' => array(
|
|
||||||
'ModisTerraTrueColorCR',
|
|
||||||
'ModisTerraBands367CR',
|
|
||||||
'ViirsEarthAtNight2012',
|
|
||||||
'ModisTerraLSTDay',
|
|
||||||
'ModisTerraSnowCover',
|
|
||||||
'ModisTerraAOD',
|
|
||||||
'ModisTerraChlorophyll',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'NLS' => array()
|
|
||||||
);
|
|
||||||
@@ -1,122 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
use Netzmacht\Contao\Leaflet\Boot;
|
|
||||||
use Netzmacht\Contao\Leaflet\ContaoAssets;
|
|
||||||
use Netzmacht\Contao\Leaflet\Frontend\Helper\InsertTagReplacer;
|
|
||||||
use Netzmacht\Contao\Leaflet\Frontend\ValueFilter;
|
|
||||||
use Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper;
|
|
||||||
use Netzmacht\Contao\Leaflet\MapService;
|
|
||||||
use Netzmacht\Contao\Leaflet\ServiceContainer;
|
|
||||||
use Netzmacht\JavascriptBuilder\Builder;
|
|
||||||
use Netzmacht\JavascriptBuilder\Encoder;
|
|
||||||
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 service is a simply api entry to to get the leaflet map from the database.
|
|
||||||
*/
|
|
||||||
$container['leaflet.map.service'] = $container->share(function ($container) {
|
|
||||||
return new MapService(
|
|
||||||
$container['leaflet.definition.mapper'],
|
|
||||||
$container['leaflet.definition.builder'],
|
|
||||||
$container['event-dispatcher'],
|
|
||||||
$container['input'],
|
|
||||||
$container['leaflet.map.assets']
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Contao assets handler. Loads Leaflet assets as contao (static) assets.
|
|
||||||
*/
|
|
||||||
$container['leaflet.map.assets'] = $container->share(function () {
|
|
||||||
return new ContaoAssets();
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The leaflet boot.
|
|
||||||
*/
|
|
||||||
$container['leaflet.boot'] = $container->share(function ($container) {
|
|
||||||
return new Boot($container['event-dispatcher']);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The definition mapper.
|
|
||||||
*/
|
|
||||||
$container['leaflet.definition.mapper'] = $container->share(function ($container) {
|
|
||||||
/** @var Boot $boot */
|
|
||||||
$boot = $container['leaflet.boot'];
|
|
||||||
$mapper = new DefinitionMapper($container['event-dispatcher']);
|
|
||||||
|
|
||||||
return $boot->initializeDefinitionMapper($mapper);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The local event dispatcher is used for the leaflet javascript encoding system.
|
|
||||||
*/
|
|
||||||
$container['leaflet.definition.builder.event-dispatcher'] = $container->share(function ($container) {
|
|
||||||
/** @var Boot $boot */
|
|
||||||
$boot = $container['leaflet.boot'];
|
|
||||||
$dispatcher = new EventDispatcher();
|
|
||||||
|
|
||||||
return $boot->initializeEventDispatcher($dispatcher);
|
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
* The javascript encoder factory being used for building the map javascript.
|
|
||||||
*/
|
|
||||||
$container['leaflet.definition.builder.encoder-factory'] = function ($container) {
|
|
||||||
$dispatcher = $container['leaflet.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['leaflet.definition.builder'] = $container->share(function($container) {
|
|
||||||
/** @var Boot $boot */
|
|
||||||
$boot = $container['leaflet.boot'];
|
|
||||||
$dispatcher = $container['leaflet.definition.builder.event-dispatcher'];
|
|
||||||
$factory = $container['leaflet.definition.builder.encoder-factory'];
|
|
||||||
|
|
||||||
$builder = new Builder($factory);
|
|
||||||
$leaflet = new Leaflet($builder, $dispatcher, array(), JSON_UNESCAPED_SLASHES ^ Flags::BUILD_STACK);
|
|
||||||
|
|
||||||
return $boot->initializeLeafletBuilder($leaflet);
|
|
||||||
});
|
|
||||||
|
|
||||||
$container['leaflet.frontend.value-filter'] = $container->share(function($container) {
|
|
||||||
return new ValueFilter($container['toolkit.insert-tag-replacer']);
|
|
||||||
});
|
|
||||||
|
|
||||||
$container['leaflet.service-container'] = $container->share(function($container) {
|
|
||||||
return new ServiceContainer($container);
|
|
||||||
});
|
|
||||||
@@ -1,79 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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' => array('Netzmacht\Contao\Leaflet\Dca\FrontendIntegration', 'getMaps'),
|
|
||||||
'wizard' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\FrontendIntegration', '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::createGetTemplatesCallback('leaflet_map_js'),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
@@ -1,431 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
// 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' => array('Netzmacht\Contao\Leaflet\Dca\Control', '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::createToggleIconCallback(
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_control', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'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 ''"
|
|
||||||
),
|
|
||||||
'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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Control', 'loadLayerRelations'),
|
|
||||||
),
|
|
||||||
'save_callback' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Control', 'saveLayerRelations'),
|
|
||||||
),
|
|
||||||
'eval' => array
|
|
||||||
(
|
|
||||||
'tl_class' => 'clr',
|
|
||||||
'columnFields' => array
|
|
||||||
(
|
|
||||||
'layer' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['layer'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'select',
|
|
||||||
'options_callback' => array('Netzmacht\Contao\Leaflet\Dca\Layer', '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' => array('Netzmacht\Contao\Leaflet\Dca\Control', '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 dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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,343 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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::createToggleIconCallback(
|
|
||||||
'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'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_icon', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'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 ''"
|
|
||||||
),
|
|
||||||
'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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'validateCoordinate')
|
|
||||||
),
|
|
||||||
'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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'validateCoordinate')
|
|
||||||
),
|
|
||||||
'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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'validateCoordinate')
|
|
||||||
),
|
|
||||||
'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"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,755 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Layer', 'deleteRelations'),
|
|
||||||
),
|
|
||||||
'sql' => array
|
|
||||||
(
|
|
||||||
'keys' => array
|
|
||||||
(
|
|
||||||
'id' => 'primary',
|
|
||||||
'pid' => 'index',
|
|
||||||
'alias' => 'unique',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'onload_callback' => array(
|
|
||||||
function() {
|
|
||||||
\Controller::loadLanguageFile('leaflet');
|
|
||||||
}
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'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' => array('Netzmacht\Contao\Leaflet\Dca\Layer', 'getPasteButtons'),
|
|
||||||
),
|
|
||||||
'label' => array
|
|
||||||
(
|
|
||||||
'fields' => array('title'),
|
|
||||||
'format' => '%s',
|
|
||||||
'label_callback' => array('Netzmacht\Contao\Leaflet\Dca\Layer', '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' => array('Netzmacht\Contao\Leaflet\Dca\Layer', 'generateMarkersButton'),
|
|
||||||
),
|
|
||||||
'vectors' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['vectors'],
|
|
||||||
'href' => 'table=tl_leaflet_vector',
|
|
||||||
'icon' => 'edit.gif',
|
|
||||||
'button_callback' => array('Netzmacht\Contao\Leaflet\Dca\Layer', '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::createToggleIconCallback(
|
|
||||||
'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(),
|
|
||||||
'expert' => array(':hide'),
|
|
||||||
'active' => array('active'),
|
|
||||||
),
|
|
||||||
'markers extends default' => array(
|
|
||||||
'+expert' => array('pointToLayer'),
|
|
||||||
'+config' => array('deferred', 'boundsMode')
|
|
||||||
),
|
|
||||||
'group extends default' => array(
|
|
||||||
'+title' => array('groupType'),
|
|
||||||
'+active' => array('boundsMode')
|
|
||||||
),
|
|
||||||
'vectors extends default' => array(
|
|
||||||
'+expert' => array('onEachFeature', 'pointToLayer'),
|
|
||||||
'+config' => array('deferred', 'boundsMode'),
|
|
||||||
),
|
|
||||||
'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'
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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')
|
|
||||||
),
|
|
||||||
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_layer', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'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 ''"
|
|
||||||
),
|
|
||||||
'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' => array('Netzmacht\Contao\Leaflet\Dca\Layer', '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' => array('Netzmacht\Contao\Leaflet\Dca\Layer', '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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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' => array('Netzmacht\Contao\Leaflet\Dca\Layer', '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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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"
|
|
||||||
),
|
|
||||||
)
|
|
||||||
);
|
|
||||||
@@ -1,511 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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');
|
|
||||||
}
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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'),
|
|
||||||
'locate' => array('locate'),
|
|
||||||
'layers' => array('layers'),
|
|
||||||
'interaction' => array(
|
|
||||||
'dragging',
|
|
||||||
'touchZoom',
|
|
||||||
'scrollWheelZoom',
|
|
||||||
'doubleClickZoom',
|
|
||||||
'boxZoom',
|
|
||||||
'tap',
|
|
||||||
'keyboard'
|
|
||||||
),
|
|
||||||
'behaviour' => array(
|
|
||||||
'zoomControl',
|
|
||||||
'trackResize',
|
|
||||||
'closeOnClick',
|
|
||||||
'bounceAtZoomLimits'
|
|
||||||
),
|
|
||||||
'expert' => array(
|
|
||||||
'options',
|
|
||||||
)
|
|
||||||
),
|
|
||||||
),
|
|
||||||
'metasubpalettes' => array(
|
|
||||||
'keyboard' => array(
|
|
||||||
'keyboardPanOffset',
|
|
||||||
'keyboardZoomOffset'
|
|
||||||
),
|
|
||||||
'adjustZoomExtra' => array(
|
|
||||||
'minZoom',
|
|
||||||
'maxZoom'
|
|
||||||
),
|
|
||||||
'locate' => array(
|
|
||||||
':hide',
|
|
||||||
'locateWatch',
|
|
||||||
'locateSetView',
|
|
||||||
'locateMaxZoom',
|
|
||||||
'locateTimeout',
|
|
||||||
'locateMaximumAge',
|
|
||||||
'enableHighAccuracy'
|
|
||||||
),
|
|
||||||
),
|
|
||||||
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_map', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'center' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['center'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'validateCoordinate')
|
|
||||||
),
|
|
||||||
'wizard' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Map', 'loadLayerRelations'),
|
|
||||||
),
|
|
||||||
'save_callback' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Map', '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' => array('Netzmacht\Contao\Leaflet\Dca\Layer', '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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(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' => 'w50', 'submitOnChange' => false),
|
|
||||||
'sql' => "char(1) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'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' => array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'getZoomLevels'),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 4,
|
|
||||||
'rgxp' => 'digit',
|
|
||||||
'tl_class' => 'clr w50',
|
|
||||||
'includeBlankOption' => true,
|
|
||||||
'nullIfEmpty' => true
|
|
||||||
),
|
|
||||||
'sql' => "int(4) NULL"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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,364 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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');
|
|
||||||
}
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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\Marker', '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::createToggleIconCallback(
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_marker', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'coordinates' => array
|
|
||||||
(
|
|
||||||
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['coordinates'],
|
|
||||||
'exclude' => true,
|
|
||||||
'inputType' => 'text',
|
|
||||||
'save_callback' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'validateCoordinate'),
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Marker', 'saveCoordinates')
|
|
||||||
),
|
|
||||||
'load_callback' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Marker', 'loadCoordinates')
|
|
||||||
),
|
|
||||||
'wizard' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', '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 ''"
|
|
||||||
),
|
|
||||||
'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\Marker', '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\Marker', '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,290 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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::createToggleIconCallback(
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_popup', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'validateCoordinate')
|
|
||||||
),
|
|
||||||
'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 ''"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,292 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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',
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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::createToggleIconCallback(
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_style', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'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::createColorPickerCallback(),
|
|
||||||
),
|
|
||||||
'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::createColorPickerCallback(),
|
|
||||||
),
|
|
||||||
'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 ''"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
@@ -1,397 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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');
|
|
||||||
}
|
|
||||||
)
|
|
||||||
),
|
|
||||||
|
|
||||||
'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\Vector', '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::createToggleIconCallback(
|
|
||||||
'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\Leaflet\Dca\Helper::createGenerateAliasCallback('tl_leaflet_vector', 'title'),
|
|
||||||
),
|
|
||||||
'eval' => array('mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true),
|
|
||||||
'sql' => "varchar(255) NOT NULL default ''"
|
|
||||||
),
|
|
||||||
'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 ''"
|
|
||||||
),
|
|
||||||
'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\Marker', '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' => array('Netzmacht\Contao\Leaflet\Dca\Vector', '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(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'validateCoordinate')
|
|
||||||
),
|
|
||||||
'wizard' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\Leaflet', 'getGeocoder')
|
|
||||||
),
|
|
||||||
'eval' => array(
|
|
||||||
'maxlength' => 255,
|
|
||||||
'tl_class' => 'long clr',
|
|
||||||
'nullIfEmpty' => 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),
|
|
||||||
'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'),
|
|
||||||
)
|
|
||||||
)
|
|
||||||
),
|
|
||||||
'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 dev
|
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2014 netzmacht creative 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' => array('Netzmacht\Contao\Leaflet\Dca\FrontendIntegration', 'getMaps'),
|
|
||||||
'wizard' => array(
|
|
||||||
array('Netzmacht\Contao\Leaflet\Dca\FrontendIntegration', '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::createGetTemplatesCallback('leaflet_map_js'),
|
|
||||||
'eval' => array(
|
|
||||||
'tl_class' => 'w50',
|
|
||||||
'chosen' => true,
|
|
||||||
),
|
|
||||||
'sql' => "varchar(64) NOT NULL default ''"
|
|
||||||
);
|
|
||||||
@@ -1,86 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Translations are managed using Transifex. To create a new translation
|
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
|
||||||
*
|
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
|
||||||
*
|
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
|
||||||
*
|
|
||||||
* last-updated: 2015-02-11T08:57:56+01:00
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load']['0'] = 'bei Karteninitialisierung';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra']['0'] = 'Erweiterte Zoom-Einstellungen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['alias']['0'] = 'Alias';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['alias']['1'] = 'Legen Sie den Alias der Karte fest.';
|
|
||||||
$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']['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']['center']['0'] = 'Zentrieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['center']['1'] = 'Legen Sie das initiale Zentrum der Karte fest. Nutzen Sie kommegetrente Werte für die Koordinaten.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['closeOnClick']['0'] = 'Popup nach Klick schließen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['closeOnClick']['1'] = 'Deaktivieren Sie diese Einstellung, wenn Sie verhindern wollen dass das Popup bei einem Klick auf die Karte geschlossen wird.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['controls']['0'] = 'Kontrollelemente verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['controls']['1'] = 'Kontrollelemente der Karte ID %s verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['copy']['0'] = 'Karte kopieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['copy']['1'] = 'Karte UD %s kopieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['delete']['0'] = 'Karte löschen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['delete']['1'] = 'Karte ID %s löschen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['doubleClickZoom']['0'] = 'Zoom bei Doppelklick';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['doubleClickZoom']['1'] = 'Legen Sie fest ob in der Karte mit einem Doppelklick hineingezoomt und mit Umstelltaste-Doppelklick gerausgezoomt werden kann.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['dragging']['0'] = 'Verschieben';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['dragging']['1'] = 'Legen Sie fest ob die Karte mit Maus oder Touchgesten verschiebbar ist.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['edit']['0'] = 'Karte bearbeiten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['edit']['1'] = 'Karte ID %s bearbeiten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['enableHighAccuracy']['0'] = 'Hohe Genauigkeit';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['expert_legend'] = 'Experteneinstellungen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['interaction_legend'] = 'Bedienelemente';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboard']['0'] = 'Tatstaturnavigation';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardZoomOffset']['1'] = 'Legen Sie die Anzahl der Zoom-Levels fest die mit den + / - -Tasten angesteuert werden können.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['layers']['0'] = 'Standardlayer';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['layers']['1'] = 'beim Laden sichtbare layer der Karte. Für optionale Layer nutzen Sie das Layer-Kontrollelement.';
|
|
||||||
$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']['1'] = 'Initialer Kartenzoom. Diese Funktion versucht, den Benutzer mittels Geolocation-API zu orten.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge']['0'] = 'Maximale Gültigkeit der Benutzerposition';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView']['0'] = 'Kartenmitte aktualisieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView']['1'] = 'Falls angewählt wird die Kartenansicht an der Position des Benutzers ausgerichtet. Andernfalls wird nur der <em>locationfound</em>-Event getriggert.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateTimeout']['0'] = 'Timeout Standorterkennung';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateTimeout']['1'] = 'Zeit in Millisekunden, die für eine Antwort des Geolocation-Services gewartet wird.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateWatch']['0'] = 'Kontinuierlich nachverfolgen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateWatch']['1'] = 'Falls gesetzt wird die Position des Benutzers kontinuierlich nachverfolgt.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['locate_legend'] = 'Nutzerposition ermitteln';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['maxZoom']['0'] = 'Größter Zoomfaktor';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['maxZoom']['1'] = 'Maximales Zoomlevel der Karte. Diese Einstellung überschreibt jede andere Einstellung für das maximale Zoom-Level auf Kartenlayern.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['minZoom']['0'] = 'Kleinster Zoomfaktor';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['minZoom']['1'] = 'Minimales Zoomlevel der Karte. Diese Einstellung überschreibt jede andere Einstellung für das minimale Zoom-Level auf Kartenlayern.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['new']['0'] = 'Karte erstellen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['new']['1'] = 'Neue Karte erstellen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['options']['0'] = 'Erweiterte Optionen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['options']['1'] = 'Fügen Sie zusätzliche Kartenoptionen als valides json hinzu. Detais unter <a href="http://leafletjs.com/reference.html#map-options">http://leafletjs.com/reference.html#map-options</a>';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['scrollWheelZoom']['0'] = 'Zoom mit Scrollrad';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['scrollWheelZoom']['1'] = 'Legen Sie fest ob die Karte mit dem Mausrad gezoomt werden kann.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['show']['0'] = 'Details anzeigen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['show']['1'] = 'Details der Karte %s anzeigen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['title']['0'] = 'Titel';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['title']['1'] = 'Legen Sie den Titel der Karte fest.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['title_legend'] = 'Titel';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['touchZoom']['0'] = 'Touch-Zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['touchZoom']['1'] = 'Legen Sie fest ob die Karte durch eine Zwei-Finger-Geste gezoomt werden kann.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['trackResize']['0'] = 'Fensteränderungen beachten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['trackResize']['1'] = 'Legen Sie fest ob die Karte sich nach einer Veränderung der Größe des Browserfensters automatisch anpasst.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom']['0'] = 'Zoom-Faktor';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom']['1'] = 'Anfänglicher Zoom-Faktor';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomControl']['0'] = 'Zoom-Kontrollelement standardmäßig anzeigen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomControl']['1'] = 'Legt fest ob das Kontrollelement für den Kartenzoom standardmäßig eingeblendet wird.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['']['0'] = 'Deaktivieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['']['1'] = 'Zoom deaktivieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['1']['0'] = 'Aktivieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['1']['1'] = 'Zoom aktivieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues']['center']['0'] = 'Zentrieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom_legend'] = 'Zentrieren und zoomen';
|
|
||||||
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Translations are managed using Transifex. To create a new translation
|
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
|
||||||
*
|
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
|
||||||
*
|
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
|
||||||
*
|
|
||||||
* last-updated: 2015-02-11T08:57:57+01:00
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['active']['0'] = 'Marker aktivieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['active']['1'] = 'Nur aktivierte Marker werden auf der Karte dargestellt.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['active_legend'] = 'Aktivierung';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['addPopup']['0'] = 'Popup hinzufügen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['addPopup']['1'] = 'Fügen Sie dem Marker ein Popup hinzu.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['alias']['0'] = 'Alias';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['alias']['1'] = 'Kartenalias';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['alt']['0'] = 'Alternativer Text';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['alt']['1'] = 'Geben Sie einen Text für das alt-Attribut des Iconbildes an. Dies ist für einen barrierearmen Zugang wichtig.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['clickable']['0'] = 'Klickbar';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['config_legend'] = 'Konfiguration';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['content_legend'] = 'Inhalt';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['coordinates']['0'] = 'Koordinaten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['coordinates']['1'] = 'Koordinaten für den Marker. Geben Sie kommagetrennte Werte ein (Länge, Breite [,Höhe]).';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['copy']['0'] = 'Marker kopieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['copy']['1'] = 'Marker ID %s kopieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['customIcon']['0'] = 'Individuelles Icon';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['customIcon']['1'] = 'Individuelles Icon verwenden.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['delete']['0'] = 'Marker löschen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['delete']['1'] = 'Marker ID %s löschen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['draggable']['0'] = 'Verschiebbar';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['draggable']['1'] = 'Legen Sie fest ob er Marker mit Maus oder Touchgesten verschiebbar ist.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['edit']['0'] = 'Marker bearbeiten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['edit']['1'] = 'Marker ID %s bearbeiten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['expert_legend'] = 'Experteneinstellungen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['featureData']['0'] = 'Feature-Daten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['icon']['0'] = 'Icon';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['icon']['1'] = 'Individuelles Icon auswählen.';
|
|
||||||
$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']['keyboard']['0'] = 'Tatstaturnavigation';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['new']['0'] = 'Marker erstellen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['new']['1'] = 'Neuen Marker erstellen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['popup']['0'] = 'Popup';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['popup']['1'] = 'Wählen Sie ein Popup aus dessen Eigenschaften verwendet werden sollen.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['popupContent']['0'] = 'Popup-Inhalt';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['popupContent']['1'] = 'Geben Sie den Inhalt des Popups an. Insert-Tags werden ersetzt.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['popups']['0'] = 'Popups verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['show']['0'] = 'Details anzeigen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['show']['1'] = 'Details des Markers ID %s anzeigen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['title']['0'] = 'Titel';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['title']['1'] = 'Kartentitel';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['title_legend'] = 'Titel und Typ';
|
|
||||||
$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']['tooltip']['0'] = 'Tooltip';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset']['0'] = 'Z-Index-Offset';
|
|
||||||
|
|
||||||
@@ -1,63 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**
|
|
||||||
* Translations are managed using Transifex. To create a new translation
|
|
||||||
* or to help to maintain an existing one, please register at transifex.com.
|
|
||||||
*
|
|
||||||
* @link http://help.transifex.com/intro/translating.html
|
|
||||||
* @link https://www.transifex.com/projects/p/contao-leaflet-maps/language/de/
|
|
||||||
*
|
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
|
||||||
*
|
|
||||||
* last-updated: 2015-02-11T08:57:58+01:00
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['active']['0'] = 'Popup aktivieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['active']['1'] = 'Nur aktivierte Popups werden auf den Objekten zugewiesen..';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['active_legend'] = 'Aktivierung';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['alias']['0'] = 'Alias';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['alias']['1'] = 'Alias des Icons.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['className']['0'] = 'CSS-Klasse';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['className']['1'] = 'Legen Sie eine individuelle Klasse für das Popup fest.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeButton']['0'] = 'Schließ-Button';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeOnClick']['0'] = 'Beim Klick auf die Karte schließen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeOnClick']['1'] = 'Deaktivieren Sie diese Einstellung, wenn Sie verhindern wollen dass, das Popup bei einem Klick auf die Karte geschlossen wird.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['config_legend'] = 'Konfiguration';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['controls']['0'] = 'Kontrollelemente verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['controls']['1'] = 'Kontrollelemente des Popups ID %s verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['copy']['0'] = 'Popup kopieren';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['copy']['1'] = 'Popup ID %s kopieren';
|
|
||||||
$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']['edit']['0'] = 'Popup 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']['1'] = 'Marker-Popups verwalten';
|
|
||||||
$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']['layersBtn']['0'] = 'Layer verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn']['1'] = 'Leaflet-Layer verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['map']['0'] = 'Karten verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['map']['1'] = 'Leaflet-Karten verwalten.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxHeight']['0'] = 'Minimale Breite';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxHeight']['1'] = 'Minimale Breite des Popups';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxWidth']['0'] = 'Maximale Breite';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxWidth']['1'] = 'Maximale Breite des Popups';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['minWidth']['0'] = 'Minimale Breite';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['minWidth']['1'] = 'Minimale Breite des Popups';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['new']['0'] = 'Popup erstellen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['new']['1'] = 'Neues Popup erstellen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['offset']['0'] = 'Offset';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['offset']['1'] = 'Geben Sie den Offset der Popup-Position als kommagetrennte Werte ein (beispielsweise 5,2).';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['show']['0'] = 'Details anzeigen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['show']['1'] = 'Details des Popups %s anzeigen';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['size_legend'] = 'Popup-Größe';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['styles']['0'] = 'Stile verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['styles']['1'] = 'Vektorstile verwalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['title']['0'] = 'Titel';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['title']['1'] = 'Titel des Icons.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['title_legend'] = 'Titel';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['toggle']['0'] = 'Aktivierung umschalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['toggle']['1'] = 'Aktivierung von Popups ID %s umschalten';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['zoomAnimation']['0'] = 'Beim Zoomen animieren';
|
|
||||||
|
|
||||||
@@ -1,97 +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']['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']['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,58 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['title_legend'] = 'Title';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['config_legend'] = 'Configuration';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['size_legend'] = 'Popup size';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['active_legend'] = 'Activation';
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn'][0] = 'Manage layers';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn'][1] = 'Manage leaflet layers';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['styles'][0] = 'Manage styles';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['styles'][1] = 'Manage vector styles';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons'][0] = 'Manage popups';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons'][1] = 'Manage marker popups';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['new'][0] = 'Create popup';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['new'][1] = 'Create new popup';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit'][0] = 'Edit popup';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit'][1] = 'Edit popup ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['copy'][0] = 'Copy popup';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['copy'][1] = 'Copy popup ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['controls'][0] = 'Manage controls';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['controls'][1] = 'Manage controls of popup ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['map'][0] = 'Manage maps';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['map'][1] = 'Manage leaflet maps.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete'][0] = 'Delete popup';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete'][1] = 'Delete popup ID %s';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['show'][0] = 'Show details';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['show'][1] = 'Show popup ID %s details';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['toggle'][0] = 'Toggle activation';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['toggle'][1] = 'Toggle popup ID %s activation';
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['title'][0] = 'Title';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['title'][1] = 'Title of the icon.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['alias'][0] = 'Alias';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['alias'][1] = 'Alias of the icon.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxWidth'][0] = 'Max width';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxWidth'][1] = 'Max width of the popup.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['minWidth'][0] = 'Min width';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['minWidth'][1] = 'Min width of the popup.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxHeight'][0] = 'Min width';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxHeight'][1] = 'Min width of the popup.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeButton'][0] = 'Close button';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeButton'][1] = 'Controls the presense of a close button in the popup.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeOnClick'][0] = 'Close on map click';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['closeOnClick'][1] = 'Disable it if you want to override the default behavior of the popup closing when user clicks the map ';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['offset'][0] = 'Offset';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['offset'][1] = 'The offset of the popup position as comma separated point (e.g. 5,2)';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView'][0] = 'Keep in view';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['keepInView'][1] = 'Set it to true if you want to prevent users from panning the popup off of the screen while it is open.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['zoomAnimation'][0] = 'Animate on zoom';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['zoomAnimation'][1] = 'Whether to animate the popup on zoom. Disable it if you have problems with Flash content inside popups.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['className'][0] = 'Class name';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['className'][1] = 'A custom class name to assign to the popup.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPanPadding'][0] = 'Auto pan padding';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPanPadding'][1] = 'The margin between the popup and the top left (first input) and the bottom right (second input) of the map view. Each value as comma separated point (e.g. 5,5)';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPan'][0] = 'Pan map';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPan'][1] = 'Automatically pan the map to display the popup.';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['active'][0] = 'Activate popup';
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_popup']['active'][1] = 'Only activated popups are assigned to the map object.';
|
|
||||||
@@ -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="http://contao-leaflet.netzmacht.de" 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 <em>creative</em></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="http://contao-leaflet.netzmacht.de/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="http://contao-leaflet.netzmacht.de/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="http://contao-leaflet.netzmacht.de/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="http://contao-leaflet.netzmacht.de/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 };
|
|
||||||
}());
|
|
||||||
2848
package-lock.json
generated
Normal file
2848
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
32
package.json
Normal file
32
package.json
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"name": "contao-leaflet-maps",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "Leaflet maps for Contao",
|
||||||
|
"main": "gulpfile.js",
|
||||||
|
"dependencies": {
|
||||||
|
"gulp": "^4.0.2",
|
||||||
|
"gulp-cli": "^2.2.0",
|
||||||
|
"gulp-concat": "^2.6.1",
|
||||||
|
"gulp-uglify": "^3.0.2",
|
||||||
|
"promised-del": "^1.0.2"
|
||||||
|
},
|
||||||
|
"devDependencies": {},
|
||||||
|
"scripts": {
|
||||||
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
|
},
|
||||||
|
"repository": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "git+https://github.com/netzmacht/contao-leaflet-maps.git"
|
||||||
|
},
|
||||||
|
"keywords": [
|
||||||
|
"Contao",
|
||||||
|
"Leaflet",
|
||||||
|
"Maps"
|
||||||
|
],
|
||||||
|
"author": "netzmacht David Molineus",
|
||||||
|
"license": "LGPL-3.0-or-later",
|
||||||
|
"bugs": {
|
||||||
|
"url": "https://github.com/netzmacht/contao-leaflet-maps/issues"
|
||||||
|
},
|
||||||
|
"homepage": "https://github.com/netzmacht/contao-leaflet-maps#readme"
|
||||||
|
}
|
||||||
98
phpcq.yaml.dist
Normal file
98
phpcq.yaml.dist
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
phpcq:
|
||||||
|
repositories:
|
||||||
|
- https://phpcq.github.io/repository/repository.json
|
||||||
|
directories:
|
||||||
|
- src
|
||||||
|
|
||||||
|
plugins:
|
||||||
|
composer-require-checker:
|
||||||
|
version: ^1.0
|
||||||
|
signed: false
|
||||||
|
phpmd:
|
||||||
|
version: ^1.0
|
||||||
|
signed: false
|
||||||
|
requirements:
|
||||||
|
phpmd:
|
||||||
|
signed: false
|
||||||
|
phpcpd:
|
||||||
|
version: ^1.1
|
||||||
|
signed: false
|
||||||
|
phploc:
|
||||||
|
version: ^1.0
|
||||||
|
signed: false
|
||||||
|
phpcs:
|
||||||
|
version: ^1.0
|
||||||
|
signed: false
|
||||||
|
composer-normalize:
|
||||||
|
version: ^1.0
|
||||||
|
signed: false
|
||||||
|
|
||||||
|
trusted-keys:
|
||||||
|
# composer require checker
|
||||||
|
- 033E5F8D801A2F8D
|
||||||
|
# sb@sebastian-bergmann.de
|
||||||
|
- 4AA394086372C20A
|
||||||
|
# magl@magll.net
|
||||||
|
- D2CCAC42F6295E7D
|
||||||
|
# PHP_CodeSniffer
|
||||||
|
- 31C7E470E2138192
|
||||||
|
# Composer normalize
|
||||||
|
- C00543248C87FB13
|
||||||
|
# phpmd
|
||||||
|
- A4E55EA12C7C085C
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
fix:
|
||||||
|
- composer-normalize-fix
|
||||||
|
- phpcbf
|
||||||
|
|
||||||
|
verify:
|
||||||
|
- composer-require-checker
|
||||||
|
- composer-normalize
|
||||||
|
|
||||||
|
analyze:
|
||||||
|
- phploc
|
||||||
|
- phpcpd
|
||||||
|
- phpmd
|
||||||
|
- phpcs
|
||||||
|
|
||||||
|
default:
|
||||||
|
- verify
|
||||||
|
- analyze
|
||||||
|
|
||||||
|
phpcpd:
|
||||||
|
plugin: phpcpd
|
||||||
|
|
||||||
|
phpmd:
|
||||||
|
config:
|
||||||
|
ruleset:
|
||||||
|
- vendor/phpcq/coding-standard/phpmd/ruleset.xml
|
||||||
|
|
||||||
|
composer-normalize:
|
||||||
|
config:
|
||||||
|
ignore_output:
|
||||||
|
- '#Root package is not of type "project", we will not installing Contao extensions\.#'
|
||||||
|
|
||||||
|
composer-require-checker:
|
||||||
|
plugin: composer-require-checker
|
||||||
|
config:
|
||||||
|
config_file: '.composer-require-checker.json'
|
||||||
|
|
||||||
|
phpcs:
|
||||||
|
plugin: phpcs
|
||||||
|
config: &phpcs-config
|
||||||
|
standard: ~
|
||||||
|
excluded:
|
||||||
|
- src/Bundle/Resources/contao/languages
|
||||||
|
- src/Bundle/Resources/public/js
|
||||||
|
|
||||||
|
phpcbf:
|
||||||
|
plugin: phpcs
|
||||||
|
config:
|
||||||
|
<<: *phpcs-config
|
||||||
|
fix: true
|
||||||
|
|
||||||
|
composer-normalize-fix:
|
||||||
|
plugin: composer-normalize
|
||||||
|
config:
|
||||||
|
dry_run: false
|
||||||
4
phpcs.xml.dist
Normal file
4
phpcs.xml.dist
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<ruleset name="ContaoToolkit">
|
||||||
|
<rule ref="vendor/phpcq/coding-standard/phpcs/PhpCodeQuality/ruleset.xml" />
|
||||||
|
</ruleset>
|
||||||
65
src/Alias/DefaultAliasFilter.php
Normal file
65
src/Alias/DefaultAliasFilter.php
Normal file
@@ -0,0 +1,65 @@
|
|||||||
|
<?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 Netzmacht\Contao\Toolkit\Data\Alias\Filter\AbstractFilter;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class DefaultAliasFilter creates an prefix of the alias.
|
||||||
|
*
|
||||||
|
* @package Netzmacht\Contao\Leaflet\Alias
|
||||||
|
*/
|
||||||
|
class DefaultAliasFilter extends AbstractFilter
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Alias prefix.
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
private $prefix;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DefaultAliasFilter constructor.
|
||||||
|
*
|
||||||
|
* @param string $dataContainerName Data container name.
|
||||||
|
* @param int $combine Combine strategy.
|
||||||
|
*/
|
||||||
|
public function __construct($dataContainerName, $combine = self::COMBINE_REPLACE)
|
||||||
|
{
|
||||||
|
parent::__construct(true, $combine);
|
||||||
|
|
||||||
|
$this->prefix = str_replace('tl_leaflet_', '', $dataContainerName);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function repeatUntilValid(): bool
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritdoc}
|
||||||
|
*/
|
||||||
|
public function apply($model, $value, string $separator): string
|
||||||
|
{
|
||||||
|
if (!$value) {
|
||||||
|
return $this->prefix . $separator . $model->id;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
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
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @package dev
|
* Leaflet maps for Contao CMS.
|
||||||
* @author David Molineus <david.molineus@netzmacht.de>
|
|
||||||
* @copyright 2015 netzmacht creative David Molineus
|
|
||||||
* @license LGPL 3.0
|
|
||||||
* @filesource
|
|
||||||
*
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @copyright 2014-2019 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @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\Contracts\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\Contracts\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\Contracts\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\Contracts\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\Contracts\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\Contracts\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\Contracts\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\Contracts\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);
|
||||||
|
}
|
||||||
|
}
|
||||||
67
src/Bundle/ContaoManager/Plugin.php
Normal file
67
src/Bundle/ContaoManager/Plugin.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\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,
|
||||||
|
'leaflet-libs',
|
||||||
|
]
|
||||||
|
)
|
||||||
|
->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,58 @@
|
|||||||
|
<?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;
|
||||||
|
|
||||||
|
use function array_pad;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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'])) {
|
||||||
|
[$source, $type] = array_pad((array) $assets['css'], 2, null);
|
||||||
|
$definition->addMethodCall('registerStylesheet', [$name, $source, $type ?: Assets::TYPE_FILE]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($assets['javascript'])) {
|
||||||
|
[$source, $type] = array_pad((array) $assets['javascript'], 2, null);
|
||||||
|
$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'
|
||||||
|
- '@netzmacht.contao_toolkit.template_renderer'
|
||||||
|
- '@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'}
|
||||||
211
src/Bundle/Resources/config/mappers.yml
Normal file
211
src/Bundle/Resources/config/mappers.yml
Normal file
@@ -0,0 +1,211 @@
|
|||||||
|
# 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'
|
||||||
|
- '@netzmacht.contao_toolkit.contao.environment_adapter'
|
||||||
|
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 }
|
||||||
|
|
||||||
208
src/Bundle/Resources/config/providers.yml
Normal file
208
src/Bundle/Resources/config/providers.yml
Normal file
@@ -0,0 +1,208 @@
|
|||||||
|
parameters:
|
||||||
|
netzmacht.contao_leaflet.providers:
|
||||||
|
OpenStreetMap:
|
||||||
|
variants: ['Mapnik', 'DE', 'CH', 'France', 'HOT', 'BZH']
|
||||||
|
|
||||||
|
OpenSeaMap: []
|
||||||
|
|
||||||
|
OPNVKarte: []
|
||||||
|
|
||||||
|
OpenTopoMap: []
|
||||||
|
|
||||||
|
OpenRailwayMap: []
|
||||||
|
|
||||||
|
OpenFireMap: []
|
||||||
|
|
||||||
|
SafeCast: []
|
||||||
|
|
||||||
|
Stadia:
|
||||||
|
variants: ['AlidadeSmooth', 'AlidadeSmoothDark', 'OSMBright', 'Outdoors']
|
||||||
|
|
||||||
|
Thunderforest:
|
||||||
|
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\ThunderforestProvider'
|
||||||
|
variants:
|
||||||
|
- 'OpenCycleMap'
|
||||||
|
- 'Transport'
|
||||||
|
- 'TransportDark'
|
||||||
|
- 'SpinalMap'
|
||||||
|
- 'Landscape'
|
||||||
|
- 'Outdoors'
|
||||||
|
- 'Pioneer'
|
||||||
|
- 'MobileAtlas'
|
||||||
|
- 'Neighbourhood'
|
||||||
|
options:
|
||||||
|
apiKey: 'tile_provider_key'
|
||||||
|
fields: ['tile_provider_key']
|
||||||
|
|
||||||
|
CyclOSM: []
|
||||||
|
|
||||||
|
Hydda:
|
||||||
|
variants: ['Full', 'Base', 'RoadsAndLabels']
|
||||||
|
|
||||||
|
MapBox:
|
||||||
|
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\MapBoxProvider'
|
||||||
|
options:
|
||||||
|
accessToken: 'tile_provider_key'
|
||||||
|
fields: ['tile_provider_key']
|
||||||
|
|
||||||
|
MapTiler: []
|
||||||
|
|
||||||
|
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'
|
||||||
|
- 'hybridDayTraffic'
|
||||||
|
- '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
|
||||||
146
src/Bundle/Resources/config/services.yml
Normal file
146
src/Bundle/Resources/config/services.yml
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
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'
|
||||||
|
- '@netzmacht.contao_toolkit.template_renderer'
|
||||||
|
|
||||||
|
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: Symfony\Component\Cache\Adapter\FilesystemAdapter
|
||||||
|
arguments:
|
||||||
|
- 'netzmacht.contao_leaflet'
|
||||||
|
- 0
|
||||||
|
- '%netzmacht.contao_leaflet.cache_dir%'
|
||||||
|
|
||||||
|
netzmacht.contao_leaflet.cache.debug:
|
||||||
|
class: Symfony\Component\Cache\Adapter\ArrayAdapter
|
||||||
|
|
||||||
|
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 ''",
|
||||||
|
];
|
||||||
411
src/Bundle/Resources/contao/dca/tl_leaflet_control.php
Normal file
411
src/Bundle/Resources/contao/dca/tl_leaflet_control.php
Normal file
@@ -0,0 +1,411 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @copyright 2014-2022 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 ''",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
426
src/Bundle/Resources/contao/dca/tl_leaflet_icon.php
Normal file
426
src/Bundle/Resources/contao/dca/tl_leaflet_icon.php
Normal file
@@ -0,0 +1,426 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @copyright 2014-2022 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',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
917
src/Bundle/Resources/contao/dca/tl_leaflet_layer.php
Normal file
917
src/Bundle/Resources/contao/dca/tl_leaflet_layer.php
Normal file
@@ -0,0 +1,917 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @copyright 2014-2022 netzmacht David Molineus. All rights reserved.
|
||||||
|
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
|
||||||
|
* @filesource
|
||||||
|
*/
|
||||||
|
|
||||||
|
\Contao\Controller::loadLanguageFile('leaflet');
|
||||||
|
|
||||||
|
$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();"',
|
||||||
|
],
|
||||||
|
'toggleNodes' => [
|
||||||
|
'href' => 'ptg=all',
|
||||||
|
'class' => 'header_toggle',
|
||||||
|
'showOnSelect' => true,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'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' => 'clr 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',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
548
src/Bundle/Resources/contao/dca/tl_leaflet_map.php
Normal file
548
src/Bundle/Resources/contao/dca/tl_leaflet_map.php
Normal file
@@ -0,0 +1,548 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @author Stefan Heimes <stefan_heimes@hotmail.com>
|
||||||
|
* @copyright 2014-2022 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',
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'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'",
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
353
src/Bundle/Resources/contao/dca/tl_leaflet_marker.php
Normal file
353
src/Bundle/Resources/contao/dca/tl_leaflet_marker.php
Normal file
@@ -0,0 +1,353 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @author Stefan Heimes <stefan_heimes@hotmail.com>
|
||||||
|
* @copyright 2014-2022 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',
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'allowHtml' => true,
|
||||||
|
'style' => 'min-height: 40px;',
|
||||||
|
'rte' => 'ace|json',
|
||||||
|
],
|
||||||
|
'sql' => 'text NULL',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
284
src/Bundle/Resources/contao/dca/tl_leaflet_popup.php
Normal file
284
src/Bundle/Resources/contao/dca/tl_leaflet_popup.php
Normal file
@@ -0,0 +1,284 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @copyright 2014-2022 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'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
292
src/Bundle/Resources/contao/dca/tl_leaflet_style.php
Normal file
292
src/Bundle/Resources/contao/dca/tl_leaflet_style.php
Normal file
@@ -0,0 +1,292 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @copyright 2014-2022 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'],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
393
src/Bundle/Resources/contao/dca/tl_leaflet_vector.php
Normal file
393
src/Bundle/Resources/contao/dca/tl_leaflet_vector.php
Normal file
@@ -0,0 +1,393 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Leaflet maps for Contao CMS.
|
||||||
|
*
|
||||||
|
* @package contao-leaflet-maps
|
||||||
|
* @author David Molineus <david.molineus@netzmacht.de>
|
||||||
|
* @author Sven Baumann <baumann.sv@gmail.com>
|
||||||
|
* @author Stefan Heimes <stefan_heimes@hotmail.com>
|
||||||
|
* @copyright 2014-2022 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',
|
||||||
|
'preserveTags' => true,
|
||||||
|
'decodeEntities' => true,
|
||||||
|
'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 ''",
|
||||||
|
];
|
||||||
@@ -8,12 +8,15 @@
|
|||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2015-02-11T08:57:52+01: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']['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']['fullscreen']['0'] = 'Fullscreen-Kontrollelement';
|
$GLOBALS['TL_LANG']['leaflet_control']['fullscreen']['0'] = 'Fullscreen-Kontrollelement';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['fullscreen']['1'] = 'Diese Einstellung fügt einen Button hinzu, der den Fullscreen-Modus umschaltet. Für weitere Details lesen Sie den Artikel in der <a href="https://github.com/brunob/leaflet.fullscreen" target="_blank">Plugin-Dokumentation</a>.';
|
$GLOBALS['TL_LANG']['leaflet_control']['fullscreen']['1'] = 'Diese Einstellung fügt einen Button hinzu, der den Fullscreen-Modus umschaltet. Für weitere Details lesen Sie den Artikel in der <a href="https://github.com/brunob/leaflet.fullscreen" target="_blank">Plugin-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['layers']['0'] = 'Layer-Kontrollelement';
|
$GLOBALS['TL_LANG']['leaflet_control']['layers']['0'] = 'Layer-Kontrollelement';
|
||||||
@@ -21,15 +24,23 @@ $GLOBALS['TL_LANG']['leaflet_control']['layers']['1'] = 'Das Layer-Kontrol
|
|||||||
$GLOBALS['TL_LANG']['leaflet_control']['loading']['0'] = 'Lade-Indikator';
|
$GLOBALS['TL_LANG']['leaflet_control']['loading']['0'] = 'Lade-Indikator';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['loading']['1'] = 'Leaflet.loading ist ein einfacher Ladeindikator als Kontrollelement. Für weitere Details lesen Sie den Artikel in der <a href="https://github.com/ebrelsford/Leaflet.loading" target="_blank">Plugin-Dokumentation</a>.';
|
$GLOBALS['TL_LANG']['leaflet_control']['loading']['1'] = 'Leaflet.loading ist ein einfacher Ladeindikator als Kontrollelement. Für weitere Details lesen Sie den Artikel in der <a href="https://github.com/ebrelsford/Leaflet.loading" target="_blank">Plugin-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['scale']['0'] = 'Maßstabs-Kontrollelement';
|
$GLOBALS['TL_LANG']['leaflet_control']['scale']['0'] = 'Maßstabs-Kontrollelement';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_control']['scale']['1'] = 'Einfaches Maßstabs-Kontrollelement, das den aktuellen Maßstab der Kartenmitte anzeigt. Lesen Sie für mehr Details die <a href="http://leafletjs.com/reference.html#control-scale" target="_blank">Leaflet-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['zoom']['0'] = 'Zoom-Kontrollelement';
|
$GLOBALS['TL_LANG']['leaflet_control']['zoom']['0'] = 'Zoom-Kontrollelement';
|
||||||
$GLOBALS['TL_LANG']['leaflet_control']['zoom']['1'] = 'Diese Komponente ermöglicht eine Kontrolle des Zoomverhaltens. Für weitere Details lesen Sie die <a href="http://leafletjs.com/reference.html#control-zoom" target="_blank">Leaflet-Documentation</a>.';
|
$GLOBALS['TL_LANG']['leaflet_control']['zoom']['1'] = 'Diese Komponente ermöglicht eine Kontrolle des Zoomverhaltens. Für weitere Details lesen Sie die <a href="http://leafletjs.com/reference.html#control-zoom" target="_blank">Leaflet-Documentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['group']['0'] = 'Layer-Gruppe';
|
$GLOBALS['TL_LANG']['leaflet_layer']['group']['0'] = 'Layer-Gruppe';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_layer']['group']['1'] = 'Layergruppen, die aus mehreren unterschiedlichen Layern zusammengesetzt sind. Lesen Sie für die Details die <a href="http://leafletjs.com/reference.html#layergroup" target="_blank">Leaflet-Dokumentation</a>. ';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['markercluster']['0'] = 'Marker-Cluster';
|
$GLOBALS['TL_LANG']['leaflet_layer']['markercluster']['0'] = 'Marker-Cluster';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['markercluster']['1'] = 'Markercluster-Layer, der auf einem based on <a href="https://github.com/Leaflet/Leaflet.markercluster" target="_blank">Leaflet.markercluster</a.';
|
$GLOBALS['TL_LANG']['leaflet_layer']['markercluster']['1'] = 'Markercluster-Layer, der auf einem based on <a href="https://github.com/Leaflet/Leaflet.markercluster" target="_blank">Leaflet.markercluster</a.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['markers']['0'] = 'Marker';
|
$GLOBALS['TL_LANG']['leaflet_layer']['markers']['0'] = 'Marker';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_layer']['markers']['1'] = 'Geben Sie den Layer an der die Marker enthält.';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_layer']['overpass']['0'] = 'Overpass API';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_layer']['overpass']['1'] = 'Overpass API Datenlayer.';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_layer']['provider']['0'] = 'Vorkonfigurierte Karte';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_layer']['provider']['1'] = 'Leaflet-Kachelanbieter. Lesen Sie für weitere Details die <a href="https://github.com/leaflet-extras/leaflet-providers" target="_blank">Plugin-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['reference']['0'] = 'Referenz';
|
$GLOBALS['TL_LANG']['leaflet_layer']['reference']['0'] = 'Referenz';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['reference']['1'] = 'Ein Referenzlayer ist ein Link zu einem anderen Layer.';
|
$GLOBALS['TL_LANG']['leaflet_layer']['reference']['1'] = 'Ein Referenzlayer ist ein Link zu einem anderen Layer.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['tile']['0'] = 'Kachel-Layer';
|
$GLOBALS['TL_LANG']['leaflet_layer']['tile']['0'] = 'Kachel-Layer';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_layer']['tile']['1'] = 'Kachel-Layer mit vollständigen Konfigurationsoptionen.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['vectors']['0'] = 'Vektoren';
|
$GLOBALS['TL_LANG']['leaflet_layer']['vectors']['0'] = 'Vektoren';
|
||||||
$GLOBALS['TL_LANG']['leaflet_layer']['vectors']['1'] = 'Vektorlayer beinhalten Vektoren wie Polygone, Polylines, etc.';
|
$GLOBALS['TL_LANG']['leaflet_layer']['vectors']['1'] = 'Vektorlayer beinhalten Vektoren wie Polygone, Polylines, etc.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_vector']['circle']['0'] = 'Kreis';
|
$GLOBALS['TL_LANG']['leaflet_vector']['circle']['0'] = 'Kreis';
|
||||||
@@ -37,7 +48,9 @@ $GLOBALS['TL_LANG']['leaflet_vector']['circle']['1'] = 'Kreisförmiges Ov
|
|||||||
$GLOBALS['TL_LANG']['leaflet_vector']['circleMarker']['0'] = 'Kreis-Marker';
|
$GLOBALS['TL_LANG']['leaflet_vector']['circleMarker']['0'] = 'Kreis-Marker';
|
||||||
$GLOBALS['TL_LANG']['leaflet_vector']['circleMarker']['1'] = 'Kreisförmiger Marker mit fester Pixelbreite. Für weitere Details lesen Sie den Artikel in der <a href="http://leafletjs.com/reference.html#circlemarker" target="_blank">Leaflet-DoKumentation</a>.';
|
$GLOBALS['TL_LANG']['leaflet_vector']['circleMarker']['1'] = 'Kreisförmiger Marker mit fester Pixelbreite. Für weitere Details lesen Sie den Artikel in der <a href="http://leafletjs.com/reference.html#circlemarker" target="_blank">Leaflet-DoKumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_vector']['multiPolygon']['0'] = 'Mehrere Polygone';
|
$GLOBALS['TL_LANG']['leaflet_vector']['multiPolygon']['0'] = 'Mehrere Polygone';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_vector']['multiPolygon']['1'] = 'Mehrere Polygone mit gemeinsamen Stilen. Lesen Sie für weitere Details die <a href="http://leafletjs.com/reference.html#multipolygon" target="_blank">Leaflet-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_vector']['multiPolyline']['0'] = 'Mehrere Polylines';
|
$GLOBALS['TL_LANG']['leaflet_vector']['multiPolyline']['0'] = 'Mehrere Polylines';
|
||||||
|
$GLOBALS['TL_LANG']['leaflet_vector']['multiPolyline']['1'] = 'Mehrere Polylines mit gemeinsamen Stilen. Lesen Sie für weitere Details die <a href="http://leafletjs.com/reference.html#multipolyline" target="_blank">Leaflet-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_vector']['polygon']['0'] = 'Polygon';
|
$GLOBALS['TL_LANG']['leaflet_vector']['polygon']['0'] = 'Polygon';
|
||||||
$GLOBALS['TL_LANG']['leaflet_vector']['polygon']['1'] = 'Polygon-Overlay. Für weitere Details lesen Sie den Artikel in der <a href="http://leafletjs.com/reference.html#polygon" target="_blank">Leaflet-Dokumentation</a>.';
|
$GLOBALS['TL_LANG']['leaflet_vector']['polygon']['1'] = 'Polygon-Overlay. Für weitere Details lesen Sie den Artikel in der <a href="http://leafletjs.com/reference.html#polygon" target="_blank">Leaflet-Dokumentation</a>.';
|
||||||
$GLOBALS['TL_LANG']['leaflet_vector']['polyline']['0'] = 'Polyline';
|
$GLOBALS['TL_LANG']['leaflet_vector']['polyline']['0'] = 'Polyline';
|
||||||
@@ -8,18 +8,20 @@
|
|||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2015-02-11T08:57:54+01: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';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['active']['1'] = 'Kontrollelement auf der Karte aktivieren.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['active']['1'] = 'Kontrollelement auf der Karte aktivieren.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['active_legend'] = 'Aktivierung';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['active_legend'] = 'Aktivierung';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['alias']['0'] = 'Alias';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['alias']['0'] = 'Alias';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['alias']['1'] = 'Alias des Kontrollelementes.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['alias']['1'] = 'Alias des Kontrollelementes.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['attributions']['0'] = 'Namensnennung';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['attributions']['1'] = 'Hier können Sie Texte zur Namensnennung hinzufügen. In diesem Feld ist HTML erlaubt.';
|
||||||
$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';
|
||||||
@@ -58,6 +60,8 @@ $GLOBALS['TL_LANG']['tl_leaflet_control']['pastenew']['0'] = 'Kontroll
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['pastenew']['1'] = 'Neue Kopie des Kontrollelements ID %s erzeugen';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['pastenew']['1'] = 'Neue Kopie des Kontrollelements ID %s erzeugen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['position']['0'] = 'Position';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['position']['0'] = 'Position';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['position']['1'] = 'Position des Kontrollelementes.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['position']['1'] = 'Position des Kontrollelementes.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['prefix']['0'] = 'Namensnennungs-Prefix';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['prefix']['1'] = 'Passen Sie den Prefix für die Namensnennung an. In der Voreinstellung wird der Leaflet-Link benutzt. HTML ist erlaubt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['separate']['0'] = 'Separat';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['separate']['0'] = 'Separat';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['separate']['1'] = 'Kontrollelemente getrennt von der Zoomkontrolle anzeigen.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['separate']['1'] = 'Kontrollelemente getrennt von der Zoomkontrolle anzeigen.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['show']['0'] = 'Details anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['show']['0'] = 'Details anzeigen';
|
||||||
@@ -81,8 +85,13 @@ $GLOBALS['TL_LANG']['tl_leaflet_control']['type']['1'] = 'Wählen
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['updateWhenIdle']['0'] = 'Bei ';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['updateWhenIdle']['0'] = 'Bei ';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['updateWhenIdle']['1'] = 'Falls aktiviert wird das Kontrollelement erst nach Abschluss einer Bewegung der Karte neu gezeichnet. Andernfalls wird es bereits während der Bewegung aktualisiert.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['updateWhenIdle']['1'] = 'Falls aktiviert wird das Kontrollelement erst nach Abschluss einer Bewegung der Karte neu gezeichnet. Andernfalls wird es bereits während der Bewegung aktualisiert.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomControl']['0'] = 'Zoom-Kontrollelement';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomControl']['0'] = 'Zoom-Kontrollelement';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomControl']['1'] = 'Weisen Sie das Lade-Kontrollelement einem bestimmten Zoom-Kontrollelement zu. Falls dieses nicht benutzt wird oder deaktiviert ist wird das Standard-Kontrollelement verwendet.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText']['0'] = 'ZoomIn-Text';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText']['0'] = 'ZoomIn-Text';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText']['1'] = 'Dieser Text wird im ZoomIn-Button ausgegegeben. Der voreingestellte Wert ist "+". Wenn Sie den voreingestellten Wert verwenden möchten lassen Sie das Feld leer.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInText']['1'] = 'Dieser Text wird im ZoomIn-Button ausgegegeben. Der voreingestellte Wert ist "+". Wenn Sie den voreingestellten Wert verwenden möchten lassen Sie das Feld leer.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInTitle']['0'] = 'ZoomIn-Titel';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomInTitle']['1'] = 'Geben Sie den Titel des Buttons zum Hineinzoomen an.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutText']['0'] = 'ZoomOut-Text';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutText']['0'] = 'ZoomOut-Text';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutText']['1'] = 'Dieser Text wird im ZoomOut-Button ausgegegeben. Der voreingestellte Wert ist "-". Wenn Sie den voreingestellten Wert verwenden möchten lassen Sie das Feld leer.';
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutText']['1'] = 'Dieser Text wird im ZoomOut-Button ausgegegeben. Der voreingestellte Wert ist "-". Wenn Sie den voreingestellten Wert verwenden möchten lassen Sie das Feld leer.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutTitle']['0'] = 'ZoomOut-Titel';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_control']['zoomOutTitle']['1'] = 'Geben Sie den Titel des Buttons zum Herauszoomen an.';
|
||||||
|
|
||||||
@@ -8,10 +8,9 @@
|
|||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2015-02-11T08:57:55+01: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.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['active']['1'] = 'Aktivieren Sie das Icon.';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['active']['1'] = 'Aktivieren Sie das Icon.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['active_legend'] = 'Aktivierung';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['active_legend'] = 'Aktivierung';
|
||||||
@@ -28,7 +27,12 @@ $GLOBALS['TL_LANG']['tl_leaflet_icon']['delete']['0'] = 'Icon lösche
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['delete']['1'] = 'Icon ID %s öschen';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['delete']['1'] = 'Icon ID %s öschen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['edit']['0'] = 'Icon bearbeiten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['edit']['0'] = 'Icon bearbeiten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['edit']['1'] = 'Icon ID %s bearbeiten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['edit']['1'] = 'Icon ID %s bearbeiten';
|
||||||
|
$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']['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']['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';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconImage']['1'] = 'Wählen Sie ein Bild für das Icon aus.';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconImage']['1'] = 'Wählen Sie ein Bild für das Icon aus.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconRetinaImage']['0'] = 'Retina-Iconbild';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['iconRetinaImage']['0'] = 'Retina-Iconbild';
|
||||||
@@ -37,18 +41,25 @@ $GLOBALS['TL_LANG']['tl_leaflet_icon']['layersBtn']['0'] = 'Layer verwal
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['layersBtn']['1'] = 'Leaflet-Layer verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['layersBtn']['1'] = 'Leaflet-Layer verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['map']['0'] = 'Karten verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['map']['0'] = 'Karten verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['map']['1'] = 'Leaflet-Karten verwalten.';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['map']['1'] = 'Leaflet-Karten verwalten.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['markerColor']['0'] = 'Markerfarbe';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['markerColor']['1'] = 'Wählen Sie eine vordefinierte Farbe für den Marker';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['new']['0'] = 'Icon erstellen';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['new']['0'] = 'Icon erstellen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['new']['1'] = 'Erstellen Sie ein neues Icon';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['new']['1'] = 'Erstellen Sie ein neues Icon';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['popupAnchor']['0'] = 'Popup-Anker';
|
$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';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowRetinaImage']['1'] = 'Wählen Sie ein Retina-Bild für den Schatten aus.';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadowRetinaImage']['1'] = 'Wählen Sie ein Retina-Bild für den Schatten aus.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadow_legend'] = 'Schatten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shadow_legend'] = 'Schatten';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shape']['0'] = 'Markerform';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['shape']['1'] = 'Definieren Sie hier die Form des Markers';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['show']['0'] = 'Details anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['show']['0'] = 'Details anzeigen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['show']['1'] = 'Details des Icons %s anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['show']['1'] = 'Details des Icons %s anzeigen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_icon']['styles']['0'] = 'Stile verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_icon']['styles']['0'] = 'Stile verwalten';
|
||||||
@@ -8,20 +8,26 @@
|
|||||||
*
|
*
|
||||||
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
* @license http://www.gnu.org/licenses/lgpl-3.0.html LGPL
|
||||||
*
|
*
|
||||||
* last-updated: 2015-02-11T08:57:55+01:00
|
* last-updated: 2016-10-06T15:54:30+02:00
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['active']['0'] = 'Layer aktivieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['active']['0'] = 'Layer aktivieren';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['active']['1'] = 'Layer auf der Karte aktivieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['active']['1'] = 'Layer auf der Karte aktivieren';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['active_legend'] = 'Aktivierung';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['active_legend'] = 'Aktivierung';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['alias']['0'] = 'Alias';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['alias']['0'] = 'Alias';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['alias']['1'] = 'Alias des Layers.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['alias']['1'] = 'Alias des Layers.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcon']['0'] = 'Iconstil';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcon']['1'] = 'Icon';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['animateAddingMarkers']['0'] = 'Hinzufügen von Markern animieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['animateAddingMarkers']['0'] = 'Hinzufügen von Markern animieren';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['animateAddingMarkers']['1'] = 'Falls angewählt werden Marker, die einer Clustergruppe hinzugefügt werden animiert.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['animateAddingMarkers']['1'] = 'Falls angewählt werden Marker, die einer Clustergruppe hinzugefügt werden animiert.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['attribution']['0'] = 'Namensnennung';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['attribution']['0'] = 'Namensnennung';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['attribution']['1'] = 'Geben Sie das Copyright des Kachellayer-Anbieters ein. Beachten Sie die jeweiligen Nutzungsbedingungen.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['attribution']['1'] = 'Geben Sie das Copyright des Kachellayer-Anbieters ein. Beachten Sie die jeweiligen Nutzungsbedingungen.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['bounds']['0'] = 'Begrenzungen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['bounds']['0'] = 'Begrenzungen';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['boundsMode']['1'] = 'Wählen Sie aus, auf welche Weise die Layerdaten die Darstellungsgrenzen beeinflussen.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['cache']['0'] = 'Cache aktivieren';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['cache']['1'] = 'Falls ausgewählt werden dynamisch geladene Daten gecached.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['cacheLifeTime']['0'] = 'Cache-Lebenszeit';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['cacheLifeTime']['1'] = 'Der Wert in Sekunden bestimmt, wie lange Daten im Cache gültig sind';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['config_legend'] = 'Konfiguration';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['config_legend'] = 'Konfiguration';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['continuousWorld']['0'] = 'Fortlaufende Welt';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['continuousWorld']['0'] = 'Fortlaufende Welt';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['copy']['0'] = 'Layer kopieren';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['copy']['0'] = 'Layer kopieren';
|
||||||
@@ -52,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';
|
||||||
@@ -69,21 +75,35 @@ $GLOBALS['TL_LANG']['tl_leaflet_layer']['new']['1'] = 'Er
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['noWrap']['0'] = 'Kein Umbruch';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['noWrap']['0'] = 'Kein Umbruch';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['opacity']['0'] = 'Transparenz';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['opacity']['0'] = 'Transparenz';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['opacity']['1'] = 'Transparenz des Kachel-Layers.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['opacity']['1'] = 'Transparenz des Kachel-Layers.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassEndpoint']['0'] = 'Overpass API-Endpoint';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassEndpoint']['1'] = 'Endpoint für Overpass API-Abfragen. Falls leer wird //overpass-api.de/api/ benutzt.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassQuery']['0'] = 'Overpass API-Anfrage';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassQuery']['1'] = 'Overpass API -Anfrage. Beispiele finden Sie unter <a href="https://overpass-turbo.eu/" target="_blank">https://overpass-turbo.eu/</a>.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['pasteafter']['1'] = 'Nach 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';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['removeOutsideVisibleBounds']['1'] = 'Cluster und Marker, die zu weit vom sichtbaren Bereich entfernt sind, werden aus Leistungsgründen aus der Karte entfernt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['reuseTiles']['0'] = 'Kacheln wiederverwenden';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['reuseTiles']['0'] = 'Kacheln wiederverwenden';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['show']['0'] = 'Details anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['show']['0'] = 'Details anzeigen';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['show']['1'] = 'Details des Layers ID %s anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['show']['1'] = 'Details des Layers ID %s anzeigen';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['showCoverageOnHover']['0'] = 'Abdeckung bei hover zeigen';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['showCoverageOnHover']['1'] = 'Wenn Sie die Maus über einen Cluster bewegen werden die Grenzen der Marker angezeigt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['singleMarkerMode']['0'] = 'Cluster anstelle von Markern anzeigen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['singleMarkerMode']['0'] = 'Cluster anstelle von Markern anzeigen';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['standalone']['0'] = 'Eigenständiges Layer';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['standalone']['1'] = 'Kopie anstelle eines Links des Layers erstellen.';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['style_legend'] = 'Stil';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['styles']['0'] = 'Stile verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['styles']['0'] = 'Stile verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['styles']['1'] = 'Vektorstile verwalten';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['styles']['1'] = 'Vektorstile verwalten';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['subdomains']['0'] = 'Subdomain';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['subdomains']['0'] = 'Subdomain';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['subdomains']['1'] = 'Subdomains des Kachelservices. Jeder Buchstabe wird wie eine Subdomain behandelt.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileSize']['0'] = 'Kachelgröße';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileSize']['0'] = 'Kachelgröße';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileSize']['1'] = 'Kachelgröße (Breite und Höhe in Pixeln, auf quadratische Kacheln bezogen).';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileSize']['1'] = 'Kachelgröße (Breite und Höhe in Pixeln, auf quadratische Kacheln bezogen).';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider']['0'] = 'Kachelanbieter';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider']['1'] = 'Wählen Sie den Typ des Layers aus.';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider']['1'] = 'Wählen Sie den Typ des Layers aus.';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_variant']['0'] = 'Kachelvariante';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_variant']['0'] = 'Kachelvariante';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_variant']['1'] = 'Kachelvarianten-Stil';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_variant']['1'] = 'Kachelvarianten-Stil';
|
||||||
@@ -102,4 +122,5 @@ $GLOBALS['TL_LANG']['tl_leaflet_layer']['zIndex']['1'] = 'Le
|
|||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomOffset']['0'] = 'Zoom-Offset';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomOffset']['0'] = 'Zoom-Offset';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomReverse']['0'] = 'Umgekehrter Zoom';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomReverse']['0'] = 'Umgekehrter Zoom';
|
||||||
$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomToBoundsOnClick']['0'] = 'Per Klick auf die Begrenzungen zoomen';
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomToBoundsOnClick']['0'] = 'Per Klick auf die Begrenzungen zoomen';
|
||||||
|
$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomToBoundsOnClick']['1'] = 'Wenn Benutzer auf einen Cluster klicken wird auf seine Grenzen gezoomt.';
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user