Changeset 80095 in spip-zone


Ignore:
Timestamp:
Jan 17, 2014, 2:52:40 PM (7 years ago)
Author:
brunobergot@…
Message:

Version 4.15.0 : simplification des squelettes JSON, filtre |gis_icon_properties

  • Nouveau filtre |gis_icon_properties qui renvoie les propriétés JSON de l'icône d'un point.
  • Petit changement de comportement pour les logo des points. Si le logo ne dépasse pas 44px de largeur, on ne le retaille pas. Ainsi on permet aux utilisateurs d'utiliser des marqueurs persos en respectant leur taille et transparence.
Location:
_plugins_/gis/trunk
Files:
12 edited

Legend:

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

    r78939 r80095  
    377377        return $kml;
    378378}
     379
     380/**
     381 * Retourne les propriétés JSON de l'icône d'un point
     382 *
     383 * @param string $img
     384 *     Balise HTML `<img ... />` ou chemin de l'image (qui peut être une URL distante).
     385 * @return string
     386 *     Les propriétés de l'icône
     387**/
     388function gis_icon_properties($img=''){
     389        $props = $icon = '';
     390       
     391        if ($img) {
     392                if (largeur($img) >= 44)
     393                        $icon = extraire_attribut(filtrer('image_graver',filtrer('image_recadre',filtrer('image_passe_partout',$img,32,32),32,32,'center','transparent')),'src');
     394                else
     395                        $icon = extraire_attribut($img,'src');
     396        }
     397        else
     398                $icon = find_in_path('images/marker_defaut.png');
     399       
     400        if ($icon) {
     401                $props .= ",\n\"icon\": ". json_encode(url_absolue($icon)).",";
     402                list($h,$w) = taille_image($icon);
     403                $props .= "\n\"icon_size\": ". json_encode(array($w,$h)).",";
     404                $props .= "\n\"icon_anchor\": ". json_encode(array($w/2,$h)).",";
     405                $props .= "\n\"popup_anchor\": ". json_encode(array(1,$h/1.2));
     406        }
     407       
     408        if ($shadow = find_in_path('images/marker_defaut_shadow.png'))
     409                $props .= ",\n\"shadow\": ". json_encode(url_absolue($shadow));
     410       
     411        return $props;
     412}
     413
    379414?>
  • _plugins_/gis/trunk/json/gis.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE*|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)[
    12                                 (#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_gis>
  • _plugins_/gis/trunk/json/gis_articles.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#TITRE*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_art>
  • _plugins_/gis/trunk/json/gis_articles_branche.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#TITRE*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_art>
  • _plugins_/gis/trunk/json/gis_auteurs.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#NOM*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#BIO}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#BIO}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_auteurs>
  • _plugins_/gis/trunk/json/gis_documents.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#TITRE*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_doc>
  • _plugins_/gis/trunk/json/gis_evenements.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#TITRE*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_events>
  • _plugins_/gis/trunk/json/gis_mots.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#TITRE*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_mots>
  • _plugins_/gis/trunk/json/gis_rubriques.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#TITRE*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_rub>
  • _plugins_/gis/trunk/json/gis_sites.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#TITRE_GIS*|sinon{#NOM_SITE*}|extraire_multi|supprimer_numero|json_encode)],
    7                         "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)
    12                                 [(#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_sit>
  • _plugins_/gis/trunk/json/gis_tous_avec_liens_espace_prive.html

    r80075 r80095  
    55                "properties": {
    66                        "title":[(#VAL{<a href='[(#ID_GIS|generer_url_entite{gis,'','',0})]'>[(#TITRE*|extraire_multi|supprimer_numero|sinon{----})]</a>}|json_encode)],
    7                         "description":[(#DESCRIPTIF|json_encode)][(#SET{logo_doc,''})]
    8                         [(#LOGO_GIS|oui)
    9                         [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
    10                         [(#LOGO_GIS|non)
    11                         [(#CHEMIN{images/marker_defaut.png}|oui)[
    12                                 (#SET{logo_doc,#CHEMIN{images/marker_defaut.png}|balise_img})]
    13                         ]]
    14                         [(#GET{logo_doc}|oui)
    15                         #SET{icon_w,#GET{logo_doc}|extraire_attribut{src}|largeur}
    16                         #SET{icon_h,#GET{logo_doc}|extraire_attribut{src}|hauteur}
    17                         [,"icon": (#GET{logo_doc}|extraire_attribut{src}|url_absolue|json_encode)],
    18                         "icon_size": \[[(#GET{icon_w})],[(#GET{icon_h})]\],
    19                         "icon_anchor": \[[(#GET{icon_w}|div{2})],[(#GET{icon_h})]\],
    20                         "popup_anchor": \[1,[-(#GET{icon_h}|div{1.2})]\]][,
    21                         "shadow": (#CHEMIN{images/marker_defaut_shadow.png}|url_absolue|json_encode)]
     7                        "description":[(#DESCRIPTIF|json_encode)][(#SET{logo_doc,''})][
     8                        (#LOGO_GIS|gis_icon_properties)]
    229                }}</BOUCLE_gis>
  • _plugins_/gis/trunk/paquet.xml

    r80075 r80095  
    22        prefix="gis"
    33        categorie="divers"
    4         version="4.14.0"
     4        version="4.15.0"
    55        schema="2.0.4"
    66        etat="stable"
Note: See TracChangeset for help on using the changeset viewer.