Compare commits

...

279 Commits

Author SHA1 Message Date
David Molineus
dc5a0a081e Complete implementation of tile providers. 2018-12-18 09:23:47 +01:00
David Molineus
79f6efd9f3 Update leaflet providers. 2018-12-17 17:01:08 +01:00
David Molineus
e7bede78b1 Drop not required .htaccess folder. 2018-12-17 15:21:05 +01:00
David Molineus
997e16891b Add defined check. 2018-12-17 15:20:51 +01:00
David Molineus
d5407357d8 Merge tag '3.1.1' 2018-12-07 11:22:41 +01:00
David Molineus
1ba19f63b1 Prepare release. 2018-12-07 11:22:23 +01:00
David Molineus
878492c0b1 Fix Code style. 2018-12-07 11:22:16 +01:00
David Molineus
57ba63556a Ignore markers without defined coordinates. 2018-12-06 10:37:39 +01:00
David Molineus
0e2b8dd3cd Fix missing marker cluster icon. 2018-11-01 16:01:16 +01:00
David Molineus
91d3786187 Merge tag '3.1.0' 2018-11-01 15:37:04 +01:00
David Molineus
5e20b83503 Prepare release. 2018-11-01 15:36:35 +01:00
David Molineus
ca103521aa add url-polyfill to about page. 2018-11-01 15:34:58 +01:00
David Molineus
f422459be2 Gulp task improvement. 2018-11-01 11:37:32 +01:00
David Molineus
c661abb626 Fix dynamic data loading for new request url. 2018-11-01 10:26:38 +01:00
David Molineus
83226cdd80 Fix gulp watch task. 2018-11-01 10:25:54 +01:00
David Molineus
ed10175072 Add hint that zoom level is probably required (Close #56). 2018-10-30 13:00:52 +01:00
David Molineus
d2338332b4 Rewrite about page using own route (Close #48). 2018-10-30 12:38:46 +01:00
David Molineus
7aa4f38902 Update readme. 2018-10-30 10:53:44 +01:00
David Molineus
cb03dcfa41 Fix broken marker cluster (#60). 2018-10-30 10:52:47 +01:00
David Molineus
2108de32d9 Add support for distance filter for the marker layer. 2018-10-30 10:48:38 +01:00
David Molineus
314e2d21ee Update readme. 2018-10-30 09:53:12 +01:00
David Molineus
6faaa866ad Use minified scripts. 2018-10-30 09:38:38 +01:00
David Molineus
b22563b38c Prevent form submit on enter when using control geocoder and close popup when value is chosen. 2018-10-30 09:36:06 +01:00
David Molineus
a10e55a126 Fix: Do not cache insert tags as it would create esi tags. 2018-10-30 08:45:47 +01:00
David Molineus
e27ac21902 Also replace non cachable inserttags. 2018-10-29 16:24:07 +01:00
David Molineus
0ba725ed38 Implement custom route for data request to prevent partial rendering of the page and it's possible issues (f.e. form captcha changes) (Close #49). 2018-10-29 16:02:50 +01:00
David Molineus
7ec2ee0d96 Upgrade to gulp 4.0. 2018-10-29 15:46:38 +01:00
David Molineus
9e54f12555 Use TL_CSS_UNITS for with and height option (#59). 2018-10-19 16:37:49 +02:00
David Molineus
b323049f9d Merge tag '3.0.4' 2018-10-08 16:26:20 +02:00
David Molineus
873de89d7c Fix broken content element attributes (Missing class and custom id). 2018-10-08 16:26:04 +02:00
David Molineus
88927a3de8 Change format of changelog and add semver note. 2018-09-18 10:33:32 +02:00
David Molineus
8fdc7dab29 Make alias generator services public for Contao 4.6/Symfony 4.0 compatibility. 2018-09-18 10:26:38 +02:00
David Molineus
9a1b6dee01 Merge tag '3.0.2' 2018-08-23 14:50:34 +02:00
David Molineus
9e0f11ec18 Prevent cacheKey is not set. 2018-08-23 14:48:58 +02:00
David Molineus
f60ed1b7be Fix changelog versions. 2018-08-23 14:36:46 +02:00
David Molineus
3d45f6b2eb Run composer require checker and solve issues. 2018-08-23 14:35:25 +02:00
David Molineus
e73a4d4bdf Merge tag '3.0.1' 2018-06-20 08:30:50 +02:00
David Molineus
0322a87e94 Fix license. 2018-06-20 08:30:14 +02:00
David Molineus
f5e8701312 Update readme. 2018-06-20 08:25:47 +02:00
David Molineus
2d0221a90a Fix broken filter factory (Close #57). 2018-06-20 08:24:22 +02:00
David Molineus
9f0b34a53b Merge tag '3.0.0' 2018-01-05 17:11:39 +01:00
David Molineus
e5d336037f Prepare the release. 2018-01-05 17:11:21 +01:00
David Molineus
19614d305f Update requirements. 2018-01-05 17:04:14 +01:00
David Molineus
295d5385a0 Make services public which has to be required in Symfony 3.4. 2018-01-05 17:03:30 +01:00
David Molineus
bde761911f Update changelog. 2017-11-15 11:21:01 +01:00
David Molineus
b4947c1404 Update translations. 2017-11-15 11:18:42 +01:00
David Molineus
16e58f7f40 Register hook as tagged service. 2017-11-15 11:13:24 +01:00
David Molineus
27cef9b45b Add backend icon. 2017-11-13 13:13:14 +01:00
David Molineus
ef30de9698 Use the geocode widget for the boundaries. 2017-11-13 11:07:53 +01:00
David Molineus
db352a2df3 Fix counting of markers. 2017-11-13 10:12:39 +01:00
David Molineus
7db007bdab Remove double parameter. 2017-11-13 10:05:20 +01:00
David Molineus
a77c1b4039 Merge branch 'release/3.0.0' of github.com:netzmacht/contao-leaflet-maps into release/3.0.0 2017-11-13 10:03:16 +01:00
David Molineus
46e0661986 Use style dca listener. 2017-11-12 15:01:16 +01:00
David Molineus
ded5427afb Use same layer id for the geojson layer. 2017-11-12 14:59:11 +01:00
David Molineus
8b193a391a Add the missing repository manager dependency. 2017-11-12 14:48:56 +01:00
David Molineus
00da9f7b25 Adjust language path. 2017-10-27 13:36:44 +02:00
David Molineus
099cd6ca9d Update changelog. 2017-10-19 09:38:25 +02:00
David Molineus
86fb4f4e12 Update the readme. 2017-10-19 09:35:31 +02:00
David Molineus
ae4d9cec13 Update changelog. 2017-10-19 09:31:50 +02:00
David Molineus
08dea6e1da Code style. 2017-10-19 09:28:58 +02:00
David Molineus
ef7b493b2d Use the repository manager. 2017-10-19 08:45:39 +02:00
David Molineus
ce9de6ded3 Use template engine to render the map. 2017-10-18 17:01:03 +02:00
David Molineus
7498aef141 Fix query. 2017-10-18 16:48:16 +02:00
David Molineus
28adc54d36 Fix query. 2017-10-18 16:46:05 +02:00
David Molineus
451d13fe98 Work on repository manager usage. 2017-10-18 16:43:33 +02:00
David Molineus
a4192b4b1a Code style. 2017-10-18 16:36:36 +02:00
David Molineus
7741f44428 Use the repository manager. 2017-10-18 16:36:12 +02:00
David Molineus
0716354952 Work on service oriented listeners. 2017-10-18 16:26:27 +02:00
David Molineus
dd23d386eb Use latest Repository feature to replace static model calls. 2017-10-18 15:30:24 +02:00
David Molineus
edb4ac9eeb Support geojson and topojson as file types for the file layer. 2017-10-18 11:47:04 +02:00
David Molineus
5501887231 Refactor the factories so that they don't use the container. 2017-10-18 08:27:49 +02:00
David Molineus
60306459d2 Add the file path to the layer label. 2017-10-17 18:18:33 +02:00
David Molineus
c465b724f4 Convert array syntax and other minor code style adjustments. 2017-10-17 18:11:28 +02:00
David Molineus
6ded7441d9 Code style. 2017-10-17 18:03:49 +02:00
David Molineus
ae5fe11d20 Move Request to Mapper namespace. 2017-10-17 18:03:42 +02:00
David Molineus
8dbe464ca8 Move hash subscriber to the listener namespace. 2017-10-17 17:58:55 +02:00
David Molineus
d261e8b4ba Refactor GeoJsonSubscriber to an listener. 2017-10-17 17:57:40 +02:00
David Molineus
57fe57b8ea Move encoder subscriber to encoder namespace. 2017-10-17 17:48:14 +02:00
David Molineus
46e6dcc2fa Support bounds changing after files got loaded. 2017-10-17 17:43:12 +02:00
David Molineus
01b3962b78 Optimize use statements. 2017-10-17 17:11:35 +02:00
David Molineus
734aecf738 Add changelog. 2017-10-17 17:09:29 +02:00
David Molineus
50465e4026 Bypass filesystem cache in debug mode. 2017-10-17 17:09:00 +02:00
David Molineus
0abc4676f1 Merge branch 'feature/file-layer' into release/3.0.0 2017-10-17 16:51:10 +02:00
David Molineus
d1f26056e9 Implement a file layer for gpx,kml,wkt support. 2017-10-17 16:50:29 +02:00
David Molineus
31a5cc40a5 Optimize import statements. 2017-10-17 16:22:24 +02:00
David Molineus
59df74c3f9 Replace string class names with the ::class attribute. 2017-10-17 13:51:09 +02:00
David Molineus
c2fd00e6a0 Add styles for the mcw (Fix #51). 2017-10-16 16:58:17 +02:00
David Molineus
e6689d4d45 Improve styling. 2017-10-12 12:08:30 +02:00
David Molineus
cda48b9567 Open for Contao 4.4. Toolkit workarounds the issue. 2017-10-12 12:07:16 +02:00
David Molineus
03896940ac Fix the icon toggling. 2017-10-12 12:06:51 +02:00
David Molineus
d952e6fc48 Move map template to template section. 2017-10-12 10:59:17 +02:00
David Molineus
505dc45dd6 Fix category. 2017-10-12 10:57:04 +02:00
David Molineus
35227cef82 Fix delete sql statement. 2017-10-12 10:55:14 +02:00
David Molineus
a8491bdc4b Use the framework. 2017-10-11 17:57:48 +02:00
David Molineus
56a68175fe Make the data controller a service. 2017-10-11 15:42:49 +02:00
David Molineus
6bfaf63d4f Require Contao 4.4.7. 2017-10-11 15:24:45 +02:00
David Molineus
c374a2ce5d Drop Events mixin by extending L.Evented so that deprecated warning is not visible anymore in browser console. 2017-10-11 15:24:20 +02:00
David Molineus
df541fe433 Fix copyright year. 2017-10-11 15:00:48 +02:00
David Molineus
da8613ca0b Move assets class to encoder namespace. 2017-10-11 14:53:04 +02:00
David Molineus
f09929fae7 Use PHP's ::class constant. 2017-10-11 14:50:14 +02:00
David Molineus
8c6f4c4291 Add request token to the paste into button. 2017-10-11 14:43:25 +02:00
David Molineus
5ce9d517bc Rework filter handling (Fixes #50). 2017-10-11 14:40:01 +02:00
David Molineus
e1685f65c5 Ignore node modules. 2017-10-11 14:28:05 +02:00
David Molineus
bf0fb35b21 Rework filter handling to overcome static map identifier setting. 2017-10-11 14:27:37 +02:00
David Molineus
abaf24821f Apply service names changes. 2017-10-11 14:27:11 +02:00
David Molineus
58a7ccc815 Use input adapter. 2017-10-11 12:08:31 +02:00
David Molineus
13eec4ba2e Code style. 2017-10-11 11:53:32 +02:00
David Molineus
86bcae2f71 Use contao_leaflet as reference for services and tags instead of contao_leaflet_maps. 2017-10-11 11:47:21 +02:00
David Molineus
1dce4bc1c6 Move bundle files to Bundle namespace. 2017-10-11 11:46:19 +02:00
David Molineus
1df16407ef Support PHP 7.0. 2017-10-11 11:39:23 +02:00
David Molineus
d36d613e37 Also add autoZIndex option. 2017-10-11 11:35:58 +02:00
David Molineus
3c660b5bbd Fix: Support collapsed setting. 2017-10-11 11:32:25 +02:00
David Molineus
f5b984407e Fix arguments order of doGenerate() call. 2017-10-11 11:21:16 +02:00
David Molineus
572d2e74a0 Rewrite the insert tag replacer using the new toolkit 3.0 features. 2017-10-11 11:11:30 +02:00
David Molineus
5a1ea75623 Fix state column value. 2017-10-10 16:07:16 +02:00
David Molineus
6408796b56 Add bundle namespace. 2017-10-10 15:25:59 +02:00
David Molineus
8f45bf925a Rework components to support latest toolkit changes. 2017-10-10 15:25:35 +02:00
David Molineus
5167318c43 Add request token to the paste button. 2017-10-09 17:09:52 +02:00
David Molineus
6004138e4e Fix paths. 2017-10-09 17:06:04 +02:00
David Molineus
6b646243e1 Detect if empty values are supported. 2017-10-09 17:02:25 +02:00
David Molineus
95046b65e0 Switch to short array syntax. 2017-10-09 16:54:32 +02:00
David Molineus
cd88c2992b Fix type options. 2017-10-09 16:53:22 +02:00
David Molineus
a2a6d31259 Update packages.json and run gulp command. 2017-10-09 16:09:39 +02:00
David Molineus
b898aafe51 Rearrange assets. 2017-10-09 16:05:34 +02:00
David Molineus
249b12cb61 Code style issues. 2017-10-09 15:49:38 +02:00
David Molineus
fab9b5a0ba Fix save callback. 2017-10-09 15:42:37 +02:00
David Molineus
51fc784800 Fix controls selection. 2017-10-09 15:39:50 +02:00
David Molineus
edf212b850 Rework libraries handling so that libraries don't have to be ported to contao 4.4 only yet. 2017-10-09 15:36:11 +02:00
David Molineus
e6ed2c456d Define event name. 2017-10-09 14:47:38 +02:00
David Molineus
1e315d9bc5 Do not use insert tag replacer to remove circular reference to map provider. 2017-10-09 14:46:24 +02:00
David Molineus
3c9a54c7e1 Fix tag name. 2017-10-09 14:43:35 +02:00
David Molineus
6af1b3fa22 Register the hash subscriber and drop old event_subscribers.php. 2017-10-09 14:41:53 +02:00
David Molineus
7cee2fe631 Loose type hints to support the adapters. 2017-10-09 14:40:20 +02:00
David Molineus
d1c6424699 Fix service definition. 2017-10-09 14:28:02 +02:00
David Molineus
06fc40295c Fix default layer. 2017-10-09 14:20:18 +02:00
David Molineus
5289518d6a Allow empty standard layers. 2017-10-09 14:19:47 +02:00
David Molineus
a5fbba740b Fix invalid default value. 2017-10-09 14:18:24 +02:00
David Molineus
756c28cdc6 Fetch mode. 2017-10-09 14:11:39 +02:00
David Molineus
ac87bcf947 Use options callback to get supported layers and providers. 2017-10-09 14:01:22 +02:00
David Molineus
96c78d4306 Fix class name. 2017-10-09 12:00:09 +02:00
David Molineus
1932937648 Code style. 2017-10-06 15:53:26 +02:00
David Molineus
8eb9a22ae0 Remove boot class. 2017-10-06 15:52:07 +02:00
David Molineus
b5ae094320 Drop not required boot subscriber. 2017-10-06 15:51:20 +02:00
David Molineus
524678f56e Implement assets loading. 2017-10-06 15:50:54 +02:00
David Molineus
31cd1c3ae4 Rename events and remove old ones. 2017-10-06 15:50:34 +02:00
David Molineus
e8edeb8021 Register libraries. 2017-10-06 15:36:04 +02:00
David Molineus
a43b740ba0 Register definition encoders. 2017-10-06 15:35:02 +02:00
David Molineus
1b035901c1 Register definition mappers. 2017-10-06 15:16:02 +02:00
David Molineus
25b90f4c13 Register insert tag replacer. 2017-10-06 15:10:01 +02:00
David Molineus
8a240ab0ff Adjust assets path. 2017-10-06 15:06:35 +02:00
David Molineus
0a76a5450f Clean config.php. 2017-10-06 15:04:04 +02:00
David Molineus
e513edcd3b Use Contao vendor namespace. 2017-10-06 15:00:56 +02:00
David Molineus
aa524478e6 Drop old services.php. 2017-10-06 14:58:56 +02:00
David Molineus
25e3e0d5fb Register geo json subscriber. 2017-10-06 14:58:31 +02:00
David Molineus
2c88d7aec5 Add module factories. 2017-10-06 14:54:58 +02:00
David Molineus
bc425ea772 Code style. 2017-10-06 14:40:44 +02:00
David Molineus
b82b010937 Load language file in the onload callback. 2017-10-06 14:38:43 +02:00
David Molineus
47713e8a38 Replace the template options callback with toolkit 3.0 listener. 2017-10-06 14:35:42 +02:00
David Molineus
3828c9ce13 Use toolkit 3.0 color picker. 2017-10-06 14:27:04 +02:00
David Molineus
594b10b0cf Rework leaflet state button callbacks to be compatible with toolkit 3.0. 2017-10-06 14:24:55 +02:00
David Molineus
ad6a4e9384 Replace old alias generator callback definition with toolkit 3.0 compatible ones. 2017-10-06 14:14:39 +02:00
David Molineus
ad5e30fd09 Rework frontend integration callback class to a listener service. 2017-10-06 14:06:20 +02:00
David Molineus
f03ed713f3 Rework validator callbacks to a listener service. 2017-10-06 14:02:31 +02:00
David Molineus
6c7b136c0e Rework leaflet dca callbacks to a listener service. 2017-10-06 13:56:46 +02:00
David Molineus
5a4fd9b434 Fix reference to vector. 2017-10-06 13:47:57 +02:00
David Molineus
ad6482c28c Rework vector dca callbacks to a service listener. 2017-10-06 13:47:13 +02:00
David Molineus
6111fc3594 Rework marker dca callbacks to a service listener. 2017-10-06 13:44:11 +02:00
David Molineus
32d47531f7 Add getIcons callback to the layer dca listener. 2017-10-06 13:39:40 +02:00
David Molineus
598adb54b1 Rework layer callbacks to an listener service. 2017-10-06 13:33:19 +02:00
David Molineus
e67b152225 Replace old callback notation. 2017-10-06 13:21:06 +02:00
David Molineus
1fc47f705d Rename listener namespace. 2017-10-06 13:19:46 +02:00
David Molineus
fde6c2b4c7 Rework control callbacks as a listener service. 2017-10-06 13:17:49 +02:00
David Molineus
307381ddb6 Rework map callbacks as a listener. 2017-10-06 12:04:39 +02:00
David Molineus
f172c42426 Work on service definitions. 2017-10-06 11:47:54 +02:00
David Molineus
b96e955504 Implement encoder factory as class. 2017-10-06 11:41:12 +02:00
David Molineus
7727263f29 Move assets to public folder. 2017-10-06 10:11:51 +02:00
David Molineus
25f89f91b6 Add compiler pass for layer label renderer. 2017-10-06 10:09:56 +02:00
David Molineus
f5badd14c5 Move layers configuration. 2017-10-06 10:07:19 +02:00
David Molineus
320359d2f0 Add docs. 2017-10-06 09:56:19 +02:00
David Molineus
8300531de3 Restructure config files, add extension and complete mappers services. 2017-10-06 09:28:33 +02:00
David Molineus
ceb05bb08f Work on moving configuration to yml files. 2017-10-05 17:35:46 +02:00
David Molineus
909288d4fc Move providers to yml file. 2017-10-05 17:02:15 +02:00
David Molineus
6ad637d4fa Move amanities config to parameters.yml. 2017-10-05 16:45:16 +02:00
David Molineus
04c693ac7f Use symfony translator. 2017-10-05 16:40:13 +02:00
David Molineus
bce7e31cb3 Drop autoload files. 2017-10-05 16:31:58 +02:00
David Molineus
a3ac7262f0 Add plugin and bundle. 2017-10-05 16:31:15 +02:00
David Molineus
20b9144b89 Apply coding standards. 2017-10-05 16:14:46 +02:00
David Molineus
84294686a5 Update file headers. 2017-10-05 15:45:43 +02:00
David Molineus
dfc1fa49d9 Restore compatibility with contao-toolkit 3.0. 2017-10-05 15:34:19 +02:00
David Molineus
f8aac5747c Update interface. 2017-10-05 15:27:49 +02:00
David Molineus
540680f7f6 Use phpcq all tasks. 2017-10-05 15:25:58 +02:00
David Molineus
3e40da22ba Drop bin dir. 2017-10-05 15:24:34 +02:00
David Molineus
eea70e3a51 Move contao files. 2017-10-05 14:17:52 +02:00
David Molineus
827c746b0d Switch to PSR-4. 2017-10-05 14:16:56 +02:00
David Molineus
e3344ffd4f Update build and dot files. 2017-10-05 14:06:00 +02:00
David Molineus
5b7c7d01d8 Update leaflet providers to current supported features. 2017-07-06 17:10:56 +02:00
David Molineus
722e17b29c Only load icon file if an icon exists (Fix #44). 2017-05-04 14:31:31 +02:00
David Molineus
8920be6649 Update translations. 2017-03-20 10:56:40 +01:00
David Molineus
4651f2b885 Allow to create maps (Fix #42). 2017-03-20 10:56:04 +01:00
David Molineus
a8c4e03ab1 Fix code style issues. 2016-11-15 14:01:48 +01:00
David Molineus
4c1df8eaaf Keep custom callbacks. 2016-11-14 14:32:44 +01:00
David Molineus
da3b7ba994 Merge tag '2.0.0-beta2' 2016-11-14 13:47:30 +01:00
David Molineus
9f950b0f31 Add translations for overpass layer. 2016-11-14 13:45:30 +01:00
David Molineus
324e65e217 Translate new icon options. 2016-11-14 13:37:03 +01:00
David Molineus
5cf75b76b7 Add the color picker. 2016-11-14 13:36:32 +01:00
David Molineus
d95f45d35a Implement the extra markers icons. 2016-11-14 13:31:19 +01:00
David Molineus
3f05bd8783 Load icon stylesheets dynamically. 2016-11-14 13:30:38 +01:00
David Molineus
cb370f6723 Support popups. 2016-11-14 11:50:20 +01:00
David Molineus
f462a11c1d Implement amenity icons mapping. 2016-11-14 11:35:09 +01:00
David Molineus
c61e2d9cc9 Refactor overpass support using own implementation of overpass layer. 2016-11-14 11:00:10 +01:00
David Molineus
130848c1f3 Typos. 2016-11-14 09:10:31 +01:00
David Molineus
74f500513a Support debug mode. 2016-11-09 12:00:57 +01:00
David Molineus
8947efc351 Improve input mask. 2016-11-09 11:57:44 +01:00
David Molineus
37065f2183 Add query to the tree view. 2016-11-09 11:47:57 +01:00
David Molineus
422433bc52 Bugfixes. 2016-11-09 11:23:26 +01:00
David Molineus
cba8939843 Implement overpass layer. 2016-11-09 10:27:18 +01:00
David Molineus
2705ff2676 Fix leaflet documentation links (Close #41). 2016-10-28 08:33:59 +02:00
David Molineus
28490a9ee6 Implement bounds padding option. 2016-10-11 14:32:43 +02:00
David Molineus
17e7bc5e1c Update file headers. 2016-10-11 10:40:15 +02:00
David Molineus
b27c706fe3 Translate map caching. 2016-10-11 10:32:39 +02:00
David Molineus
f22906b8b6 Implement zoomSnap and zoomDelta. 2016-10-11 10:25:28 +02:00
David Molineus
1eba70b5b4 Merge branch 'leaflet-v1' 2016-10-06 15:53:55 +02:00
David Molineus
d394d36aff Update branch aliases. 2016-10-06 15:53:19 +02:00
David Molineus
9e0723a67a Code style issues. 2016-10-06 15:49:15 +02:00
David Molineus
8c24f5e735 Implement caching for feature collections (#30) and maps (#4). 2016-10-06 15:47:33 +02:00
David Molineus
2e5139a756 Change alias field allowing null values. 2016-10-06 14:19:01 +02:00
David Molineus
92b7080217 Adjust map width. 2016-10-06 14:13:49 +02:00
David Molineus
340cd5d9f6 Remove unsupported code. 2016-10-06 12:32:24 +02:00
David Molineus
fa67267473 Output the map javscript in the template. 2016-10-06 12:31:21 +02:00
David Molineus
33a097ebe7 Support local aliases (close #33). 2016-10-06 12:16:42 +02:00
David Molineus
45cee3bfb8 Disable alias. 2016-10-06 11:50:00 +02:00
David Molineus
caa137e566 Format vector type. 2016-10-06 11:44:56 +02:00
David Molineus
48a6a3a360 Check options before assigning them. 2016-10-06 11:38:52 +02:00
David Molineus
016d0f1435 Fix alias validator. 2016-10-06 11:38:17 +02:00
David Molineus
d7d76913b1 Validate vector coordinates. 2016-10-06 09:52:07 +02:00
David Molineus
a6ffe76134 Use translateable coordinate validator. 2016-10-06 09:47:12 +02:00
David Molineus
ca4e4e0d2d Validate aliases. 2016-10-06 09:42:41 +02:00
David Molineus
025ce1ba81 Dependency injection for the map provider. 2016-10-06 09:09:11 +02:00
David Molineus
ee4c157e9c Use dependency injection for the provider layer mapper. 2016-10-06 09:04:51 +02:00
David Molineus
daf902b989 Use assets manager in the marker cluster layer mapper. 2016-10-06 09:02:12 +02:00
David Molineus
a375a73668 Refactor GeoJson subscriber. 2016-10-06 08:58:35 +02:00
David Molineus
b1cfbb3b04 Refactor boot subscriber. 2016-10-06 08:53:23 +02:00
David Molineus
2c9dd0ad48 Refactor frontend integration using dependency injection. 2016-10-06 08:34:55 +02:00
David Molineus
4e4380270b Code style fixes. 2016-10-06 08:26:57 +02:00
David Molineus
4068f62df1 Refactor LayerCallbacks using dependency injection. 2016-10-06 08:26:45 +02:00
David Molineus
ea359e8b79 Refactor data controller to fully use dependency injection 2016-10-06 08:14:08 +02:00
David Molineus
bbd97ae47d Improve the alias generator to create valid non numeric entries. 2016-10-06 08:06:41 +02:00
David Molineus
3e84260e79 Use the assets manager. 2016-10-05 16:11:59 +02:00
David Molineus
971f905ad2 Introduce service names constants. 2016-10-05 15:30:55 +02:00
David Molineus
436cf88901 Code style fixes. 2016-10-05 15:11:31 +02:00
David Molineus
7ef6aff458 Update travis.yml 2016-10-05 15:11:07 +02:00
David Molineus
7d817850cc Fix translations. 2016-10-05 15:01:03 +02:00
David Molineus
395f3503fa Fix max height label. 2016-10-05 14:58:50 +02:00
David Molineus
c7cf1524a7 Update translations. 2016-10-05 14:56:19 +02:00
David Molineus
8e89cc3616 Fix the alias generator. Do not use -. 2016-10-05 14:48:57 +02:00
David Molineus
5a41b2b5d8 Update dependency and fix namespace definition. 2016-10-05 14:34:27 +02:00
David Molineus
59b0218f15 Update the logo. 2016-10-05 14:22:21 +02:00
David Molineus
047bde7b15 Update urls and name. 2016-10-05 14:20:13 +02:00
David Molineus
abcc4f5d88 Rename MapService to MapProvider 2016-10-05 14:18:15 +02:00
David Molineus
c8ea8d4fab Fix callbacks. 2016-10-05 14:13:43 +02:00
David Molineus
e574aa36a0 Add accidentally removed getLayer callback. 2016-10-05 14:11:25 +02:00
David Molineus
91000979eb Update attribution. 2016-10-05 14:10:27 +02:00
David Molineus
7d3c053bd1 Fix circles. 2016-10-05 13:35:04 +02:00
David Molineus
1bb9fb4d7a Change multi polyline and multi polygone to work with leaflet v1. 2016-10-05 10:54:05 +02:00
David Molineus
749b8f3068 Case sensitive method call. 2016-10-05 09:45:31 +02:00
David Molineus
5da4c047b0 Allow to select sub layers in the control. 2016-10-05 09:45:03 +02:00
David Molineus
98ef670e4a Fix callbacks. 2016-10-05 09:44:40 +02:00
David Molineus
b043b134a8 Fix default image path for leaflet v1. 2016-10-05 09:25:01 +02:00
David Molineus
ddcec3f1e3 Add package.json and update gulpfile. 2016-10-05 09:23:41 +02:00
David Molineus
e75b325ec6 Fix dragging of result icons. 2016-10-05 08:58:59 +02:00
David Molineus
11bc76fea6 Fix dragging of result icons. 2016-10-05 08:58:10 +02:00
David Molineus
13253873fa Drop the service container class. 2016-10-05 08:52:46 +02:00
David Molineus
5b648427c1 Close #34: Make marker draggable. 2016-10-05 08:40:50 +02:00
David Molineus
f4a54cdec3 Make marker draggable. 2016-10-05 08:39:28 +02:00
David Molineus
0e10a3d7c4 Fix geocode plugin. 2016-10-05 08:23:34 +02:00
David Molineus
7207d9e0e6 Rewrite frontend components to work with toolkit v2. 2016-10-05 08:12:34 +02:00
David Molineus
f8e28f3299 Adjust dca files and callbacks to work with toolkit v2. 2016-10-04 16:07:05 +02:00
David Molineus
69e3ea8898 Let leaflet boot again. 2016-10-04 14:55:25 +02:00
David Molineus
5d8028eda5 Update dependencies. 2016-10-04 14:42:22 +02:00
269 changed files with 17029 additions and 8386 deletions

View File

@@ -0,0 +1,11 @@
{
"symbol-whitelist": [
"null", "true", "false",
"static", "self", "parent",
"array", "string", "int", "float", "bool", "iterable", "callable", "void", "object",
"array_insert",
"Contao\\ManagerPlugin\\Bundle\\BundlePluginInterface",
"Contao\\ManagerPlugin\\Bundle\\Config\\BundleConfig",
"Contao\\ManagerPlugin\\Bundle\\Parser\\ParserInterface"
]
}

11
.gitattributes vendored Normal file
View 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

33
.gitignore vendored
View File

@@ -1,10 +1,27 @@
/vendor/
/bin/
/demo/
/assets/js/*.js
/node_modules/
/.tx/
# OS
.DS_Store
Thumbs.db
.directory
coverage.xml
# IDEs
.buildpath
.project
.settings/
.build/
.external*/
.idea/
nbproject/
# composer related
vendor/
composer.lock
npm-debug.log
# build
build/
build.properties
# Translations
.tx
# NPM
node_modules

View File

@@ -1,31 +1,29 @@
language: php
php:
- 5.4
- 5.5
- 5.6
- "7.1"
- "7.2"
env:
- CONTAO_VERSION=~3.2.0
- CONTAO_VERSION=~3.3.0
- CONTAO_VERSION=~3.4.0
- CONTAO_VERSION=~3.5.0
- CONTAO_VERSION=contao/core-bundle ~4.4.0
- CONTAO_VERSION=contao/core-bundle ~4.5.0
- CONTAO_VERSION=contao/core-bundle ~4.6.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 require $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
cache:
directories:
- vendor

125
CHANGELOG.md Normal file
View File

@@ -0,0 +1,125 @@
# 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).
## 3.1.2 - TBD
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.1...hotfix/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
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.1.0...3.1.1)
### 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
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.3...3.0.4)
### Fixed
- Fix broken content element attributes (Missing class and custom id).
## 3.0.3 - 2018-09-18
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.2...3.0.3)
### Fixed
- Make alias generator services public for Contao 4.6/Symfony 4.0 compatibility.
## 3.0.2 - 2018-08-23
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.1...3.0.2)
- Run composer require checker and solve issues.
## 3.0.1 - 2018-06-20
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0...3.0.1)
- Fix broken dynamic bbox related data loading (#57)
## 3.0.0 - 2018-01-05
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0-beta1...3.0.0)
- Make hook/dca listener services public
## 3.0.0-beta1 - 2017-11-15
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0-alpha2...3.0.0-beta1)
Enhancements
- Updated translations
Bugfixes
- Broken service definitions
- Broken file layer id
## 3.0.0-alpha1 - 2017-10-19
[Full Changelog](https://github.com/netzmacht/contao-leaflet-maps/compare/3.0.0-alpha1...3.0.0-alpha2)
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

View File

@@ -17,17 +17,19 @@ Features
- Define Leaflet maps with multiple layers.
- Manage map controls
- [Layers control](http://leafletjs.com/reference.html#control-layers)
- [Zoom control](http://leafletjs.com/reference.html#control-zoom)
- [Scale control]((http://leafletjs.com/reference.html#control-scale))
- [Attribution control](http://leafletjs.com/reference.html#control-attribution)
- [Layers control](http://leafletjs.com/reference-1.2.0.html#control-layers)
- [Zoom control](http://leafletjs.com/reference-1.2.0.html#control-zoom)
- [Scale control]((http://leafletjs.com/reference-1.2.0.html#control-scale))
- [Attribution control](http://leafletjs.com/reference-1.2.0.html#control-attribution)
- [Loading control](https://github.com/ebrelsford/Leaflet.loading)
- Manage layers
- [Tile provider](https://github.com/leaflet-extras/leaflet-providers)
- Markers - A set of [markers](http://leafletjs.com/reference.html#marker)
- Vectors - A set of [vectors](http://leafletjs.com/reference.html)
- Markers - A set of [markers](http://leafletjs.com/reference-1.2.0.html#marker)
- Vectors - A set of [vectors](http://leafletjs.com/reference-1.2.0.html)
- Groups - A group of layers
- 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 vector styles
- Optional deferred ajax loading of layer data
@@ -36,11 +38,22 @@ Features
- Autoloading of required assets.
- [Layer for MetaModels](https://github.com/netzmacht/contao-leaflet-metamodels)
Changelog
---------
View the [CHANGELOG.md](CHANGELOG.md) for the latest changes.
Requirements
------------
- Contao 4.4
- PHP >= 7.0
Install
-------
```
$ php composer.phar require netzmacht/contao-leaflet-maps:~1.0
$ php composer.phar require netzmacht/contao-leaflet-maps:~3.0
```
Credits
@@ -53,5 +66,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/).
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.

View File

View File

@@ -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))}});

4
build.default.properties Normal file
View File

@@ -0,0 +1,4 @@
phpcs.standard = ${basedir}/vendor/phpcq/coding-standard/phpcs/PhpCodeQuality/ruleset.xml
phpmd.ruleset = ${basedir}/vendor/phpcq/coding-standard/phpmd/ruleset.xml
phpcs.excluded = src/Bundle/Resources/contao/languages,src/Bundle/Resources/public/js
phpcpd.excluded = contao

View File

@@ -1,2 +0,0 @@
phpcq.bin.dir = ${basedir}/bin

View File

@@ -1,5 +1,5 @@
<?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" />
<import file="vendor/phpcq/phpcq/phpcq.main.xml" />
</project>

View File

@@ -1,64 +1,78 @@
{
"name":"netzmacht/contao-leaflet-maps",
"description":"Contao Leaflet maps integration",
"keywords":["contao", "maps", "leaflet"],
"type":"contao-module",
"license":"LGPL-3.0+",
"authors":[
{
"name":"David Molineus",
"email":"mail@netzmacht.de",
"homepage":"http://www.netzmacht.de",
"role":"Project leader"
}
],
"support":{
"email":"mail@netzmacht.de",
"issues":"https://github.com/netzmacht/contao-leaflet-maps/issues",
"source":"https://github.com/netzmacht/contao-leaflet-maps"
},
"require":{
"php":">=5.4",
"contao/core":">=3.2,<3.6-dev",
"contao-community-alliance/dependency-container":"~1.0",
"contao-community-alliance/event-dispatcher":"~1.0",
"netzmacht/contao-leaflet-libraries": "~0.7",
"netzmacht/php-javascript-builder": "~1.0",
"netzmacht/php-leaflet": "~0.7",
"netzmacht/contao-toolkit":"~1.0",
"contao-community-alliance/meta-palettes": "~1.5",
"menatwork/contao-multicolumnwizard": "~3.2",
"doctrine/cache": "~1.0"
},
"require-dev":{
"netzmacht/contao-build-tools": "~1.1"
},
"autoload": {
"psr-0": {
"Netzmacht\\Contao\\Leaflet": "src/"
}
},
"config": {
"bin-dir": "bin"
},
"prefer-stable": true,
"minimum-stability": "dev",
"extra":{
"branch-alias": {
"dev-master": "1.0.x-dev"
},
"contao": {
"sources":{
"module": "system/modules/leaflet",
"assets/maps": "assets/leaflet/maps",
"assets/js": "assets/leaflet/js"
},
"transifex": {
"project": "contao-leaflet-maps",
"prefix": "core-",
"languages_cto": "module/languages",
"languages_tx": ".tx"
}
}
"name": "netzmacht/contao-leaflet-maps",
"description": "Contao Leaflet maps integration",
"keywords": [
"contao",
"maps",
"leaflet"
],
"type": "contao-bundle",
"license": "LGPL-3.0-or-later",
"authors": [
{
"name": "David Molineus",
"email": "mail@netzmacht.de",
"homepage": "https://netzmacht.de",
"role": "Developer"
}
],
"support": {
"email": "mail@netzmacht.de",
"issues": "https://github.com/netzmacht/contao-leaflet-maps/issues",
"source": "https://github.com/netzmacht/contao-leaflet-maps"
},
"require": {
"php": ">=7.1",
"ext-json": "*",
"ext-pdo": "*",
"contao/core-bundle": "~4.4",
"doctrine/dbal": "^2.5",
"symfony/config": "~3.3 || ~4.0",
"symfony/event-dispatcher": "~3.3 || ~4.0",
"symfony/dependency-injection": "~3.3 || ~4.0",
"symfony/filesystem": "~3.3 || ~4.0",
"symfony/http-kernel": "~3.3 || ~4.0",
"symfony/translation": "~3.3 || ~4.0",
"symfony/templating": "~3.3 || ~4.0",
"netzmacht/contao-leaflet-libraries": "^1.3.4",
"netzmacht/contao-leaflet-geocode-widget": "^1.2",
"netzmacht/php-javascript-builder": "^1.0",
"netzmacht/php-leaflet": "^1.1.0",
"netzmacht/contao-toolkit": "~3.0",
"netzmacht/contao-page-context": "~1.0",
"contao-community-alliance/meta-palettes": "^2.0 || ^1.5",
"menatwork/contao-multicolumnwizard": "^3.2",
"doctrine/cache": "^1.0"
},
"require-dev": {
"phpcq/all-tasks": "^1.2",
"contao/manager-plugin": "^2.1",
"phpstan/phpstan": "^0.10.3"
},
"autoload": {
"psr-4": {
"Netzmacht\\Contao\\Leaflet\\": "src/"
}
},
"autoload-dev": {
"files": [
"vendor/phpcq/autoload-validation/hacks/contao-hack.php"
]
},
"extra": {
"branch-alias": {
"dev-master": "3.1.x-dev",
"dev-develop": "3.2.x-dev",
"dev-support/2.x": "2.0.x-dev"
},
"contao-manager-plugin": "Netzmacht\\Contao\\Leaflet\\Bundle\\ContaoManager\\Plugin",
"contao": {
"transifex": {
"project": "contao-leaflet-maps",
"prefix": "core-",
"languages_cto": "src/Bundle/Resources/contao/languages",
"languages_tx": ".tx"
}
}
}
}

View File

@@ -1,28 +1,35 @@
var gulp = require('gulp');
var del = require('del');
var uglify = require('gulp-uglify');
var concat = require('gulp-concat');
const { series, src, watch, dest, parallel, task} = require('gulp');
const del = require('promised-del');
const uglify = require('gulp-uglify');
const concat = require('gulp-concat');
var paths = {
minified: 'contao-leaflet.js',
scripts: ['assets/maps/src/*.js'],
dest: 'assets/maps'
scripts: ['js/vendor/*.js', 'js/*.js'],
dest: 'src/Bundle/Resources/public/js'
};
gulp.task('clear', function(cb) {
del([paths.dest + '/' + paths.minified], cb);
});
function clean () {
return del([paths.dest + '/' + paths.minified]);
}
gulp.task('scripts', ['clear'], function() {
return gulp.src(paths.scripts)
function build () {
return src(paths.scripts)
.pipe(concat(paths.minified))
.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() {
gulp.watch(paths.scripts, ['scripts']);
});
exports.clean = clean;
exports.watch = watchTask;
exports.build = buildTasks;
exports.default = buildTasks;

View File

@@ -3,16 +3,14 @@
*
* This class provides some helpers for loading layer data manages maps and map objects.
*/
L.Contao = L.Class.extend({
includes: L.Mixin.Events,
L.Contao = L.Evented.extend({
statics: {
/**
* Contao extension attribution.
*
* 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: function () {
L.Icon.Default.imagePath = 'assets/leaflet/libs/leaflet/images';
L.Icon.Default.imagePath = 'assets/leaflet/libs/leaflet/images/';
this.setGeoJsonListeners(L.GeoJSON);
},
@@ -89,7 +87,14 @@ L.Contao = L.Class.extend({
*/
loadIcons: function (icons) {
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);
}
},
@@ -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 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.
*/
load: function (hash, type, options, customLayer, map) {
var url = this.createRequestUrl(hash, map),
layer = omnivore[type](url, options, customLayer);
var url = this.createRequestUrl(hash, map);
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) {
// Required because Control.Loading tries to get _leafet_id which is created here.
L.stamp(layer);
// Add listender for map bounds changes.
// Add listener for map bounds changes.
if (map.options.dynamicLoad && layer.options.boundsMode == 'fit') {
layer.options.requestHash = hash;
layer.options.requestUrl = url;
map.on('moveend', layer.refreshData, layer);
map.on('layerremove', function(e) {
@@ -153,6 +173,19 @@ L.Contao = L.Class.extend({
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.
*
@@ -294,6 +327,36 @@ L.Contao = L.Class.extend({
}
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();
}
});

View File

@@ -29,6 +29,6 @@ L.GeoJSON.include({
});
// 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);
}
});

View File

@@ -30,10 +30,31 @@ L.Map.include({
}
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.
*

231
js/OverpassLayer.js Normal file
View 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;
}
});

View File

@@ -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>

View File

@@ -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

View File

@@ -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',
)
);

View File

@@ -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';

View File

@@ -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',
);

View File

@@ -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()
);

View File

@@ -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);
});

View File

@@ -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 ''"
);

View File

@@ -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 ''"
),
),
);

View File

@@ -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 ''"
)
)
);

View File

@@ -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"
),
),
);

View File

@@ -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&amp;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"
),
)
);

View File

@@ -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"
),
),
);

View File

@@ -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'"
),
)
);

View File

@@ -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"
),
),
);

View File

@@ -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 ''"
),
),
);

View File

@@ -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 ''"
),
),
);

View File

@@ -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&amp;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"
),
),
);

View File

@@ -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 ''"
);

View File

@@ -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';

View File

@@ -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';

View File

@@ -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';

View File

@@ -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.';

View File

@@ -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.';

View File

@@ -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>

View File

@@ -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&shy;tribute. Translations,
docu&shy;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>

View File

@@ -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>

View File

@@ -1,5 +0,0 @@
L.contao.addMap('<?php echo $mapId; ?>', function() {
<?php echo $javascript; ?>
return { map: map, layers: layers, controls: controls, icons: icons };
}());

3297
package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

32
package.json Normal file
View 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.0",
"gulp-cli": "^2.0.1",
"gulp-concat": "^2.6.1",
"gulp-uglify": "^3.0.1",
"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"
}

View 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;
}
}

View 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, '_');
}
}

View 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, '_');
}
}

View File

@@ -1,38 +1,68 @@
<?php
/**
* @package dev
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2015 netzmacht creative David Molineus
* @license LGPL 3.0
* @filesource
* 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
*/
namespace Netzmacht\Contao\Leaflet\Backend;
namespace Netzmacht\Contao\Leaflet\Backend\Action;
use Symfony\Bundle\FrameworkBundle\Templating\EngineInterface as Engine;
use Symfony\Component\HttpFoundation\Response;
/**
* Credits backend module.
*
* @package Netzmacht\Contao\Leaflet\Backend
*/
class About
final class AboutAction
{
/**
* Templating engine.
*
* @var Engine
*/
private $engine;
/**
* Project directory.
*
* @var string
*/
private $projectDir;
/**
* AboutAction constructor.
*
* @param Engine $engine Templating engine.
* @param string $projectDir Project directory.
*/
public function __construct(Engine $engine, string $projectDir)
{
$this->engine = $engine;
$this->projectDir = $projectDir;
}
/**
* Generate the backend view.
*
* @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';
$template->libraries = $this->getLibraries();
[$data['version'], $data['dependencies']] = $this->extractFromComposer();
list($template->version, $template->dependencies) = $this->extractFromComposer();
return $template->parse();
return $this->engine->renderResponse('@NetzmachtContaoLeaflet/backend/about.html.twig', $data);
}
/**
@@ -42,23 +72,22 @@ class About
*
* @SuppressWarnings(PHPMD.Superglobals)
*/
private function getLibraries()
private function getLibraries(): array
{
return array_map(
function ($library) {
$library = array_merge(
array(
[
'homepage' => null,
'version' => null,
),
],
$library
);
if ($library['homepage']) {
$library['homepage'] = sprintf(
'<a href="%s" %s>%s</a>',
'<a href="%s" target="_blank">%s</a>',
$library['homepage'],
LINK_NEW_WINDOW,
preg_replace('#^(https?://(www)?)#i', '', $library['homepage'])
);
}
@@ -68,7 +97,7 @@ class About
array_filter(
$GLOBALS['LEAFLET_LIBRARIES'],
function ($library) {
return isset($library['name']) && isset($library['license']);
return isset($library['name'], $library['license']);
}
)
);
@@ -79,36 +108,36 @@ class About
*
* @return array
*/
private function extractFromComposer()
private function extractFromComposer(): array
{
$extFile = TL_ROOT . '/composer/vendor/netzmacht/contao-leaflet-maps/composer.json';
$lockFile = TL_ROOT . '/composer/composer.lock';
$extFile = $this->projectDir . '/vendor/netzmacht/contao-leaflet-maps/composer.json';
$lockFile = $this->projectDir . '/composer.lock';
if (!file_exists($extFile) || !file_exists($lockFile)) {
return array();
return [];
}
$extension = json_decode(file_get_contents($extFile), true);
$installed = json_decode(file_get_contents($lockFile), true);
$deps = array();
$deps = [];
$version = null;
foreach ($installed['packages'] as $package) {
if ($package['name'] === 'netzmacht/contao-leaflet-maps') {
$version = $package['version'];
} elseif (isset($extension['require'][$package['name']])) {
$deps[] = array(
$deps[] = [
'name' => $package['name'],
'version' => $package['version'],
'license' => !empty($package['license']) ? implode(', ', $package['license']) : '',
'homepage' => sprintf(
'<a href="https://packagist.org/packages/%s" target="_blank">Visit packagist</a>',
$package['name']
)
);
),
];
}
}
return array($version, $deps);
return [$version, $deps];
}
}

View 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;
}

View File

@@ -0,0 +1,70 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Class ChainRenderer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
final class ChainRenderer implements LayerLabelRenderer
{
/**
* List of layer label renderer.
*
* @var array|LayerLabelRenderer[]
*/
private $renderer;
/**
* ChainRenderer constructor.
*
* @param array|LayerLabelRenderer[] $renderer List of layer label renderer.
*/
public function __construct($renderer)
{
$this->renderer = $renderer;
}
/**
* {@inheritDoc}
*/
public function supports(array $row): bool
{
foreach ($this->renderer as $renderer) {
if ($renderer->supports($row)) {
return true;
}
}
return false;
}
/**
* {@inheritDoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
foreach ($this->renderer as $renderer) {
if ($renderer->supports($row)) {
return $renderer->render($row, $label, $translator);
}
}
return $label;
}
}

View File

@@ -0,0 +1,67 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Contao\FilesModel;
use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Class FileLabelRenderer
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
class FileLabelRenderer extends AbstractLabelRenderer
{
/**
* Repository manager.
*
* @var RepositoryManager
*/
private $repositoryManager;
/**
* FileLabelRenderer constructor.
*
* @param RepositoryManager $repositoryManager Repository manager.
*/
public function __construct(RepositoryManager $repositoryManager)
{
$this->repositoryManager = $repositoryManager;
}
/**
* {@inheritDoc}
*/
protected function getLayerType(): string
{
return 'file';
}
/**
* {@inheritDoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
$repository = $this->repositoryManager->getRepository(FilesModel::class);
$file = $repository->findByPk($row['file']);
if ($file) {
$label .= ' <span class="tl_gray">(' . $file->path . ')</span>';
}
return $label;
}
}

View File

@@ -0,0 +1,45 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Interface LayerLabelRenderer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
interface LayerLabelRenderer
{
/**
* Check if current row is supported.
*
* @param array $row Current row.
*
* @return bool
*/
public function supports(array $row): bool;
/**
* Render the backend label of an layer.
*
* @param array $row Current row.
* @param string $label Default label.
* @param Translator $translator The translator.
*
* @return string
*/
public function render(array $row, string $label, Translator $translator): string;
}

View File

@@ -0,0 +1,68 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Netzmacht\Contao\Leaflet\Model\MarkerModel;
use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Class MarkersLabelRenderer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
final class MarkersLabelRenderer extends AbstractLabelRenderer
{
/**
* Repository manager.
*
* @var RepositoryManager
*/
private $repositoryManager;
/**
* FileLabelRenderer constructor.
*
* @param RepositoryManager $repositoryManager Repository manager.
*/
public function __construct(RepositoryManager $repositoryManager)
{
$this->repositoryManager = $repositoryManager;
}
/**
* {@inheritdoc}
*/
protected function getLayerType(): string
{
return 'markers';
}
/**
* {@inheritdoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
$repository = $this->repositoryManager->getRepository(MarkerModel::class);
$count = $repository->countBy(['pid=?'], [$row['id']]);
$label .= sprintf(
'<span class="tl_gray"> (%s %s)</span>',
$count,
$translator->trans('countEntries', [], 'contao_tl_leaflet_layer')
);
return $label;
}
}

View File

@@ -0,0 +1,46 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Contao\StringUtil;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Class OverpassLabelRenderer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
final class OverpassLabelRenderer extends AbstractLabelRenderer
{
/**
* {@inheritdoc}
*/
protected function getLayerType(): string
{
return 'overpass';
}
/**
* {@inheritdoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
if ($row['overpassQuery']) {
$label .= '<span class="tl_gray"> ' . StringUtil::substr($row['overpassQuery'], 50) . '</span>';
}
return $label;
}
}

View File

@@ -0,0 +1,52 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Backend label renderer for provider layer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
final class ProviderLabelRenderer extends AbstractLabelRenderer
{
/**
* {@inheritdoc}
*/
protected function getLayerType(): string
{
return 'provider';
}
/**
* {@inheritdoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
$langKey = 'leaflet_provider.' . $row['tile_provider'] . '.0';
$translated = $translator->trans($langKey, [], 'contao_leaflet');
if ($translated !== $langKey) {
$provider = $translated;
} else {
$provider = $row['tile_provider'];
}
$label .= sprintf('<span class="tl_gray"> (%s)</span>', $provider);
return $label;
}
}

View File

@@ -0,0 +1,67 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Netzmacht\Contao\Leaflet\Model\LayerModel;
use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Class ReferenceLabelRenderer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
final class ReferenceLabelRenderer extends AbstractLabelRenderer
{
/**
* Repository manager.
*
* @var RepositoryManager
*/
private $repositoryManager;
/**
* FileLabelRenderer constructor.
*
* @param RepositoryManager $repositoryManager Repository manager.
*/
public function __construct(RepositoryManager $repositoryManager)
{
$this->repositoryManager = $repositoryManager;
}
/**
* {@inheritdoc}
*/
protected function getLayerType(): string
{
return 'reference';
}
/**
* {@inheritdoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
$repository = $this->repositoryManager->getRepository(LayerModel::class);
$reference = $repository->find((int) $row['reference']);
if ($reference) {
$label .= '<span class="tl_gray"> (' . $reference->title . ')</span>';
}
return $label;
}
}

View File

@@ -0,0 +1,68 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer;
use Netzmacht\Contao\Leaflet\Model\VectorModel;
use Netzmacht\Contao\Toolkit\Data\Model\RepositoryManager;
use Symfony\Component\Translation\TranslatorInterface as Translator;
/**
* Class VectorsLabelRenderer.
*
* @package Netzmacht\Contao\Leaflet\Backend\Renderer\Label\Layer
*/
final class VectorsLabelRenderer extends AbstractLabelRenderer
{
/**
* Repository manager.
*
* @var RepositoryManager
*/
private $repositoryManager;
/**
* FileLabelRenderer constructor.
*
* @param RepositoryManager $repositoryManager Repository manager.
*/
public function __construct(RepositoryManager $repositoryManager)
{
$this->repositoryManager = $repositoryManager;
}
/**
* {@inheritdoc}
*/
protected function getLayerType(): string
{
return 'vectors';
}
/**
* {@inheritdoc}
*/
public function render(array $row, string $label, Translator $translator): string
{
$repository = $this->repositoryManager->getRepository(VectorModel::class);
$count = $repository->countBy(['pid=?'], [$row['id']]);
$label .= sprintf(
'<span class="tl_gray"> (%s %s)</span>',
$count,
$translator->trans('countEntries', [], 'contao_tl_leaflet_layer')
);
return $label;
}
}

View File

@@ -0,0 +1,66 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Bundle\ContaoManager;
use Contao\CoreBundle\ContaoCoreBundle;
use Contao\ManagerPlugin\Bundle\BundlePluginInterface;
use Contao\ManagerPlugin\Bundle\Config\BundleConfig;
use Contao\ManagerPlugin\Bundle\Parser\ParserInterface;
use Contao\ManagerPlugin\Routing\RoutingPluginInterface;
use Netzmacht\Contao\Leaflet\Bundle\NetzmachtContaoLeafletBundle;
use Netzmacht\Contao\PageContext\NetzmachtContaoPageContextBundle;
use Netzmacht\Contao\Toolkit\Bundle\NetzmachtContaoToolkitBundle;
use Symfony\Component\Config\Loader\LoaderResolverInterface;
use Symfony\Component\HttpKernel\KernelInterface;
use Symfony\Component\Routing\RouteCollection;
/**
* Contao manager plugin.
*
* @package Netzmacht\Contao\Leaflet\ContaoManager
*/
class Plugin implements BundlePluginInterface, RoutingPluginInterface
{
/**
* {@inheritdoc}
*/
public function getBundles(ParserInterface $parser)
{
return [
BundleConfig::create(NetzmachtContaoLeafletBundle::class)
->setLoadAfter(
[
ContaoCoreBundle::class,
NetzmachtContaoToolkitBundle::class,
NetzmachtContaoPageContextBundle::class
]
)
->setReplace(['leaflet']),
];
}
/**
* {@inheritdoc}
*/
public function getRouteCollection(LoaderResolverInterface $resolver, KernelInterface $kernel): ?RouteCollection
{
$loader = $resolver->resolve(__DIR__ . '/../Resources/config/routing.yml');
if (!$loader) {
return null;
}
return $loader->load(__DIR__ . '/../Resources/config/routing.yml');
}
}

View File

@@ -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');
}
}
}
}

View File

@@ -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)]);
}
}
}
}
}

View 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)]);
}
}
}

View File

@@ -0,0 +1,56 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
declare(strict_types=1);
namespace Netzmacht\Contao\Leaflet\Bundle\DependencyInjection\Pass;
use Netzmacht\LeafletPHP\Assets;
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
use Symfony\Component\DependencyInjection\ContainerBuilder;
/**
* Class RegisterLibrariesPass.
*
* @package Netzmacht\Contao\Leaflet\DependencyInjection\Pass
*/
class RegisterLibrariesPass implements CompilerPassInterface
{
/**
* {@inheritDoc}
*/
public function process(ContainerBuilder $container)
{
if (!$container->hasDefinition('netzmacht.contao_leaflet.definition.builder')) {
return;
}
if (!$container->hasParameter('netzmacht.contao_leaflet.libraries')) {
return;
}
$definition = $container->getDefinition('netzmacht.contao_leaflet.definition.builder');
$libraries = $container->getParameter('netzmacht.contao_leaflet.libraries');
foreach ($libraries as $name => $assets) {
if (!empty($assets['css'])) {
list ($source, $type) = (array) $assets['css'];
$definition->addMethodCall('registerStylesheet', [$name, $source, $type ?: Assets::TYPE_FILE]);
}
if (!empty($assets['javascript'])) {
list ($source, $type) = (array) $assets['javascript'];
$definition->addMethodCall('registerJavascript', [$name, $source, $type ?: Assets::TYPE_FILE]);
}
}
}
}

View 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'
)
);
}
}

View 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'

View 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

View 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 }

View 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' }

View File

@@ -0,0 +1,127 @@
services:
netzmacht.contao_leaflet.listeners.dca.leaflet:
class: Netzmacht\Contao\Leaflet\Listener\Dca\LeafletDcaListener
public: true
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@templating'
- '@filesystem'
- '@netzmacht.contao_toolkit.contao.system_adapter'
- '%netzmacht.contao_leaflet.cache_dir%'
netzmacht.contao_leaflet.listeners.dca.validator:
class: Netzmacht\Contao\Leaflet\Listener\Dca\Validator
public: true
arguments:
- '@netzmacht.contao_toolkit.dca.manager'
- '@translator'
netzmacht.contao_leaflet.listeners.dca.frontend_integration:
class: Netzmacht\Contao\Leaflet\Listener\Dca\FrontendIntegrationListener
public: true
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@translator'
netzmacht.contao_leaflet.listeners.dca.map:
class: Netzmacht\Contao\Leaflet\Listener\Dca\MapDcaListener
public: true
arguments:
- '@netzmacht.contao_toolkit.dca.manager'
- '@database_connection'
- '@netzmacht.contao_toolkit.repository_manager'
- '@translator'
- '@session'
netzmacht.contao_leaflet.listeners.dca.control:
class: Netzmacht\Contao\Leaflet\Listener\Dca\ControlDcaListener
public: true
arguments:
- '@netzmacht.contao_toolkit.dca.manager'
- '@database_connection'
- '@netzmacht.contao_toolkit.repository_manager'
- '%netzmacht.contao_leaflet.controls%'
netzmacht.contao_leaflet.listeners.dca.layer:
class: Netzmacht\Contao\Leaflet\Listener\Dca\LayerDcaListener
public: true
arguments:
- '@netzmacht.contao_toolkit.dca.manager'
- '@database_connection'
- '@netzmacht.contao_toolkit.repository_manager'
- '@translator'
- '@netzmacht.contao_leaflet.layer_label_renderer'
- '@netzmacht.contao_toolkit.contao.backend_adapter'
- '%netzmacht.contao_leaflet.layers%'
- '%netzmacht.contao_leaflet.providers%'
- '%netzmacht.contao_leaflet.amenities%'
- '%netzmacht.contao_leaflet.file_formats%'
netzmacht.contao_leaflet.listeners.dca.marker:
class: Netzmacht\Contao\Leaflet\Listener\Dca\MarkerDcaListener
public: true
arguments:
- '@database_connection'
- '@netzmacht.contao_toolkit.repository_manager'
netzmacht.contao_leaflet.listeners.dca.vector:
class: Netzmacht\Contao\Leaflet\Listener\Dca\VectorDcaListener
public: true
arguments:
- '@netzmacht.contao_toolkit.dca.manager'
- '@netzmacht.contao_toolkit.repository_manager'
- '%netzmacht.contao_leaflet.vectors%'
netzmacht.contao_leaflet.listeners.dca.icon:
class: Netzmacht\Contao\Leaflet\Listener\Dca\IconDcaListener
public: true
arguments:
- '%netzmacht.contao_leaflet.icons%'
netzmacht.contao_leaflet.listeners.dca.style:
class: Netzmacht\Contao\Leaflet\Listener\Dca\StyleDcaListener
public: true
arguments:
- '%netzmacht.contao_leaflet.styles%'
netzmacht.contao_leaflet.listeners.geo_json_listener:
class: Netzmacht\Contao\Leaflet\Listener\GeoJsonListener
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '%netzmacht.contao_leaflet.feature_model_properties%'
tags:
- { name: 'kernel.event_listener', event: 'netzmacht.contao_leaflet.mapper.convert_to_geojson', method: 'handle' }
netzmacht.contao_leaflet.listeners.hash_subscriber:
class: Netzmacht\Contao\Leaflet\Listener\HashSubscriber
tags:
- { name: 'kernel.event_subscriber' }
netzmacht.contao_leaflet.listeners.load_assets:
class: Netzmacht\Contao\Leaflet\Listener\LoadAssetsListener
arguments:
- '@netzmacht.contao_leaflet.map.assets'
- '@netzmacht.contao_leaflet.definition.mapper'
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.libraries'
tags:
- { name: 'kernel.event_listener', event: 'netzmacht.contao_leaflet.get_javascript', method: 'onGetJavascriptEvent' }
netzmacht.contao_leaflet.listeners.register_libraries:
class: Netzmacht\Contao\Leaflet\Listener\RegisterLibrariesListener
public: true
arguments:
- '@netzmacht.contao_leaflet.libraries'
- '@netzmacht.contao_leaflet.definition.builder'
tags:
- { name: 'contao.hook', hook: 'initializeSystem', method: 'onInitializeSystem' }
netzmacht.contao_leaflet.listeners.backend_menu:
class: Netzmacht\Contao\Leaflet\Listener\Backend\UserNavigationListener
arguments:
- '@request_stack'
- '@router'
- '@translator'
- '@netzmacht.contao_toolkit.assets_manager'
tags:
- { name: 'contao.hook', hook: 'getUserNavigation', method: '__invoke'}

View File

@@ -0,0 +1,210 @@
# Leaflet mappers.
#
# Mappers translate between the database models and the leaflet definition.
services:
_defaults:
public: false
# Map mapper
netzmacht.contao_leaflet.mapper.map:
class: Netzmacht\Contao\Leaflet\Mapper\MapMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
# Layer mappers
netzmacht.contao_leaflet.mapper.tile_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\TileLayerMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.provider_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\ProviderLayerMapper
arguments:
- '%netzmacht.contao_leaflet.providers%'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.markers_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\MarkersLayerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@router'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.group_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\GroupLayerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.vectors_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\VectorsLayerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@router'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.reference_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\ReferenceLayerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.overpass_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\OverpassLayerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.marker_cluster_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\MarkerClusterLayerMapper
arguments:
- '@netzmacht.contao_leaflet.map.assets'
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.file_layer:
class: Netzmacht\Contao\Leaflet\Mapper\Layer\FileLayerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
# Control mappers
netzmacht.contao_leaflet.mapper.zoom_control:
class: Netzmacht\Contao\Leaflet\Mapper\Control\ZoomControlMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.scale_control:
class: Netzmacht\Contao\Leaflet\Mapper\Control\ScaleControlMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.layers_control:
class: Netzmacht\Contao\Leaflet\Mapper\Control\LayersControlMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.attribution_control:
class: Netzmacht\Contao\Leaflet\Mapper\Control\AttributionControlMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.loading_control:
class: Netzmacht\Contao\Leaflet\Mapper\Control\LoadingControlMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.fullscreen_control:
class: Netzmacht\Contao\Leaflet\Mapper\Control\FullscreenControlMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
# Vector mappers
netzmacht.contao_leaflet.mapper.polyline:
class: Netzmacht\Contao\Leaflet\Mapper\Vector\PolylineMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.multi_polyline:
class: Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolylineMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.polygon:
class: Netzmacht\Contao\Leaflet\Mapper\Vector\PolygonMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.multi_polygon:
class: Netzmacht\Contao\Leaflet\Mapper\Vector\MultiPolygonMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.circle:
class: Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.circle_mapper:
class: Netzmacht\Contao\Leaflet\Mapper\Vector\CircleMarkerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.rectangle_mapper:
class: Netzmacht\Contao\Leaflet\Mapper\Vector\RectangleMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }
# Miscellaneous mappers
netzmacht.contao_leaflet.mapper.popup:
class: Netzmacht\Contao\Leaflet\Mapper\UI\PopupMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.image_icon:
class: Netzmacht\Contao\Leaflet\Mapper\Type\ImageIconMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.div_icon:
class: Netzmacht\Contao\Leaflet\Mapper\Type\DivIconMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.extra_markers:
class: Netzmacht\Contao\Leaflet\Mapper\Type\ExtraMarkersIconMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.fixed_style:
class: Netzmacht\Contao\Leaflet\Mapper\Style\FixedStyleMapper
tags:
- { name: netzmacht.contao_leaflet.mapper }
netzmacht.contao_leaflet.mapper.marker:
class: Netzmacht\Contao\Leaflet\Mapper\UI\MarkerMapper
arguments:
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_leaflet.frontend.value_filter'
tags:
- { name: netzmacht.contao_leaflet.mapper }

View File

@@ -0,0 +1,201 @@
parameters:
netzmacht.contao_leaflet.providers:
OpenStreetMap:
variants: ['Mapnik', 'BlackAndWhite', 'DE', 'CH', 'France', 'HOT', 'BZH']
OpenSeaMap: []
OpenTopoMap: []
OpenPtMap: []
OpenRailwayMap: []
OpenFireMap: []
SafeCast: []
Thunderforest:
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\ThunderforestProvider'
variants:
- 'OpenCycleMap'
- 'Transport'
- 'TransportDark'
- 'SpinalMap'
- 'Landscape'
- 'Outdoors'
- 'Pioneer'
options:
apiKey: 'tile_provider_key'
fields: ['tile_provider_key']
OpenMapSurfer:
variants: ['Roads', 'AdminBounds', 'Grayscale']
Hydda:
variants: ['Full', 'Base', 'RoadsAndLabels']
MapBox:
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\MapBoxProvider'
options:
accessToken: 'tile_provider_key'
fields: ['tile_provider_key']
Stamen:
variants:
- 'Toner'
- 'TonerBackground'
- 'TonerHybrid'
- 'TonerLines'
- 'TonerLabels'
- 'TonerLite'
- 'Terrain'
- 'TerrainBackground'
- 'TopOSMRelief'
- 'TopOSMFeatures'
- 'Watercolor'
Esri:
variants:
- 'WorldStreetMap'
- 'DeLorme'
- 'WorldTopoMap'
- 'WorldImagery'
- 'WorldTerrain'
- 'WorldShadedRelief'
- 'WorldPhysical'
- 'OceanBasemap'
- 'NatGeoWorldMap'
- 'WorldGrayCanvas'
OpenWeatherMap:
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\OpenWeatherMapProvider'
variants:
- 'Clouds'
- 'CloudsClassic'
- 'Precipitation'
- 'PrecipitationClassic'
- 'Rain'
- 'RainClassic'
- 'Pressure'
- 'PressureContour'
- 'Wind'
- 'Temperature'
- 'Snow'
options:
apiKey: 'tile_provider_key'
fields: ['tile_provider_key']
HERE:
class: 'Netzmacht\LeafletPHP\Plugins\LeafletProviders\HereProvider'
variants:
- 'normalDay'
- 'normalDayCustom'
- 'normalDayGrey'
- 'normalDayMobile'
- 'normalDayGreyMobile'
- 'normalDayTransit'
- 'normalDayTransitMobile'
- 'normalNight'
- 'normalNightMobile'
- 'normalNightGrey'
- 'normalNightGreyMobile'
- 'normalNightTransit'
- 'normalNightTransitMobile'
- 'reducedDay'
- 'reducedNight'
- 'basicMap'
- 'mapLabels'
- 'trafficFlow'
- 'carnavDayGrey'
- 'hybridDay'
- 'hybridDayMobile'
- 'hybridDayTransit'
- 'hybridDayGrey'
- 'pedestrianDay'
- 'pedestrianNight'
- 'satelliteDay'
- 'terrainDay'
- 'terrainDayMobile'
options:
appId: 'tile_provider_key'
appCode: 'tile_provider_code'
fields: ['tile_provider_key', 'tile_provider_code']
JusticeMap:
variants:
- 'income'
- 'americanIndian'
- 'asian'
- 'black'
- 'hispanic'
- 'multi'
- 'nonWhite'
- 'white'
- 'plurality'
FreeMapSK: []
MtbMap: []
CartoDB:
variants:
- 'Positron'
- 'PositronNoLabels'
- 'PositronOnlyLabels'
- 'DarkMatter'
- 'DarkMatterNoLabels'
- 'DarkMatterOnlyLabels'
- 'Voyager'
- 'VoyagerNoLabels'
- 'VoyagerOnlyLabels'
- 'VoyagerLabelsUnder'
HikeBike:
variants:
- 'HikeBike'
- 'HillShading'
BasemapAT:
variants:
- 'basemap'
- 'grau'
- 'overlay'
- 'highdpi'
- 'orthofoto'
nlmaps:
variants:
- 'standaard'
- 'pastel'
- 'grijs'
- 'luchtfoto'
NASAGIBS:
variants:
- 'ModisTerraTrueColorCR'
- 'ModisTerraBands367CR'
- 'ViirsEarthAtNight2012'
- 'ModisTerraLSTDay'
- 'ModisTerraSnowCover'
- 'ModisTerraAOD'
- 'ModisTerraChlorophyll'
NLS: []
Wikimedia: []
GeoportailFrance:
variants:
- 'parcels'
- 'ignMaps'
- 'maps'
- 'orthos'
OneMapSG:
variants:
- 'Default'
- 'Night'
- 'Original'
- 'Grey'
- 'LandLot'

View 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

View File

@@ -0,0 +1,138 @@
parameters:
netzmacht.contao_leaflet.cache_dir: '%kernel.cache_dir%/leaflet'
# JSON_UNESCAPED_SLASHES ^ Netzmacht\JavascriptBuilder\Flags::BUILD_STACK
netzmacht.contao_leaflet.encoding_flags: 16448
services:
netzmacht.contao_leaflet.map.provider:
class: Netzmacht\Contao\Leaflet\MapProvider
arguments:
- '@netzmacht.contao_leaflet.definition.mapper'
- '@netzmacht.contao_leaflet.definition.builder'
- '@event_dispatcher'
- '@netzmacht.contao_toolkit.contao.input_adapter'
- '@netzmacht.contao_leaflet.map.assets'
- '@netzmacht.contao_leaflet.cache'
- '@netzmacht.contao_leaflet.frontend.data_controller'
- '@netzmacht.contao_toolkit.repository_manager'
- '@templating'
netzmacht.contao_leaflet.libraries:
class: Netzmacht\Contao\Leaflet\Frontend\Assets\LibrariesConfiguration
arguments:
- '@contao.framework'
netzmacht.contao_leaflet.filter_factory:
class: Netzmacht\Contao\Leaflet\Filter\FilterFactory
arguments:
- '%netzmacht.contao_leaflet.filters%'
netzmacht.contao_leaflet.cache.default:
class: Doctrine\Common\Cache\FilesystemCache
arguments:
- '%netzmacht.contao_leaflet.cache_dir%'
netzmacht.contao_leaflet.cache.debug:
class: Doctrine\Common\Cache\ArrayCache
netzmacht.contao_leaflet.frontend.value_filter:
class: Netzmacht\Contao\Leaflet\Frontend\ValueFilter
arguments:
- '@contao.framework'
netzmacht.contao_leaflet.map.assets:
class: Netzmacht\Contao\Leaflet\Encoder\ContaoAssets
arguments:
- '@netzmacht.contao_toolkit.assets_manager'
netzmacht.contao_leaflet.definition.builder:
class: Netzmacht\LeafletPHP\Leaflet
arguments:
- '@netzmacht.contao_leaflet.definition.builder.javascript_builder'
- '@netzmacht.contao_leaflet.definition.builder.event_dispatcher'
- []
- '%netzmacht.contao_leaflet.encoding_flags%'
netzmacht.contao_leaflet.definition.builder.javascript_builder:
class: Netzmacht\JavascriptBuilder\Builder
arguments:
- '@netzmacht.contao_leaflet.definition.encoder_factory'
netzmacht.contao_leaflet.definition.builder.event_dispatcher:
class: Symfony\Component\EventDispatcher\EventDispatcher
netzmacht.contao_leaflet.definition.mapper:
class: Netzmacht\Contao\Leaflet\Mapper\DefinitionMapper
arguments:
- '@event_dispatcher'
netzmacht.contao_leaflet.definition.encoder_factory:
class: Netzmacht\Contao\Leaflet\Encoder\EncoderFactory
arguments:
- '@netzmacht.contao_leaflet.definition.builder.event_dispatcher'
netzmacht.contao_leaflet.definition.alias_generator.factory_default:
class: Netzmacht\Contao\Leaflet\Alias\DefaultAliasGeneratorFactory
public: true
arguments:
- '@database_connection'
netzmacht.contao_leaflet.definition.alias_generator.factory_parent:
class: Netzmacht\Contao\Leaflet\Alias\ParentAliasGeneratorFactory
public: true
arguments:
- '@database_connection'
netzmacht.contao_leaflet.frontend.element_factory:
class: Netzmacht\Contao\Leaflet\Frontend\ContentElement\MapElementFactory
arguments:
- '@templating'
- '@translator'
- '@netzmacht.contao_leaflet.map.provider'
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_toolkit.contao.input_adapter'
tags:
- { name: 'netzmacht.contao_toolkit.component.content_element_factory' }
- { name: 'netzmacht.contao_toolkit.component.content_element', alias: 'leaflet', category: 'includes' }
netzmacht.contao_leaflet.frontend.module_factory:
class: Netzmacht\Contao\Leaflet\Frontend\Module\MapModuleFactory
arguments:
- '@templating'
- '@translator'
- '@netzmacht.contao_leaflet.map.provider'
- '@netzmacht.contao_toolkit.repository_manager'
- '@netzmacht.contao_toolkit.contao.input_adapter'
tags:
- { name: 'netzmacht.contao_toolkit.component.frontend_module_factory' }
- { name: 'netzmacht.contao_toolkit.component.frontend_module', alias: 'leaflet', category: 'includes' }
netzmacht.contao_leaflet.frontend.insert_tag:
class: Netzmacht\Contao\Leaflet\Frontend\InsertTag\LeafletInsertTagParser
public: true
arguments:
- '@netzmacht.contao_leaflet.map.provider'
- '%kernel.debug%'
tags:
- { name: 'contao.hook', hook: 'replaceInsertTags', method: 'replace' }
netzmacht.contao_leaflet.frontend.data_controller:
class: Netzmacht\Contao\Leaflet\Frontend\DataController
arguments:
- '@netzmacht.contao_leaflet.filter_factory'
- '%kernel.debug%'
Netzmacht\Contao\Leaflet\Frontend\PageIdDeterminator:
tags:
- { name: Netzmacht\Contao\PageContext\Request\PageIdDeterminator }
Netzmacht\Contao\Leaflet\Frontend\Action\LayerDataAction:
arguments:
- '@netzmacht.contao_leaflet.map.provider'
- '@netzmacht.contao_leaflet.filter_factory'
Netzmacht\Contao\Leaflet\Backend\Action\AboutAction:
arguments:
- '@templating'
- '%kernel.project_dir%'

View 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;

View File

@@ -0,0 +1,85 @@
<?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_content']['metapalettes']['leaflet'] = [
'type' => ['type', 'headline'],
'leaflet' => ['leaflet_map', 'leaflet_mapId', 'leaflet_width', 'leaflet_height'],
'templates' => [':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 ''",
];

View File

@@ -0,0 +1,409 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_control'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'ptable' => 'tl_leaflet_map',
'sql' => [
'keys' => [
'id' => 'primary',
'pid' => 'index',
],
],
'onload_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
// List configuration
'list' => [
'sorting' => [
'mode' => 4,
'fields' => ['sorting'],
'headerFields' => ['title'],
'flag' => 1,
'sorting' => 2,
'panelLayout' => 'filter,sort;search,limit',
'child_record_callback' => ['netzmacht.contao_leaflet.listeners.dca.control', 'generateRow'],
],
'label' => [
'fields' => ['title'],
'format' => '%s',
],
'global_operations' => [
'all' => [
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
],
'operations' => [
'edit' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['edit'],
'href' => 'act=edit',
'icon' => 'header.gif',
],
'copy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['copy'],
'href' => 'act=copy',
'icon' => 'copy.gif',
],
'delete' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['delete'],
'href' => 'act=delete',
'icon' => 'delete.gif',
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
. '\'))return false;Backend.getScrollOffset()"',
],
'toggle' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['toggle'],
'icon' => 'visible.gif',
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
'button_callback' => [
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
'handleButtonCallback',
],
'toolkit' => [
'state_button' => [
'stateColumn' => 'active',
],
],
],
'show' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['show'],
'href' => 'act=show',
'icon' => 'show.gif',
],
],
],
'palettes' => [
'__selector__' => ['type'],
],
'metapalettes' => [
'default' => [
'name' => ['title', 'alias', 'type', 'position'],
'config' => [],
'active' => ['active'],
],
'zoom extends default' => [
'config' => ['zoomInText', 'zoomOutText', 'zoomInTitle', 'zoomOutTitle'],
],
'layers extends default' => [
'config' => ['layers', 'collapsed', 'autoZIndex'],
],
'scale extends default' => [
'config' => ['maxWidth', 'metric', 'imperial', 'updateWhenIdle'],
],
'attribution extends default' => [
'config' => ['attributions', 'prefix', 'disableDefault'],
],
'loading extends default' => [
'config' => ['separate', 'zoomControl', 'spinjs'],
],
'fullscreen extends default' => [
'config' => ['buttonTitle', 'separate', 'simulateFullScreen'],
],
],
'metasubpalettes' => [
'spinjs' => ['spin'],
],
'fields' => [
'id' => [
'sql' => 'int(10) unsigned NOT NULL auto_increment',
],
'pid' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'tstamp' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'sorting' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
'sorting' => true,
],
'title' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['title'],
'exclude' => true,
'inputType' => 'text',
'sorting' => true,
'search' => true,
'flag' => 1,
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'alias' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_control']['alias'],
'exclude' => true,
'inputType' => 'text',
'search' => true,
'save_callback' => [
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
],
'eval' => [
'mandatory' => false,
'maxlength' => 255,
'tl_class' => 'w50',
'nullIfEmpty' => true,
],
'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 ''",
],
],
];

View 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 ''",
],
],
];

View File

@@ -0,0 +1,418 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_icon'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'sql' => [
'keys' => [
'id' => 'primary',
'alias' => 'unique',
],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'list' => [
'sorting' => [
'mode' => 1,
'fields' => ['title'],
'flag' => 1,
'panelLayout' => 'limit',
'headerFields' => ['title', 'type'],
],
'label' => [
'fields' => ['title', 'type'],
'format' => '%s <span class="tl_gray">[%s]</span>',
],
'global_operations' => [
'layers' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['layersBtn'],
'href' => 'table=tl_leaflet_layer',
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
'styles' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['styles'],
'href' => 'table=tl_leaflet_style',
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'popups' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['popups'],
'href' => 'table=tl_leaflet_popup',
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'all' => [
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
],
'operations' => [
'edit' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['edit'],
'href' => 'act=edit',
'icon' => 'edit.gif',
],
'copy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['copy'],
'href' => 'act=copy',
'icon' => 'copy.gif',
],
'delete' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['delete'],
'href' => 'act=delete',
'icon' => 'delete.gif',
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
. '\'))return false;Backend.getScrollOffset()"',
],
'toggle' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['toggle'],
'icon' => 'visible.gif',
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
'button_callback' => [
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
'handleButtonCallback',
],
'toolkit' => [
'state_button' => [
'stateColumn' => 'active',
],
],
],
'show' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['show'],
'href' => 'act=show',
'icon' => 'show.gif',
],
],
],
'palettes' => [
'__selector__' => ['type'],
],
'metapalettes' => [
'default' => [
'title' => ['title', 'alias', 'type'],
],
'image extends default' => [
'config' => [
'iconImage',
'iconRetinaImage',
'iconAnchor',
'popupAnchor',
'className',
],
'shadow' => [
'shadowImage',
'shadowRetinaImage',
'shadowAnchor',
],
'active' => [
'active',
],
],
'div extends default' => [
'config' => [
'html',
'iconSize',
'iconAnchor',
'popupAnchor',
'className',
],
'active' => [
'active',
],
],
'extra extends default' => [
'config' => [
'icon',
'prefix',
'shape',
'markerColor',
'number',
'iconColor',
],
'active' => [
'active',
],
],
],
'fields' => [
'id' => [
'sql' => 'int(10) unsigned NOT NULL auto_increment',
],
'tstamp' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'title' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['title'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'alias' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_icon']['alias'],
'exclude' => true,
'inputType' => 'text',
'save_callback' => [
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
],
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true],
'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',
],
],
];

View File

@@ -0,0 +1,902 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_layer'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'ctable' => ['tl_leaflet_vector', 'tl_leaflet_marker'],
'ondelete_callback' => [
['netzmacht.contao_leaflet.listeners.dca.layer', 'deleteRelations'],
],
'sql' => [
'keys' => [
'id' => 'primary',
'pid' => 'index',
'alias' => 'unique',
],
],
'onload_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'list' => [
'sorting' => [
'mode' => 5,
'fields' => ['title'],
'flag' => 1,
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
'panelLayout' => 'filter;search,limit',
'paste_button_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getPasteButtons'],
],
'label' => [
'fields' => ['title'],
'format' => '%s',
'label_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'generateRow'],
],
'global_operations' => [
'styles' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['styles'],
'href' => 'table=tl_leaflet_style',
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'icons' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['icons'],
'href' => 'table=tl_leaflet_icon',
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'popups' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups'],
'href' => 'table=tl_leaflet_popup',
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'all' => [
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
],
'operations' => [
'markers' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['markers'],
'href' => 'table=tl_leaflet_marker',
'icon' => 'edit.gif',
'button_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'generateMarkersButton'],
],
'vectors' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['vectors'],
'href' => 'table=tl_leaflet_vector',
'icon' => 'edit.gif',
'button_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'generateVectorsButton'],
],
'edit' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['edit'],
'href' => 'act=edit',
'icon' => 'header.gif',
],
'copy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['copy'],
'href' => 'act=copy',
'icon' => 'copy.gif',
],
'cut' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cut'],
'href' => 'act=paste&amp;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],
'toolkit' => [
'alias_generator' => [
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
'fields' => ['title'],
],
],
'sql' => 'varchar(255) NULL',
],
'type' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['type'],
'exclude' => true,
'inputType' => 'select',
'filter' => true,
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'includeBlankOption' => true,
'submitOnChange' => true,
'chosen' => true,
'helpwizard' => true,
],
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getLayerOptions'],
'reference' => &$GLOBALS['TL_LANG']['leaflet_layer'],
'sql' => "varchar(32) NOT NULL default ''",
],
'active' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['active'],
'exclude' => true,
'inputType' => 'checkbox',
'filter' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'tile_provider' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider'],
'exclude' => true,
'inputType' => 'select',
'eval' => [
'mandatory' => true,
'tl_class' => 'w50 clr',
'includeBlankOption' => true,
'submitOnChange' => true,
'chosen' => true,
],
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getProviderOptions'],
'sql' => "varchar(32) NOT NULL default ''",
],
'tile_provider_variant' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_variant'],
'exclude' => true,
'inputType' => 'select',
'eval' => [
'mandatory' => false,
'tl_class' => 'w50',
'submitOnChange' => true,
'chosen' => false,
],
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getVariants'],
'sql' => "varchar(32) NOT NULL default ''",
],
'tile_provider_key' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_key'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'clr w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'tile_provider_code' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tile_provider_code'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'deferred' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['deferred'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default '1'",
],
'groupType' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['groupType'],
'exclude' => true,
'inputType' => 'select',
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'submitOnChange' => true,
'helpwizard' => true,
],
'default' => 'layer',
'options' => ['layer', 'feature'],
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['groupTypes'],
'sql' => "varchar(32) NOT NULL default ''",
],
'reference' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['reference'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getLayers'],
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'chosen' => true,
'includeBlankOption' => true,
],
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'standalone' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['standalone'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default ''",
],
'onEachFeature' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['onEachFeature'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'preserveTags' => true,
'decodeEntities' => true,
'allowHtml' => true,
'rte' => 'ace|javascript',
'tl_class' => 'clr',
],
'sql' => 'mediumtext NULL',
],
'pointToLayer' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['pointToLayer'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'preserveTags' => true,
'decodeEntities' => true,
'allowHtml' => true,
'rte' => 'ace|javascript',
'tl_class' => 'clr',
],
'sql' => 'mediumtext NULL',
],
'showCoverageOnHover' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['showCoverageOnHover'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default '1'",
],
'zoomToBoundsOnClick' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomToBoundsOnClick'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default '1'",
],
'spiderfyOnMaxZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['spiderfyOnMaxZoom'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default '1'",
],
'removeOutsideVisibleBounds' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['removeOutsideVisibleBounds'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default '1'",
],
'animateAddingMarkers' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['animateAddingMarkers'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default ''",
],
'disableClusteringAtZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['disableClusteringAtZoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'default' => null,
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'maxClusterRadius' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxClusterRadius'],
'exclude' => true,
'inputType' => 'text',
'default' => null,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
'sql' => 'int(5) NULL',
],
'singleMarkerMode' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['singleMarkerMode'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => false, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default ''",
],
'polygonOptions' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['polygonOptions'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'preserveTags' => true,
'decodeEntities' => true,
'allowHtml' => true,
'rte' => 'ace|json',
'tl_class' => 'clr',
],
'sql' => 'mediumtext NULL',
],
'spiderfyDistanceMultiplier' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['spiderfyDistanceMultiplier'],
'exclude' => true,
'inputType' => 'text',
'default' => null,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
'sql' => 'int(5) NULL',
],
'iconCreateFunction' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['iconCreateFunction'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'preserveTags' => true,
'decodeEntities' => true,
'allowHtml' => true,
'rte' => 'ace|javascript',
'tl_class' => 'clr',
],
'sql' => 'mediumtext NULL',
],
'disableDefaultStyle' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['disableDefaultStyle'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false, 'isBoolean' => true],
'sql' => "char(1) NOT NULL default ''",
],
'boundsMode' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['boundsMode'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getBoundsModes'],
'eval' => ['tl_class' => 'w50', 'includeBlankOption' => true],
'sql' => "varchar(6) NOT NULL default ''",
],
'tileUrl' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileUrl'],
'exclude' => true,
'inputType' => 'text',
'default' => '',
'eval' => ['maxlength' => 255, 'tl_class' => 'w50', 'mandatory' => true],
'sql' => "varchar(255) NOT NULL default ''",
],
'minZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'maxZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxZoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'maxNativeZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['maxNativeZoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'tileSize' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tileSize'],
'exclude' => true,
'inputType' => 'text',
'default' => null,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
'sql' => 'int(5) NULL',
],
'subdomains' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['subdomains'],
'exclude' => true,
'inputType' => 'text',
'default' => '',
'eval' => ['maxlength' => 16, 'tl_class' => 'w50'],
'sql' => "varchar(16) NOT NULL default ''",
],
'errorTileUrl' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['errorTileUrl'],
'exclude' => true,
'inputType' => 'text',
'default' => '',
'eval' => ['maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'attribution' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['attribution'],
'exclude' => true,
'inputType' => 'text',
'default' => '',
'eval' => ['maxlength' => 255, 'tl_class' => 'long', 'allowHtml' => true],
'sql' => "varchar(255) NOT NULL default ''",
],
'tms' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['tms'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'continuousWorld' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['continuousWorld'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'noWrap' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['noWrap'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'zoomOffset' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomOffset'],
'exclude' => true,
'inputType' => 'text',
'default' => null,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
'sql' => 'int(5) NULL',
],
'zoomReverse' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zoomReverse'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'opacity' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['opacity'],
'exclude' => true,
'inputType' => 'text',
'default' => '1.0',
'eval' => ['mandatory' => false, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50 clr'],
'sql' => "varchar(4) NOT NULL default ''",
],
'zIndex' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['zIndex'],
'exclude' => true,
'inputType' => 'text',
'default' => null,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
'sql' => 'int(5) NULL',
],
'unloadvisibleTiles' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['unloadvisibleTiles'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'updateWhenIdle' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['updateWhenIdle'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'detectRetina' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['detectRetina'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'reuseTiles' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['reuseTiles'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'bounds' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['bounds'],
'exclude' => true,
'inputType' => 'leaflet_geocode',
'save_callback' => [
],
'eval' => [
'maxlength' => 255,
'multiple' => true,
'size' => 2,
'tl_class' => 'clr',
'nullIfEmpty' => true,
],
'sql' => 'mediumblob NULL',
],
'cache' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cache'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'cacheLifeTime' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['cacheLifeTime'],
'exclude' => true,
'inputType' => 'text',
'default' => 0,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50'],
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'overpassQuery' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassQuery'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'preserveTags' => true,
'decodeEntities' => true,
'allowHtml' => true,
'rte' => 'ace',
'tl_class' => 'clr',
],
'sql' => 'mediumtext NULL',
],
'overpassEndpoint' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassEndpoint'],
'exclude' => true,
'inputType' => 'text',
'default' => '',
'eval' => ['tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'overpassCallback' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassCallback'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'preserveTags' => true,
'decodeEntities' => true,
'allowHtml' => true,
'rte' => 'ace|javascript',
'tl_class' => 'clr',
],
'sql' => 'mediumtext NULL',
],
'minZoomIndicatorPosition' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorPosition'],
'exclude' => true,
'inputType' => 'select',
'filter' => true,
'sorting' => true,
'options' => ['topleft', 'topright', 'bottomleft', 'bottomright'],
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer'],
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50', 'helpwizard' => true],
'sql' => "varchar(255) NOT NULL default ''",
],
'minZoomIndicatorMessage' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorMessage'],
'exclude' => true,
'inputType' => 'text',
'default' => '',
'eval' => ['tl_class' => 'clr w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'minZoomIndicatorMessageNoLayer' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['minZoomIndicatorMessageNoLayer'],
'exclude' => true,
'inputType' => 'text',
'default' => '',
'eval' => ['tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'debug' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['debug'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50 m12'],
'sql' => "char(1) NOT NULL default ''",
],
'amenityIcons' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcons'],
'exclude' => true,
'inputType' => 'multiColumnWizard',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getIcons'],
'eval' => [
'tl_class' => 'leaflet-mcw leaflet-mcw-amenity-icons',
'columnFields' => [
'amenity' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenity'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getAmenities'],
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'style' => 'width: 200px',
'chosen' => true,
],
],
'icon' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['amenityIcon'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getIcons'],
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'style' => 'width: 200px',
'chosen' => true,
],
],
],
],
'sql' => 'blob NULL',
],
'overpassPopup' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['overpassPopup'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'preserveTags' => true,
'decodeEntities' => true,
'allowHtml' => true,
'rte' => 'ace|javascript',
'tl_class' => 'clr',
],
'sql' => 'mediumtext NULL',
],
'fileFormat' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['fileFormat'],
'exclude' => true,
'inputType' => 'select',
'filter' => true,
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'includeBlankOption' => true,
'submitOnChange' => true,
'chosen' => true,
'helpwizard' => true,
],
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.layer', 'getFileFormats'],
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['fileFormats'],
'sql' => "varchar(32) NOT NULL default ''",
],
'file' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['file'],
'exclude' => true,
'inputType' => 'fileTree',
'load_callback' => [
['netzmacht.contao_leaflet.listeners.dca.layer', 'prepareFileWidget'],
],
'eval' => [
'filesOnly' => true,
'fieldType' => 'radio',
'mandatory' => true,
'tl_class' => 'clr',
],
'sql' => 'binary(16) NULL',
],
],
];

View File

@@ -0,0 +1,534 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_map'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'ctable' => ['tl_leaflet_control'],
'sql' => [
'keys' => [
'id' => 'primary',
'alias' => 'unique',
],
],
'onload_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
['netzmacht.contao_leaflet.listeners.dca.map', 'addIncompleteConfigurationWarning'],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'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],
'toolkit' => [
'alias_generator' => [
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
'fields' => ['title'],
],
],
'sql' => 'varchar(255) NULL',
],
'center' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['center'],
'exclude' => true,
'inputType' => 'text',
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
],
'wizard' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getGeocoder'],
],
'eval' => [
'maxlength' => 255,
'tl_class' => 'long clr',
'nullIfEmpty' => true,
],
'sql' => 'varchar(255) NULL',
],
'layers' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['layers'],
'exclude' => true,
'inputType' => 'multiColumnWizard',
'load_callback' => [
['netzmacht.contao_leaflet.listeners.dca.map', 'loadLayerRelations'],
],
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.map', 'saveLayerRelations'],
],
'eval' => [
'multiple' => true,
'doNotSaveEmpty' => true,
'tl_class' => 'leaflet-mcw leaflet-mcw-map-layers',
'columnFields' => [
'reference' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['reference'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.map', 'getLayers'],
'eval' => [
'mandatory' => false,
'tl_class' => 'w50',
'chosen' => true,
'includeBlankOption' => true,
],
'sql' => "int(10) unsigned NOT NULL default '0'",
],
],
'flatArray' => true,
],
'sql' => 'mediumblob NULL',
],
'zoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'default' => null,
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'adjustZoomExtra' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'minZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['minZoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'maxZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['maxZoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'zoomSnap' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomSnap'],
'exclude' => true,
'inputType' => 'text',
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'varchar(4) NULL',
],
'zoomDelta' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomDelta'],
'exclude' => true,
'inputType' => 'text',
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'varchar(4) NULL',
],
'dragging' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['dragging'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'touchZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['touchZoom'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'scrollWheelZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['scrollWheelZoom'],
'exclude' => true,
'inputType' => 'select',
'options' => ['1', 'center'],
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'],
'default' => true,
'eval' => [
'tl_class' => 'w50',
'helpwizard' => true,
'includeBlankOption' => true,
'blankOptionLabel' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][0],
],
'sql' => "char(6) NOT NULL default ''",
],
'doubleClickZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['doubleClickZoom'],
'exclude' => true,
'inputType' => 'select',
'options' => ['1', 'center'],
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'],
'default' => true,
'eval' => [
'tl_class' => 'w50',
'helpwizard' => true,
'includeBlankOption' => true,
'blankOptionLabel' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomValues'][''][0],
],
'sql' => "char(6) NOT NULL default ''",
],
'boxZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'tap' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['tap'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'trackResize' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['trackResize'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default '1'",
],
'bounceAtZoomLimits' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['bounceAtZoomLimits'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default '1'",
],
'closeOnClick' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['closeOnClick'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default '1'",
],
'keyboard' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboard'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'keyboardPanOffset' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardPanOffset'],
'exclude' => true,
'inputType' => 'text',
'default' => 80,
'eval' => ['mandatory' => true, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'clr w50'],
'sql' => "int(4) NOT NULL default '80'",
],
'keyboardZoomOffset' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardZoomOffset'],
'exclude' => true,
'inputType' => 'text',
'default' => 1,
'eval' => ['mandatory' => true, 'maxlength' => 4, 'rgxp' => 'digit', 'tl_class' => 'w50'],
'sql' => "int(4) NOT NULL default '1'",
],
'zoomControl' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomControl'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default '1'",
],
'options' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['options'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'tl_class' => 'clr lng',
'allowHtml' => true,
'style' => 'min-height: 40px;',
'rte' => 'ace|json',
],
'sql' => 'text NULL',
],
'adjustBounds' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'options' => ['load', 'deferred'],
'reference' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions'],
'eval' => ['tl_class' => 'clr w50', 'multiple' => true, 'helpwizard' => true],
'sql' => "varchar(255) NOT NULL default ''",
],
'dynamicLoad' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['dynamicLoad'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'clr w50', 'submitOnChange' => false],
'sql' => "char(1) NOT NULL default ''",
],
'boundsPadding' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['boundsPadding'],
'exclude' => true,
'inputType' => 'text',
'eval' => [
'maxlength' => 32,
'tl_class' => 'w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'varchar(32) NULL',
],
'locate' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locate'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'locateWatch' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateWatch'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'locateSetView' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView'],
'exclude' => true,
'inputType' => 'checkbox',
'eval' => ['tl_class' => 'w50', 'submitOnChange' => false],
'sql' => "char(1) NOT NULL default ''",
],
'locateTimeout' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateTimeout'],
'exclude' => true,
'inputType' => 'text',
'default' => null,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
'sql' => 'int(9) NULL',
],
'locateMaximumAge' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge'],
'exclude' => true,
'inputType' => 'text',
'default' => null,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50', 'nullIfEmpty' => true],
'sql' => 'int(9) NULL',
],
'enableHighAccuracy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['enableHighAccuracy'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50 m12'],
'sql' => "char(1) NOT NULL default ''",
],
'locateMaxZoom' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getZoomLevels'],
'eval' => [
'maxlength' => 4,
'rgxp' => 'digit',
'tl_class' => 'clr w50',
'includeBlankOption' => true,
'nullIfEmpty' => true,
],
'sql' => 'int(4) NULL',
],
'cache' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['cache'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'cacheLifeTime' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_map']['cacheLifeTime'],
'exclude' => true,
'inputType' => 'text',
'default' => 0,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'w50'],
'sql' => "int(9) NOT NULL default '0'",
],
],
];

View 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'",
],
],
];

View File

@@ -0,0 +1,342 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_marker'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'ptable' => 'tl_leaflet_layer',
'sql' => [
'keys' => [
'id' => 'primary',
'pid' => 'index',
'alias' => 'unique',
],
],
'onload_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'list' => [
'sorting' => [
'mode' => 4,
'fields' => ['sorting'],
'flag' => 1,
'panelLayout' => 'sort,filter;search,limit',
'headerFields' => ['title', 'type'],
'child_record_callback' => ['netzmacht.contao_leaflet.listeners.dca.marker', 'generateRow'],
],
'label' => [
'fields' => ['title'],
'format' => '%s',
],
'global_operations' => [
'icons' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['icons'],
'href' => 'table=tl_leaflet_icon&id=',
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
'popups' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popups'],
'href' => 'table=tl_leaflet_popup',
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'all' => [
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
],
'operations' => [
'edit' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['edit'],
'href' => 'act=edit',
'icon' => 'edit.gif',
],
'copy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['copy'],
'href' => 'act=copy',
'icon' => 'copy.gif',
],
'delete' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['delete'],
'href' => 'act=delete',
'icon' => 'delete.gif',
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
. '\'))return false;Backend.getScrollOffset()"',
],
'toggle' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['toggle'],
'icon' => 'visible.gif',
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
'button_callback' => [
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
'handleButtonCallback',
],
'toolkit' => [
'state_button' => [
'stateColumn' => 'active',
],
],
],
'show' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['show'],
'href' => 'act=show',
'icon' => 'show.gif',
],
],
],
'metapalettes' => [
'default' => [
'title' => ['title', 'alias', 'coordinates'],
'content' => ['tooltip', 'alt', 'addPopup'],
'config' => [
':hide',
'clickable',
'draggable',
'keyboard',
'zIndexOffset',
'opacity',
'riseOnHover',
'riseOffset',
'customIcon',
],
'expert' => [':hide', 'featureData'],
'active' => ['active', 'ignoreForBounds'],
],
],
'metasubpalettes' => [
'addPopup' => ['popup', 'popupContent'],
'customIcon' => ['icon'],
],
'fields' => [
'id' => [
'sql' => 'int(10) unsigned NOT NULL auto_increment',
],
'tstamp' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'sorting' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
'sorting' => true,
],
'pid' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'title' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['title'],
'exclude' => true,
'search' => true,
'sorting' => true,
'flag' => 1,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'alias' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['alias'],
'exclude' => true,
'inputType' => 'text',
'search' => true,
'save_callback' => [
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
],
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true],
'toolkit' => [
'alias_generator' => [
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
'fields' => ['title'],
],
],
'sql' => 'varchar(255) NULL',
],
'coordinates' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['coordinates'],
'exclude' => true,
'inputType' => 'text',
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
['netzmacht.contao_leaflet.listeners.dca.marker', 'saveCoordinates'],
],
'load_callback' => [
['netzmacht.contao_leaflet.listeners.dca.marker', 'loadCoordinates'],
],
'wizard' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getGeocoder'],
],
'eval' => [
'maxlength' => 255,
'tl_class' => 'long clr',
'nullIfEmpty' => true,
'doNotSaveEmpty' => true,
],
],
'latitude' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['latitude'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => 'decimal(10,8) NULL',
],
'longitude' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['longitude'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => 'decimal(11,8) NULL',
],
'altitude' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['altitude'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => 'float NULL',
],
'active' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['active'],
'exclude' => true,
'filter' => true,
'sorting' => true,
'flag' => 12,
'inputType' => 'checkbox',
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'tooltip' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['tooltip'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'alt' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['alt'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'addPopup' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['addPopup'],
'exclude' => true,
'inputType' => 'checkbox',
'filter' => true,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'popup' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popup'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.marker', 'getPopups'],
'eval' => [
'mandatory' => false,
'tl_class' => 'w50',
'chosen' => true,
'includeBlankOption' => true,
],
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'popupContent' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['popupContent'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'rte' => 'tinyMCE', 'helpwizard' => true, 'tl_class' => 'clr'],
'explanation' => 'insertTags',
'sql' => 'mediumtext NULL',
],
'customIcon' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['customIcon'],
'exclude' => true,
'inputType' => 'checkbox',
'eval' => ['tl_class' => 'clr w50 m12', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'icon' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['icon'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.marker', 'getIcons'],
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'chosen' => true,
],
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'draggable' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['draggable'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'clickable' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['clickable'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'keyboard' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'zIndexOffset' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset'],
'exclude' => true,
'inputType' => 'text',
'default' => 0,
'eval' => ['maxlength' => 5, 'rgxp' => 'digit', 'tl_class' => 'clr w50', 'nullIfEmpty' => true],
'sql' => 'int(5) NULL',
],
'ignoreForBounds' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_marker']['ignoreForBounds'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'featureData' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_layer']['featureData'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'tl_class' => 'clr lng',
'allowHtml' => true,
'style' => 'min-height: 40px;',
'rte' => 'ace|json',
],
'sql' => 'text NULL',
],
],
];

View File

@@ -0,0 +1,276 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_popup'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'sql' => [
'keys' => [
'id' => 'primary',
'alias' => 'unique',
],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'list' => [
'sorting' => [
'mode' => 1,
'fields' => ['title'],
'flag' => 1,
'panelLayout' => 'limit',
'headerFields' => ['title', 'type'],
],
'label' => [
'fields' => ['title', 'type'],
'format' => '%s <span class="tl_gray">[%s]</span>',
],
'global_operations' => [
'layers' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['layersBtn'],
'href' => 'table=tl_leaflet_layer',
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
'styles' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['styles'],
'href' => 'table=tl_leaflet_style',
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'icons' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['icons'],
'href' => 'table=tl_leaflet_icon',
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'all' => [
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
],
'operations' => [
'edit' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['edit'],
'href' => 'act=edit',
'icon' => 'edit.gif',
],
'copy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['copy'],
'href' => 'act=copy',
'icon' => 'copy.gif',
],
'delete' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['delete'],
'href' => 'act=delete',
'icon' => 'delete.gif',
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
. '\'))return false;Backend.getScrollOffset()"',
],
'toggle' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['toggle'],
'icon' => 'visible.gif',
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
'button_callback' => [
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
'handleButtonCallback',
],
'toolkit' => [
'state_button' => [
'stateColumn' => 'active',
],
],
],
'show' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['show'],
'href' => 'act=show',
'icon' => 'show.gif',
],
],
],
'palettes' => [
'__selector__' => ['type'],
],
'metapalettes' => [
'default' => [
'title' => ['title', 'alias'],
'size' => ['maxWidth', 'minWidth', 'maxHeight'],
'config' => [
':hide',
'closeButton',
'keepInView',
'closeOnClick',
'zoomAnimation',
'offset',
'className',
'autoPan',
],
'active' => ['active'],
],
],
'metasubpalettes' => [
'autoPan' => ['autoPanPadding'],
],
'fields' => [
'id' => [
'sql' => 'int(10) unsigned NOT NULL auto_increment',
],
'tstamp' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'title' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['title'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'alias' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_popup']['alias'],
'exclude' => true,
'inputType' => 'text',
'save_callback' => [
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
],
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true],
'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'],
],
],
],
];

View File

@@ -0,0 +1,284 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_style'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'sql' => [
'keys' => [
'id' => 'primary',
'alias' => 'unique',
],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'list' => [
'sorting' => [
'mode' => 1,
'fields' => ['title'],
'flag' => 1,
'panelLayout' => 'limit',
'headerFields' => ['title', 'type'],
],
'label' => [
'fields' => ['title', 'type'],
'format' => '%s <span class="tl_gray">[%s]</span>',
],
'global_operations' => [
'layers' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['layersBtn'],
'href' => 'table=tl_leaflet_layer',
'icon' => 'bundles/netzmachtcontaoleaflet/img/layers.png',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
'icons' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['icons'],
'href' => 'table=tl_leaflet_icon',
'icon' => 'bundles/netzmachtcontaoleaflet/img/icons.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'popups' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['popups'],
'href' => 'table=tl_leaflet_popup',
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'all' => [
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
],
'operations' => [
'edit' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['edit'],
'href' => 'act=edit',
'icon' => 'edit.gif',
],
'copy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['copy'],
'href' => 'act=copy',
'icon' => 'copy.gif',
],
'delete' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['delete'],
'href' => 'act=delete',
'icon' => 'delete.gif',
'attributes' => 'onclick="if(!confirm(\'' . $GLOBALS['TL_LANG']['MSC']['deleteConfirm']
. '\'))return false;Backend.getScrollOffset()"',
],
'toggle' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['toggle'],
'icon' => 'visible.gif',
'attributes' => 'onclick="Backend.getScrollOffset();return AjaxRequest.toggleVisibility(this,%s)"',
'button_callback' => [
'netzmacht.contao_toolkit.dca.listeners.state_button_callback',
'handleButtonCallback',
],
'toolkit' => [
'state_button' => [
'stateColumn' => 'active',
],
],
],
'show' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['show'],
'href' => 'act=show',
'icon' => 'show.gif',
],
],
],
'palettes' => [
'__selector__' => ['type'],
],
'metapalettes' => [
'default' => [
'title' => ['title', 'alias', 'type'],
'config' => [],
'active' => ['active'],
],
'fixed extends default' => [
'config' => ['stroke', 'fill'],
],
],
'metasubpalettes' => [
'stroke' => ['color', 'weight', 'opacity', 'dashArray', 'lineCap', 'lineJoin'],
'fill' => ['fillColor', 'fillOpacity',],
],
'fields' => [
'id' => [
'sql' => 'int(10) unsigned NOT NULL auto_increment',
],
'tstamp' => [
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'title' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['title'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'maxlength' => 255, 'tl_class' => 'w50'],
'sql' => "varchar(255) NOT NULL default ''",
],
'alias' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_style']['alias'],
'exclude' => true,
'inputType' => 'text',
'save_callback' => [
['netzmacht.contao_toolkit.dca.listeners.alias_generator', 'handleSaveCallback'],
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateAlias'],
],
'eval' => ['mandatory' => false, 'maxlength' => 255, 'tl_class' => 'w50', 'unique' => true],
'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'],
],
],
],
];

View File

@@ -0,0 +1,382 @@
<?php
/**
* Leaflet maps for Contao CMS.
*
* @package contao-leaflet-maps
* @author David Molineus <david.molineus@netzmacht.de>
* @copyright 2014-2017 netzmacht David Molineus. All rights reserved.
* @license LGPL-3.0 https://github.com/netzmacht/contao-leaflet-maps/blob/master/LICENSE
* @filesource
*/
$GLOBALS['TL_DCA']['tl_leaflet_vector'] = [
'config' => [
'dataContainer' => 'Table',
'enableVersioning' => true,
'ptable' => 'tl_leaflet_layer',
'sql' => [
'keys' => [
'id' => 'primary',
'pid' => 'index',
'alias' => 'unique',
],
],
'onload_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'loadLanguageFile'],
],
'onsubmit_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'list' => [
'sorting' => [
'mode' => 4,
'fields' => ['sorting'],
'flag' => 1,
'panelLayout' => 'sort,filter;search,limit',
'headerFields' => ['title', 'type'],
'child_record_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'generateRow'],
],
'label' => [
'fields' => ['title'],
'format' => '%s',
],
'global_operations' => [
'styles' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['styles'],
'href' => 'table=tl_leaflet_style',
'icon' => 'bundles/netzmachtcontaoleaflet/img/style.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'popups' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popups'],
'href' => 'table=tl_leaflet_popup',
'icon' => 'bundles/netzmachtcontaoleaflet/img/popup.png',
'attributes' => 'onclick="Backend.getScrollOffset();"',
],
'all' => [
'label' => &$GLOBALS['TL_LANG']['MSC']['all'],
'href' => 'act=select',
'class' => 'header_edit_all',
'attributes' => 'onclick="Backend.getScrollOffset();" accesskey="e"',
],
],
'operations' => [
'edit' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['edit'],
'href' => 'act=edit',
'icon' => 'edit.gif',
],
'copy' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['copy'],
'href' => 'act=copy',
'icon' => 'copy.gif',
],
'cut' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['cut'],
'href' => 'act=paste&amp;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],
'toolkit' => [
'alias_generator' => [
'factory' => 'netzmacht.contao_leaflet.definition.alias_generator.factory_default',
'fields' => ['title'],
],
],
'sql' => 'varchar(255) NULL',
],
'type' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['type'],
'exclude' => true,
'inputType' => 'select',
'filter' => true,
'sorting' => true,
'search' => false,
'flag' => 1,
'eval' => [
'mandatory' => true,
'tl_class' => 'w50',
'includeBlankOption' => true,
'submitOnChange' => true,
'chosen' => true,
'helpwizard' => true,
],
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'getVectorOptions'],
'reference' => &$GLOBALS['TL_LANG']['leaflet_vector'],
'sql' => "varchar(32) NOT NULL default ''",
],
'active' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['active'],
'exclude' => true,
'inputType' => 'checkbox',
'filter' => true,
'sorting' => true,
'search' => false,
'flag' => 12,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'clearCache'],
],
],
'addPopup' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['addPopup'],
'exclude' => true,
'inputType' => 'checkbox',
'filter' => true,
'eval' => ['tl_class' => 'w50 m12', 'submitOnChange' => true],
'sql' => "char(1) NOT NULL default ''",
],
'popup' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popup'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'getPopups'],
'eval' => [
'mandatory' => false,
'tl_class' => 'w50',
'chosen' => true,
'includeBlankOption' => true,
],
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'popupContent' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['popupContent'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => true, 'rte' => 'tinyMCE', 'helpwizard' => true, 'tl_class' => 'clr'],
'explanation' => 'insertTags',
'sql' => 'mediumtext NULL',
],
'style' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['style'],
'exclude' => true,
'inputType' => 'select',
'options_callback' => ['netzmacht.contao_leaflet.listeners.dca.vector', 'getStyles'],
'eval' => [
'mandatory' => false,
'tl_class' => 'w50',
'chosen' => true,
'includeBlankOption' => true,
],
'sql' => "int(10) unsigned NOT NULL default '0'",
],
'clickable' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['clickable'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => true,
'eval' => ['tl_class' => 'm12 w50'],
'sql' => "char(1) NOT NULL default ''",
],
'className' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['className'],
'exclude' => true,
'inputType' => 'text',
'eval' => ['mandatory' => false, 'maxlength' => 64, 'tl_class' => 'w50'],
'sql' => "varchar(64) NOT NULL default ''",
],
'coordinates' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['coordinates'],
'exclude' => true,
'inputType' => 'text',
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateCoordinates'],
],
'wizard' => [
['netzmacht.contao_leaflet.listeners.dca.leaflet', 'getGeocoder'],
],
'eval' => [
'maxlength' => 255,
'tl_class' => 'long clr',
'nullIfEmpty' => true,
'mandatory' => true,
],
'sql' => 'varchar(255) NULL',
],
'radius' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['radius'],
'exclude' => true,
'inputType' => 'text',
'default' => 5,
'eval' => ['mandatory' => false, 'maxlength' => 10, 'rgxp' => 'digit', 'tl_class' => 'clr w50'],
'sql' => "int(10) NOT NULL default '5'",
],
'data' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['data'],
'inputType' => 'textarea',
'search' => false,
'eval' => ['mandatory' => true, 'alwaysSave' => true],
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateMultipleCoordinates'],
],
'sql' => 'longblob NULL',
],
'multiData' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['multiData'],
'inputType' => 'multiColumnWizard',
'search' => false,
'eval' => [
'tl_class' => 'leaflet-mcw',
'mandatory' => true,
'alwaysSave' => true,
'flatArray' => true,
'columnFields' => [
'data' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['data'],
'inputType' => 'textarea',
'search' => false,
'eval' => ['alwaysSave' => true, 'style' => 'width:600px'],
],
],
],
'save_callback' => [
['netzmacht.contao_leaflet.listeners.dca.validator', 'validateMultipleCoordinateSets'],
],
'sql' => 'longblob NULL',
],
'bounds' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['bounds'],
'exclude' => true,
'inputType' => 'leaflet_geocode',
'save_callback' => [],
'eval' => [
'maxlength' => 255,
'multiple' => true,
'size' => 2,
'tl_class' => 'clr',
'nullIfEmpty' => true,
],
'sql' => 'mediumblob NULL',
],
'ignoreForBounds' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['ignoreForBounds'],
'exclude' => true,
'inputType' => 'checkbox',
'default' => false,
'eval' => ['tl_class' => 'w50'],
'sql' => "char(1) NOT NULL default ''",
],
'featureData' => [
'label' => &$GLOBALS['TL_LANG']['tl_leaflet_vector']['featureData'],
'exclude' => true,
'inputType' => 'textarea',
'eval' => [
'tl_class' => 'clr lng',
'allowHtml' => true,
'style' => 'min-height: 40px;',
'rte' => 'ace|json',
],
'sql' => 'text NULL',
],
],
];

View File

@@ -0,0 +1,85 @@
<?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_module']['metapalettes']['leaflet'] = [
'type' => ['name', 'type', 'headline'],
'leaflet' => ['leaflet_map', 'leaflet_mapId', 'leaflet_width', 'leaflet_height', 'leaflet_template'],
'templates' => [':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 ''",
];

View File

@@ -3,17 +3,20 @@
* 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/
* @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:52+01:00
* last-updated: 2017-10-17T16:04:08+00:00
*/
$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']['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']['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';
@@ -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']['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']['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']['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']['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']['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']['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']['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']['1'] = 'Kachel-Layer mit vollständigen Konfigurationsoptionen.';
$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_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']['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']['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']['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']['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';

View File

@@ -3,8 +3,8 @@
* 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/
* @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
*

View File

@@ -3,8 +3,8 @@
* 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/
* @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
*

View File

@@ -3,23 +3,25 @@
* 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/
* @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: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']['1'] = 'Kontrollelement auf der Karte aktivieren.';
$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']['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']['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']['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']['1'] = 'Linker unterer Bereich der Karte';
$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']['position']['0'] = 'Position';
$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']['1'] = 'Kontrollelemente getrennt von der Zoomkontrolle 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']['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']['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']['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']['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.';

View File

@@ -3,15 +3,14 @@
* 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/
* @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: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']['1'] = 'Aktivieren Sie das Icon.';
$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']['edit']['0'] = 'Icon 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']['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']['1'] = 'Wählen Sie ein Bild für das Icon aus.';
$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']['map']['0'] = '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']['1'] = 'Erstellen Sie ein neues Icon';
$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']['popups']['0'] = 'Popups 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']['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']['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']['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']['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']['1'] = 'Details des Icons %s anzeigen';
$GLOBALS['TL_LANG']['tl_leaflet_icon']['styles']['0'] = 'Stile verwalten';

View File

@@ -3,25 +3,31 @@
* 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/
* @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: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']['1'] = 'Layer auf der Karte aktivieren';
$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']['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']['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']['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']['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']['continuousWorld']['0'] = 'Fortlaufende Welt';
$GLOBALS['TL_LANG']['tl_leaflet_layer']['copy']['0'] = 'Layer kopieren';
@@ -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']['opacity']['0'] = 'Transparenz';
$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']['popups']['0'] = 'Popups verwalten';
$GLOBALS['TL_LANG']['tl_leaflet_layer']['popups']['1'] = 'Popup-Icons verwalten';
$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']['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']['show']['0'] = 'Details 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']['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']['1'] = 'Vektorstile verwalten';
$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']['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_variant']['0'] = 'Kachelvariante';
$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']['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']['1'] = 'Wenn Benutzer auf einen Cluster klicken wird auf seine Grenzen gezoomt.';

View File

@@ -0,0 +1,114 @@
<?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: 2017-10-17T16:04:07+00:00
*/
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds']['0'] = 'Grenzen festlegen';
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBounds']['1'] = 'Falls aktiviert passt sich die karten an den Bereich der Datenlayer an, für die Auswirkungen auf die Kartengrenzen zugelassen sind.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['deferred']['0'] = 'Nach dem Laden des verzögerten Features';
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['deferred']['1'] = 'Bestimmt ob die Kartengrenzen neu berechnet werden wenn ein Feature verzögert geladen wird.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load']['0'] = 'bei Karteninitialisierung';
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustBoundsOptions']['load']['1'] = 'Grenzen berechnen, wenn die Karte initialisiert wird. Alle statischen und bereits geladenen Features werden mit einbezogen.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra']['0'] = 'Erweiterte Zoom-Einstellungen';
$GLOBALS['TL_LANG']['tl_leaflet_map']['adjustZoomExtra']['1'] = 'Aktivieren Sie diese Einstellung, wenn Sie den minimalen und den maximalen Zoomfaktor ebenfalls einstellen möchten.';
$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']['bounceAtZoomLimits']['1'] = 'Deaktivieren Sie diese Einstellung, falls Sie verhindern möchten, dass außerhalb liegende Elemente der Karte beim Zoomen über die festgelegten minimalen / maximalen Zoomstufen hinaus angezeigt werden wenn mit zwei Fingern gezoomt wird.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['boundsPadding']['1'] = 'Padding wird verwendet, um Grenzen zu setzen. Verwenden Sie kommagetrennte Werte. Wenn 2 Werte angegeben werden, ist die <em>Padding</em>-Option eingestellt. Wenn 4 Werte angegeben werden, ist <em>paddingTopLeft</em> und <em>paddingBottomRight</em> gesetzt.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom']['0'] = 'Zoomen durch Markierung';
$GLOBALS['TL_LANG']['tl_leaflet_map']['boxZoom']['1'] = 'legen Sie fest ob der Kartenausschnitt vergrößert werden kann indem Benutzer die Maus mit gedrückter Umschalttaste über die Karte ziehen.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['cache']['0'] = 'Cache aktivieren';
$GLOBALS['TL_LANG']['tl_leaflet_map']['cache']['1'] = 'Falls aktiviert wird das für die Karte generierte JavaScript gecached.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['cacheLifeTime']['0'] = 'Cache-Lebenszeit';
$GLOBALS['TL_LANG']['tl_leaflet_map']['cacheLifeTime']['1'] = 'Der Wert in Sekunden bestimmt, wie lange Daten im Cache gültig sind.';
$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']['dynamicLoad']['0'] = 'Daten innerhalb der Grenzen dynamisch laden';
$GLOBALS['TL_LANG']['tl_leaflet_map']['dynamicLoad']['1'] = 'Falls ausgewählt werden Layerdaten nur innerhalb des dargestellten Ausschnitts geladen und bei Veränderung des Ausschnitts nachgeladen.';
$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']['enableHighAccuracy']['1'] = 'Aktiviert hohe Genauigkeit. Lesen die die Details in der <a href="http://dev.w3.org/geo/api/spec-source.html#high-accuracy" target="_blank">Beschreibung innerhalb der Spezifikation des W3C</a> nach.';
$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']['keyboard']['1'] = 'Diese Einstellung macht die Karte fokussierbar und erlaubt Nutzern, mit Hilfe der +/- und Pfeiltasten-Tasten in der Karte zu navigieren.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardPanOffset']['0'] = 'Keyboard-Verschiebeoffset';
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardPanOffset']['1'] = 'Diese Einstellung bestimmt die Anzahl der Pixel, um die eine Kartenansicht mit jedem Druck einer Pfeiltaste verschoben wird.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['keyboardZoomOffset']['0'] = 'Keyboard-Zoomoffset';
$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']['locateMaxZoom']['0'] = 'Lokalisieren Sie den maximalen Zoom';
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaxZoom']['1'] = 'Max-Zoom bei der Aktualisierung der Kartenansicht.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge']['0'] = 'Maximale Gültigkeit der Benutzerposition';
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateMaximumAge']['1'] = 'Maximales Alter der Daten zum Aufenthaltsort in Millisekunden. Ansonsten wird der zwischengespeicherte Wert benutzt.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView']['0'] = 'Kartenmitte aktualisieren';
$GLOBALS['TL_LANG']['tl_leaflet_map']['locateSetView']['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']['tap']['0'] = 'Einmaliges Tippen';
$GLOBALS['TL_LANG']['tl_leaflet_map']['tap']['1'] = 'Diese Einstellung aktiviert Hacks, mit der einmaliges Tippen unterstützt wird.';
$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']['zoomDelta']['0'] = 'Zoom-Delta';
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomDelta']['1'] = 'Der Delta-Wert bestimmt die Anpassung des Zoom-Faktors nach dem Ein- oder Auszoomen.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomSnap']['0'] = 'Zoom einrasten';
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoomSnap']['1'] = 'Erzwingt dass das Zoomlevel immer ein Vielfaches des Wertes ist. Standardwert ist 1.';
$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']['zoomValues']['center']['1'] = 'Falls der Wert \'center\' übergeben wird, zoomt die Kartenansicht zur Mitte des Auschnitts, unabhängig davon an welchem Punkt sich die Maus befindet.';
$GLOBALS['TL_LANG']['tl_leaflet_map']['zoom_legend'] = 'Zentrieren und zoomen';

View File

@@ -0,0 +1,69 @@
<?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: 2017-10-17T16:04:07+00: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']['clickable']['1'] = 'Falls deaktiviert wird der Marker nicht auf Mausevents reagieren und sich wie ein Teil der darunterliegenden Karte verhalten.';
$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']['featureData']['1'] = 'Der Marker wird als GeoJSON-Eigenschaft übertragen. Daten werden als <em>feature.properties.data</em> übergeben.';
$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']['ignoreForBounds']['0'] = 'Von Grenzen-Berechnung ausschließen.';
$GLOBALS['TL_LANG']['tl_leaflet_marker']['ignoreForBounds']['1'] = 'Fügen Sie dieses Element nicht in die Berechnung ein.';
$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard']['0'] = 'Tatstaturnavigation';
$GLOBALS['TL_LANG']['tl_leaflet_marker']['keyboard']['1'] = 'Legen Sie fest ob der Marker über die Tabulatortaste erreicht und mit der Eingabetaste geklickt werden kann.';
$GLOBALS['TL_LANG']['tl_leaflet_marker']['new']['0'] = 'Marker erstellen';
$GLOBALS['TL_LANG']['tl_leaflet_marker']['new']['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']['popups']['1'] = 'Popup Einstellungen 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']['tooltip']['1'] = 'Marker-Tooltip als Titelattribut gerendert.';
$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset']['0'] = 'Z-Index-Offset';
$GLOBALS['TL_LANG']['tl_leaflet_marker']['zIndexOffset']['1'] = 'Standardmäßig werden Markerbilder z-Index automatisch auf Grundlage der geografischen Breite festgelegt. Verwenden Sie diese Option, wenn Sie den Marker über allen anderen (oder darunter) platzieren möchten und einen hohen Wert wie 1000 (bzw. einen hohen negativen Wert) angeben.';

View File

@@ -0,0 +1,68 @@
<?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: 2016-10-05T14:56:05+02: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']['autoPan']['0'] = 'Karte verschieben';
$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPan']['1'] = 'Die Karte wird automatisch verschoben um das Popup anzuzeigen.';
$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPanPadding']['0'] = 'Auto-Padding';
$GLOBALS['TL_LANG']['tl_leaflet_popup']['autoPanPadding']['1'] = 'Geben Sie die Entfernung zwischen dem Popup und dem Kartenrand an. Erste Eingabe: Links oben. Zweite Eingabe: Rechts unten. Die Werte werden kommagetrennt erwartet (z.B. 5,5).';
$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']['closeButton']['1'] = 'Diese Einstellung legt fest ob das Popup über einen Schließknopf verfügt.';
$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'] = 'Maximale Höhe';
$GLOBALS['TL_LANG']['tl_leaflet_popup']['maxHeight']['1'] = 'Maximale Höhe 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';
$GLOBALS['TL_LANG']['tl_leaflet_popup']['zoomAnimation']['1'] = 'Diese Einstellung bestimmt ob das Popup beim Zoom animiert dargestellt wird. Deaktivieren Sie diese Einstellung, wenn Sie Probleme mit flackernden Inhalten innerhalb des Popups haben.';

View File

@@ -3,23 +3,24 @@
* 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/
* @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
* last-updated: 2017-10-17T16:04:07+00:00
*/
$GLOBALS['TL_LANG']['tl_leaflet_style']['active_legend'] = 'Aktivierung';
$GLOBALS['TL_LANG']['tl_leaflet_style']['alias']['0'] = 'Alias';
$GLOBALS['TL_LANG']['tl_leaflet_style']['alias']['1'] = 'Alias des Stils.';
$GLOBALS['TL_LANG']['tl_leaflet_style']['color']['0'] = 'Linienfarbe';
$GLOBALS['TL_LANG']['tl_leaflet_style']['color']['1'] = 'Eigene Linienfarbe. Wenn dieses Feld leer ist wird die Standard-Linienfarbe benutzt. Erwartete Werte sind vollständige Hex-Codes (mit #).';
$GLOBALS['TL_LANG']['tl_leaflet_style']['config_legend'] = 'Konfiguration';
$GLOBALS['TL_LANG']['tl_leaflet_style']['copy']['0'] = 'Stil kopieren';
$GLOBALS['TL_LANG']['tl_leaflet_style']['copy']['1'] = 'Stil ID %s kopieren';
$GLOBALS['TL_LANG']['tl_leaflet_style']['dashArray']['0'] = 'Linienmuster';
$GLOBALS['TL_LANG']['tl_leaflet_style']['dashArray']['1'] = 'Geben Sie einen String ein, der für die <a href="https://developer.mozilla.org/en/SVG/Attribute/stroke-dasharray" target="_blank">Linienart</a> benutzt werden soll.';
$GLOBALS['TL_LANG']['tl_leaflet_style']['delete']['0'] = 'Stil löschen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['delete']['1'] = 'Stil ID %s löschen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['edit']['0'] = 'Stil bearbeiten';
@@ -27,6 +28,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_style']['edit']['1'] = 'Stil ID %s bearbe
$GLOBALS['TL_LANG']['tl_leaflet_style']['fill']['0'] = 'Vektor füllen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['fill']['1'] = 'Bestimmen Sie, ob der Pfad gefüllt dargestellt werden soll.';
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillColor']['0'] = 'Füllfarbe';
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillColor']['1'] = 'Eigene Linienfarbe. Wenn dieses Feld leer ist wird die Standard-Linienfarbe benutzt. Erwartete Werte sind vollständige Hex-Codes (mit #).';
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity']['0'] = 'Transparenz der Füllung';
$GLOBALS['TL_LANG']['tl_leaflet_style']['fillOpacity']['1'] = 'Die Transparenz der Füllung kann einen Wert zwischen 0 und 1 annehmen.';
$GLOBALS['TL_LANG']['tl_leaflet_style']['icons']['0'] = 'Icons verwalten';
@@ -35,6 +37,8 @@ $GLOBALS['TL_LANG']['tl_leaflet_style']['layersBtn']['0'] = 'Layer verwalten';
$GLOBALS['TL_LANG']['tl_leaflet_style']['layersBtn']['1'] = 'Leaflet-Layer verwalten';
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap']['0'] = 'Linienenden';
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineCap']['1'] = 'Geben Sie einen Wert ein, der für die <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap" target="_blank">Enden der Linie</a> benutzt werden soll,';
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoin']['0'] = 'Linienverbindung';
$GLOBALS['TL_LANG']['tl_leaflet_style']['lineJoin']['1'] = 'Geben Sie einen String ein, der die <a href="https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linejoin" target="_blank">Form der Ecken</a> definiert.';
$GLOBALS['TL_LANG']['tl_leaflet_style']['new']['0'] = 'Stil erstellen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['new']['1'] = 'Neuen Stil erstellen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['opacity']['0'] = 'Linientransparenz';
@@ -44,6 +48,7 @@ $GLOBALS['TL_LANG']['tl_leaflet_style']['popups']['1'] = 'Popup-Icons verwa
$GLOBALS['TL_LANG']['tl_leaflet_style']['show']['0'] = 'Details anzeigen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['show']['1'] = 'Details des Stils ID %s anzeigen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['stroke']['0'] = 'Linie ziehen';
$GLOBALS['TL_LANG']['tl_leaflet_style']['stroke']['1'] = 'Legt fest, ob eine Linie entlang des Pfades dargestellt werden soll. Deaktivieren Sie diese Einstellung um die Grenzen von Polygonen oder Kreisen unsichtbar zu schalten.';
$GLOBALS['TL_LANG']['tl_leaflet_style']['title']['0'] = 'Titel';
$GLOBALS['TL_LANG']['tl_leaflet_style']['title']['1'] = 'Titel des Stils.';
$GLOBALS['TL_LANG']['tl_leaflet_style']['title_legend'] = 'Titel und Typ';

Some files were not shown because too many files have changed in this diff Show More