[SPIP] ~maj 3.0.10 --> 3.0.14
[lhc/web/www.git] / www / plugins-dist / mots / action / editer_groupe_mots.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
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 if (!defined("_ECRIRE_INC_VERSION")) return;
14
15 include_spip('inc/filtres');
16
17 // Modification d'un groupe de mots
18 // http://doc.spip.org/@action_editer_groupe_mots_dist
19 function action_editer_groupe_mots_dist($id_groupe=null)
20 {
21 if (is_null($id_groupe)){
22 $securiser_action = charger_fonction('securiser_action', 'inc');
23 $id_groupe = $securiser_action();
24 }
25
26 if (!intval($id_groupe)) {
27 $id_groupe = groupemots_inserer();
28 }
29
30 if ($id_groupe>0)
31 $err = groupemots_modifier($id_groupe);
32
33 return array($id_groupe,$err);
34 }
35
36 /**
37 * Creer un groupe de mots
38 *
39 * @param string $table
40 * @return int
41 */
42 function groupemots_inserer($table='') {
43 $champs = array(
44 'titre' => '',
45 'unseul' => 'non',
46 'obligatoire' => 'non',
47 'tables_liees' => $table,
48 'minirezo' => 'oui',
49 'comite' => 'non',
50 'forum' => 'non'
51 );
52
53 // Envoyer aux plugins
54 $champs = pipeline('pre_insertion',
55 array(
56 'args' => array(
57 'table' => 'spip_groupes_mots',
58 ),
59 'data' => $champs
60 )
61 );
62
63 $id_groupe = sql_insertq("spip_groupes_mots", $champs) ;
64
65 pipeline('post_insertion',
66 array(
67 'args' => array(
68 'table' => 'spip_groupes_mots',
69 'id_objet' => $id_groupe
70 ),
71 'data' => $champs
72 )
73 );
74
75 return $id_groupe;
76 }
77
78 /**
79 * Modifier un groupe de mot
80 * @param int $id_groupe
81 * @param array|null $set
82 * @return string
83 */
84 function groupemots_modifier($id_groupe, $set=null) {
85 $err = '';
86
87 include_spip('inc/modifier');
88 $c = collecter_requests(
89 // white list
90 array(
91 'titre', 'descriptif', 'texte', 'tables_liees',
92 'obligatoire', 'unseul',
93 'comite', 'forum', 'minirezo',
94 ),
95 // black list
96 array(),
97 // donnees eventuellement fournies
98 $set
99 );
100 // normaliser les champ oui/non
101 foreach (array(
102 'obligatoire', 'unseul',
103 'comite', 'forum', 'minirezo'
104 ) as $champ)
105 if (isset($c[$champ]))
106 $c[$champ] = ($c[$champ]=='oui'?'oui':'non');
107
108 if (isset($c['tables_liees']) AND is_array($c['tables_liees']))
109 $c['tables_liees'] = implode(',',array_diff($c['tables_liees'],array('')));
110
111 $err = objet_modifier_champs('groupe_mot', $id_groupe,
112 array(
113 'nonvide' => array('titre' => _T('info_sans_titre'))
114 ),
115 $c);
116
117 return $err;
118 }
119
120
121 // obsolete
122 function revision_groupe_mot($id_groupe, $c=false) {
123 return groupemots_modifier($id_groupe,$c);
124 }
125 ?>