Ignore:
Timestamp:
02/05/11 15:46:55 (10 years ago)
Author:
kent1
Message:

On commence à travailler autour de gis2

Location:
plugins_spip/diogene_complements/diogene_geo
Files:
1 deleted
3 edited

Legend:

Unmodified
Added
Removed
  • plugins_spip/diogene_complements/diogene_geo/diogene_geo_pipelines.php

    r4244 r4908  
    1010function diogene_geo_diogene_ajouter_saisies($flux){
    1111        $id_article = $flux['args']['contexte']['id_article'];
     12        $id_rubrique = $flux['args']['contexte']['id_rubrique'];
     13        spip_log(unserialize($flux['args']['champs_ajoutes']),'diogene');
    1214        if(is_array(unserialize($flux['args']['champs_ajoutes'])) && in_array('geo',unserialize($flux['args']['champs_ajoutes']))){
    13                 if($id_article){
     15                if($id_article OR $id_rubrique){
     16                        spip_log('lo','diogene');
    1417                        if(intval($id_article)){
    15                                 $valeurs_gis = sql_fetsel("lat,lonx,zoom","spip_gis","id_article=$id_article");
    16                                 if(is_array($valeurs_gis)){
    17                                         $flux['args']['contexte'] = array_merge($flux['args']['contexte'],$valeurs_gis);
    18                                 }
     18                                $objet = sql_quote('article');
     19                                $valeurs_gis = sql_fetsel("id_gis,lat,lon,zoom,titre,descriptif","spip_gis AS gis LEFT JOIN spip_gis_liens AS lien USING(id_gis)","lien.id_objet=$id_article AND lien.objet=".$objet);
     20                        }else if(intval($id_rubrique)){
     21                                $objet = sql_quote('rubrique');
     22                                $valeurs_gis = sql_fetsel("id_gis,lat,lon,zoom,titre,descriptif","spip_gis AS gis LEFT JOIN spip_gis_liens AS lien USING(id_gis)","lien.id_objet=$id_rubrique AND lien.objet=".$objet);
     23                        }
     24                        if(is_array($valeurs_gis)){
     25                                $valeurs_gis['gis_titre'] = $valeurs_gis['titre'];
     26                                $valeurs_gis['gis_descriptif'] = $valeurs_gis['descriptif'];
     27                                unset($valeurs_gis['titre']);
     28                                unset($valeurs_gis['gis_descriptif']);
     29                                $flux['args']['contexte'] = array_merge($flux['args']['contexte'],$valeurs_gis);
    1930                        }
    2031                $flux['data'] .= recuperer_fond('formulaires/diogene_ajouter_medias_geo',$flux['args']['contexte']);
     
    2233        }
    2334    return $flux;
    24     }
     35}
    2536
    2637function diogene_geo_diogene_traiter($flux){
     
    100111
    101112function diogene_geo_diogene_champs_sup($flux){
    102         $flux['article']['geo'] = _T('diogene_geo:form_legend');
     113        $flux['article']['geo'] = $flux['page']['geo'] = $flux['emballe_media']['geo'] = _T('diogene_geo:form_legend');
    103114        $flux['rubrique']['geo'] = _T('diogene_geo:form_legend');
    104115        return $flux;
  • plugins_spip/diogene_complements/diogene_geo/formulaires/diogene_ajouter_medias_geo.html

    r3715 r4908  
    11#CACHE{0}
    2 [(#SET{lonx,[(#ENV{lonx}|?{#ENV{lonx},#CONFIG{geomap/longitude}})]})]
    3 [(#SET{lat,[(#ENV{lat}|?{#ENV{lat},#CONFIG{geomap/latitude}})]})]
    4 [(#SET{zoom,[(#ENV{zoom}|?{#ENV{zoom},#CONFIG{geomap/zoom}})]})]
     2
    53<li class="fieldset diogene_geo">
    64<fieldset>
    75        <h3 class="legend"><:diogene_geo:form_legend:></h3>
    86        <ul>
    9 
    10                 [(#SAISIE{case,non_localisable,
    11                         label=<:diogene_geo:non_localisable:>,
    12                         label_case=<:diogene_geo:non_localisable_case:>})]
    13 
    14                 [(#CONFIG{geomap/cle_api}|oui)
    15                         <INCLURE{fond=prive/inc-diogene_geo_map}{lat=#GET{lat}}{lonx=#GET{lonx}}{zoom=#GET{zoom}}>
    16                 ]
     7                <li style="padding:0" class="editer editer_carte">
     8                        <div id="geomap" name="formMap" style="width: 100%; height: 350px"></div>
     9                                <script type="text/javascript">
     10                                <!--
     11                                var form_map;
     12                                [(#ENV{recherche}|!={non}|oui|et{#CONFIG{gis/geocoder}|oui})
     13                                [(#SET{geocoder,oui})]
     14                                var geocoder;]
     15                               
     16                                (function($){
     17                                       
     18                                        var maj_inputs = function(map,pos) {
     19                                                var zoom = map.getZoom();
     20                                                $("#champ_lat").val(pos.lat);
     21                                                $("#champ_lon").val(pos.lon);
     22                                                $("#champ_zoom").val(zoom);
     23                                        }
     24                                       
     25                                        [(#GET{geocoder}|oui)
     26                                        function geocode(address) {
     27                                                form_map.setCenterAndZoom(address.point, 15);
     28                                                geocode_marker = new mxn.Marker(address.point);
     29                                                var info = address.locality + ", " + address.region;
     30                                                geocode_marker.setInfoBubble(info);
     31                                                form_map.addMarker(geocode_marker);
     32                                                geocode_marker.openBubble();
     33                                                maj_inputs(form_map,address.point);
     34                                        }]
     35                               
     36                                        var init_map = function() {
     37                                                // creer la carte
     38                                                var map_container = 'geomap';
     39                                                form_map = new mxn.Mapstraction(map_container,'#CONFIG{gis/api,openlayers}');
     40                                                form_map.setCenterAndZoom(new mxn.LatLonPoint(#ENV{lat,#CONFIG{gis/lat,0}},#ENV{lon,#CONFIG{gis/lon,0}}),#ENV{zoom,#CONFIG{gis/zoom,0}});
     41                                               
     42                                                [(#GET{geocoder}|oui)
     43                                                // geocoder
     44                                                geocoder = new mxn.Geocoder('#CONFIG{gis/api,openlayers}',geocode);]
     45                                               
     46                                                [(#ENV{lat}|oui)
     47                                                point = new mxn.LatLonPoint([(#ENV{lat})],[(#ENV{lon})]);
     48                                                marker = new mxn.Marker(point);
     49                                                form_map.addMarker(marker);]
     50                                               
     51                                                // mettre a jour les coordonnees quand on clique la carte
     52                                                form_map.click.addHandler(function(name, source, args) {
     53                                                        var pos = args.location;
     54                                                        form_map.removeAllMarkers();
     55                                                        marker = new mxn.Marker(pos);
     56                                                        marker.setDraggable(true);
     57                                                        form_map.addMarker(marker);
     58                                                        form_map.setCenter(pos,{pan:true});
     59                                                        maj_inputs(form_map,pos);
     60                                                });
     61                                               
     62                                                // mettre à jour le zoom quand on le modifie
     63                                                form_map.changeZoom.addHandler(function(name, source, args) {
     64                                                        var zoom = source.getZoom();
     65                                                        $("#champ_zoom").val(zoom);
     66                                                });
     67                                               
     68                                                [(#GET{geocoder}|oui)
     69                                                // geocoder si clic...
     70                                                $('a#gis_rechercher').css("cursor","pointer").click(function(){
     71                                                        var address = {};
     72                                                        address.address = $("#champ_gis_adresse").attr("value");
     73                                                        geocoder.geocode(address);
     74                                                });
     75                               
     76                                                // ne pas soumettre le formulaire si on presse Entree depuis le champ de recherche
     77                                                $('#champ_gis_adresse').keypress(function(e){
     78                                                        if (e.which == 13) {
     79                                                                $('a#rechercher').trigger("click");
     80                                                                return false;
     81                                                        }
     82                                                });]
     83                               
     84                                        };
     85                               
     86                                        $(function(){
     87                                                init_map();
     88                                                onAjaxLoad(init_map);
     89                                        });
     90                                       
     91                                })(jQuery);
     92                                -->
     93                                </script>
     94                        </li>
     95                [(#SAISIE{hidden,id_gis})]
     96                [(#GET{geocoder}|oui)
    1797                <li class="rechercher_adresse">
    18                         <input type='hidden' name='pays' id='pays' value='' />
    19                         <input type='hidden' name='code_pays' id='code_pays' value='' />
    20                         <input type='hidden' name='region' id='region' value='' />
    21                         <input type='hidden' name='ville' id='ville' value='' />
    22                         <input type='hidden' name='code_postal' id='code_postal' value='' />
    23                         <input type="text" class="text" name="map_adresse" id="map_adresse" value="<:diogene_geo:adresse:>" />
    24                         <a id="rechercher"><:gis:label_address:></a>
    25                 </li>
    26 
     98                        <label for="champ_adresse"><:gis:label_address:></label>
     99                        <input type="text" class="text nomulti" name="champ_gis_adresse" id="champ_gis_adresse" value="" />
     100                        <a id="rechercher"><:info_rechercher:></a>
     101                </li>]
    27102                [(#SAISIE{input,lat,
    28                         label=<:diogene_geo:latitude:>,
    29                         defaut=#GET{lat}})]
    30 
    31                 [(#SAISIE{input,lonx,
    32                         label=<:diogene_geo:longitude:>,
    33                         defaut=#GET{lonx}})]
    34 
     103                        label=<:gis:lat:>,
     104                        defaut=#CONFIG{gis/lat,0},
     105                        class=nomulti,
     106                        obligatoire=oui})]
     107                [(#SAISIE{input,lon,
     108                        label=<:gis:lon:>,
     109                        defaut=#CONFIG{gis/lon,0},
     110                        class=nomulti,
     111                        obligatoire=oui})]
    35112                [(#SAISIE{input,zoom,
    36                         label=<:diogene_geo:zoom:>,
    37                         defaut=#GET{zoom}})]
     113                        label=<:gis:zoom:>,
     114                        defaut=#CONFIG{gis/zoom,0},
     115                        size=2,
     116                        maxlength=2,
     117                        class=nomulti,
     118                        obligatoire=oui})]
     119                [(#SAISIE{input,gis_titre,
     120                        label=<:info_titre:>,
     121                        obligatoire=oui})]
     122                [(#SAISIE{textarea,gis_descriptif,
     123                        label=<:info_descriptif:>,
     124                        rows=5})]
    38125        </ul>
    39126</fieldset>
  • plugins_spip/diogene_complements/diogene_geo/plugin.xml

    r4815 r4908  
    1010        </auteur>
    1111        <version>
    12         0.2.1
     12        0.2.2
    1313        </version>
    1414        <etat>
     
    4646        </pipeline>
    4747        <pipeline>
    48                 <nom>diogene_avant_formulaire</nom>
    49                 <inclure>diogene_geo_pipelines.php</inclure>
    50         </pipeline>
    51         <pipeline>
    5248                <nom>diogene_champs_sup</nom>
    5349                <inclure>diogene_geo_pipelines.php</inclure>
    5450        </pipeline>
    5551        <necessite id='diogene' version='[0.1;]' />
    56         <necessite id='geomap' version='[0.2;]' />
    57         <necessite id='gis' version='[0.2;]' />
     52        <necessite id='gis' version='[2.0;]' />
    5853        <necessite id='cfg' version='[1.0.6;]' />
     54        <utilise id='emballe_medias' />
    5955        <categorie>edition</categorie>
    6056</plugin>
Note: See TracChangeset for help on using the changeset viewer.