89f791654576fca0de2a5e4cb1403450ff236018
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2019 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
14 * Gestion de l'action editer_groupes_mots
16 * @package SPIP\Mots\Actions
18 if (!defined('_ECRIRE_INC_VERSION')) {
22 include_spip('inc/filtres');
25 * Action d'édition d'un groupe de mots clés dans la base de données dont
26 * l'identifiant du groupe est donné en paramètre de cette fonction ou
27 * en argument de l'action sécurisée
29 * Si aucun identifiant n'est donné, on crée alors un nouveau groupe de
32 * @param null|int $id_groupe
33 * Identifiant du groupe de mot-clé. En absence utilise l'argument
34 * de l'action sécurisée.
36 * Liste (identifiant du groupe de mot clé, Texte d'erreur éventuel)
38 function action_editer_groupe_mots_dist($id_groupe = null) {
39 if (is_null($id_groupe)) {
40 $securiser_action = charger_fonction('securiser_action', 'inc');
41 $id_groupe = $securiser_action();
44 if (!intval($id_groupe)) {
45 $id_groupe = groupe_mots_inserer();
49 $err = groupe_mots_modifier($id_groupe);
52 return array($id_groupe, $err);
57 * Insertion d'un groupe de mots clés
59 * @pipeline_appel pre_insertion
60 * @pipeline_appel post_insertion
62 * @param int $id_parent
63 * inutilise, pour consistance de l'API
64 * @param null|array $set
66 * Identifiant du nouveau groupe de mots clés.
68 function groupe_mots_inserer($id_parent = null, $set = null) {
70 // support de la signature derogatoire pour compat
71 // groupe_mots_inserer($table='')
72 if (is_string($id_parent) and strlen($id_parent)) {
76 $set['tables_liees'] = $id_parent;
83 'obligatoire' => 'non',
91 $champs = array_merge($champs, $set);
94 // Envoyer aux plugins
99 'table' => 'spip_groupes_mots',
105 $id_groupe = sql_insertq('spip_groupes_mots', $champs);
111 'table' => 'spip_groupes_mots',
112 'id_objet' => $id_groupe
123 * Modifier un groupe de mot
125 * @param int $id_groupe
126 * Identifiant du grope de mots clés à modifier
127 * @param array|null $set
128 * Couples (colonne => valeur) de données à modifier.
129 * En leur absence, on cherche les données dans les champs éditables
131 * @return string|null
132 * Chaîne vide si aucune erreur,
133 * Null si aucun champ à modifier,
134 * Chaîne contenant un texte d'erreur sinon.
136 function groupe_mots_modifier($id_groupe, $set = null) {
139 include_spip('inc/modifier');
140 $c = collecter_requests(
155 // donnees eventuellement fournies
158 // normaliser les champ oui/non
166 if (isset($c[$champ])) {
167 $c[$champ] = ($c[$champ] == 'oui' ?
'oui' : 'non');
171 if (isset($c['tables_liees']) and is_array($c['tables_liees'])) {
172 $c['tables_liees'] = implode(',', array_diff($c['tables_liees'], array('')));
175 $err = objet_modifier_champs(
180 'nonvide' => array('titre' => _T('info_sans_titre'))
188 // Fonctions Dépréciées
189 // --------------------
192 * Créer une révision sur un groupe de mot
194 * @deprecated Utiliser groupe_mots_modifier()
195 * @see groupe_mots_modifier()
197 * @param int $id_groupe
198 * Identifiant du grope de mots clés à modifier
199 * @param array|null $c
200 * Couples (colonne => valeur) de données à modifier.
201 * En leur absence, on cherche les données dans les champs éditables
203 * @return string|null
204 * Chaîne vide si aucune erreur,
205 * Null si aucun champ à modifier,
206 * Chaîne contenant un texte d'erreur sinon.
208 function revision_groupe_mot($id_groupe, $c = false) {
209 return groupe_mots_modifier($id_groupe, $c);
214 * Insertion d'un groupe de mots clés
216 * @deprecated Utiliser groupe_mots_inserer() ou objet_inserer()
217 * @see groupe_mots_inserer()
219 * @param string $table
220 * Tables sur lesquels des mots de ce groupe pourront être liés
221 * @param null|array $set
223 * Identifiant du nouveau groupe de mots clés.
225 function groupemots_inserer($table = '', $set = null) {
226 return groupe_mots_inserer($table, $set);
230 * Modifier un groupe de mot
232 * @deprecated Utiliser groupe_mots_modifier() ou objet_modifier()
233 * @see groupe_mots_modifier()
235 * @param int $id_groupe
236 * Identifiant du grope de mots clés à modifier
237 * @param array|null $set
238 * Couples (colonne => valeur) de données à modifier.
239 * En leur absence, on cherche les données dans les champs éditables
241 * @return string|null
242 * Chaîne vide si aucune erreur,
243 * Null si aucun champ à modifier,
244 * Chaîne contenant un texte d'erreur sinon.
246 function groupemots_modifier($id_groupe, $set = null) {
247 return groupe_mots_modifier($id_groupe, $set);