[PLUGINS] +spip_carte_de_sites
authorLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Fri, 12 Jul 2013 05:43:00 +0000 (07:43 +0200)
committerLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Fri, 12 Jul 2013 05:43:00 +0000 (07:43 +0200)
42 files changed:
www/plugins/spip_carte_de_sites/MIGRATION [new file with mode: 0644]
www/plugins/spip_carte_de_sites/TODO [new file with mode: 0755]
www/plugins/spip_carte_de_sites/carte-des-ateliers.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/carte_de_sites.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/carte_de_sites_plein.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/contenu/page-carte_de_sites.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/contenu/page-liste_de_sites.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/export_sites.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/images/blue.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/green.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/grey.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/grey_green.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/grey_orange.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/grey_orange.xcf [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/grey_red.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/grey_yellow.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/orange.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/red.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/shadow.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/violet.png [new file with mode: 0644]
www/plugins/spip_carte_de_sites/images/white_green.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/white_orange.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/white_red.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/white_yellow.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/workshop.xcf [new file with mode: 0755]
www/plugins/spip_carte_de_sites/images/yellow.png [new file with mode: 0755]
www/plugins/spip_carte_de_sites/inclure/boite.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/inclure/iframe_carte.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/inclure/liste_gis.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/inclure/liste_pays.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/inclure/liste_regions.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/inclure/pays.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/inclure/requete_pays.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/inclure/requete_regions.html [new file with mode: 0644]
www/plugins/spip_carte_de_sites/lang/carte_de_sites.xml [new file with mode: 0644]
www/plugins/spip_carte_de_sites/lang/carte_de_sites_en.php [new file with mode: 0644]
www/plugins/spip_carte_de_sites/lang/carte_de_sites_fr.php [new file with mode: 0644]
www/plugins/spip_carte_de_sites/lang/paquet-carte_de_sites_fr.php [new file with mode: 0644]
www/plugins/spip_carte_de_sites/liste_de_sites.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/modeles/carte_de_sites.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/modeles/liste_de_sites.html [new file with mode: 0755]
www/plugins/spip_carte_de_sites/paquet.xml [new file with mode: 0755]

diff --git a/www/plugins/spip_carte_de_sites/MIGRATION b/www/plugins/spip_carte_de_sites/MIGRATION
new file mode 100644 (file)
index 0000000..34a5e0f
--- /dev/null
@@ -0,0 +1,5 @@
+Migration GIS2->GIS3
+####################
+Lancer cette requete pour relier à nouveau les points à leur sites correspondants:
+    UPDATE `spip_gis_liens` SET `objet`='site' WHERE `objet`='syndic';
+
diff --git a/www/plugins/spip_carte_de_sites/TODO b/www/plugins/spip_carte_de_sites/TODO
new file mode 100755 (executable)
index 0000000..b1ef0d2
--- /dev/null
@@ -0,0 +1,56 @@
+##À faire
+* Plugin: Prevoir une interface smartphone
+* Plugin: Gérer la description et le slogan pour le français et l'anglais
+* Carte: Prévoir une sortie pdf/imprimante de la carte en fonction de filtres (zoom, centrage, types d'ateliers, ...)
+* Carte: S'arranger pour que tous les ateliers membres et en activité passent au dessus des autres (exemple à Nantes)
+* Carte - Bug : Si on fait un retour à la ligne dans un champs description ou qu'on met le caractère "°" (de  site ou de GIS), plus de carte sur le site. ???
+* Carte - Bug : La "boîte de calques" apparait ouverte sur ipad avec safari. ???
+* Carte - Bug : L'insertion de la carte dans un champs fait planter le multilinguisme.
+* Liste - Bug : La liste est mal gérée dans le contexte multilingue, quand le champ ville est traduit
+* Carte - Avoir un champs de recherche dans lequel on saisit la ville ou le code postal, des horaires, ... et la carte se centre dessus - Voir du côté de https://wiki.openstreetmap.org/wiki/Nominatim
+* Carte - Afficher la description du site dans le popup si pas de description du point GIS
+* Plugin - Mettre en valeur la prise en compte des différents critères d'atelier: auto-réparation, recyclage, promotion, ... Ce qui permettrait de valoriser également les initiatives qui ne nous ressemble pas tout à fait, notamment à l'étranger.
+
+##En cours
+* Carte: Prévoir un fond de carte spécial vélo par défaut (mise en évidence des voies cyclables)
+** Reste à trouver/faire celui qui va bien/ un concours??? un appel à contribution??
+* Page site atelier
+** Logo
+** Le nom de l'asso
+** Adresse physique
+** Site internet clicable
+** La descritpion de l'asso
+** La carte des ateliers avec la description et la photo de chaque atelier dans le popup
+** Les résumés des articles de lhc qui parlent de l'asso
+** Les résumés des 5 derniers articles paru sur le site de l'asso
+* Carte: Faire en sorte qu'on puisse afficher des mini-cartes centrées comme il faut sur la page de chaque site syndiqué
+
+
+##Fait
+* Carte: L'iframe se construit en fonction de l'état de la carte (lat,lon,zoom)
+* Carte: Possibilite de choisir son fond de carte operationnel
+* Plugin: Internationnaliser le plugin
+* Liste: Ajouter marqueur statut en début de ligne pour chaque organisations
+* Carte: Prévoir un "iframe" permettant l'inclusion de la carte dans d'autres sites
+* Liste: Faire une animation au clic de la souris sur un pays: déroulement et affichage des ateliers (AJAX)
+* Carte - Séparer les variables latitude et longitude
+* Carte - Rendre optionnel l'affichage du popup de coordonnées quand on clic sur la carte
+* Ne fournir qu'un fonds de carte minimaliste, et vue de nuit dans un premier temps
+* Liste: Faire un lien vers les sites internet des ateliers, ou leur page sur le site du réseau
+* Plugin: Faire en sorte que la carte et les légendes d'une part, et la liste des ateliers d'autre part, s'affichent avec 2 balises distinctes.
+* Carte: Diminuer la taille des marqueurs
+* Carte: Diminuer la taille des popup
+** Logo asso
+** Nom asso avec lien vers la page relative
+** Nom atelier
+** Description atelier
+** Adresse physique
+** Adresse site clicable
+** Statut de l'atelier
+* Carte: ajout de filtres pour centrer et zoomer comme on veut sur la carte
+* Carte: mise en valeur du nom de l'atelier (par opposition au nom de lorganisation qui le porte)
+* Carte: ajout de filtres pour dimensionner comme on veut la carte
+* Carte: ajout de filtres pour changer le style a la volée
+* Carte: ajout de filtres pour rendre optionnel l'affichage des images
+* Plugin: Construire automatiquement les liens vers la librairie CloudMade en fonction des données de plugin.xml
+* Export - Prévoir un export csv - Prémisse sous forme de requête SQL: "SELECT spip_syndic.*, spip_gis_liens.*, spip_gis.* FROM `spip_gis`, `spip_gis_liens`, `spip_syndic`  WHERE `spip_gis_liens`.`objet` = 'site' AND `spip_gis_liens`.`id_gis` = `spip_gis`.`id_gis` AND `spip_gis_liens`.`id_objet` = `spip_syndic`.`id_syndic`"
diff --git a/www/plugins/spip_carte_de_sites/carte-des-ateliers.html b/www/plugins/spip_carte_de_sites/carte-des-ateliers.html
new file mode 100755 (executable)
index 0000000..d9b06bc
--- /dev/null
@@ -0,0 +1,2 @@
+[(#REM) Carte des ateliers habillée ]
+<INCLURE{fond=structure}{env}{type=page}{composition=carte_de_sites} />
\ No newline at end of file
diff --git a/www/plugins/spip_carte_de_sites/carte_de_sites.html b/www/plugins/spip_carte_de_sites/carte_de_sites.html
new file mode 100755 (executable)
index 0000000..d9b06bc
--- /dev/null
@@ -0,0 +1,2 @@
+[(#REM) Carte des ateliers habillée ]
+<INCLURE{fond=structure}{env}{type=page}{composition=carte_de_sites} />
\ No newline at end of file
diff --git a/www/plugins/spip_carte_de_sites/carte_de_sites_plein.html b/www/plugins/spip_carte_de_sites/carte_de_sites_plein.html
new file mode 100755 (executable)
index 0000000..d5c3f5b
--- /dev/null
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html>
+<head>
+<title><:carte_de_sites:nom_carte:></title>
+#INSERT_HEAD
+</head>
+<body>
+<INCLURE{fond=contenu/page-carte_de_sites, env} />
+</body>
+
+<!-- Piwik -->
+<script type="text/javascript">
+var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.heureux-cyclage.org/" : "http://stats.heureux-cyclage.org/");
+document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
+</script><script type="text/javascript">
+try {
+var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 1);
+piwikTracker.trackPageView();
+piwikTracker.enableLinkTracking();
+} catch( err ) {}
+</script><noscript><p><img src="http://stats.heureux-cyclage.org/piwik.php?idsite=1" style="border:0" alt="" /></p></noscript>
+
+<!-- End Piwik Tracking Code -->
+
+</html>
diff --git a/www/plugins/spip_carte_de_sites/contenu/page-carte_de_sites.html b/www/plugins/spip_carte_de_sites/contenu/page-carte_de_sites.html
new file mode 100755 (executable)
index 0000000..fbe7149
--- /dev/null
@@ -0,0 +1,110 @@
+[(#REM)
+    Modele carte_de_site
+    
+    Parametres :
+    - fullscreen = non  : afficher ou ne pas afficher le contrôle fullscreen 
+    - legende = oui : afficher ou ne pas afficher la légende
+    - lat    = 46.8 : latitude du centre de la carte
+    - lon    = 2.52 : longitude du centre de la carte
+    - zoom    = 5   : niveau de zoom (pour repère: 1 = la carte du monde; 15 = quartier)
+    - larg  = 100%  : largeur de la carte en pixel ou en pourcentage
+    - haut  = 400   : hauteur de la carte en pixel ou en pourcentage
+    - style = 14189 : style de carte. Voir http://maps.cloudmade.com/editor . Si vous mettez en place une super carte pour les cyclistes, on est preneur.
+    - boite = oui   : afficher ou pas la boite avec calques et types
+    - popup = oui   : afficher ou pas les popups de description des ateliers
+    - images = oui  : afficher ou pas les images (logo, photo de l'atelier)
+    - lien  = oui   : Lien automatique vers la grande carte
+    - iframe = oui  : Afficher ou non le lien vers le code iframe
+    - loc = non     : Afficher ou non le popup de localisation
+    - champ_lat     : Prend l'identifiant d'une balise html en argument. Change la valeur (value) de cette balise par la latitude cliquee
+    - champ_lon     : Prend l'identifiant d'une balise html en argument. Change la valeur (value) de cette balise par la longitude cliquee
+]
+
+<!-- Carte -->
+
+<div id="map" style="[(#ENV{larg}|oui) width: [(#ENV{larg}|sinon{'540'})px;]] height: [(#ENV{haut}|sinon{'400'})]px">
+
+<script src="[(#CHEMIN{lib/leaflet-gis-4.1.13/dist/leaflet.js}|url_absolue)]" type="text/javascript"></script>
+<script src="[(#CHEMIN{lib/leaflet-gis-4.1.13/plugins/control/Control.FullScreen.js}|url_absolue)]" type="text/javascript"></script>
+
+
+<script>
+    <BOUCLE_mots_types(MOTS){type = (#ENV{groupe})}>
+         var group_#ID_MOT = new L.LayerGroup();
+            var templateIcon = L.Icon.extend({
+               options: {
+                    iconUrl: '[(#LOGO_MOT||extraire_attribut{src}|url_absolue)]',
+                    shadowUrl: '[(#LOGO_MOT_SURVOL||extraire_attribut{src}|url_absolue)]',
+                    iconSize: new L.Point(17, 28),
+                    shadowSize: new L.Point(17, 17),
+                    iconAnchor: new L.Point(13, 17),
+                    popupAnchor: new L.Point(0, -33)
+                }
+             });
+                     gisIcon = new templateIcon()
+         <BOUCLE_sites(SITES){id_mot}>
+               <BOUCLE_coord(GIS){id_syndic}>
+                     var markerGis = new L.Marker(new L.LatLng(#LAT, #LON), {icon: gisIcon});
+                           [(#ENV{popup}|!={non}|oui)
+                         markerGis.bindPopup("[(#ENV{images}|!={non}|oui)<span style='float: left; width: 45px;'><img src='[(#LOGO_SYNDIC||extraire_attribut{src}|url_absolue)]' alt='' style='width: 45px;' width='45'></span>]<h4>#TITRE</h4>#DESCRIPTIF[(#ENV{images}|!={non}|oui)<span class='spip_documents spip_documents_right' style='float: right; width: 100px;'>\<img src='[(#LOGO_SYNDIC_SURVOL||extraire_attribut{src}|url_absolue)]' alt='' style='width: 100px;' width='100'></span>]#ADRESSE<br/> #CODE_POSTAL #VILLE<br/><a href='#URL_SITE' target='_blank'>#NOM_SITE - #URL_SITE</a><br/><br/><em>Statut: [(#_mots_types:TITRE|supprimer_numero)]</em>");
+                     ]
+                     group_#ID_MOT.addLayer(markerGis)
+               </BOUCLE_coord>
+         </BOUCLE_sites>
+    </BOUCLE_mots_types>
+
+    var cloudmadeAttribution = 'Map data &copy; OpenStreetMap contributors<br/>[(#ENV{lien}|!={non}|oui)(<a href="#URL_SITE_SPIP/?page=carte_de_sites_plein&lien=non&groupe=#ENV{groupe}&boite=oui&haut=400[&lat=(#ENV{lat})][&lon=(#ENV{lon})][&zoom=(#ENV{zoom})][&legende=(#ENV{legende})]" rel="external" target="_blank"><:carte_de_sites:grande_carte:></a>)]',
+        cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/{styleId}/256/{z}/{x}/{y}.png';
+
+    var midnightCommander = new L.TileLayer(cloudmadeUrl, {styleId: 999, attribution: cloudmadeAttribution}),
+        thunderforest = new L.TileLayer('http://{s}.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png', {attribution: cloudmadeAttribution}),
+        minimal = new L.TileLayer(cloudmadeUrl, {styleId: [(#ENV{style}|sinon{'14189'})], attribution: cloudmadeAttribution});
+
+    //Construction de la carte
+    var map = new L.Map('map');
+    map.setView(new L.LatLng([(#ENV{lat}|sinon{'46.8'})],[(#ENV{lon}|sinon{'2.52'})]),[(#ENV{zoom}|sinon{5})]).addLayer(thunderforest);
+    [(#ENV{fullscreen}|oui)
+        map.addControl(new L.Control.FullScreen());
+    ]
+
+    //Ajout des marqueurs      
+    <BOUCLE_map(MOTS){type = (#ENV{groupe})}{!par num titre}>
+        map.addLayer(group_#ID_MOT);
+    </BOUCLE_map>
+
+    [(#ENV{boite}|!={non}|oui)
+        <INCLURE{fond=inclure/boite}{env}>
+    ]
+
+    [(#ENV{loc}|!={oui}|non)
+        map.on('click', onMapClick);
+
+        var popup = new L.Popup();
+
+        function onMapClick(e) {
+            document.getElementById("#ENV{champ_lat}").value=e.latlng.lat.toFixed(18);
+            document.getElementById("#ENV{champ_lon}").value=e.latlng.lng.toFixed(18);
+            popup.setLatLng(e.latlng);
+            popup.setContent("<:carte_de_sites:coordonnees_clic:>");
+            map.openPopup(popup);
+        }
+    ]
+
+</script>
+</div>
+
+[(#ENV{iframe}|!={non}|oui)
+    <INCLURE{fond=inclure/iframe_carte}{ajax}{env}>
+]
+
+<B_legende>
+<!-- Legende -->
+    [(#ENV{legende}|!={non}|oui)
+        <h2 class='h2 spip'><:carte_de_sites:legende:></h2>
+    ]
+    <BOUCLE_legende(MOTS){type = (#ENV{groupe})}{par num titre}>
+        [(#ENV{legende}|!={non}|oui)
+            <p>#LOGO_MOT_NORMAL [(#TITRE|supprimer_numero)]</p>
+        ]
+    </BOUCLE_legende>
+</B_legende>
diff --git a/www/plugins/spip_carte_de_sites/contenu/page-liste_de_sites.html b/www/plugins/spip_carte_de_sites/contenu/page-liste_de_sites.html
new file mode 100755 (executable)
index 0000000..0ff9a0a
--- /dev/null
@@ -0,0 +1,16 @@
+[(#REM)
+    Modele liste_de_site
+
+    Parametres :
+    - pays = : n'afficher qu'un pays
+]
+
+<!-- Liste des sites -->
+
+[(#ENV{pays}|oui)
+    <INCLURE{fond=inclure/liste_pays}{ajax}{env}{mon_pays=#ENV{pays}}{afficher_regions=oui}>
+]
+
+[(#ENV{pays}|non)
+    <INCLURE{fond=inclure/requete_pays}{ajax}{env}>
+]
diff --git a/www/plugins/spip_carte_de_sites/export_sites.html b/www/plugins/spip_carte_de_sites/export_sites.html
new file mode 100644 (file)
index 0000000..d0692df
--- /dev/null
@@ -0,0 +1,6 @@
+#CACHE{0}
+#HTTP_HEADER{Content-Type: text/csv; charset=UTF-8}
+#HTTP_HEADER{Content-Disposition: attachment; filename=liste.csv}
+"Statut";"Structure";"Atelier";"Adresse";"Code postal";"Ville";"Pays"
+<BOUCLE_mots(MOTS){type=#ENV{groupe}}><BOUCLE_sites(SITES){id_mot}{gis}>"#_mots:TITRE";"#NOM_SITE";"#TITRE_GIS";"#ADRESSE";"#CODE_POSTAL";"#VILLE";"#PAYS"
+</BOUCLE_sites></BOUCLE_mots>
diff --git a/www/plugins/spip_carte_de_sites/images/blue.png b/www/plugins/spip_carte_de_sites/images/blue.png
new file mode 100755 (executable)
index 0000000..3d2daf2
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/blue.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/green.png b/www/plugins/spip_carte_de_sites/images/green.png
new file mode 100755 (executable)
index 0000000..07f5e51
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/green.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/grey.png b/www/plugins/spip_carte_de_sites/images/grey.png
new file mode 100755 (executable)
index 0000000..07faa93
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/grey.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/grey_green.png b/www/plugins/spip_carte_de_sites/images/grey_green.png
new file mode 100755 (executable)
index 0000000..4fedfc6
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/grey_green.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/grey_orange.png b/www/plugins/spip_carte_de_sites/images/grey_orange.png
new file mode 100755 (executable)
index 0000000..5cea6a4
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/grey_orange.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/grey_orange.xcf b/www/plugins/spip_carte_de_sites/images/grey_orange.xcf
new file mode 100755 (executable)
index 0000000..ae32f00
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/grey_orange.xcf differ
diff --git a/www/plugins/spip_carte_de_sites/images/grey_red.png b/www/plugins/spip_carte_de_sites/images/grey_red.png
new file mode 100755 (executable)
index 0000000..fbb8172
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/grey_red.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/grey_yellow.png b/www/plugins/spip_carte_de_sites/images/grey_yellow.png
new file mode 100755 (executable)
index 0000000..b664e3c
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/grey_yellow.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/orange.png b/www/plugins/spip_carte_de_sites/images/orange.png
new file mode 100755 (executable)
index 0000000..2559da0
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/orange.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/red.png b/www/plugins/spip_carte_de_sites/images/red.png
new file mode 100755 (executable)
index 0000000..9a1cafa
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/red.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/shadow.png b/www/plugins/spip_carte_de_sites/images/shadow.png
new file mode 100755 (executable)
index 0000000..a64f6a6
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/shadow.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/violet.png b/www/plugins/spip_carte_de_sites/images/violet.png
new file mode 100644 (file)
index 0000000..92892e4
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/violet.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/white_green.png b/www/plugins/spip_carte_de_sites/images/white_green.png
new file mode 100755 (executable)
index 0000000..a27c2da
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/white_green.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/white_orange.png b/www/plugins/spip_carte_de_sites/images/white_orange.png
new file mode 100755 (executable)
index 0000000..c542aad
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/white_orange.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/white_red.png b/www/plugins/spip_carte_de_sites/images/white_red.png
new file mode 100755 (executable)
index 0000000..29fe102
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/white_red.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/white_yellow.png b/www/plugins/spip_carte_de_sites/images/white_yellow.png
new file mode 100755 (executable)
index 0000000..5824a2f
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/white_yellow.png differ
diff --git a/www/plugins/spip_carte_de_sites/images/workshop.xcf b/www/plugins/spip_carte_de_sites/images/workshop.xcf
new file mode 100755 (executable)
index 0000000..fe896c7
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/workshop.xcf differ
diff --git a/www/plugins/spip_carte_de_sites/images/yellow.png b/www/plugins/spip_carte_de_sites/images/yellow.png
new file mode 100755 (executable)
index 0000000..1b6249f
Binary files /dev/null and b/www/plugins/spip_carte_de_sites/images/yellow.png differ
diff --git a/www/plugins/spip_carte_de_sites/inclure/boite.html b/www/plugins/spip_carte_de_sites/inclure/boite.html
new file mode 100644 (file)
index 0000000..99c2596
--- /dev/null
@@ -0,0 +1,17 @@
+//Definition des fonds de carte
+       var baseMaps = {
+                                "<:carte_de_sites:vue_cycle:>": thunderforest,
+                                "<:carte_de_sites:vue_jour:>": minimal,
+                                "<:carte_de_sites:vue_nuit:>": midnightCommander
+                        };
+
+//Definition des calques de marqueurs
+    <B_groups>
+               var overlayMaps = {<BOUCLE_groups(MOTS){type = (#ENV{groupe})}{par num titre}>"[(#TITRE|supprimer_numero)]": group_#ID_MOT,</BOUCLE_groups>};
+    </B_groups>
+
+//Defintion du contenu de la boite
+       layersControl = new L.Control.Layers(baseMaps,overlayMaps);
+
+//Construction de la boite             
+        map.addControl(layersControl);
diff --git a/www/plugins/spip_carte_de_sites/inclure/iframe_carte.html b/www/plugins/spip_carte_de_sites/inclure/iframe_carte.html
new file mode 100644 (file)
index 0000000..1442109
--- /dev/null
@@ -0,0 +1,24 @@
+[(#ENV{afficher_iframe}|=={oui}|oui)
+<div>
+<p><i><:carte_de_sites:aide_iframe:></i></p>
+<textarea name="iframe" style="width: [(#ENV{larg}|?{[(#ENV{larg})px],'100%'})];" readonly>
+<iframe width="100%" height="400" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="#URL_SITE_SPIP/?page=carte_de_sites_plein&groupe=#ENV{groupe}&boite=non&images=oui&haut=400&pk_campaign=Carte #ENV{groupe}[&lat=(#ENV{lat})][&lon=(#ENV{lon})][&zoom=(#ENV{zoom})][&legende=(#ENV{legende})]&iframe=non[&lang=(#ENV{lang})]" style="border: 1px solid black"></iframe>
+</textarea>
+</div>
+]
+
+[(#ENV{afficher_iframe}|=={oui}|non)
+    <a class="ajax" id="afficher_iframe" onFocus="change_url()"
+href="[(#SELF|parametre_url{afficher_iframe,oui})]">
+    <:carte_de_sites:inclure_carte:></a>
+]
+
+<script>
+function change_url () {
+    var url = document.getElementById("afficher_iframe").href;
+    url = url + "&lat=" + map.getCenter().lat;
+    url = url + "&lon=" + map.getCenter().lng;
+    url = url + "&zoom=" + map.getZoom();
+    document.getElementById("afficher_iframe").href=url;
+}
+</script>
diff --git a/www/plugins/spip_carte_de_sites/inclure/liste_gis.html b/www/plugins/spip_carte_de_sites/inclure/liste_gis.html
new file mode 100644 (file)
index 0000000..5741d26
--- /dev/null
@@ -0,0 +1,25 @@
+#SET{req_gis,#VAL{"SELECT DISTINCT spip_gis.*, spip_syndic.* FROM spip_mots, spip_mots_liens, spip_syndic, spip_gis, spip_gis_liens WHERE spip_mots.type='Ateliers' AND spip_mots_liens.objet='site' AND spip_mots_liens.id_objet=spip_syndic.id_syndic AND spip_syndic.id_syndic=spip_gis_liens.id_objet AND spip_gis.id_gis=spip_gis_liens.id_gis AND spip_gis_liens.objet='site' AND spip_gis.pays='"}|concat{#ENV{mon_pays}}|concat{"' AND spip_gis.region='"}|concat{#ENV{ma_region}}|concat{"' ORDER BY spip_gis.ville"}}
+
+<BOUCLE_sql(DATA){source sql,#GET{req_gis}}>
+    <ul class="spip">
+        <BOUCLE_points(GIS){id_gis}>
+                <li>
+                    <BOUCLE_MOT(MOTS){type = (#ENV{groupe})}{id_syndic}>
+                        [(#LOGO_MOT_NORMAL
+                        |image_reduire{25,25}
+                        |image_recadre{25,25,center}
+                        |image_aplatir{jpg,ffffff}
+                        |inserer_attribut{class,spip_logos}
+                        |inserer_attribut{title,#TITRE|supprimer_numero}
+                        )]
+                    </BOUCLE_MOT>
+                    [(#LOGO_SYNDIC_NORMAL
+                    |image_reduire{45,45}
+                    |image_recadre{45,45,center}
+                    |image_aplatir{jpg,ffffff}
+                    |inserer_attribut{class,spip_logos})]
+                    #VILLE (#CODE_POSTAL) - <a href="#VALEUR{url_site}"> #TITRE </a> - #ADRESSE
+                </li>
+        </BOUCLE_points>
+    </ul>
+</BOUCLE_sql>
diff --git a/www/plugins/spip_carte_de_sites/inclure/liste_pays.html b/www/plugins/spip_carte_de_sites/inclure/liste_pays.html
new file mode 100644 (file)
index 0000000..64e4d7c
--- /dev/null
@@ -0,0 +1,10 @@
+[(#ENV{afficher_regions}|=={oui}|non)
+    <h2 class="h2 spip"><a class="ajax"
+    href="[(#SELF|parametre_url{afficher_regions,oui})]">
+    #ENV{mon_pays}</a></h2>
+]
+
+[(#ENV{afficher_regions}|=={oui}|oui)
+    <h2 class="h2 spip">#ENV{mon_pays}</h2>
+    <INCLURE{fond=inclure/requete_regions}{ajax}{env}>
+]
diff --git a/www/plugins/spip_carte_de_sites/inclure/liste_regions.html b/www/plugins/spip_carte_de_sites/inclure/liste_regions.html
new file mode 100644 (file)
index 0000000..6a6e9ef
--- /dev/null
@@ -0,0 +1,10 @@
+[(#ENV{afficher_gis}|=={oui}|non)
+    <h3 class="h3 spip"><a class="ajax"
+    href="[(#SELF|parametre_url{afficher_gis,oui})]">
+    #ENV{ma_region}</a></h3>
+]
+
+[(#ENV{afficher_gis}|=={oui}|oui)
+    <h3 class="h3 spip">#ENV{ma_region}</h3>
+    <INCLURE{fond=inclure/liste_gis}{ajax}{env}>
+]
diff --git a/www/plugins/spip_carte_de_sites/inclure/pays.html b/www/plugins/spip_carte_de_sites/inclure/pays.html
new file mode 100644 (file)
index 0000000..95234be
--- /dev/null
@@ -0,0 +1,10 @@
+[(#ENV{afficher_regions}|=={oui}|non)
+    <h2 class="h2 spip"><a class="ajax"
+    href="[(#SELF|parametre_url{afficher_regions,oui})]">
+    #ENV{mon_pays}</a></h2>
+]
+
+[(#ENV{afficher_regions}|=={oui}|oui)
+    <h2 class="h2 spip">#ENV{mon_pays}</h2>
+    <INCLURE{fond=inclure/liste_regions}{ajax}{env}>
+]
\ No newline at end of file
diff --git a/www/plugins/spip_carte_de_sites/inclure/requete_pays.html b/www/plugins/spip_carte_de_sites/inclure/requete_pays.html
new file mode 100644 (file)
index 0000000..058e95f
--- /dev/null
@@ -0,0 +1,5 @@
+#SET{req_pays,"SELECT spip_gis.pays FROM spip_mots, spip_mots_liens, spip_syndic, spip_gis, spip_gis_liens WHERE spip_mots.type = 'Ateliers' AND spip_mots_liens.objet = 'site' AND spip_mots_liens.id_objet = spip_syndic.id_syndic AND spip_syndic.id_syndic = spip_gis_liens.id_objet AND spip_gis.id_gis = spip_gis_liens.id_gis AND spip_gis_liens.objet = 'site' GROUP BY spip_gis.pays"}
+
+<BOUCLE_sql(DATA){source sql, #GET{req_pays}}>
+    <INCLURE{fond=inclure/liste_pays}{ajax}{env}{mon_pays=#PAYS}>
+</BOUCLE_sql>
diff --git a/www/plugins/spip_carte_de_sites/inclure/requete_regions.html b/www/plugins/spip_carte_de_sites/inclure/requete_regions.html
new file mode 100644 (file)
index 0000000..0966812
--- /dev/null
@@ -0,0 +1,5 @@
+#SET{req_regions,#VAL{"SELECT spip_gis.region FROM spip_mots, spip_mots_liens, spip_syndic, spip_gis, spip_gis_liens WHERE spip_mots.type='Ateliers' AND spip_mots_liens.objet='site' AND spip_mots_liens.id_objet=spip_syndic.id_syndic AND spip_syndic.id_syndic=spip_gis_liens.id_objet AND spip_gis.id_gis=spip_gis_liens.id_gis AND spip_gis_liens.objet='site' AND spip_gis.pays='"}|concat{#ENV{mon_pays}}|concat{"' GROUP BY spip_gis.region"}}
+
+<BOUCLE_sql(DATA){source sql,#GET{req_regions}}>
+    <INCLURE{fond=inclure/liste_regions}{ajax}{env}{ma_region=#REGION}>
+</BOUCLE_sql>
diff --git a/www/plugins/spip_carte_de_sites/lang/carte_de_sites.xml b/www/plugins/spip_carte_de_sites/lang/carte_de_sites.xml
new file mode 100644 (file)
index 0000000..6a56026
--- /dev/null
@@ -0,0 +1,4 @@
+<traduction module="carte_de_sites" reference="fr">
+    <langue code="fr" />
+    <langue code="en" />
+</traduction>
diff --git a/www/plugins/spip_carte_de_sites/lang/carte_de_sites_en.php b/www/plugins/spip_carte_de_sites/lang/carte_de_sites_en.php
new file mode 100644 (file)
index 0000000..85716b7
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+'carte' => 'Map',
+'legende' => 'Key',
+'inclure_carte' => 'To insert the map in your website ...',
+'coordonnees_clic' => 'Coordinates of your click has just been reported in the survey below. To be more accurate, you can zoom even more on your bike co-op and click again.',
+'vue_cycle' => 'Bike ways',
+'vue_nuit' => 'Night view',
+'vue_jour' => 'Day view',
+'aide_iframe' => 'Copy and paste the following code to insert the map in your website.',
+'grande_carte' => 'Go to the fullscreen map',
+'nom_carte' => 'Bike co-ops Map',
+);
+?>
diff --git a/www/plugins/spip_carte_de_sites/lang/carte_de_sites_fr.php b/www/plugins/spip_carte_de_sites/lang/carte_de_sites_fr.php
new file mode 100644 (file)
index 0000000..9caa0b8
--- /dev/null
@@ -0,0 +1,14 @@
+<?php
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+'carte' => 'Carte',
+'legende' => 'L&eacute;gende',
+'inclure_carte' => 'Pour inclure la carte dans votre site oueb ...',
+'coordonnees_clic' => 'Les coordonn&eacute;es de votre clic ont &eacute;t&eacute; report&eacute;es dans le formulaire ci-dessous. Pour &ecirc;tre encore plus pr&eacute;cis, vous pouvez zoomer plus encore sur votre atelier et re-cliquer.',
+'vue_cycle' => 'Voies cyclables',
+'vue_nuit' => 'Vue de nuit',
+'vue_jour' => 'Vue de jour',
+'aide_iframe' => 'Ins&eacute;rer le code ci-dessous pour int&eacute;grer la carte dans votre site oueb.',
+'grande_carte' => 'Voir la carte en plus grand',
+'nom_carte' => 'Carte des ateliers',
+);
+?>
diff --git a/www/plugins/spip_carte_de_sites/lang/paquet-carte_de_sites_fr.php b/www/plugins/spip_carte_de_sites/lang/paquet-carte_de_sites_fr.php
new file mode 100644 (file)
index 0000000..c90df42
--- /dev/null
@@ -0,0 +1,12 @@
+<?php
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+$GLOBALS[$GLOBALS['idx_lang']] = array(
+
+    // C
+    'carte_de_sites_description' => 'Ce plugin permet de générer une carte de sites à partir des sites references dans SPIP, auquels on a ajoute un mot-clé. Les marqueurs de la carte prennent comme source d\'image le logo du mot cle.',
+    'carte_de_sites_slogan' => 'Carte de sites par mot-clé'
+);
+
+?>
diff --git a/www/plugins/spip_carte_de_sites/liste_de_sites.html b/www/plugins/spip_carte_de_sites/liste_de_sites.html
new file mode 100755 (executable)
index 0000000..e36e224
--- /dev/null
@@ -0,0 +1,2 @@
+[(#REM) Carte des ateliers habillée ]
+<INCLURE{fond=structure}{env}{type=page}{composition=liste_de_sites} />
diff --git a/www/plugins/spip_carte_de_sites/modeles/carte_de_sites.html b/www/plugins/spip_carte_de_sites/modeles/carte_de_sites.html
new file mode 100755 (executable)
index 0000000..27531ba
--- /dev/null
@@ -0,0 +1,2 @@
+[(#REM) Carte des ateliers ]\r
+<INCLURE{fond=contenu/page-carte_de_sites, env}/>\r
diff --git a/www/plugins/spip_carte_de_sites/modeles/liste_de_sites.html b/www/plugins/spip_carte_de_sites/modeles/liste_de_sites.html
new file mode 100755 (executable)
index 0000000..a47aecc
--- /dev/null
@@ -0,0 +1,5 @@
+[(#REM) Liste de sites ]\r
+[(#REM) Liste de sites ]\r
+[(#REM) Liste de sites ]\r
+\r
+<INCLURE{fond=contenu/page-liste_de_sites}{env}/>\r
diff --git a/www/plugins/spip_carte_de_sites/paquet.xml b/www/plugins/spip_carte_de_sites/paquet.xml
new file mode 100755 (executable)
index 0000000..f8e6c0b
--- /dev/null
@@ -0,0 +1,16 @@
+<paquet
+    prefix="carte_de_sites"
+    categorie="divers"
+    version="1.1.3"
+    etat="dev"
+    compatibilite="[3.0.0;3.0.*]"
+    documentation="http://www.wiklou.org/index.php/Inclusion_de_la_carte"
+>
+
+    <nom>Carte de sites</nom>
+    <auteur lien="http://www.heureux-cyclage.org">L'Heureux Cyclage</auteur>
+    <credit lien="http://contrib.spip.net/4189">b_b</credit>
+    <copyright>2011-2013</copyright>
+    <licence>GPL v3</licence>
+    <necessite nom="gis" compatibilite="[4.3.0;]"/>
+</paquet>