// }}}
// {{{ 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/";
'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
'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,