source: spip-zone/_plugins_/gis/trunk/formulaires/editer_gis.php @ 53906

Last change on this file since 53906 was 53906, checked in by lesage.sylvain@…, 9 years ago

On passe les options 'lat','lon','zoom' dans un nouveau parametre du formulaire.

Exemple d'utilisation:
<BOUCLE_articles(ARTICLES){0,1}{!par date}>

#SET{options_caranavi, #ARRAY{

lat, -15.833580025763654,
lon, -67.56552907176217,
zoom, 11,

}}
#FORMULAIRE_EDITER_GIS{'new', 'article', #ID_ARTICLE, , , #GET{options_caranavi}}

</BOUCLE_articles>

La saisie saisies/carte.html récupère déja les options lat, lon et zoom dans l'environnement.

File size: 2.8 KB
Line 
1<?php
2/**
3 * Formulaire de création et d'édition d'un point géolocalisé
4 */
5
6include_spip('inc/actions');
7include_spip('inc/editer');
8
9/**
10 * Chargement des valeurs par défaut du formulaire
11 *
12 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau
13 * @param string $objet Le type d'objet SPIP auquel il est attaché
14 * @param int $id_objet L'id_objet de l'objet auquel il est attaché
15 * @param string $retour L'url de retour
16 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad()
17 */
18function formulaires_editer_gis_charger_dist($id_gis='new', $objet='', $id_objet='', $retour='', $ajaxload='oui', $options=''){
19        $valeurs = formulaires_editer_objet_charger('gis', $id_gis, '', '', $retour, '');
20        $valeurs['objet'] = $objet;
21        $valeurs['id_objet'] = $id_objet;
22        $valeurs['ajaxload'] = $ajaxload;
23    /* Traitement des options */
24        /* peut etre a envoyer dans une fonction generique de verification des options */
25        if (is_array($options)) {
26        if (is_numeric($options['lat']))
27                $valeurs['lat']=$options['lat'];
28            if (is_numeric($options['lon']))
29                $valeurs['lon']=$options['lon'];
30        if (is_numeric($options['zoom']) && intval($options['zoom'])==$options['zoom'])
31                $valeurs['zoom']=$options['zoom'];
32        }
33        return $valeurs;
34}
35
36/**
37 * Vérification des valeurs du formulaire
38 *
39 * 4 champs sont obligatoires :
40 * -* Son titre
41 * -* Sa latitude
42 * -* Sa longitude
43 * -* Son niveau de zoom
44 *
45 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau
46 * @param string $objet Le type d'objet SPIP auquel il est attaché
47 * @param int $id_objet L'id_objet de l'objet auquel il est attaché
48 * @param string $retour L'url de retour
49 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad()
50 */
51function formulaires_editer_gis_verifier_dist($id_gis='new', $objet='', $id_objet='', $retour='', $ajaxload='oui', $options=''){
52        $erreurs = formulaires_editer_objet_verifier('gis', $id_gis,array('titre','lat','lon','zoom'));
53        return $erreurs;
54}
55
56/**
57 * Traitement des valeurs du formulaire
58 *
59 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau
60 * @param string $objet Le type d'objet SPIP auquel il est attaché
61 * @param int $id_objet L'id_objet de l'objet auquel il est attaché
62 * @param string $retour L'url de retour
63 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad()
64 */
65function formulaires_editer_gis_traiter_dist($id_gis='new', $objet='', $id_objet='', $retour='', $ajaxload='oui', $options=''){
66        if (_request('supprimer')){
67                include_spip('action/editer_gis');
68                supprimer_gis($id_gis);
69                $id_table_objet = id_table_objet($objet);
70                if ($retour)
71                        $res['redirect'] = parametre_url($retour,$id_table_objet,$id_objet);
72                return $res;
73        } else {
74                return formulaires_editer_objet_traiter('gis', $id_gis, '', '', $retour, '');
75        }
76}
77
78?>
Note: See TracBrowser for help on using the repository browser.