Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ A [Galette](https://galette.eu) plugin to geolocalize members.

Map display uses [Leaflet project](https://leafletjs.com/) while search is provided by [Nominatim](https://nominatim.openstreetmap.org/) API.
Background tiles are the [OpenFreeMap](https://openfreemap.org/) vector tiles, rendered with [MapLibre GL](https://maplibre.org/): no API key, no registration, and the whole thing can be self-hosted.
That is only the default: an administrator picks another provider, or enters their own address, from Configuration.

* website: https://galette.eu - https://doc.galette.eu/en/master/plugins/maps.html
* bugs and features: https://bugs.galette.eu/projects/galette-plugin-maps
Expand All @@ -27,6 +28,7 @@ Un plugin [Galette](https://galette.eu) pour gérer paiments de cotisation et de

Les cartes sont affichées par le biais du [projet Leaflet](https://leafletjs.com/) tandis que la recherche est assurée par l'API [Nominatim](https://nominatim.openstreetmap.org/).
Le fond de carte provient des tuiles vectorielles [OpenFreeMap](https://openfreemap.org/), rendues par [MapLibre GL](https://maplibre.org/) : sans clé d'API, sans inscription, et auto-hébergeable.
Ce n'est que le défaut : un administrateur choisit un autre fournisseur, ou saisit sa propre adresse, depuis la Configuration.

* site web : https://galette.eu - https://doc.galette.eu/fr/master/plugins/maps.html
* bogues et fonctionnalités : https://bugs.galette.eu/projects/galette-plugin-maps
Expand Down
7 changes: 7 additions & 0 deletions README.tiles.md
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,10 @@ That is possible, but it now means opening an account on
<https://carto.com/basemaps> and adding the key to the URL. The exact form of
the URL with a key is given by their interface — we do not reproduce it here, it
is specific to each account.

## Newer versions

From the next release the background map is a setting: Configuration holds every
provider listed above as a ready-made choice, plus your own address, attribution
and maximum zoom. Editing a template by hand, as described here, is only needed
on the releases that came before it.
8 changes: 5 additions & 3 deletions _define.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,11 @@
route: 'maps', //routing name and translation domain
date: '2025-12-08', //Release date
acls: [ //Permissions needed
'maps_localize_member' => 'member',
'maps_mymap' => 'member',
'maps_ilivehere' => 'member'
'maps_localize_member' => 'member',
'maps_mymap' => 'member',
'maps_ilivehere' => 'member',
'maps_preferences' => 'admin',
'maps_store_preferences' => 'admin'
],
dbver: 1.00
);
10 changes: 10 additions & 0 deletions _routes.php
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,16 @@
[MapsController::class, 'map']
)->setName('maps_map')->add($check_js_middleware)->add(\Galette\Middleware\PublicPages::class);

$app->get(
'/preferences',
[MapsController::class, 'preferences']
)->setName('maps_preferences')->add(Authenticate::class);

$app->post(
'/preferences',
[MapsController::class, 'storePreferences']
)->setName('maps_store_preferences')->add(Authenticate::class);

$app->post(
'/i-live-here[/{id:\d+}]',
[MapsController::class, 'ILiveHere']
Expand Down
202 changes: 143 additions & 59 deletions lang/maps.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-12-07 10:22+0100\n"
"POT-Creation-Date: 2026-09-02 12:49+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand All @@ -17,166 +17,250 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../_routes.php:34
#: ../_routes.php:22
msgid "Javascript libraries has not been built!"
msgstr ""

#: ../lib/GaletteMaps/PluginGaletteMaps.php:53
#: ../lib/GaletteMaps/PluginGaletteMaps.php:99
msgid "My localization"
#: ../lib/GaletteMaps/Controllers/MapsController.php:50
#: ../lib/GaletteMaps/Controllers/MapsController.php:130
#: ../lib/GaletteMaps/PluginGaletteMaps.php:94
msgid "Maps"
msgstr ""

#: ../lib/GaletteMaps/PluginGaletteMaps.php:74
#: ../lib/GaletteMaps/Controllers/MapsController.php:64
#: ../lib/GaletteMaps/Controllers/MapsController.php:145
msgid "Maps"
#: ../lib/GaletteMaps/Controllers/MapsController.php:60
msgid ""
"Coordinates has not been loaded. Maybe plugin tables does not exists in the "
"database?"
msgstr ""

#: ../lib/GaletteMaps/PluginGaletteMaps.php:130
msgid "Geolocalize"
#: ../lib/GaletteMaps/Controllers/MapsController.php:133
msgid "%member geographic position"
msgstr ""

#: ../lib/GaletteMaps/PluginGaletteMaps.php:134
msgid "Geolocalize %membername"
#: ../lib/GaletteMaps/Controllers/MapsController.php:170
#: ../lib/GaletteMaps/PluginGaletteMaps.php:60
msgid "Maps settings"
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:73
msgid ""
"Coordinates has not been loaded. Maybe plugin tables does not exists in the "
"database?"
#: ../lib/GaletteMaps/Controllers/MapsController.php:216
msgid "An address is required to use your own background map."
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:148
msgid "%member geographic position"
#: ../lib/GaletteMaps/Controllers/MapsController.php:232
msgid "Maps settings have been saved."
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:194
#: ../lib/GaletteMaps/Controllers/MapsController.php:262
msgid "Superadmin cannot be localized."
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:221
#: ../lib/GaletteMaps/Controllers/MapsController.php:233
#: ../lib/GaletteMaps/Controllers/MapsController.php:289
#: ../lib/GaletteMaps/Controllers/MapsController.php:301
msgid "Coordinates has not been removed :("
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:231
#: ../lib/GaletteMaps/Controllers/MapsController.php:299
msgid "Coordinates has been removed!"
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:246
#: ../lib/GaletteMaps/Controllers/MapsController.php:314
msgid "New coordinates has been stored!"
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:248
#: ../lib/GaletteMaps/Controllers/MapsController.php:316
msgid "Coordinates has not been stored :("
msgstr ""

#: ../lib/GaletteMaps/Controllers/MapsController.php:251
#: ../lib/GaletteMaps/Controllers/MapsController.php:319
msgid "Something went wrong :("
msgstr ""

#: ../tempcache/common_html.html.twig:66 ../tempcache/common_html.html.twig:72
msgid "Member (company)"
#: ../lib/GaletteMaps/TileProviders.php:123
msgid "OpenFreeMap, light grey"
msgstr ""

#: ../tempcache/common_html.html.twig:82 ../tempcache/common_html.html.twig:88
msgid "Search result"
#: ../lib/GaletteMaps/TileProviders.php:124
msgid "OpenFreeMap, colours"
msgstr ""

#: ../lib/GaletteMaps/TileProviders.php:125
msgid "OpenStreetMap"
msgstr ""

#: ../tempcache/maps.html.twig:114
#: ../lib/GaletteMaps/TileProviders.php:126
msgid "OpenStreetMap France"
msgstr ""

#: ../lib/GaletteMaps/TileProviders.php:127
msgid "Humanitarian OSM Team"
msgstr ""

#: ../lib/GaletteMaps/TileProviders.php:128
msgid "OpenStreetMap Germany"
msgstr ""

#: ../lib/GaletteMaps/TileProviders.php:129
msgid "Esri, light grey"
msgstr ""

#: ../lib/GaletteMaps/TileProviders.php:130
#: ../tempcache/maps_preferences.html.twig:85
msgid "Own values"
msgstr ""

#: ../lib/GaletteMaps/PluginGaletteMaps.php:73
#: ../lib/GaletteMaps/PluginGaletteMaps.php:119
msgid "My localization"
msgstr ""

#: ../lib/GaletteMaps/PluginGaletteMaps.php:150
msgid "Geolocalize"
msgstr ""

#: ../lib/GaletteMaps/PluginGaletteMaps.php:154
msgid "Geolocalize %membername"
msgstr ""

#: ../tempcache/maps.html.twig:115
msgid "aka"
msgstr ""

#: ../tempcache/common_scripts.html.twig:134
#: ../tempcache/common_scripts.html.twig:166
msgid "An error occurred during 'I live here' process :("
msgstr ""

#: ../tempcache/common_scripts.html.twig:179
#: ../tempcache/common_scripts.html.twig:215
msgid "Display map in full screen"
msgstr ""

#: ../tempcache/common_scripts.html.twig:183
#: ../tempcache/common_scripts.html.twig:219
msgid "Exit full screen"
msgstr ""

#: ../tempcache/common_scripts.html.twig:195
#: ../tempcache/common_scripts.html.twig:231
msgid "Search your town..."
msgstr ""

#: ../tempcache/common_scripts.html.twig:201
#: ../tempcache/common_scripts.html.twig:237
msgid "Search a town..."
msgstr ""

#: ../tempcache/common_scripts.html.twig:207
#: ../tempcache/common_scripts.html.twig:243
msgid "Sorry, that town could not be found."
msgstr ""

#: ../tempcache/common_scripts.html.twig:211
#: ../tempcache/common_scripts.html.twig:247
msgid "Search"
msgstr ""

#: ../tempcache/common_scripts.html.twig:235
#: ../tempcache/common_scripts.html.twig:271
msgid "Show me where I am"
msgstr ""

#: ../tempcache/common_scripts.html.twig:240
#: ../tempcache/common_scripts.html.twig:276
msgid "You seem located outside the boundaries of the map"
msgstr ""

#: ../tempcache/common_scripts.html.twig:252
msgid "Map data (c)"
#: ../tempcache/maps_preferences.html.twig:66
msgid ""
"Background maps come from an outside provider. Should it change its terms, "
"pick another one here rather than waiting for a new release."
msgstr ""

#: ../tempcache/maps_preferences.html.twig:73
msgid "Background map"
msgstr ""

#: ../tempcache/maps_preferences.html.twig:91
msgid "Vector tiles"
msgstr ""

#: ../tempcache/maps_preferences.html.twig:91
msgid "Tick for a MapLibre style, leave unticked for classic raster tiles."
msgstr ""

#: ../tempcache/common_scripts.html.twig:254
msgid "OpenStreetMap contributors"
#: ../tempcache/maps_preferences.html.twig:98
msgid "Address"
msgstr ""

#: ../tempcache/common_scripts.html.twig:256
msgid "Imagery (c)"
#: ../tempcache/maps_preferences.html.twig:98
msgid "Style address for vector tiles, tiles address for raster ones, such as:"
msgstr ""

#: ../tempcache/mymap.html.twig:72
#: ../tempcache/maps_preferences.html.twig:104
msgid "Attribution"
msgstr ""

#: ../tempcache/maps_preferences.html.twig:104
msgid ""
"Credit the provider requires, HTML allowed. Data licences make it mandatory. "
"A vector style usually carries its own, and this can then be left empty."
msgstr ""

#: ../tempcache/maps_preferences.html.twig:110
msgid "Maximum zoom"
msgstr ""

#: ../tempcache/maps_preferences.html.twig:116
msgid "Subdomains"
msgstr ""

#: ../tempcache/maps_preferences.html.twig:116
msgid ""
"Letters the {s} token in the address is replaced with, such as abc. Raster "
"tiles only."
msgstr ""

#: ../tempcache/mymap.html.twig:73
msgid "Choose your location"
msgstr ""

#: ../tempcache/mymap.html.twig:78
#: ../tempcache/mymap.html.twig:79
msgid "Choose %member location"
msgstr ""

#: ../tempcache/mymap.html.twig:88
#: ../tempcache/mymap.html.twig:89
msgid "Select your town."
msgstr ""

#: ../tempcache/mymap.html.twig:92
#: ../tempcache/mymap.html.twig:93
msgid "In the database, town is set to: '%town'"
msgstr ""

#: ../tempcache/mymap.html.twig:186
#: ../tempcache/mymap.html.twig:188
msgid "You clicked at %p"
msgstr ""

#: ../tempcache/mymap.html.twig:189 ../tempcache/mymap.html.twig:310
#: ../tempcache/mymap.html.twig:339
#: ../tempcache/mymap.html.twig:191 ../tempcache/mymap.html.twig:312
#: ../tempcache/mymap.html.twig:341
msgid "I live here!"
msgstr ""

#: ../tempcache/mymap.html.twig:191 ../tempcache/mymap.html.twig:312
#: ../tempcache/mymap.html.twig:341
#: ../tempcache/mymap.html.twig:193 ../tempcache/mymap.html.twig:314
#: ../tempcache/mymap.html.twig:343
msgid "Member lives here!"
msgstr ""

#: ../tempcache/mymap.html.twig:223
#: ../tempcache/mymap.html.twig:225
msgid "Remove my coordinates"
msgstr ""

#: ../tempcache/mymap.html.twig:225
#: ../tempcache/mymap.html.twig:227
msgid "Remove member coordinates"
msgstr ""

#: ../tempcache/mymap.html.twig:231
#: ../tempcache/mymap.html.twig:233
msgid "Are you sure you want to remove coordinates from the database?"
msgstr ""

#: ../tempcache/mymap.html.twig:284
#: ../tempcache/mymap.html.twig:286
msgid "An error occurred removing coordinates :("
msgstr ""

#: ../tempcache/common_html.html.twig:68 ../tempcache/common_html.html.twig:74
msgid "Member (company)"
msgstr ""

#: ../tempcache/common_html.html.twig:84 ../tempcache/common_html.html.twig:90
msgid "Search result"
msgstr ""
Loading