X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fpayment%2Fmoney%2Fbplccyberplus.inc.php;h=0b273a58b4bc63716ad0ae5fa33c3ed03d46b33b;hb=5096676e03dcd626d6e64696cb9d6ee5d8e054da;hp=225c33728eefdbd8eb62670a2589840d9a4bc8d2;hpb=a1c554a92888e0b017ba362817a67cc2849a9154;p=platal.git diff --git a/modules/payment/money/bplccyberplus.inc.php b/modules/payment/money/bplccyberplus.inc.php index 225c337..0b273a5 100644 --- a/modules/payment/money/bplccyberplus.inc.php +++ b/modules/payment/money/bplccyberplus.inc.php @@ -1,6 +1,6 @@ val = 100 * strtr(sprintf("%.02f", (float)$val), '.', ','); + $this->val = 100 * strtr($val, ',', '.'); } // }}} // {{{ function form() - function prepareform(&$pay) + private static function replaceNonAlpha($string) + { + return trim(preg_replace('/\s\s+/', ' ', preg_replace('/[^a-zA-Z0-9]/', ' ', $string))); + } + + function prepareform($pay, $user) { global $globals, $platal; $log = S::v('log'); // Transaction's reference computation. - $prefix = ($pay->flags->hasflag('unique')) ? str_pad("",15,"0") : rand_url_id(); + $prefix = rand_url_id(); $fullref = substr("$prefix-{$pay->id}",-12); // FIXME : check for duplicates $ts = time(); - $trans_date = date("YmdHis", $ts); - $trans_id = date("His", $ts); // FIXME : check for duplicates + $trans_date = gmdate("YmdHis", $ts); + $trans_id = gmdate("His", $ts); // FIXME : check for duplicates // Form's content. $this->urlform = "https://systempay.cyberpluspaiement.com/vads-payment/"; @@ -74,9 +79,9 @@ class BPLCCyberPlus 'vads_return_mode' => 'NONE', 'vads_url_return' => $pay->url ? $pay->url : $globals->baseurl . '/' . $platal->ns); $this->infos['client'] = Array( - 'vads_cust_email' => S::user()->bestEmail(), - 'vads_cust_id' => S::v('uid'), - 'vads_cust_name' => replace_accent(S::user()->fullName())); + 'vads_cust_email' => $user->bestEmail(), + 'vads_cust_id' => $user->id(), + 'vads_cust_name' => substr(self::replaceNonAlpha(replace_accent($user->shortName())), 0, 127)); $this->infos['commande'] = Array( 'vads_amount' => $this->val, 'vads_currency' => '978', # Euro @@ -84,7 +89,8 @@ class BPLCCyberPlus 'vads_trans_date' => $trans_date, 'vads_trans_id' => $trans_id, 'vads_order_id' => $fullref, - 'vads_order_info' => Env::v('comment')); + 'vads_order_info' => substr(self::replaceNonAlpha(replace_accent(Env::v('comment'))), 0, 255), + 'vads_order_info2' => Post::i('display')); $this->infos['divers'] = Array( 'vads_version' => 'V2', 'vads_ctx_mode' => $globals->money->cyperplus_prod, @@ -102,5 +108,5 @@ class BPLCCyberPlus $api = 'BPLCCyberPlus'; -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8: ?>