squellete2
[aidenligne_francais_universite.git] / ecrire / action / instituer_mot.php
CommitLineData
c495c100
P
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
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15include_spip('inc/filtres');
16include_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
20function 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
30function 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
55function 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
67function 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?>