[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / action / editer_signatures.php
diff --git a/www/ecrire/action/editer_signatures.php b/www/ecrire/action/editer_signatures.php
new file mode 100644 (file)
index 0000000..fc0781b
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2011                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined('_ECRIRE_INC_VERSION')) return;
+
+// http://doc.spip.org/@action_editer_signatures_dist
+function action_editer_signatures_dist()
+{
+       $securiser_action = charger_fonction('securiser_action', 'inc');
+       $arg = $securiser_action();
+
+       if (!preg_match(",^(-?\d+)$,", $arg, $r)) {
+                spip_log("action_editer_signature_dist $arg pas compris");
+       } else action_editer_signatures_post($r);
+}
+
+// mettre un signature a la poubelle
+// ou l'en sortir
+// ou relancer le signataire.
+
+// http://doc.spip.org/@action_editer_signatures_post
+function action_editer_signatures_post($r)
+{
+       $id = intval($r[1]);
+
+       if ($id < 0){
+               $id = 0 - $id;
+               sql_updateq("spip_signatures", array("statut" => 'poubelle'), "id_signature=$id");
+
+       } elseif ($id > 0){
+               $row = sql_fetsel('*', 'spip_signatures', "id_signature=$id"); 
+               if ($row['statut']=='poubelle')
+                       sql_updateq("spip_signatures", array("statut" => 'publie'), "id_signature=$id");
+               else {
+                       include_spip('formulaires/signature');
+                       include_spip('inc/texte');
+                       
+                       $id_article = $row['id_article'];
+                       
+                       $url = generer_url_entite_absolue($id_article, 'article','','',true);
+                       if (signature_a_confirmer($id_article, $url, $row['nom_email'], $row['ad_email'], $row['nom_site'], $row['url_site'], $row['message'], $row['lang'], $row['statut']))
+                               sql_updateq("spip_signatures", array("date_time" => date('Y-m-d H:i:s')), "id_signature=$id");
+                       $id = 0;
+               }
+
+       }
+
+       // Invalider les pages ayant trait aux petitions
+       if ($id) {
+               include_spip('inc/invalideur');
+               $id_article = sql_getfetsel("id_article", "spip_signatures", "id_signature=$id");
+               suivre_invalideur("id='varia/pet$id_article'");
+       }
+
+       # cette requete devrait figurer dans l'optimisation
+       sql_delete("spip_signatures", "NOT (statut='publie' OR statut='poubelle') AND date_time<DATE_SUB(NOW(),INTERVAL 10 DAY)");
+}
+?>