[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / plugins-dist / petitions / formulaires / activer_petition_article.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 if (!defined("_ECRIRE_INC_VERSION")) return;
14
15 /**
16 * Charger
17 *
18 * @param int $id_article
19 * @return array
20 */
21 function formulaires_activer_petition_article_charger_dist($id_article){
22
23 $valeurs = array();
24
25 $valeurs['editable'] = true;
26
27 if (!autoriser('modererpetition', 'article', $id_article))
28 $valeurs['editable'] = false;
29
30 include_spip('inc/presentation');
31 include_spip('base/abstract_sql');
32 $nb_signatures = 0;
33 $petition = sql_fetsel("*", "spip_petitions", "id_article=$id_article");
34 if ($petition)
35 $nb_signatures = sql_countsel("spip_signatures", "id_petition=".intval($petition['id_petition']));
36
37 $valeurs['id_article'] = $id_article;
38 $valeurs['petition'] = $petition;
39 $valeurs['_controle_petition'] = $nb_signatures?singulier_ou_pluriel($nb_signatures,'petitions:une_signature','petitions:nombre_signatures'):"";
40
41 return $valeurs;
42
43 }
44
45 /**
46 * Traiter
47 *
48 * @param int $id_article
49 * @return array
50 */
51 function formulaires_activer_petition_article_traiter_dist($id_article){
52
53 include_spip('inc/autoriser');
54
55 if (autoriser('modererpetition', 'article', $id_article)){
56 switch(_request('change_petition')) {
57 case 'on':
58 foreach(array('email_unique','site_obli','site_unique','message') as $k)
59 if (_request($k) != 'oui')
60 set_request($k,'non');
61
62 include_spip('action/editer_petition');
63 if (!$id_petition=sql_getfetsel('id_petition','spip_petitions','id_article='.intval($id_article))){
64 $id_petition = petition_inserer($id_article);
65 }
66
67 petition_modifier(
68 $id_petition,
69 array('email_unique' => _request('email_unique'),
70 'site_obli' => _request('site_obli'),
71 'site_unique' => _request('site_unique'),
72 'message' => _request('message'),
73 'texte'=>_request('texte_petition'),
74 'statut'=>'publie',
75 )
76 );
77 break;
78 case 'off':
79 if ($id_petition=sql_getfetsel('id_petition','spip_petitions','id_article='.intval($id_article))){
80 include_spip('action/editer_petition');
81 petition_modifier($id_petition,array('statut'=>'poubelle'));
82 }
83 break;
84 }
85 }
86
87 return array('message_ok'=>_T('config_info_enregistree'));
88
89 }
90
91 ?>