[SPIP] v3.2.1-->v3.2.3
[lhc/web/www.git] / www / plugins-dist / mots / formulaires / editer_groupe_mot.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
8 * *
9 * Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
10 * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
11 \***************************************************************************/
12
13 /**
14 * Gestion du formulaire de d'édition d'un groupe de mots
15 *
16 * @package SPIP\Mots\Formulaires
17 **/
18 if (!defined('_ECRIRE_INC_VERSION')) {
19 return;
20 }
21
22 include_spip('inc/actions');
23 include_spip('inc/editer');
24
25 /**
26 * Chargement du formulaire d'édition d'un groupe de mots
27 *
28 * @param int|string $id_groupe
29 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
30 * @param string $retour
31 * URL de redirection après le traitement
32 * @param string $config_fonc
33 * Nom de la fonction ajoutant des configurations particulières au formulaire
34 * @param array $row
35 * Valeurs de la ligne SQL du groupe de mot, si connu
36 * @param string $hidden
37 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
38 * @return array
39 * Environnement du formulaire
40 **/
41 function formulaires_editer_groupe_mot_charger_dist(
42 $id_groupe = 'new',
43 $retour = '',
44 $config_fonc = 'groupes_mots_edit_config',
45 $row = array(),
46 $hidden = ''
47 ) {
48 $valeurs = formulaires_editer_objet_charger('groupe_mots', $id_groupe, 0, '', $retour, $config_fonc, $row, $hidden);
49
50 $valeurs['tables_liees'] = explode(',', $valeurs['tables_liees']);
51
52 // par defaut a la creation de groupe
53 if (!intval($id_groupe)) {
54 $valeurs['tables_liees'] = array('articles');
55 $valeurs['minirezo'] = 'oui';
56 $valeurs['comite'] = 'oui';
57 }
58
59 return $valeurs;
60 }
61
62 /**
63 * Identifier le formulaire en faisant abstraction des paramètres qui
64 * ne representent pas l'objet édité
65 *
66 * @param int|string $id_groupe
67 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
68 * @param string $retour
69 * URL de redirection après le traitement
70 * @param string $config_fonc
71 * Nom de la fonction ajoutant des configurations particulières au formulaire
72 * @param array $row
73 * Valeurs de la ligne SQL du groupe de mot, si connu
74 * @param string $hidden
75 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
76 * @return string
77 * Hash du formulaire
78 */
79 function formulaires_editer_groupe_mot_identifier_dist(
80 $id_groupe = 'new',
81 $retour = '',
82 $config_fonc = 'groupes_mots_edit_config',
83 $row = array(),
84 $hidden = ''
85 ) {
86 return serialize(array(intval($id_groupe)));
87 }
88
89 /**
90 * Choix par défaut des options de présentation
91 *
92 * @param array $row
93 * Valeurs de la ligne SQL du groupe de mot, si connu
94 * return array
95 * Configuration pour le formulaire
96 */
97 function groupes_mots_edit_config($row) {
98 global $spip_ecran, $spip_lang;
99
100 $config = $GLOBALS['meta'];
101 $config['lignes'] = ($spip_ecran == 'large') ? 8 : 5;
102 $config['langue'] = $spip_lang;
103
104 return $config;
105 }
106
107 /**
108 * Vérification du formulaire d'édition d'un groupe de mots
109 *
110 * @param int|string $id_groupe
111 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
112 * @param string $retour
113 * URL de redirection après le traitement
114 * @param string $config_fonc
115 * Nom de la fonction ajoutant des configurations particulières au formulaire
116 * @param array $row
117 * Valeurs de la ligne SQL du groupe de mot, si connu
118 * @param string $hidden
119 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
120 * @return array
121 * Tableau des erreurs
122 **/
123 function formulaires_editer_groupe_mot_verifier_dist(
124 $id_groupe = 'new',
125 $retour = '',
126 $config_fonc = 'groupes_mots_edit_config',
127 $row = array(),
128 $hidden = ''
129 ) {
130
131 $erreurs = formulaires_editer_objet_verifier('groupe_mots', 0, array('titre'));
132
133 return $erreurs;
134 }
135
136 /**
137 * Traitement du formulaire d'édition d'un groupe de mots
138 *
139 * @param int|string $id_groupe
140 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
141 * @param string $retour
142 * URL de redirection après le traitement
143 * @param string $config_fonc
144 * Nom de la fonction ajoutant des configurations particulières au formulaire
145 * @param array $row
146 * Valeurs de la ligne SQL du groupe de mot, si connu
147 * @param string $hidden
148 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
149 * @return array
150 * Retour des traitements
151 **/
152 function formulaires_editer_groupe_mot_traiter_dist(
153 $id_groupe = 'new',
154 $retour = '',
155 $config_fonc = 'groupes_mots_edit_config',
156 $row = array(),
157 $hidden = ''
158 ) {
159 set_request('redirect', '');
160 // cas des checkbox : injecter la valeur non si rien de coche
161 foreach (array(
162 'obligatoire',
163 'unseul',
164 'comite',
165 'forum',
166 'minirezo'
167 ) as $champ) {
168 if (!_request($champ)) {
169 set_request($champ, 'non');
170 }
171 }
172
173 $res = formulaires_editer_objet_traiter('groupe_mots', $id_groupe, 0, 0, $retour, $config_fonc, $row, $hidden);
174
175 return $res;
176 }