- if ($res->total()) $page->assign('transactions', $res);
- }
-
- $val = floor($val).".".substr(floor(($val - floor($val))*100+100),1);
- $page->assign('montant',$val);
- $page->assign('comment',Env::v('comment'));
-
- $page->assign('meth', $meth);
- $page->assign('pay', $pay);
- $page->assign('evtlink', $pay->event());
- }
-
- function handler_cyber_return(&$page, $uid = null)
- {
- /* reference banque (numero de transaction) */
- $champ901 = Env::s('CHAMP901');
- /* cle d'acceptation */
- $champ905 = Env::s('CHAMP905');
- /* code retour */
- $champ906 = Env::s('CHAMP906');
- /* email renvoye par la banque */
- $champ104 = Env::s('CHAMP104');
- /* reference complete de la commande */
- $champ200 = Env::s('CHAMP200');
- /* montant de la transaction */
- $champ201 = Env::s('CHAMP201');
- /* devise */
- $champ202 = Env::s('CHAMP202');
- $montant = "$champ201 $champ202";
-
- /* on extrait les informations sur l'utilisateur */
- $user = User::get($uid);
- if (!$user) {
- cb_erreur("uid invalide");
- }
-
-
- /* on extrait la reference de la commande */
- if (!ereg('-xorg-([0-9]+)$', $champ200, $matches)) {
- cb_erreur("référence de commande invalide");
- }
-
- echo ($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 code de retour */
- if ($champ906 != "0000") {
- $res = XDB::query('SELECT rcb.text, c.id, c.text
- FROM payment_codeRCB AS rcb
- LEFT JOIN payment_codeC AS c ON (rcb.codeC = c.id)
- 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{
- cb_erreur("erreur inconnue lors du paiement");