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

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

PSR SPIP

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