Changeset 60882 in spip-zone


Ignore:
Timestamp:
May 3, 2012, 2:49:11 PM (9 years ago)
Author:
guy.cesaro@…
Message:

quelques reports des evolutions de la branche v2 entre r51054 et r60879 : a tester.

Location:
_plugins_/gis/trunk
Files:
18 edited
7 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/gis/trunk/action/editer_gis.php

    r53652 r60882  
    22
    33if (!defined("_ECRIRE_INC_VERSION")) return;
     4
     5include_spip('inc/autoriser');
    46
    57function action_editer_gis_dist($arg=null) {
     
    1820}
    1921
     22/**
     23 * Fonction d'insertion d'un gis vide
     24 *
     25 * @return int/false $id_gis : l'identifiant numérique du point ou false en cas de non création
     26 */
    2027function insert_gis() {
    21         $champs = array();
    22        
    23         // Envoyer aux plugins
    24         $champs = pipeline('pre_insertion', array(
    25                 'args' => array(
    26                         'table' => 'spip_gis',
    27                 ),
    28                 'data' => $champs
    29         ));
    30        
    31         $id_gis = sql_insertq("spip_gis", $champs);
    32         return $id_gis;
     28        if(autoriser('creer','gis')){
     29                $champs = array();
     30               
     31                // Envoyer aux plugins
     32                $champs = pipeline('pre_insertion', array(
     33                        'args' => array(
     34                                'table' => 'spip_gis',
     35                        ),
     36                        'data' => $champs
     37                ));
     38               
     39                $id_gis = sql_insertq("spip_gis", $champs);
     40               
     41                pipeline('post_insertion',
     42                        array(
     43                                'args' => array(
     44                                        'table' => 'spip_gis',
     45                                        'id_objet' => $id_gis
     46                                ),
     47                                'data' => $champs
     48                        )
     49                );
     50                return $id_gis;
     51        }else{
     52                return false;
     53        }
    3354}
    3455
    35 // Enregistrer certaines modifications d'un gis
     56/**
     57 *  Enregistrer certaines modifications d'un gis
     58 *
     59 * @param int $id_gis : l'identifiant numérique du point
     60 * @param array $c : un array des valeurs à mettre en base (par défaut false, on récupère les valeurs passées en dans le POST)
     61 */
    3662function revisions_gis($id_gis, $c=false) {
     63        $err = '';
    3764        // recuperer les champs dans POST s'ils ne sont pas transmis
    3865        if ($c === false) {
     
    5481                $c);
    5582       
    56         if(intval(_request('id_objet')) && _request('objet'))
    57                 lier_gis($id_gis, _request('objet'), _request('id_objet'));
     83        if ((intval(_request('id_objet')) && _request('objet')) OR (intval($c['id_objet']) && $c['objet'])) {
     84                $objet = _request('objet') ? _request('objet') : $c['objet'];
     85                $id_objet = _request('id_objet') ? _request('id_objet') : $c['id_objet'];
     86                lier_gis($id_gis, $objet, $id_objet);
     87        }
     88       
     89        return $err;
    5890}
    5991
     
    6496 * @param string $objet Le type de l'objet à lier
    6597 * @param int $id_objet L'identifiant numérique de l'objet lié
     98 *
     99 * @return bool : true si la liaison s'est bien passée, false à l'inverse
    66100 */
    67101function lier_gis($id_gis, $objet, $id_objet){
     
    70104        AND preg_match('/^[a-z0-9_]+$/i', $objet) # securite
    71105        AND !sql_getfetsel("id_gis", "spip_gis_liens", "id_gis=$id_gis AND id_objet=$id_objet AND objet=".sql_quote($objet))
     106        AND autoriser('lier','gis',$id_gis,$GLOBALS['visiteur_session'],array('objet' => $objet,'id_objet'=>$id_objet))
    72107        ) {
    73108                sql_insertq('spip_gis_liens',
     
    75110                                'id_objet' => $id_objet,
    76111                                'objet' => $objet));
     112                include_spip('inc/invalideur');
     113                suivre_invalideur("id='id_gis/$id_gis'");
     114                return true;
    77115        }
     116        return false;
    78117}
    79118
     
    84123 * @param string $objet Le type de l'objet à lier
    85124 * @param int $id_objet L'identifiant numérique de l'objet lié
     125 *
     126 * @return bool : true si la suppression de la liaison s'est bien passée, false à l'inverse
    86127 */
    87128function delier_gis($id_gis, $objet, $id_objet){
     
    89130        if ($id_objet AND $id_gis
    90131        AND preg_match('/^[a-z0-9_]+$/i', $objet) # securite
     132        AND autoriser('delier','gis',$id_gis,$GLOBALS['visiteur_session'],array('objet' => $objet,'id_objet'=>$id_objet))
    91133        ) {
    92134                sql_delete('spip_gis_liens', "id_gis=$id_gis AND id_objet=$id_objet AND objet=". sql_quote($objet));
     135                include_spip('inc/invalideur');
     136                suivre_invalideur("id='id_gis/$id_gis'");
     137                return true;
    93138        }
    94         include_spip('inc/invalideur');
    95         suivre_invalideur("id='id_gis/$id_gis'");
     139        return false;
    96140}
    97141
     142/**
     143 * Supprimer définitivement un point géolocalisé
     144 *
     145 * @param int $id_gis identifiant numérique du point
     146 * @return 0/false 0 si réussite, false dans le cas ou le point n'existe pas
     147 */
    98148function supprimer_gis($id_gis){
    99         if (intval($id_gis)){
     149        $valide = sql_getfetsel('id_gis','spip_gis','id_gis='.intval($id_gis));
     150        if($valide && autoriser('supprimer','gis',$valide)){
    100151                sql_delete("spip_gis_liens", "id_gis=".intval($id_gis));
    101152                sql_delete("spip_gis", "id_gis=".intval($id_gis));
     153                $id_gis = 0;
     154                include_spip('inc/invalideur');
     155                suivre_invalideur("id='id_gis/$id_gis'");
     156                return $id_gis;
    102157        }
    103         $id_gis = 0;
    104         include_spip('inc/invalideur');
    105         suivre_invalideur("id='id_gis/$id_gis'");
    106         return $id_gis;
     158        return false;
    107159}
    108160
  • _plugins_/gis/trunk/action/editer_lien_gis.php

    r48696 r60882  
    1010       
    1111        include_spip('inc/autoriser');
    12         if (intval($id_gis) AND autoriser('modifier','gis',$id_gis,null,null)){
     12        if (intval($id_gis) AND autoriser('lier','gis',$id_gis,$GLOBALS['visiteur_session'],array('objet' => $objet,'id_objet'=>$id_objet))){
    1313                include_spip('action/editer_gis');
    1414                if ($action == 'lier')
  • _plugins_/gis/trunk/action/supprimer_gis.php

    r48696 r60882  
    1111        list($id_gis) = preg_split(',[^0-9],',$arg);
    1212        include_spip('inc/autoriser');
    13         if (intval($id_gis) AND autoriser('supprimer','gis',$id_gis,null,null)){
     13        if (intval($id_gis) AND autoriser('supprimer','gis',$id_gis)){
    1414                include_spip("action/editer_gis");
    1515                supprimer_gis($id_gis);
  • _plugins_/gis/trunk/base/gis.php

    r53872 r60882  
    1818        $interface['table_des_tables']['gis_liens']='gis_liens';
    1919
     20        // Traitements typo et raccourcis
     21        $interface['table_des_traitements']['DESCRIPTIF_GIS'][]= _TRAITEMENT_RACCOURCIS;
     22        $interface['table_des_traitements']['VILLE'][]= 'typo(extraire_multi(%s))';
     23        $interface['table_des_traitements']['PAYS'][]= 'typo(extraire_multi(%s))';
     24       
    2025        return $interface;
    2126}
  • _plugins_/gis/trunk/formulaires/configurer_gis.html

    r56733 r60882  
    132132                var map;
    133133                var map_container = 'map_config';
     134                // ne pas doublonner la carte quand on passe plusieurs fois dans ajaxload, pas propre mais bon...
     135        $('#map_config').empty();
    134136                map = new mxn.Mapstraction(map_container,'[(#REM|gis_api_utilisee)]');
    135137                map.setCenterAndZoom(new mxn.LatLonPoint(#ENV{lat,0},#ENV{lon,0}),#ENV{zoom,0});
     
    171173        }
    172174       
    173         var geocoders = ['cartociudad','google','googlev3','yandex'];
     175        var geocoders = ['cartociudad','google','googlev3','yandex','openlayers'];
    174176       
    175177        var show_geocoder = function(){
  • _plugins_/gis/trunk/gis_fonctions.php

    r53842 r60882  
    7777       
    7878        $boucle = &$boucles[$idb];
    79         $id = $boucle->primary;
    80        
    81         // exclure l'élément en cours des résultats
    82         $id_gis = calculer_argument_precedent($idb,$id, $boucles);
    83         $boucle->where[]= array("'!='", "'$boucle->id_table." . "$id'", $id_gis);
    84        
    85         // récupérer les paramètres du critère
    86         $op='';
    87         $params = $crit->param;
    88         $type = array_shift($params);
    89         $type = $type[0]->texte;
    90         if(preg_match(',^(\w+)([<>=]+)([0-9]+)$,',$type,$r)){
    91                 $type=$r[1];
    92                 $op=$r[2];
    93                 $op_val=$r[3];
     79        $id_table = $boucle->id_table; // articles
     80        $primary = $boucle->primary; // id_article
     81        $objet = objet_type($id_table); // article
     82       
     83        if ($id_table == 'gis') {
     84                // exclure l'élément en cours des résultats
     85                $id_gis = calculer_argument_precedent($idb,$primary, $boucles);
     86                $boucle->where[]= array("'!='", "'$boucle->id_table." . "$primary'", $id_gis);
     87               
     88                // récupérer les paramètres du critère
     89                $op='';
     90                $params = $crit->param;
     91                $type = array_shift($params);
     92                $type = $type[0]->texte;
     93                if(preg_match(',^(\w+)([<>=]+)([0-9]+)$,',$type,$r)){
     94                        $type=$r[1];
     95                        $op=$r[2];
     96                        $op_val=$r[3];
     97                }
     98                if ($op)
     99                        $boucle->having[]= array("'".$op."'", "'".$type."'",$op_val);
     100               
     101                // récupérer lat/lon du point de la boucle englobante
     102                $lat = calculer_argument_precedent($idb,'lat', $boucles);
     103                $lon = calculer_argument_precedent($idb,'lon', $boucles);
     104               
     105                // http://www.awelty.fr/developpement-web/php/
     106                // http://www.movable-type.co.uk/scripts/latlong-db.html
     107                // http://code.google.com/intl/fr/apis/maps/articles/geospatial.html#geospatial
     108                $select = "(6371 * acos( cos( radians(\".$lat.\") ) * cos( radians( gis.lat ) ) * cos( radians( gis.lon ) - radians(\".$lon.\") ) + sin( radians(\".$lat.\") ) * sin( radians( gis.lat ) ) ) ) AS distance";
     109                $order = "'distance'";
     110               
     111                $boucle->select[]= $select;
     112                $boucle->order[]= $order;
     113        } else {
     114                // ajouter tous les champs du point au select
     115                // et les suffixer pour lever toute ambiguite avec des champs homonymes
     116                $boucle->select[]= 'gis.titre AS titre_gis';
     117                $boucle->select[]= 'gis.descriptif AS descriptif_gis';
     118                $boucle->select[]= 'gis.adresse AS adresse_gis';
     119                $boucle->select[]= 'gis.pays AS pays_gis';
     120                $boucle->select[]= 'gis.code_pays AS code_pays_gis';
     121                $boucle->select[]= 'gis.region AS region_gis';
     122                $boucle->select[]= 'gis.ville AS ville_gis';
     123                $boucle->select[]= 'gis.code_postal AS code_postal_gis';
     124                // jointure sur spip_gis_liens/spip_gis
     125                // cf plugin notation
     126                // $boucle->join["surnom (as) table de liaison"] = array("surnom de la table a lier", "cle primaire de la table de liaison", "identifiant a lier", "type d'objet de l'identifiant");
     127                $boucle->from['gis_liens'] = 'spip_gis_liens';
     128                $boucle->join['gis_liens']= array("'$id_table'","'id_objet'","'$primary'","'gis_liens.objet='.sql_quote('$objet')");
     129                $boucle->from['gis'] = 'spip_gis';
     130                $boucle->join['gis']= array("'gis_liens'","'id_gis'");
     131                // bien renvoyer tous les points qui son attachés à l'objet
     132                $boucle->group[] = 'gis_liens.id_gis';
     133                // ajouter gis aux jointures et spécifier les jointures explicites pour pouvoir utiliser les balises de la table de jointure
     134                // permet de passer dans trouver_champ_exterieur() depuis index_tables_en_pile()
     135                // cf http://article.gmane.org/gmane.comp.web.spip.zone/6628
     136                $boucle->jointures[] = 'gis';
     137                $boucle->jointures_explicites = 'gis_liens gis';
    94138        }
    95         if ($op)
    96                 $boucle->having[]= array("'".$op."'", "'".$type."'",$op_val);
    97        
    98         // récupérer lat/lon du point de la boucle englobante
    99         $lat = calculer_argument_precedent($idb,'lat', $boucles);
    100         $lon = calculer_argument_precedent($idb,'lon', $boucles);
    101        
    102         // http://www.awelty.fr/developpement-web/php/
    103         // http://www.movable-type.co.uk/scripts/latlong-db.html
    104         // http://code.google.com/intl/fr/apis/maps/articles/geospatial.html#geospatial
    105         $select = "(6371 * acos( cos( radians(\".$lat.\") ) * cos( radians( gis.lat ) ) * cos( radians( gis.lon ) - radians(\".$lon.\") ) + sin( radians(\".$lat.\") ) * sin( radians( gis.lat ) ) ) ) AS distance";
    106         $order = "'distance'";
    107        
    108         $boucle->select[]= $select;
    109         $boucle->order[]= $order;
    110139       
    111140}
     
    119148function balise_distance_dist($p) {
    120149        return rindex_pile($p, 'distance', 'gis');
     150}
     151
     152/**
     153 * Balise #TITRE_GIS : retourne le titre du point
     154 * Necessite le critere {gis} sur la boucle
     155 *
     156 * @param unknown_type $p
     157 */
     158function balise_titre_gis_dist($p) {
     159        return rindex_pile($p, 'titre_gis', 'gis');
     160}
     161
     162/**
     163 * Balise #DESCRIPTIF_GIS : retourne le descriptif du point
     164 * Necessite le critere {gis} sur la boucle
     165 *
     166 * @param unknown_type $p
     167 */
     168function balise_descriptif_gis_dist($p) {
     169        return rindex_pile($p, 'descriptif_gis', 'gis');
    121170}
    122171
  • _plugins_/gis/trunk/gis_options.php

    r58780 r60882  
    55define('_DIR_LIB_GIS','lib/mxn-gis-2.2.2/');
    66
    7 $table_des_traitements['VILLE'][]= 'typo(extraire_multi(%s))';
    8 $table_des_traitements['PAYS'][]= 'typo(extraire_multi(%s))';
    9 
    107$GLOBALS['logo_libelles']['id_gis'] = _T('gis:libelle_logo_gis');
    118
  • _plugins_/gis/trunk/gis_pipelines.php

    r55787 r60882  
    3939               
    4040        // insertion de la lib mapstraction
    41         if(in_array($config['api'],array('cartociudad','google','googlev3','yandex'))){
     41        if(in_array($config['api'],array('cartociudad','google','googlev3','yandex','openlayers'))){
    4242                $geocoder = ($config['geocoder']) ? ',[geocoder]' : '';
    4343        }else{
     
    282282}
    283283
     284/**
     285 * Insertion dans le pipeline xmlrpc_methodes (xmlrpc)
     286 * Ajout de méthodes xml-rpc spécifiques à GIS
     287 *
     288 * @param array $flux : un array des methodes déjà présentes, fonctionnant sous la forme :
     289 * -* clé = nom de la méthode;
     290 * -* valeur = le nom de la fonction à appeler;
     291 * @return array $flux : l'array complété avec nos nouvelles méthodes
     292 */
     293function gis_xmlrpc_methodes($flux){
     294        $flux['spip.liste_gis'] = 'spip_liste_gis';
     295        $flux['spip.lire_gis'] = 'spip_lire_gis';
     296        return $flux;
     297}
     298
     299/**
     300 * Insertion dans le pipeline xmlrpc_server_class (xmlrpc)
     301 * Ajout de fonctions spécifiques utilisés par le serveur xml-rpc
     302 */
     303function gis_xmlrpc_server_class($flux){
     304        include_spip('inc/gis_xmlrpc');
     305        return $flux;
     306}
     307
    284308?>
  • _plugins_/gis/trunk/javascript/gis.js

    r58780 r60882  
    99function gis_close_infowindows(map) {
    1010        var map = eval('map'+ map);
    11         for (i in map.markers) {
     11        for (var i = 0; i < map.markers.length; i++) {
    1212                map.markers[i].closeBubble();
    1313        }
     
    1717        var mxn = eval('map'+ map);
    1818        gis_close_infowindows(map);
    19         for (i in mxn.markers) {
     19        for (var i = 0; i < mxn.markers.length; i++) {
    2020                if (mxn.markers[i].attributes.marker == id) {
    2121                        mxn.setCenter(mxn.markers[i].location);
     
    2727function gis_autofocus_marker(map) {
    2828        var mxn = eval('map'+ map);
    29         for (i in mxn.markers) {
     29        for (var i = 0; i < mxn.markers.length; i++) {
    3030                mxn.markers[i].openInfoBubble.addHandler(function(name, source, args) {
    3131                        gis_close_infowindows(map);
  • _plugins_/gis/trunk/json/gis.html

    r52466 r60882  
    33                "geometry": {"type": "Point", "coordinates": [#LON, #LAT]},
    44                "id":"#ID_GIS",
    5                 "title":[(#TITRE|supprimer_numero|json_encode)],
     5                "title":[(#TITRE*|supprimer_numero|json_encode)],
    66                "description":[(#DESCRIPTIF|json_encode)][(#SET{logo_doc,''})]
    77                [(#LOGO_GIS|oui)
  • _plugins_/gis/trunk/json/gis_articles.html

    r52466 r60882  
    1                 <BOUCLE_art(ARTICLES){id_article ?}{id_rubrique ?}{id_secteur ?}{id_mot ?}{id_auteur ?}{recherche ?}{0, #ENV{limit}}{","}><BOUCLE_gis(GIS){id_article}{","}>
     1                <BOUCLE_art(ARTICLES){gis}{id_article ?}{id_rubrique ?}{id_secteur ?}{id_mot ?}{id_auteur ?}{recherche ?}{0, #ENV{limit}}{","}>
    22                {"type": "Feature",
    33                "geometry": {"type": "Point", "coordinates": [#LON, #LAT]},
    44                "id":"#ID_GIS",
    5                 "title":[(#TITRE|sinon{#_art:TITRE}|supprimer_numero|json_encode)],
    6                 "description":[(#DESCRIPTIF|sinon{#_art:DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
     5                "title":[(#TITRE_GIS*|sinon{#TITRE*}|supprimer_numero|json_encode)],
     6                "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    77                [(#LOGO_GIS|oui)
    88                [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
     
    1818                "icon_size": [(#VAL{91}|chr)]#GET{icon_w},#GET{icon_h}[(#VAL{93}|chr)],
    1919                "icon_anchor": [(#VAL{91}|chr)][(#GET{icon_w}|div{2})],[(#GET{icon_h})][(#VAL{93}|chr)]
    20                 ]}</BOUCLE_gis></BOUCLE_art>
     20                ]}</BOUCLE_art>
  • _plugins_/gis/trunk/json/gis_auteurs.html

    r52466 r60882  
    1                 <BOUCLE_auteurs(AUTEURS){id_article ?}{id_auteur ?}{recherche ?}{0, #ENV{limit}}{","}><BOUCLE_gis(GIS){id_auteur}{","}>
     1                <BOUCLE_auteurs(AUTEURS){gis}{id_article ?}{id_auteur ?}{recherche ?}{0, #ENV{limit}}{","}>
    22                {"type": "Feature",
    33                "geometry": {"type": "Point", "coordinates": [#LON, #LAT]},
    44                "id":"#ID_GIS",
    5                 "title":[(#TITRE|sinon{#_auteurs:NOM}|supprimer_numero|json_encode)],
    6                 "description":[(#DESCRIPTIF|sinon{#_auteurs:BIO}|json_encode)][(#SET{logo_doc,''})]
     5                "title":[(#TITRE_GIS*|sinon{#NOM*}|supprimer_numero|json_encode)],
     6                "description":[(#DESCRIPTIF_GIS|sinon{#BIO}|json_encode)][(#SET{logo_doc,''})]
    77                [(#LOGO_GIS|oui)
    88                [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
     
    1818                "icon_size": [(#VAL{91}|chr)]#GET{icon_w},#GET{icon_h}[(#VAL{93}|chr)],
    1919                "icon_anchor": [(#VAL{91}|chr)][(#GET{icon_w}|div{2})],[(#GET{icon_h})][(#VAL{93}|chr)]
    20                 ]}</BOUCLE_gis></BOUCLE_auteurs>
     20                ]}</BOUCLE_auteurs>
  • _plugins_/gis/trunk/json/gis_mots.html

    r52466 r60882  
    1                 <BOUCLE_mots(MOTS){id_mot ?}{id_groupe ?}{id_article ?}{id_rubrique ?}{id_breve ?}{id_syndic ?}{id_forum ?}{recherche ?}{0, #ENV{limit}}{","}><BOUCLE_gis(GIS){id_mot}{","}>
     1                <BOUCLE_mots(MOTS){gis}{id_mot ?}{id_groupe ?}{id_article ?}{id_rubrique ?}{id_breve ?}{id_syndic ?}{id_forum ?}{recherche ?}{0, #ENV{limit}}{","}>
    22                {"type": "Feature",
    33                "geometry": {"type": "Point", "coordinates": [#LON, #LAT]},
    44                "id":"#ID_GIS",
    5                 "title":[(#TITRE|sinon{#_mots:TITRE}|supprimer_numero|json_encode)],
    6                 "description":[(#DESCRIPTIF|sinon{#_mots:DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
     5                "title":[(#TITRE_GIS*|sinon{#TITRE*}|supprimer_numero|json_encode)],
     6                "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    77                [(#LOGO_GIS|oui)
    88                [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
     
    1818                "icon_size": [(#VAL{91}|chr)]#GET{icon_w},#GET{icon_h}[(#VAL{93}|chr)],
    1919                "icon_anchor": [(#VAL{91}|chr)][(#GET{icon_w}|div{2})],[(#GET{icon_h})][(#VAL{93}|chr)]
    20                 ]}</BOUCLE_gis></BOUCLE_mots>
     20                ]}</BOUCLE_mots>
  • _plugins_/gis/trunk/json/gis_rubriques.html

    r52466 r60882  
    1                 <BOUCLE_rub(RUBRIQUES){id_rubrique ?}{id_secteur ?}{id_parent?=#ENV{id_parent}}{id_mot ?}{recherche ?}{0, #ENV{limit}}{","}><BOUCLE_gis(GIS){id_rubrique}{","}>
     1                <BOUCLE_rub(RUBRIQUES){gis}{id_rubrique ?}{id_secteur ?}{id_parent?=#ENV{id_parent}}{id_mot ?}{recherche ?}{0, #ENV{limit}}{","}>
    22                {"type": "Feature",
    33                "geometry": {"type": "Point", "coordinates": [#LON, #LAT]},
    44                "id":"#ID_GIS",
    5                 "title":[(#TITRE|sinon{#_rub:TITRE}|supprimer_numero|json_encode)],
    6                 "description":[(#DESCRIPTIF|sinon{#_rub:DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
     5                "title":[(#TITRE_GIS*|sinon{#TITRE*}|supprimer_numero|json_encode)],
     6                "description":[(#DESCRIPTIF_GIS|sinon{#DESCRIPTIF}|json_encode)][(#SET{logo_doc,''})]
    77                [(#LOGO_GIS|oui)
    88                [(#SET{logo_doc,#LOGO_GIS|image_passe_partout{32,32}|image_recadre{32,32}})]]
     
    1818                "icon_size": [(#VAL{91}|chr)]#GET{icon_w},#GET{icon_h}[(#VAL{93}|chr)],
    1919                "icon_anchor": [(#VAL{91}|chr)][(#GET{icon_w}|div{2})],[(#GET{icon_h})][(#VAL{93}|chr)]
    20                 ]}</BOUCLE_gis></BOUCLE_rub>
     20                ]}</BOUCLE_rub>
  • _plugins_/gis/trunk/lang/gis_fr.php

    r55750 r60882  
    1616
    1717        // C
    18         'cfg_descr_gis' => 'Système d\'Information Géographique.<br /><a href="http://www.spip-contrib.net/3887">Accéder la documentation</a>.',
     18        'cfg_descr_gis' => 'Système d\'Information Géographique.<br /><a href="http://www.spip-contrib.net/3887" class="spip_out">Accéder la documentation</a>.',
    1919        'cfg_inf_adresse' => 'Affiche des champs supplémentaires d\'adresse (pays, ville, région, adresse...)',
    20         'cfg_inf_cloudmade' => 'Cette API nécessite une clé à créer sur <a href=\'@url@\'>le site de CloudMade</a>.',
     20        'cfg_inf_cloudmade' => 'Cette API nécessite une clé à créer sur <a href=\'@url@\' class="spip_out">le site de CloudMade</a>.',
    2121        'cfg_inf_geocoder' => 'Activer les fonctions du geocoder (recherche à partir d\'une adresse, récupération de l\'adresse à partir des coordonnées).',
    2222        'cfg_inf_geolocaliser_user_html5' => 'Si le navigateur de l\'utilisateur le permet, son emplacement géographique approximatif est récupéré pour donner la position par défaut lors de la création d\'un point.',
    23         'cfg_inf_google' => 'Cette API nécessite une clé à créer sur <a href=\'@url@\'>le site de GoogleMaps</a>.',
    24         'cfg_inf_yandex' => 'Cette API nécessite une clé à créer sur <a href=\'@url@\'>le site de Yandex</a>.',
     23        'cfg_inf_google' => 'Cette API nécessite une clé à créer sur <a href=\'@url@\' class="spip_out">le site de GoogleMaps</a>.',
     24        'cfg_inf_yandex' => 'Cette API nécessite une clé à créer sur <a href=\'@url@\' class="spip_out">le site de Yandex</a>.',
    2525        'cfg_lbl_activer_objets' => 'Activer la géolocalisation sur les contenus :',
    2626        'cfg_lbl_adresse' => 'Afficher les champs d\'adresse',
     
    5252        'editer_gis_titre' => 'Les points géolocalisés',
    5353        'erreur_recherche_pas_resultats' => 'Aucun point ne correspond à la recherche.',
     54        'erreur_xmlrpc_lat_lon' => 'La latitude et la longitude doivent être passées en argument',
    5455        'explication_api_forcee' => 'L\'API est imposée par un autre plugin ou squelette.',
    5556        'explication_maptype_force' => 'Le fond cartographique est imposé par un autre plugin ou squelette.',
  • _plugins_/gis/trunk/modeles/carte_gis.html

    r58780 r60882  
    3131        - localize_visitor|localiser_visiteur = oui             centrer la carte sur la position du visiteur (API geolocation HTML5)
    3232        - point = non                                   si elle vaut "non" cette option n'affichera pas de points du tout (utile pour n'afficher qu'un kml par exemple)
     33        - ajaxload = non                si elle vaut "non" cette option désactive l'init de la carte sur l'event ajaxload
    3334
    3435]
     
    112113                        ;
    113114        }
    114 
     115               
     116                #SET{map_controls,#ARRAY}
     117               
    115118                [(#ENV{no_control,#ENV{aucun_controle}}|!={oui}|oui)
    116                 map[(#GET{id})].addControls({zoom: '[(#ENV{control_zoom,large})]'});]
     119                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{zoom,#ENV{control_zoom,large}}}})]
     120                ]
    117121       
    118122                [(#ENV{overview}|oui)
    119                 map[(#GET{id})].addControls({overview: true});]
    120        
     123                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{overview,true}}})]
     124                ]
     125               
    121126                [(#ENV{scale}|oui)
    122                 map[(#GET{id})].addControls({scale: true});]
    123        
     127                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{scale,true}}})]
     128                ]
     129               
    124130                [(#ENV{control_type,#ENV{controle_type}}|!={non}|oui)
    125                 map[(#GET{id})].addControls({map_type: true});]
    126                
    127                 [(#ENV{control_pan,#ENV{controle_pan}}|!={non}|oui)
    128                 map[(#GET{id})].addControls({pan: true});]
    129 
     131                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{map_type,true}}})]
     132                ]
     133               
     134                [(#ENV{control_pan,#ENV{controle_pan}}|!={non}|oui)
     135                        [(#SET{map_controls,#GET{map_controls}|array_merge{#ARRAY{pan,true}}})]
     136                ]
     137               
     138                map[(#GET{id})].addControls([(#GET{map_controls}|json_encode)]);
     139               
    130140                [(#ENV{point}|!={non}|oui)
    131141                jQuery.getJSON("[(#URL_PAGE{gis_json}|url_absolue)]",
    132142                        {[
    133                                 objets : "(#ENV{objets,#ENV{class}})",][
    134                                 id_rubrique : (#ENV{id_rubrique}),][
    135                                 id_secteur : (#ENV{id_secteur}),][
    136                                 id_parent : (#ENV{id_parent}),][
    137                                 id_article : (#ENV{id_article}),][
    138                                 id_breve : (#ENV{id_breve}),][
    139                                 id_document : (#ENV{id_document}),][
    140                                 id_mot : (#ENV{id_mot}),][
    141                                 id_groupe : (#ENV{id_groupe}),][
    142                                 id_auteur : (#ENV{id_auteur}),][
    143                                 id_syndic : (#ENV{id_syndic}),][
    144                                 id_forum : (#ENV{id_forum}),][
    145                                 id_gis : (#ENV{id_gis}),][
     143                                objets : "(#ENV{objets,#ENV{class}}|trim)",][
     144                                id_rubrique : (#ENV{id_rubrique}|trim),][
     145                                id_secteur : (#ENV{id_secteur}|trim),][
     146                                id_parent : (#ENV{id_parent}|trim),][
     147                                id_article : (#ENV{id_article}|trim),][
     148                                id_breve : (#ENV{id_breve}|trim),][
     149                                id_document : (#ENV{id_document}|trim),][
     150                                id_mot : (#ENV{id_mot}|trim),][
     151                                id_groupe : (#ENV{id_groupe}|trim),][
     152                                id_auteur : (#ENV{id_auteur}|trim),][
     153                                id_syndic : (#ENV{id_syndic}|trim),][
     154                                id_forum : (#ENV{id_forum}|trim),][
     155                                id_evenement : (#ENV{id_evenement}|trim),][
     156                                id_gis : (#ENV{id_gis}|trim),][
    146157                                recherche : "(#ENV{recherche})",][
    147                                 limit : (#ENV{limit,#ENV{limite,500}})]
     158                                mots : (#ENV{mots}|?{[(#ENV{mots}|trim|json_encode)],''}),][
     159                                limit : (#ENV{limit,#ENV{limite,500}}|trim)]
    148160                        },
    149161                        function(data) {
     
    185197        $(function(){
    186198                init_map[(#GET{id})]();
    187                 onAjaxLoad(init_map[(#GET{id})]);
     199                [(#ENV{ajaxload}|!={non}|oui)onAjaxLoad(init_map[(#GET{id})]);]
    188200        });
    189201
  • _plugins_/gis/trunk/modeles/carte_gis_preview.html

    r53820 r60882  
    1212                var map_preview_container = 'map_preview';
    1313                var marker;
     14                // ne pas doublonner la carte quand on passe plusieurs fois dans ajaxload, pas propre mais bon...
     15                $('#map_preview').empty();
    1416                map_preview = new mxn.Mapstraction(map_preview_container,'[(#REM|gis_api_utilisee)]');
    1517        // Pour l'API Openlayers, la methode n'existe pas
  • _plugins_/gis/trunk/paquet.xml

    r58780 r60882  
    22        prefix="gis"
    33        categorie="divers"
    4         version="3.2.3"
     4        version="3.3.0"
    55        schema="2.0.2"
    66        etat="test"
     
    7474                inclure="gis_pipelines.php"
    7575        />
    76        
     76        <pipeline
     77                nom="xmlrpc_methodes"
     78                inclure="gis_pipelines.php"
     79        />
     80        <pipeline
     81                nom="xmlrpc_server_class"
     82                inclure="gis_pipelines.php"
     83        />     
    7784        <menu nom="gis_tous" titre="gis:icone_gis_tous" parent="menu_edition" icone="images/gis-16.png" />
    7885        <menu nom="configurer_gis" titre="gis:cfg_titre_gis" parent="menu_configuration" icone="images/gis-16.png" />
Note: See TracChangeset for help on using the changeset viewer.