squellete2
[aidenligne_francais_universite.git] / ecrire / action / editer_signatures.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
16 // Modifier le reglage des forums publics de l'article x
17 // http://doc.spip.org/@action_editer_signatures_dist
18 function action_editer_signatures_dist()
19 {
20 $securiser_action = charger_fonction('securiser_action', 'inc');
21 $arg = $securiser_action();
22
23 if (!preg_match(",^(-?\d+)$,", $arg, $r)) {
24 spip_log("action_editer_signature_dist $arg pas compris");
25 } else action_editer_signatures_post($r);
26 }
27
28 // http://doc.spip.org/@action_editer_signatures_post
29 function action_editer_signatures_post($r)
30 {
31 $id = intval($r[1]);
32
33 if ($id < 0){
34 $id = 0 - $id;
35 $result_forum = spip_query("UPDATE spip_signatures SET statut='poubelle' WHERE id_signature=$id");
36
37 } elseif ($id > 0){
38 $result_forum = spip_query("UPDATE spip_signatures SET statut='publie' WHERE id_signature=$id");
39
40 }
41
42 // Invalider les pages ayant trait aux petitions
43 if ($id) {
44 include_spip('inc/invalideur');
45 $id_article = spip_fetch_array(spip_query("SELECT id_article FROM spip_signatures WHERE id_signature=$id"));
46 $id_article = $id_article['id_article'];
47 suivre_invalideur("id='varia/pet$id_article'");
48 }
49
50 # cette requete devrait figurer dans l'optimisation
51 spip_query("DELETE FROM spip_signatures WHERE NOT (statut='publie' OR statut='poubelle') AND date_time<DATE_SUB(NOW(),INTERVAL 10 DAY)");
52 }
53 ?>