[SPIP] v3.2.12 -> v3.2.12 - Reinstallation avec le spip_loader
[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-2020 *
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 if (test_formulaire_inclus_par_modele()) {
51 if (intval($id_groupe) and !autoriser('modifier', 'groupemots', intval($id_groupe))) {
52 $valeurs['editable'] = '';
53 }
54 }
55
56
57 $valeurs['tables_liees'] = explode(',', $valeurs['tables_liees']);
58
59 // par defaut a la creation de groupe
60 if (!intval($id_groupe)) {
61 $valeurs['tables_liees'] = array('articles');
62 $valeurs['minirezo'] = 'oui';
63 $valeurs['comite'] = 'oui';
64 }
65
66 return $valeurs;
67 }
68
69 /**
70 * Identifier le formulaire en faisant abstraction des paramètres qui
71 * ne representent pas l'objet édité
72 *
73 * @param int|string $id_groupe
74 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
75 * @param string $retour
76 * URL de redirection après le traitement
77 * @param string $config_fonc
78 * Nom de la fonction ajoutant des configurations particulières au formulaire
79 * @param array $row
80 * Valeurs de la ligne SQL du groupe de mot, si connu
81 * @param string $hidden
82 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
83 * @return string
84 * Hash du formulaire
85 */
86 function formulaires_editer_groupe_mot_identifier_dist(
87 $id_groupe = 'new',
88 $retour = '',
89 $config_fonc = 'groupes_mots_edit_config',
90 $row = array(),
91 $hidden = ''
92 ) {
93 return serialize(array(intval($id_groupe)));
94 }
95
96 /**
97 * Choix par défaut des options de présentation
98 *
99 * @param array $row
100 * Valeurs de la ligne SQL du groupe de mot, si connu
101 * return array
102 * Configuration pour le formulaire
103 */
104 function groupes_mots_edit_config($row) {
105 global $spip_ecran, $spip_lang;
106
107 $config = $GLOBALS['meta'];
108 $config['lignes'] = ($spip_ecran == 'large') ? 8 : 5;
109 $config['langue'] = $spip_lang;
110
111 return $config;
112 }
113
114 /**
115 * Vérification du formulaire d'édition d'un groupe de mots
116 *
117 * @param int|string $id_groupe
118 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
119 * @param string $retour
120 * URL de redirection après le traitement
121 * @param string $config_fonc
122 * Nom de la fonction ajoutant des configurations particulières au formulaire
123 * @param array $row
124 * Valeurs de la ligne SQL du groupe de mot, si connu
125 * @param string $hidden
126 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
127 * @return array
128 * Tableau des erreurs
129 **/
130 function formulaires_editer_groupe_mot_verifier_dist(
131 $id_groupe = 'new',
132 $retour = '',
133 $config_fonc = 'groupes_mots_edit_config',
134 $row = array(),
135 $hidden = ''
136 ) {
137
138 $erreurs = formulaires_editer_objet_verifier('groupe_mots', 0, array('titre'));
139
140 return $erreurs;
141 }
142
143 /**
144 * Traitement du formulaire d'édition d'un groupe de mots
145 *
146 * @param int|string $id_groupe
147 * Identifiant du groupe de mots. 'new' pour un nouveau groupe.
148 * @param string $retour
149 * URL de redirection après le traitement
150 * @param string $config_fonc
151 * Nom de la fonction ajoutant des configurations particulières au formulaire
152 * @param array $row
153 * Valeurs de la ligne SQL du groupe de mot, si connu
154 * @param string $hidden
155 * Contenu HTML ajouté en même temps que les champs cachés du formulaire.
156 * @return array
157 * Retour des traitements
158 **/
159 function formulaires_editer_groupe_mot_traiter_dist(
160 $id_groupe = 'new',
161 $retour = '',
162 $config_fonc = 'groupes_mots_edit_config',
163 $row = array(),
164 $hidden = ''
165 ) {
166 set_request('redirect', '');
167 // cas des checkbox : injecter la valeur non si rien de coche
168 foreach (array(
169 'obligatoire',
170 'unseul',
171 'comite',
172 'forum',
173 'minirezo'
174 ) as $champ) {
175 if (!_request($champ)) {
176 set_request($champ, 'non');
177 }
178 }
179
180 $res = formulaires_editer_objet_traiter('groupe_mots', $id_groupe, 0, 0, $retour, $config_fonc, $row, $hidden);
181
182 return $res;
183 }