source: spip-zone/_plugins_/gis/trunk/formulaires/gis_inserer_modeles_traiter.php @ 69053

Last change on this file since 69053 was 69053, checked in by tcharlss@…, 7 years ago

Suite au message http://article.gmane.org/gmane.comp.web.spip.zone/30857, je commite.

  • Intégration avec le plugin 'insérer modèle' : on peut insérer une carte GIS dans le texte d'un article (ou autre) à partir de la boîte du plugin 'insérer modèle'.
  • modèle 'carte_gis'

Nouvelle option pour le paramètre 'objets' : 'point_libre'
L'idée est de pouvoir insérer une carte centrée sur un point libre (non enregistré en base), en indiquant la latitude et la longitude (+zoom). On peut optionnellement donner un titre et une description à à ce point, et indiquer une image pour le marker (qui sera cherchée via les balises #CHEMIN et #CHEMIN_IMAGE).
Donc, dans le texte d'un article par ex: <carte_gis|objets=point_libre|lat=xx|lon=yy|zoom=zz|titre=mon beau point|description=ma super description|icone=mon_image.png>
Un paramètre supplémentaire : 'titre_carte' pour placer un titre <h3> juste avant la carte.
Donc pour résumer les paramètres ajoutés :

  • dans tous les cas :
  • titre_carte : titre de la carte
  • si 'objets' = 'point_libre'
  • titre : titre du point
  • description: description
  • icone: image ou chemin/vers/image
  • saisie 'carte' : ajout des parametres 'hauteur' et 'largeur'
File size: 1.1 KB
Line 
1<?php
2if (!defined("_ECRIRE_INC_VERSION")) return;
3
4function formulaires_gis_inserer_modeles_traiter_dist($champs) {
5
6        // champs a ne pas prendre en compte
7        $ignorer = array('adresse','code_postal','ville','pays');
8
9        $code = '<'._request('modele');
10        if (_request('id_modele') && _request('id_modele')!='')
11                $code .= _request('id_modele');
12        if (_request('variante') && _request('variante')!='')
13                $code .= '|'._request('variante');
14        if (_request('classe') && _request('classe')!='')
15                $code .= '|'._request('classe');
16        if (_request('align') && _request('align')!='')
17                $code .= '|'._request('align');
18        foreach ($champs as $champ) {
19                if( !in_array($champ, $ignorer) && $champ != 'modele' && $champ != 'variante' && $champ != 'classe' && $champ != 'id_modele' && $champ != 'align' && _request($champ) && _request($champ)!='') {
20                        if($champ == _request($champ))
21                                $code .= "|$champ";
22                        // On transforme les tableaux en une liste
23                        elseif (is_array(_request($champ)))
24                                $code .= "|$champ=".implode(',',_request($champ));
25                        else
26                                $code .= "|$champ="._request($champ);
27                }
28        }
29        $code .= '>';
30
31        return $code;
32}
33
34?>
Note: See TracBrowser for help on using the repository browser.