X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fpayment.php;h=d24ebcfb8a724aa9af43cac4460794a8ad5c4eb0;hb=8eb6931f1ce4c88f1086859d9d46afd4793d87e4;hp=acd8bceed84d66b28d1f868b9b9f7c610bf11a48;hpb=b3cd1320f091b2df9c8ed5f7b995a3d88c26ecad;p=platal.git diff --git a/modules/payment.php b/modules/payment.php index acd8bce..d24ebcf 100644 --- a/modules/payment.php +++ b/modules/payment.php @@ -22,12 +22,14 @@ /* sort en affichant une erreur */ function cb_erreur($text) { global $globals; + echo "Error.\n"; $mymail = new PlMailer(); $mymail->addTo($globals->money->email); $mymail->setFrom("webmaster@" . $globals->mail->domain); $mymail->setSubject("erreur lors d'un télépaiement (CyberPaiement)"); $mymail->setTxtBody("\n\n".var_export($_REQUEST,true)); $mymail->send(); + echo "Notification sent.\n"; exit; } @@ -54,7 +56,7 @@ function luhn($nombre) { $s = strrev($nombre); $sum = 0; for ($i = 0; $i < strlen($s); $i++) { - $dgt = $s{$i}; + $dgt = $s{$i}; $sum += ($i % 2) ? (2*$dgt) % 9 : $dgt; } return $sum % 10; @@ -88,7 +90,7 @@ class PaymentModule extends PLModule function handlers() { return array( - 'payment' => $this->make_hook('payment', AUTH_MDP), + 'payment' => $this->make_hook('payment', AUTH_MDP, 'payment'), 'payment/cyber_return' => $this->make_hook('cyber_return', AUTH_PUBLIC, 'user', NO_HTTPS), 'payment/cyber2_return' => $this->make_hook('cyber2_return', AUTH_PUBLIC, 'user', NO_HTTPS), 'payment/paypal_return' => $this->make_hook('paypal_return', AUTH_PUBLIC, 'user', NO_HTTPS), @@ -106,7 +108,6 @@ class PaymentModule extends PLModule { global $globals; - require_once 'profil.func.inc.php' ; $this->load('money.inc.php'); if (!empty($GLOBALS['IS_XNET_SITE'])) { @@ -224,7 +225,7 @@ class PaymentModule extends PLModule if ($eid = $res->fetchOneCell()) { require_once dirname(__FILE__) . '/xnetevents/xnetevents.inc.php'; $evt = get_event_detail($eid); - subscribe_lists_event(0, $uid, $evt, $montant, true); + subscribe_lists_event($uid, $evt, 1, $montant, true); } /* on genere le mail de confirmation */ @@ -262,18 +263,18 @@ class PaymentModule extends PLModule function handler_cyber2_return(&$page, $uid = null) { global $globals, $platal; - + /* on vérifie la signature */ $vads_params = array(); foreach($_REQUEST as $key => $value) - if(substr($key,0,5) == "vads_") - $vads_params[$key] = $value; + if(substr($key,0,5) == "vads_") + $vads_params[$key] = $value; ksort($vads_params); $signature = sha1(join('+',$vads_params).'+'.$globals->money->cyperplus_key); //if($signature != Env::v('signature')) { // cb_erreur("signature invalide"); //} - + /* on extrait les informations sur l'utilisateur */ $user = User::get(Env::v('vads_cust_id')); if (!$user) { @@ -285,14 +286,14 @@ class PaymentModule extends PLModule cb_erreur("référence de commande invalide"); } - echo ($ref = $matches[1]); + $ref = $matches[1]; $res = XDB::query("SELECT mail, text, confirmation FROM payments WHERE id={?}", $ref); if (!list($conf_mail, $conf_title, $conf_text) = $res->fetchOneRow()) { cb_erreur("référence de commande inconnue"); } - + /* on extrait le montant */ if (Env::v('vads_currency') != "978") { cb_erreur("monnaie autre que l'euro"); @@ -303,11 +304,12 @@ class PaymentModule extends PLModule if (Env::v('vads_result') != "00") { cb_erreur("erreur lors du paiement : ?? (".Env::v('vads_result').")"); } - + /* on fait l'insertion en base de donnees */ XDB::execute("INSERT INTO payment_transactions (id, uid, ref, fullref, amount, pkey, comment) VALUES ({?}, {?}, {?}, {?}, {?}, {?}, {?})", Env::v('vads_trans_date'), $user->id(), $ref, Env::v('vads_order_id'), $montant, "", Env::v('vads_order_info')); + echo "Paiement stored.\n"; // We check if it is an Xnet payment and then update the related ML. $res = XDB::query('SELECT eid @@ -316,7 +318,7 @@ class PaymentModule extends PLModule if ($eid = $res->fetchOneCell()) { require_once dirname(__FILE__) . '/xnetevents/xnetevents.inc.php'; $evt = get_event_detail($eid); - subscribe_lists_event(0, $uid, $evt, $montant, true); + subscribe_lists_event($user->id(), $evt, 1, $montant, true); } /* on genere le mail de confirmation */ @@ -342,12 +344,13 @@ class PaymentModule extends PLModule $msg = 'utilisateur : ' . $user->login() . ' (' . $user->id() . ')' . "\n" . 'mail : ' . $user->forlifeEmail() . "\n\n" . "paiement : $conf_title ($conf_mail)\n". - "reference : $champ200\n". + "reference : " . Env::v('vads_order_id') . "\n". "montant : $montant\n\n". "dump de REQUEST:\n". var_export($_REQUEST,true); $mymail->setTxtBody($msg); $mymail->send(); + echo "Notifications sent.\n"; exit; } @@ -410,7 +413,7 @@ class PaymentModule extends PLModule if ($eid = $res->fetchOneCell()) { require_once dirname(__FILE__) . '/xnetevents/xnetevents.inc.php'; $evt = get_event_detail($eid); - subscribe_lists_event(0, $uid, $evt, $montant, true); + subscribe_lists_event($user->id(), $evt, 1, $montant, true); } /* on genere le mail de confirmation */