Changeset 99241 in spip-zone


Ignore:
Timestamp:
Aug 25, 2016, 1:56:35 PM (3 years ago)
Author:
marcimat@…
Message:

Permettre depuis l'appel d'une carte gis dans le texte d'un article
d'indiquer une liste de tracés kml, gpx ou autre.

C'était déjà possible depuis un squelette, en transmettant directement un tableau,
cela l'est maintenant depuis le modèle en transmettant une liste d'identifiants
séparés par une virgule. Il peut même y avoir les URLs comme avant, tant qu'il
n'y a pas de virgule dans l'URL tout de même…

Pour simplifier l'écriture, et mutualiser pour si besoin améliorer plus tard, on
met cela dans une fonction dédiée.

Exemple : <carte_gis|point=non|kml=20,21,22,23,24>

Location:
_plugins_/gis/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/gis/trunk/gis_fonctions.php

    r99010 r99241  
    412412}
    413413
     414
     415/**
     416 * Transforme un paramètre d'entrée en tableau
     417 * s'il n'en est pas déjà un.
     418 *
     419 * Permet d'utiliser dans l'appel au modèle de carte gis
     420 * depuis un texte d'article des paramètres tabulaires,
     421 * tel que des identifiants de documents de tracés kml,
     422 * tel que `<carte_gis|kml=10,11,12>`
     423 *
     424 * @example `#ENV{kml}|gis_param_to_array`
     425 *
     426 * @param string|int|array $param
     427 *     Le paramètre à transformer en tableau
     428 * @param string $sep
     429 *     Le séparateur utilisé
     430 * @return array
     431**/
     432function gis_param_to_array($param, $sep = ',') {
     433        if (is_array($param)) {
     434                return $param;
     435        }
     436        // enlever les espaces et exploser
     437        $tab = explode($sep, trim((string)$param));
     438        // enlever les champs vides, les espaces sur chaques champs.
     439        return array_map('trim', array_filter($tab));
     440}
     441
    414442/**
    415443 * Transformer le tableau de kml en tableau d'urls :
  • _plugins_/gis/trunk/modeles/carte_gis.html

    r98742 r99241  
    146146                                        localize_visitor_zoom: [(#ENV{localize_visitor_zoom,#ENV{zoom,#CONFIG{gis/zoom,0}}})],
    147147                                        centrer_fichier: [(#ENV{centrer_fichier,oui}|=={oui}|?{true,false})],
    148                                         kml: [(#ENV{kml,''}|?{[(#ENV{kml}|is_array|?{#ENV{kml},#LISTE{#ENV{kml}}}|gis_kml_to_urls|json_encode)],false})],
    149                                         gpx: [(#ENV{gpx,''}|?{[(#ENV{gpx}|is_array|?{#ENV{gpx},#LISTE{#ENV{gpx}}}|gis_kml_to_urls|json_encode)],false})],
    150                                         geojson: [(#ENV{geojson,''}|?{[(#ENV{geojson}|is_array|?{#ENV{geojson},#LISTE{#ENV{geojson}}}|gis_kml_to_urls|json_encode)],false})],
    151                                         topojson: [(#ENV{topojson,''}|?{[(#ENV{topojson}|is_array|?{#ENV{topojson},#LISTE{#ENV{topojson}}}|gis_kml_to_urls|json_encode)],false})],
     148                                        kml: [(#ENV{kml,''}|?{[(#ENV{kml}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
     149                                        gpx: [(#ENV{gpx,''}|?{[(#ENV{gpx}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
     150                                        geojson: [(#ENV{geojson,''}|?{[(#ENV{geojson}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
     151                                        topojson: [(#ENV{topojson,''}|?{[(#ENV{topojson}|gis_param_to_array|gis_kml_to_urls|json_encode)],false})],
    152152                                        options: [(#ENV*{options,#ARRAY}|json_encode)]
    153153                                });
  • _plugins_/gis/trunk/paquet.xml

    r99206 r99241  
    22        prefix="gis"
    33        categorie="divers"
    4         version="4.39.2"
     4        version="4.40.0"
    55        schema="2.1.0"
    66        etat="stable"
Note: See TracChangeset for help on using the changeset viewer.