Merge commit 'origin/master' into fusionax
[platal.git] / modules / payment.php
index 69ba4c2..415b607 100644 (file)
@@ -88,14 +88,14 @@ class PaymentModule extends PLModule
     function handlers()
     {
         return array(
-            'payment'               => $this->make_hook('payment', AUTH_MDP),
-            'payment/cyber_return'  => $this->make_hook('cyber_return',  AUTH_PUBLIC, 'user', NO_HTTPS),
-            'payment/paypal_return' => $this->make_hook('paypal_return',  AUTH_PUBLIC, 'user', NO_HTTPS),
-            '%grp/paiement'              => $this->make_hook('xnet_payment', AUTH_MDP),
-            '%grp/payment'               => $this->make_hook('xnet_payment', AUTH_MDP),
-            '%grp/payment/cyber_return'  => $this->make_hook('cyber_return', AUTH_PUBLIC, 'user', NO_HTTPS),
+            'payment'                    => $this->make_hook('payment',       AUTH_MDP),
+            'payment/cyber_return'       => $this->make_hook('cyber_return',  AUTH_PUBLIC, 'user', NO_HTTPS),
+            'payment/paypal_return'      => $this->make_hook('paypal_return', AUTH_PUBLIC, 'user', NO_HTTPS),
+            '%grp/paiement'              => $this->make_hook('xnet_payment',  AUTH_MDP),
+            '%grp/payment'               => $this->make_hook('xnet_payment',  AUTH_MDP),
+            '%grp/payment/cyber_return'  => $this->make_hook('cyber_return',  AUTH_PUBLIC, 'user', NO_HTTPS),
             '%grp/payment/paypal_return' => $this->make_hook('paypal_return', AUTH_PUBLIC, 'user', NO_HTTPS),
-            'admin/payments'        => $this->make_hook('admin', AUTH_MDP, 'admin'),
+            'admin/payments'             => $this->make_hook('admin',         AUTH_MDP,    'admin'),
 
         );
     }
@@ -208,7 +208,7 @@ class PaymentModule extends PLModule
             $res = XDB::query("SELECT  rcb.text,c.id,c.text
                                  FROM  paiement.codeRCB AS rcb
                             LEFT JOIN  paiement.codeC   AS c ON rcb.codeC=c.id
-                                WHERE  rcb.id='$champ906'");
+                                WHERE  rcb.id={?}", $champ906);
             if (list($rcb_text, $c_id, $c_text) = $res->fetchOneRow()) {
                 cb_erreur("erreur lors du paiement : $c_text ($c_id)");
             } else{
@@ -221,11 +221,22 @@ class PaymentModule extends PLModule
                            VALUES  ({?},{?},{?},{?},{?},{?},{?})",
                      $champ901, $uid, $ref, $champ200, $montant, $champ905,Env::v('comment'));
 
+        // We check if it is an Xnet payment and then update the related ML.
+        $res = XDB::query('SELECT  eid
+                             FROM  groupex.evenements
+                            WHERE  paiement_id = {?}', $ref);
+        if ($eid = $res->fetchOneCell()) {
+            $this->load('xnetevents.inc.php');
+            $evt = get_event_detail($eid);
+            subscribe_lists_event(0, $uid, $evt, $montant, true);
+        }
+
         /* on genere le mail de confirmation */
         $conf_text = str_replace("<prenom>",$prenom,$conf_text);
         $conf_text = str_replace("<nom>",$nom,$conf_text);
         $conf_text = str_replace("<promo>",$promo,$conf_text);
         $conf_text = str_replace("<montant>",$montant,$conf_text);
+        $conf_text = str_replace("<comment>", Env::v('comment'), $conf_text);
         $conf_text = str_replace("<salutation>",$femme ? "Chère" : "Cher",$conf_text);
         $conf_text = str_replace("<cher>",$femme ? "Chère" : "Cher",$conf_text);
 
@@ -311,6 +322,16 @@ class PaymentModule extends PLModule
                            VALUES  ({?},{?},{?},{?},{?},{?},{?})",
                     $no_transaction, $uid, $ref, $fullref, $montant, $clef, Env::v('comment'));
 
+        // We check if it is an Xnet payment and then update the related ML.
+        $res = XDB::query('SELECT  eid
+                             FROM  groupex.evenements
+                            WHERE  paiement_id = {?}', $ref);
+        if ($eid = $res->fetchOneCell()) {
+            $this->load('xnetevents.inc.php');
+            $evt = get_event_detail($eid);
+            subscribe_lists_event(0, $uid, $evt, $montant, true);
+        }
+
         /* on genere le mail de confirmation */
         $conf_text = str_replace("<prenom>",$prenom,$conf_text);
         $conf_text = str_replace("<nom>",$nom,$conf_text);