[PLUGINS] +clavettes et dependances
[lhc/web/clavette_www.git] / www / plugins / gis / action / kml_infos.php
1 <?php
2
3 if (!defined("_ECRIRE_INC_VERSION")) return;
4
5 include_spip('inc/charsets'); # pour le nom de fichier
6 include_spip('inc/actions');
7
8 function action_kml_infos_dist(){
9 global $redirect;
10
11 $securiser_action = charger_fonction('securiser_action', 'inc');
12 $arg = $securiser_action();
13
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'));
17 return;
18 }
19 else{
20 action_kml_infos_post($r);
21 }
22 }
23
24 function action_kml_infos_post($r){
25 list(, $sign, $id_objet, $objet, $id_document, $suite) = $r;
26
27 if(intval($id_document)){
28 $recuperer_info = charger_fonction('kml_infos','inc');
29 $infos = $recuperer_info($id_document);
30 if($infos){
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'])){
34 $c = array(
35 'titre' => $infos['titre'] ? $infos['titre'] : basename($fichier),
36 'lat'=> $latitude,
37 'lon' => $longitude,
38 'zoom' => $config['zoom'] ? $config['zoom'] :'4'
39 );
40
41 include_spip('action/editer_gis');
42
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");
47 }
48 else{
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");
54 }
55 }
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);
61 }
62 }
63 }
64 $redirect = urldecode(_request('redirect'));
65 return $redirect;
66 }
67
68 ?>