af0ad26a00b92c3de181a15f717afd4fc0b536b4
[lhc/web/www.git] / www / plugins-dist / petitions / petitions_pipelines.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2016 *
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 /**
14 * Utilisations de pipelines
15 *
16 * @package SPIP\Petitions\Pipelines
17 **/
18
19 if (!defined('_ECRIRE_INC_VERSION')) {
20 return;
21 }
22
23 /**
24 * Boite de configuration des objets articles
25 *
26 * @param array $flux
27 * @return array
28 */
29 function petitions_afficher_config_objet($flux) {
30 if ((($type = $flux['args']['type']) == 'article')
31 and ($id = $flux['args']['id'])
32 ) {
33 if (autoriser('modererpetition', $type, $id)) {
34 $table = table_objet($type);
35 $id_table_objet = id_table_objet($type);
36 $flux['data'] .= recuperer_fond("prive/configurer/petitionner", array($id_table_objet => $id));
37 }
38 }
39
40 return $flux;
41 }
42
43
44 /**
45 * Optimiser la base de données en supprimant les pétitions orphelines
46 *
47 * @param array $flux
48 * @return array
49 */
50 function petitions_optimiser_base_disparus($flux) {
51 $n = &$flux['data'];
52 $mydate = $flux['args']['date'];
53
54 //
55 // Signatures poubelles
56 //
57
58 sql_delete("spip_petitions", "statut=" . sql_quote('poubelle') . " AND maj < " . sql_quote($mydate));
59
60 // rejeter les signatures non confirmees trop vieilles (20jours)
61 if (!defined('_PETITIONS_DELAI_SIGNATURES_REJETEES')) {
62 define('_PETITIONS_DELAI_SIGNATURES_REJETEES', 20);
63 }
64 sql_delete("spip_signatures", "NOT (statut='publie' OR statut='poubelle') AND NOT(" . sql_date_proche('date_time',
65 -_PETITIONS_DELAI_SIGNATURES_REJETEES, ' DAY') . ')');
66
67
68 return $flux;
69
70 }