3 if (!defined("_ECRIRE_INC_VERSION")) return;
5 include_spip('inc/charsets'); # pour le nom de fichier
6 include_spip('inc/actions');
8 function action_kml_infos_dist(){
11 $securiser_action = charger_fonction('securiser_action', 'inc');
12 $arg = $securiser_action();
14 if (!preg_match(",^(-?)(\d+)\W(\w+)\W?(\d*)\W?(\d*)$,", $arg, $r)){
15 spip_log("action_kml_infos_dist incompris: " . $arg);
16 $redirect = urldecode(_request('redirect'));
20 action_kml_infos_post($r);
24 function action_kml_infos_post($r){
25 list(, $sign, $id_objet, $objet, $id_document, $suite) = $r;
27 if(intval($id_document)){
28 $recuperer_info = charger_fonction('kml_infos','inc');
29 $infos = $recuperer_info($id_document);
31 include_spip('inc/documents');
32 $fichier = sql_getfetsel('fichier','spip_documents','id_document='.intval($id_document));
33 if(is_numeric($latitude = $infos['latitude']) && is_numeric($longitude = $infos['longitude'])){
35 'titre' => $infos['titre'] ?
$infos['titre'] : basename($fichier),
38 'zoom' => $config['zoom'] ?
$config['zoom'] :'4'
41 include_spip('action/editer_gis');
43 if($id_gis = sql_getfetsel("G.id_gis","spip_gis AS G LEFT JOIN spip_gis_liens AS T ON T.id_gis=G.id_gis ","T.id_objet=" . intval($id_document) . " AND T.objet='document'")){
44 // Des coordonnées sont déjà définies pour ce document => on les update
45 revisions_gis($id_gis,$c);
46 spip_log("GIS EXIFS : Update des coordonnées depuis EXIFS pour le document $id_document => id_gis = $id_gis","gis");
49 // Aucune coordonnée n'est définie pour ce document => on les crées
50 $id_gis = insert_gis();
51 revisions_gis($id_gis,$c);
52 lier_gis($id_gis, 'document', $id_document);
53 spip_log("GIS EXIFS : Création des coordonnées depuis EXIFS pour le document $id_document => id_gis = $id_gis","gis");
56 unset($infos['longitude']);
57 unset($infos['latitude']);
58 if(count($infos) > 0){
59 include_spip('action/editer_document');
60 document_modifier($id_document, $infos);
64 $redirect = urldecode(_request('redirect'));