squellete2
[aidenligne_francais_universite.git] / ecrire / action / instituer_mot.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
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 include_spip('base/abstract_sql');
17
18 // Modifier le reglage des forums publics de l'article x
19 // http://doc.spip.org/@action_instituer_mot_dist
20 function action_instituer_mot_dist()
21 {
22 $securiser_action = charger_fonction('securiser_action', 'inc');
23 $arg = $securiser_action();
24 if (!preg_match(",^(\d+)(\W(\d+)\W(\w+)\W(\w+))?$,", $arg, $r)) {
25 spip_log("action_instituer_mot_dist '$arg' pas compris");
26 } else action_instituer_mot_post($r);
27 }
28
29 // http://doc.spip.org/@action_instituer_mot_post
30 function action_instituer_mot_post($r)
31 {
32 $id_mot = $r[1];
33 $id_groupe = intval(_request('id_groupe'));
34
35 if (!$id_mot AND $id_groupe) {
36 $id_mot = spip_abstract_insert("spip_mots",
37 '(id_groupe)', "($id_groupe)");
38
39 if ($r[2]) {
40 list(,,,$ajouter_id_article, $table, $table_id) = $r;
41 ajouter_nouveau_mot($id_groupe, $table, $table_id, $id_mot, $ajouter_id_article);
42 }
43 }
44
45 // modifier le contenu via l'API
46 include_spip('inc/modifier');
47 revision_mot($id_mot);
48 if ($redirect = _request('redirect'))
49 redirige_par_entete(parametre_url(urldecode($redirect),
50 'id_mot', $id_mot, '&'));
51
52 }
53
54 // http://doc.spip.org/@ajouter_nouveau_mot
55 function ajouter_nouveau_mot($id_groupe, $table, $table_id, $id_mot, $id)
56 {
57 if (un_seul_mot_dans_groupe($id_groupe)) {
58 $mots = spip_query("SELECT id_mot FROM spip_mots WHERE id_groupe = $id_groupe");
59 while ($r = spip_fetch_array($mots))
60 spip_query("DELETE FROM spip_mots_$table WHERE id_mot=" . $r['id_mot'] ." AND $table_id=$id");
61 }
62 spip_abstract_insert("spip_mots_$table", "(id_mot, $table_id)", "($id_mot, $id)");
63 }
64
65
66 // http://doc.spip.org/@un_seul_mot_dans_groupe
67 function un_seul_mot_dans_groupe($id_groupe)
68 {
69 $u = spip_fetch_array(spip_query("SELECT unseul FROM spip_groupes_mots WHERE id_groupe = $id_groupe"));
70 return ($u['unseul'] == 'oui');
71 }
72
73 ?>