Version 1.0.7
[spip_souscriptions.git] / souscription_pipelines.php
1 <?php
2 /**
3  * Utilisations de pipelines par Souscription
4  *
5  * @plugin     Souscription
6  * @copyright  2013
7  * @author     Olivier Tétard
8  * @licence    GNU/GPL
9  * @package    SPIP\Souscription\Pipelines
10  */
11
12 if (!defined('_ECRIRE_INC_VERSION')) return;
13
14 /**
15  * Optimiser la base de données en supprimant les liens orphelins
16  * de l'objet vers quelqu'un et de quelqu'un vers l'objet.
17  *
18  * @pipeline optimiser_base_disparus
19  * @param  array $flux Données du pipeline
20  * @return array       Données du pipeline
21  */
22 function souscription_optimiser_base_disparus($flux){
23
24         include_spip('action/editer_liens');
25         $flux['data'] += objet_optimiser_liens(array('souscription'=>'*'), '*');
26         return $flux;
27 }
28
29 /**
30  * Envoi d'une notification après reglement
31  *
32  * @pipeline trig_bank_notifier_reglement
33  * @param  array $flux Données du pipeline
34  * @return array       Données du pipeline
35  */
36 function souscription_trig_bank_notifier_reglement($flux) {
37         $souscription = sql_fetsel(array('courriel', 'id_souscription_campagne'), 'spip_souscriptions', 'id_transaction='.intval($flux['args']['id_transaction']));
38         $email = $souscription['courriel'];
39         $campagne = $souscription['id_souscription_campagne'];
40
41         if ($flux['args']['succes']) {
42                 $message = recuperer_fond(_trouver_modele_courriel_reglement("succes", $campagne),
43                                           array('id_transaction' => $flux['args']['id_transaction']));
44         }
45         else {
46                 $message = recuperer_fond(_trouver_modele_courriel_reglement("echec", $campagne),
47                                           array('id_transaction' => $flux['args']['id_transaction']));
48         }
49
50         spip_log(sprintf("Envoi de notifiaction de confirmation de paiement à [%] pour la souscription [%s].", $email, $flux['args']['id_transaction']),
51                  "souscription");
52
53         include_spip("inc/notifications");
54         notifications_envoyer_mails($email, $message, "", $GLOBALS['meta']['email_webmaster']);
55
56         return $flux;
57 }
58
59 function _trouver_modele_courriel_reglement($type, $id_souscription_campagne) {
60         $modele = "modeles/mail-souscription-${type}";
61
62         if(trouver_fond("${modele}-${id_souscription_campagne}"))
63                 $modele = "${modele}-${id_souscription_campagne}";
64
65         return $modele;
66 }
67
68
69 function souscription_bank_traiter_reglement($flux){
70         $flux['data'].=" <br />Vous allez recevoir un email de confirmation.";
71         return $flux;
72 }