3 if (!defined('_ECRIRE_INC_VERSION')) {
8 * Formulaire de création et d'édition d'un point géolocalisé
11 include_spip('inc/actions');
12 include_spip('inc/editer');
15 * Chargement des valeurs par défaut du formulaire
17 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau
18 * @param string $objet Le type d'objet SPIP auquel il est attaché
19 * @param int $id_objet L'id_objet de l'objet auquel il est attaché
20 * @param string $retour L'url de retour
21 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad()
22 * @param array $options TODO à documenter, voir avec l'auteur de https://zone.spip.org/trac/spip-zone/changeset/53906
24 function formulaires_editer_gis_charger_dist($id_gis = 'new', $objet = '', $id_objet = '', $retour = '', $ajaxload = 'oui', $options = '') {
25 $valeurs = formulaires_editer_objet_charger('gis', $id_gis, '', '', $retour, '');
26 $valeurs['objet'] = $objet;
27 $valeurs['id_objet'] = $id_objet;
28 $valeurs['ajaxload'] = $ajaxload;
29 /* Traitement des options */
30 /* peut etre a envoyer dans une fonction generique de verification des options */
31 if (is_array($options)) {
32 if (is_string($options['titre'])) {
33 $valeurs['titre']=$options['titre'];
35 if (!$valeurs['lat'] and is_numeric($options['lat'])) {
36 $valeurs['lat']=$options['lat'];
38 if (!$valeurs['lon'] and is_numeric($options['lon'])) {
39 $valeurs['lon']=$options['lon'];
41 if (!$valeurs['zoom'] and is_numeric($options['zoom']) && intval($options['zoom']) == $options['zoom']) {
42 $valeurs['zoom']=$options['zoom'];
45 if (is_numeric($options['sw_lat'])) {
46 $valeurs['sw_lat']=$options['sw_lat'];
48 if (is_numeric($options['sw_lon'])) {
49 $valeurs['sw_lon']=$options['sw_lon'];
51 if (is_numeric($options['ne_lat'])) {
52 $valeurs['ne_lat']=$options['ne_lat'];
54 if (is_numeric($options['ne_lon'])) {
55 $valeurs['ne_lon']=$options['ne_lon'];
62 * Vérification des valeurs du formulaire
64 * 4 champs sont obligatoires :
68 * -* Son niveau de zoom
70 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau
71 * @param string $objet Le type d'objet SPIP auquel il est attaché
72 * @param int $id_objet L'id_objet de l'objet auquel il est attaché
73 * @param string $retour L'url de retour
74 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad()
75 * @param array $options ???
77 function formulaires_editer_gis_verifier_dist($id_gis = 'new', $objet = '', $id_objet = '', $retour = '', $ajaxload = 'oui', $options = '') {
78 $erreurs = formulaires_editer_objet_verifier('gis', $id_gis, array('titre', 'lat', 'lon', 'zoom'));
83 * Traitement des valeurs du formulaire
85 * @param int|string $id_gis Identifiant numérique du point ou 'new' pour un nouveau
86 * @param string $objet Le type d'objet SPIP auquel il est attaché
87 * @param int $id_objet L'id_objet de l'objet auquel il est attaché
88 * @param string $retour L'url de retour
89 * @param string $ajaxload initialiser la carte à chaque onAjaxLoad()
90 * @param array $options ???
92 function formulaires_editer_gis_traiter_dist($id_gis = 'new', $objet = '', $id_objet = '', $retour = '', $ajaxload = 'oui', $options = '') {
93 if (_request('supprimer')) {
94 include_spip('action/editer_gis');
95 supprimer_gis($id_gis);
96 $id_table_objet = id_table_objet($objet);
98 $res['redirect'] = parametre_url($retour, $id_table_objet, $id_objet);
102 return formulaires_editer_objet_traiter('gis', $id_gis, '', '', $retour, '');