2 if (!defined("_ECRIRE_INC_VERSION")) return;
4 function action_editer_souscription_don_dist($arg=null) {
6 $securiser_action = charger_fonction('securiser_action', 'inc');
7 $arg = $securiser_action();
10 if (!$id_souscription_don = intval($arg)){
11 $id_souscription_don = don_inserer();
14 if (!$id_souscription_don)
17 $err = don_modifier($id_souscription_don);
19 return array($id_souscription_don, $err);
24 * Inserer une nouvelle donation en en base
28 function don_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_souscription_dons'),
38 $id_souscription_don = sql_insertq("spip_souscription_dons", $champs);
40 pipeline('post_insertion',
41 array('args' => array('table' => 'spip_souscription_dons',
42 'id_objet' => $id_souscription_don),
46 return $id_souscription_don;
50 * Modifier une donation
52 * $c est un contenu (par defaut on prend le contenu via _request())
54 * @param int $id_souscription_don
55 * @param array|bool $set
58 function don_modifier($id_souscription_don, $set=false) {
59 include_spip('inc/modifier');
61 $c = collecter_requests(
71 'id_souscription_campagne'),
73 array('statut', 'date'),
74 // donnees eventuellement fournies
79 $inserer_transaction = charger_fonction('inserer_transaction', 'bank');
80 $id_transaction = $inserer_transaction(_request('montant'),
83 $id_souscription_don, /* auteur_id => id_souscription_don */
84 _request('courriel'));
86 if(!$id_transaction) {
87 return "Identifiant de transaction introuvable..."; /* FIXME: à rendre traduisible. */
90 $c = array_merge($c, array("id_transaction" => $id_transaction));
92 if($err = objet_modifier_champs('souscription_don', $id_souscription_don, array(), $c))