2 if (!defined("_ECRIRE_INC_VERSION")) return;
4 function action_editer_souscription_dist($arg=null) {
7 $securiser_action = charger_fonction('securiser_action', 'inc');
8 $arg = $securiser_action();
11 if (!$id_souscription = intval($arg)) {
12 $id_souscription = souscription_inserer();
15 if (!$id_souscription)
18 $err = souscription_modifier($id_souscription);
20 return array($id_souscription, $err);
24 * Inserer une nouvelle souscription en en base.
28 function souscription_inserer() {
30 $champs = array('date_souscription' => date('Y-m-d H:i:s'));
32 // Envoyer aux plugins
33 $champs = pipeline('pre_insertion',
34 array('args' => array('table' => 'spip_souscriptions'),
38 $id_souscription = sql_insertq("spip_souscriptions", $champs);
40 pipeline('post_insertion',
41 array('args' => array('table' => 'spip_souscriptions',
42 'id_objet' => $id_souscription),
46 return $id_souscription;
50 * Modifier une souscription
52 * $c est un contenu (par defaut on prend le contenu via _request())
54 * @param int $id_souscription
55 * @param array|bool $set
58 function souscription_modifier($id_souscription, $set=false) {
59 include_spip('inc/modifier');
61 $c = collecter_requests(
66 'informer_comite_local',
73 'id_souscription_campagne',
76 array('statut', 'date'),
77 // donnees eventuellement fournies
82 $inserer_transaction = charger_fonction('inserer_transaction', 'bank');
83 $id_transaction = $inserer_transaction(_request('montant'),
86 $id_souscription, /* auteur_id => id_souscription */
87 _request('courriel'));
89 if(!$id_transaction) {
90 return "Identifiant de transaction introuvable..."; /* FIXME: à rendre traduisible. */
93 /* Récupération du nom du pays */
94 $code_pays = _request('pays');
95 $pays = sql_getfetsel(sql_multi("nom", $GLOBALS['spip_lang']), 'spip_pays', "code='$code_pays'");
98 array("id_transaction" => $id_transaction,
101 if($err = objet_modifier_champs('souscription', $id_souscription, array(), $c))