Ignore:
Timestamp:
02/06/11 03:08:04 (10 years ago)
Author:
kent1
Message:

Eviter les conflits d'édition lorsque l'on passe par revisions_gis

Pouvoir supprimer le point

Location:
plugins_spip/diogene_complements/diogene_geo
Files:
5 edited

Legend:

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

    r4915 r4922  
    1414                        }else if(intval($id_rubrique)){
    1515                                $flux['args']['contexte']['objet'] = 'rubrique';
     16                                $flux['args']['contexte']['id_objet'] = $id_rubrique;
    1617                                $objet = sql_quote('rubrique');
    1718                                $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);
     
    1920                        if(is_array($valeurs_gis)){
    2021                                $valeurs_gis['gis_titre'] = $valeurs_gis['titre'];
    21                                 $flux['args']['contexte']['id_objet'] = $id_rubrique;
    2222                                $valeurs_gis['gis_descriptif'] = $valeurs_gis['descriptif'];
    2323                                unset($valeurs_gis['titre']);
     
    4040function diogene_geo_diogene_traiter($flux){
    4141        if($flux['args']['action']=='modifier'){
    42                 if(($lat = _request('lat')) && ($lon = _request('lon'))){
     42                if(_request('gis_supprimer')){
     43                        spip_log('on supprimer','diogene');
     44                        include_spip('action/editer_gis');
     45                        $id_gis = _request('id_gis');
     46                        $objet = _request('objet');
     47                        $id_objet = _request('id_objet');
     48                        delier_gis($id_gis, $objet, $id_objet);
     49                        spip_log("delier $id_gis, $objet, $id_objet","diogene");
     50                        $nb_gis = sql_countsel('spip_gis_liens','id_gis='.intval($id_gis));
     51                        if($nb_gis == 0)
     52                                supprimer_gis($id_gis);
     53                }
     54                else if(($lat = _request('lat')) && ($lon = _request('lon'))){
    4355                        include_spip('action/editer_gis');
    4456                        // On crée l'array pour l'update et pour la création des coordonnées
     
    5870                                $id_gis = insert_gis();
    5971                        }
    60                         revisions_gis($id_gis,$datas);
     72                        sql_updateq('spip_gis',$datas,'id_gis='.intval($id_gis));
     73                        if(intval(_request('id_objet')) && _request('objet'))
     74                                lier_gis($id_gis, _request('objet'), _request('id_objet'));
    6175                }
    6276        }
     
    7690function diogene_geo_diogene_verifier($flux){
    7791        spip_log("DIOGENE_GEO : Verification des champs géographiques","diogene");
    78 
    79         $erreurs = &$flux['args']['erreurs'];
     92        if(!_request('gis_supprimer')){
     93                $erreurs = &$flux['args']['erreurs'];
     94               
     95                $lat = _request('lat');
     96                $lon = _request('lon');
     97                $zoom = _request('zoom');
     98                $titre = _request('gis_titre');
     99               
     100                if($lat OR $lon OR $zoom OR $titre){
     101                        if(!$lat){
     102                                $flux['lat'] = _T('info_obligatoire');
     103                        }
     104                        if(!$lon){
     105                                $flux['lon'] = _T('info_obligatoire');
     106                        }
     107                        if(!$zoom){
     108                                $flux['zoom'] = _T('info_obligatoire');
     109                        }
     110                        if(!$titre){
     111                                $flux['gis_titre'] = _T('info_obligatoire');
     112                        }
     113                }
    80114       
    81         $lat = _request('lat');
    82         $lon = _request('lon');
    83         $zoom = _request('zoom');
    84         $titre = _request('gis_titre');
    85        
    86         if($lat OR $lon OR $zoom OR $titre){
    87                 if(!$lat){
    88                         $flux['lat'] = _T('info_obligatoire');
     115                if((!$erreur['lat']) && $lat){
     116                        if((!empty($lat)) && !is_numeric($lat)){
     117                                $flux['lat'] = _T('diogene:erreur_valeur_float',array('champ'=> _T('diogene_geo:latitude')));
     118                        }
    89119                }
    90                 if(!$lon){
    91                         $flux['lon'] = _T('info_obligatoire');
     120                if((!$erreur['lon']) && $lon){
     121                        if((!empty($lon)) && !is_numeric($lon)){
     122                                $flux['lonx'] = _T('diogene:erreur_valeur_float',array('champ'=> _T('diogene_geo:longitude')));
     123                        }
    92124                }
    93                 if(!$zoom){
    94                         $flux['zoom'] = _T('info_obligatoire');
    95                 }
    96                 if(!$titre){
    97                         $flux['gis_titre'] = _T('info_obligatoire');
    98                 }
    99         }
    100 
    101         if((!$erreur['lat']) && $lat){
    102                 if((!empty($lat)) && !is_numeric($lat)){
    103                         $flux['lat'] = _T('diogene:erreur_valeur_float',array('champ'=> _T('diogene_geo:latitude')));
    104                 }
    105         }
    106         if((!$erreur['lon']) && $lon){
    107                 if((!empty($lon)) && !is_numeric($lon)){
    108                         $flux['lonx'] = _T('diogene:erreur_valeur_float',array('champ'=> _T('diogene_geo:longitude')));
    109                 }
    110         }
    111         if((!$erreur['zoom']) && $zoom){
    112                 if((!empty($zoom)) && !ctype_digit($zoom)){
    113                         $flux['zoom'] = _T('diogene:erreur_valeur_int',array('champ'=>_T('diogene_geo:zoom')));
     125                if((!$erreur['zoom']) && $zoom){
     126                        if((!empty($zoom)) && !ctype_digit($zoom)){
     127                                $flux['zoom'] = _T('diogene:erreur_valeur_int',array('champ'=>_T('diogene_geo:zoom')));
     128                        }
    114129                }
    115130        }
  • plugins_spip/diogene_complements/diogene_geo/formulaires/diogene_ajouter_medias_geo.html

    r4918 r4922  
    55        <h3 class="legend"><:diogene_geo:form_legend:></h3>
    66        <ul>
     7                [(#ENV{id_gis}|oui)
     8                        [(#SAISIE{case, gis_supprimer,
     9                                label=<:diogene_geo:label_supprimer_gis:>})]
     10                ]
    711                <li style="padding:0" class="editer editer_carte">
    812                        <div id="geomap" name="formMap" style="width: 100%; height: 350px"></div>
  • plugins_spip/diogene_complements/diogene_geo/lang/diogene_geo_en.php

    r4918 r4922  
    1212        // L
    1313        'label_recherche' => 'Show a search field under the map.',
     14        'label_supprimer_gis' => 'Delete the related geographical informations',
    1415        'latitude' => 'Latitude',
    1516        'longitude' => 'Longitude',
  • plugins_spip/diogene_complements/diogene_geo/lang/diogene_geo_fr.php

    r4918 r4922  
    1212        // L
    1313        'label_recherche' => 'Afficher un champ de recherche sous la carte.',
     14        'label_supprimer_gis' => 'Supprimer les informations g&eacute;ographiques li&eacute;es',
    1415        'latitude' => 'Latitude',
    1516        'longitude' => 'Longitude',
  • plugins_spip/diogene_complements/diogene_geo/plugin.xml

    r4916 r4922  
    1010        </auteur>
    1111        <version>
    12         0.2.3
     12        0.2.4
    1313        </version>
    1414        <etat>
Note: See TracChangeset for help on using the changeset viewer.