source: spip-zone/_core_/plugins/petitions/formulaires/activer_petition_article.php

Last change on this file was 113294, checked in by spip.franck@…, 4 months ago

Il parait que le futur c'est maintenant :-D

File size: 2.8 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2019                                                *
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")) {
14        return;
15}
16
17/**
18 * Charger
19 *
20 * @param int $id_article
21 * @return array
22 */
23function formulaires_activer_petition_article_charger_dist($id_article) {
24
25        $valeurs = array();
26
27        $valeurs['editable'] = true;
28
29        if (!autoriser('modererpetition', 'article', $id_article)) {
30                $valeurs['editable'] = false;
31        }
32
33        include_spip('inc/presentation');
34        include_spip('base/abstract_sql');
35        $nb_signatures = 0;
36        $petition = sql_fetsel("*", "spip_petitions", "id_article=$id_article");
37        if ($petition) {
38                $nb_signatures = sql_countsel("spip_signatures", "id_petition=" . intval($petition['id_petition']));
39        }
40
41        $valeurs['id_article'] = $id_article;
42        $valeurs['petition'] = $petition;
43        $valeurs['_controle_petition'] = $nb_signatures ? singulier_ou_pluriel($nb_signatures, 'petitions:une_signature',
44                'petitions:nombre_signatures') : "";
45
46        return $valeurs;
47
48}
49
50/**
51 * Traiter
52 *
53 * @param int $id_article
54 * @return array
55 */
56function formulaires_activer_petition_article_traiter_dist($id_article) {
57
58        include_spip('inc/autoriser');
59
60        if (autoriser('modererpetition', 'article', $id_article)) {
61                switch (_request('change_petition')) {
62                        case 'on':
63                                foreach (array('email_unique', 'site_obli', 'site_unique', 'message') as $k) {
64                                        if (_request($k) != 'oui') {
65                                                set_request($k, 'non');
66                                        }
67                                }
68
69                                include_spip('action/editer_petition');
70                                if (!$id_petition = sql_getfetsel('id_petition', 'spip_petitions', 'id_article=' . intval($id_article))) {
71                                        $id_petition = petition_inserer($id_article);
72                                }
73
74                                petition_modifier(
75                                        $id_petition,
76                                        array(
77                                                'email_unique' => _request('email_unique'),
78                                                'site_obli' => _request('site_obli'),
79                                                'site_unique' => _request('site_unique'),
80                                                'message' => _request('message'),
81                                                'texte' => _request('texte_petition'),
82                                                'statut' => 'publie',
83                                        )
84                                );
85                                break;
86                        case 'off':
87                                if ($id_petition = sql_getfetsel('id_petition', 'spip_petitions', 'id_article=' . intval($id_article))) {
88                                        include_spip('action/editer_petition');
89                                        petition_modifier($id_petition, array('statut' => 'poubelle'));
90                                }
91                                break;
92                }
93        }
94
95        return array('message_ok' => _T('config_info_enregistree'));
96
97}
Note: See TracBrowser for help on using the repository browser.