source: spip-zone/_plugins_/cartes/trunk/formulaires/editer_carte.php @ 96696

Last change on this file since 96696 was 96696, checked in by kent1@…, 4 years ago

Pas besoin de ces logs

  • Property svn:executable set to *
File size: 4.8 KB
Line 
1<?php
2/**
3 * Gestion du formulaire de d'édition de carte
4 *
5 * @plugin     Création de cartes
6 * @copyright  2016
7 * @author     kent1
8 * @licence    GNU/GPL
9 * @package    SPIP\Cartes\Formulaires
10 */
11
12if (!defined('_ECRIRE_INC_VERSION')) return;
13
14include_spip('inc/actions');
15include_spip('inc/editer');
16
17/**
18 * Identifier le formulaire en faisant abstraction des paramètres qui ne représentent pas l'objet edité
19 *
20 * @param int|string $id_carte
21 *     Identifiant du carte. 'new' pour un nouveau carte.
22 * @param string $retour
23 *     URL de redirection après le traitement
24 * @param int $lier_trad
25 *     Identifiant éventuel d'un carte source d'une traduction
26 * @param string $config_fonc
27 *     Nom de la fonction ajoutant des configurations particulières au formulaire
28 * @param array $row
29 *     Valeurs de la ligne SQL du carte, si connu
30 * @param string $hidden
31 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
32 * @return string
33 *     Hash du formulaire
34 */
35function formulaires_editer_carte_identifier_dist($id_carte='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
36        return serialize(array(intval($id_carte)));
37}
38
39/**
40 * Chargement du formulaire d'édition de carte
41 *
42 * Déclarer les champs postés et y intégrer les valeurs par défaut
43 *
44 * @uses formulaires_editer_objet_charger()
45 *
46 * @param int|string $id_carte
47 *     Identifiant du carte. 'new' pour un nouveau carte.
48 * @param string $retour
49 *     URL de redirection après le traitement
50 * @param int $lier_trad
51 *     Identifiant éventuel d'un carte source d'une traduction
52 * @param string $config_fonc
53 *     Nom de la fonction ajoutant des configurations particulières au formulaire
54 * @param array $row
55 *     Valeurs de la ligne SQL du carte, si connu
56 * @param string $hidden
57 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
58 * @return array
59 *     Environnement du formulaire
60 */
61function formulaires_editer_carte_charger_dist($id_carte='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
62        $valeurs = formulaires_editer_objet_charger('carte', $id_carte, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
63        if(isset($valeurs['bounds']) && intval($id_carte) > 0){
64                $valeurs['bounds'] = sql_getfetsel("AsText(bounds)","spip_cartes","id_carte = $id_carte");
65                include_spip('gisgeom_fonctions');
66                $valeurs['geojson'] = wkt_to_json($valeurs['bounds']);
67        }
68        if(isset($valeurs['controles']) && strlen($valeurs['controles']) > 1){
69                $valeurs['controles'] = unserialize($valeurs['controles']);
70        }
71        return $valeurs;
72}
73
74/**
75 * Vérifications du formulaire d'édition de carte
76 *
77 * Vérifier les champs postés et signaler d'éventuelles erreurs
78 *
79 * @uses formulaires_editer_objet_verifier()
80 *
81 * @param int|string $id_carte
82 *     Identifiant du carte. 'new' pour un nouveau carte.
83 * @param string $retour
84 *     URL de redirection après le traitement
85 * @param int $lier_trad
86 *     Identifiant éventuel d'un carte source d'une traduction
87 * @param string $config_fonc
88 *     Nom de la fonction ajoutant des configurations particulières au formulaire
89 * @param array $row
90 *     Valeurs de la ligne SQL du carte, si connu
91 * @param string $hidden
92 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
93 * @return array
94 *     Tableau des erreurs
95 */
96function formulaires_editer_carte_verifier_dist($id_carte='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
97        $erreurs = array();
98
99        $erreurs = formulaires_editer_objet_verifier('carte', $id_carte, array('titre'));
100
101        return $erreurs;
102}
103
104/**
105 * Traitement du formulaire d'édition de carte
106 *
107 * Traiter les champs postés
108 *
109 * @uses formulaires_editer_objet_traiter()
110 *
111 * @param int|string $id_carte
112 *     Identifiant du carte. 'new' pour un nouveau carte.
113 * @param string $retour
114 *     URL de redirection après le traitement
115 * @param int $lier_trad
116 *     Identifiant éventuel d'un carte source d'une traduction
117 * @param string $config_fonc
118 *     Nom de la fonction ajoutant des configurations particulières au formulaire
119 * @param array $row
120 *     Valeurs de la ligne SQL du carte, si connu
121 * @param string $hidden
122 *     Contenu HTML ajouté en même temps que les champs cachés du formulaire.
123 * @return array
124 *     Retours des traitements
125 */
126function formulaires_editer_carte_traiter_dist($id_carte='new', $retour='', $lier_trad=0, $config_fonc='', $row=array(), $hidden=''){
127        if(_request('controles')){
128                set_request('controles',serialize(_request('controles')));
129        }
130        $retours = formulaires_editer_objet_traiter('carte', $id_carte, '', $lier_trad, $retour, $config_fonc, $row, $hidden);
131        if(_request('geojson')){
132                sql_update('spip_cartes', array('bounds'=>"GeomFromText('".json_to_wkt(_request('geojson'))."')"),"id_carte=".intval($retours['id_carte']));
133        }
134        return $retours;
135}
Note: See TracBrowser for help on using the repository browser.