fxGetCaptcha($_POST['g-recaptcha-response']); //if ($Retorno->success) { if (1 == 1) { // CODE EXTRA POUR DONS ICI #dons2017 #MSIN-1987 if (isset($_POST['eve_id_don'])) { $blnDons = true; // récupérer le no_panier //unset($_SESSION['no_panier']); $no_panier = fxNumPanier($_POST['eve_id_don'], $strLangue); // Ajouter l'événement DON au panier $intEvenementPanier = fxCheckEvenement($no_panier, $_POST['eve_id_don']); // vérifier si champs existant $arrData = array(); if (isset($_POST['par_prenom_1'])) $arrData['com_prenom'] = $_POST['par_prenom_1']; if (isset($_POST['par_nom_1'])) $arrData['com_nom'] = $_POST['par_nom_1']; if (isset($_POST['par_codepostal_1'])) $arrData['com_codepostal'] = $_POST['par_codepostal_1']; if (isset($_POST['pro_id_1'])) $arrData['pro_id'] = $_POST['pro_id_1']; if (isset($_POST['pay_id_1'])) $arrData['pay_id'] = $_POST['pay_id_1']; if (isset($_POST['par_adresse_1'])) $arrData['com_adresse'] = $_POST['par_adresse_1']; if (isset($_POST['par_ville_1'])) $arrData['com_ville'] = $_POST['par_ville_1']; if (isset($_POST['par_telephone1_1'])) $arrData['com_telephone1'] = $_POST['par_telephone1_1']; if (isset($_POST['par_telephone2_1'])) $arrData['com_telephone2'] = $_POST['par_telephone2_1']; if (isset($_POST['par_courriel_1'])) $arrData['com_courriel'] = $_POST['par_courriel_1']; $tabFieldsValues = fxListFieldsValues($arrData, '', 'inscriptions_comptes', $GLOBALS['arrConDatabaseMain']['db']); $sqlUpdate = "UPDATE inscriptions_panier_acheteurs " . $tabFieldsValues['set'] . ", ach_maj = '" . fxGetDateTime() . "' WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); // requête SQL pour ajouter le montant du don dans la table panier_dons if ($_POST['sel_don'] == 'other') { $fltMontant = str_replace(',', '.', $_POST['txt_don']); } else { $fltMontant = $_POST['sel_don']; } // recherche si pan existe $no_panier $sql = "select * from inscriptions_panier_dons where no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $tab = $objDatabase->fxGetRow($sql); if ($tab == null) { // stephan recherche le dernier numero pour cette evenement don MSIN-2007 $sqldons = "select pd_recu_numero from inscriptions_panier_dons where pd_recu_numero>0 and eve_id_don = " . intval($_POST['eve_id_don']) . " order by pd_recu_numero desc limit 1"; $tabdons = $objDatabase->fxGetRow($sqldons); if ($tabdons == null) $mem_no_recu = 1; else $mem_no_recu = $tabdons['pd_recu_numero'] + 1; $sqlInsert = "INSERT INTO inscriptions_panier_dons SET pd_recu_numero=" . $mem_no_recu . ",eve_id = " . intval($_POST['eve_id']) . ", eve_id_don = " . intval($_POST['eve_id_don']) . ", epr_id = " . intval($_POST['epr_id']) . ", pec_id = " . intval($_POST['pec_id']) . ", par_id = " . intval($_POST['par_id']) . ", no_panier = '" . $objDatabase->fxEscape($no_panier) . "', pd_montant = " . floatval($fltMontant) . ", pd_recu = " . intval($_POST['sel_recu']) . ", pd_anonyme = " . intval($_POST['sel_anonyme']) . ", eve_prefixe = '" . $objDatabase->fxEscape($_POST['eve_prefixe']) . "'"; $qryInsert = $objDatabase->fxQuery($sqlInsert); } else { $sqlInsert = "INSERT update inscriptions_panier_dons SET pd_montant = " . floatval($fltMontant) . ", pd_recu = " . intval($_POST['sel_recu']) . ", pd_anonyme = " . intval($_POST['sel_anonyme']) . " '"; $qryInsert = $objDatabase->fxQuery($sqlInsert); } // Ajouter les questions MSIN-2280 // sortir les questions de l'épreuve $tabQuestions = fxGetQuestions('par', $_POST['eve_id_don'], $_POST['epr_id'], 'mod'); // récupérer les questions à demander pour l'épreuve $tabData = $_POST; // insérer les réponses des questions for ($intCtr2 = 1; $intCtr2 <= count($tabQuestions); $intCtr2++) { if (array_key_exists('que_' . $tabQuestions[$intCtr2]['que_id'] . '_1', $tabData)) { if ($tabQuestions[$intCtr2]['que_liste'] == 1) { $intIndex = $tabData['que_' . $tabQuestions[$intCtr2]['que_id'] . '_1']; $tabChoixFr = explode(',', $tabQuestions[$intCtr2]['que_choix_fr']); $tabChoixEn = explode(',', $tabQuestions[$intCtr2]['que_choix_en']); $strChoixFr = $tabChoixFr[$tabData['que_' . $tabQuestions[$intCtr2]['que_id'] . '_1'] - 1]; $strChoixEn = $tabChoixEn[$tabData['que_' . $tabQuestions[$intCtr2]['que_id'] . '_1'] - 1]; $intProduit = 0; } else { $intIndex = 0; $intProduit = 0; $strChoixFr = $strChoixEn = $tabData['que_' . $tabQuestions[$intCtr2]['que_id'] . '_1']; } $sqlInsert = "INSERT INTO inscriptions_panier_questions SET no_panier = '" . $objDatabase->fxEscape($no_panier) . "', par_id = 0, pec_id = 0, que_id = " . intval($tabQuestions[$intCtr2]['que_id']) . ", que_question_fr = '" . $objDatabase->fxEscape($tabQuestions[$intCtr2]['que_question_fr']) . "', que_question_en = '" . $objDatabase->fxEscape($tabQuestions[$intCtr2]['que_question_en']) . "', que_choix_fr = '" . $objDatabase->fxEscape($strChoixFr) . "', que_choix_en = '" . $objDatabase->fxEscape($strChoixEn) . "', que_index = " . intval($intIndex) . ", pro_id = " . intval($intProduit) . ", que_validation = '" . $objDatabase->fxEscape($tabQuestions[$intCtr2]['que_validation']) . "', que_cart_show = " . intval($tabQuestions[$intCtr2]['que_cart_show']) . ", que_cart_label_fr = '" . $objDatabase->fxEscape($tabQuestions[$intCtr2]['que_cart_label_fr']) . "', que_cart_label_en = '" . $objDatabase->fxEscape($tabQuestions[$intCtr2]['que_cart_label_en']) . "', que_modifiable = " . intval($tabQuestions[$intCtr2]['que_modifiable']); $qryInsert = $objDatabase->fxQuery($sqlInsert); $intPanierQuestion = $objDatabase->fxGetLastId(); $sqlInsert = "INSERT INTO resultats_questions(par_id, pec_id, que_id, que_question_fr, que_question_en, que_choix_fr, pqu_note, que_choix_en, pqu_maj, no_panier, pqu_id_original, que_modifiable, que_validation) SELECT par_id, pec_id, que_id, que_question_fr, que_question_en, que_choix_fr, '', que_choix_en, '" . fxGetDateTime() . "', no_panier, pqu_id, que_modifiable, que_validation FROM inscriptions_panier_questions WHERE pqu_id = " . intval($intPanierQuestion); $qryInsert = $objDatabase->fxQuery($sqlInsert); } } } // MSIN-1815 --> exclure les épreuves transférées de la vérification fdes stocks $sqlEprId = "select * from inscriptions_panier_rabais where rab_code = 'CATEGORY CHANGE' AND rab_description_" . $strLangue . " like '%(free)%' and pra_id = (select pra_id from inscriptions_panier_rabais_acheteurs where no_panier = '" . $objDatabase->fxEscape($no_panier) . "' limit 1)"; $tabEprUpgrade = $objDatabase->fxGetRow($sqlEprId); if ($tabEprUpgrade == null) { $tab_manqueqte = fxValideStockEpreuves($no_panier); $_SESSION['msg_erreur'] = ""; // a faire corriger si pas de quantiter if ($tab_manqueqte != null) { // $_SESSION['msg_erreur'] = afficheTexte('max_epreuve_depase'); $_SESSION['msg_erreur'] = ''; for ($intCtr = 1; $intCtr <= count($tab_manqueqte); $intCtr++) { $_SESSION['msg_erreur'] .= $tab_manqueqte[$intCtr]['epr_categorie_' . $strLangue] . " " . $tab_manqueqte[$intCtr]['epr_type_' . $strLangue] . " " . $tab_manqueqte[$intCtr]['epr_nom_' . $strLangue] . " " . $tab_manqueqte[$intCtr]['epr_date'] . " " . $strRestant . " = " . $tab_manqueqte[$intCtr]['epr_qte'] . "
" . $no_panier; } http_response_code(409); echo json_encode([ 'status'=>0, 'detail'=> $_SESSION['msg_erreur'], 'type' => 'OUT', 'msg' => 'max_epreuve_depase' ], JSON_UNESCAPED_UNICODE); exit; // ⬅️ on QUITTE proprement ici si inventaire insuffisant exit; header("Location: " . $vDomaine . '/' . $strPage . '/checkout/' . $_SESSION['eve_label_url']); exit; } } // MSIN-747 // valide les quantités de produits $tab_manqueqte = fxValideStockProduits($no_panier); $_SESSION['msg_erreur'] = ""; if ($tab_manqueqte != null) { // $_SESSION['msg_erreur'] = afficheTexte('max_produit_depasse'); for ($intCtr = 1; $intCtr <= count($tab_manqueqte); $intCtr++) { $_SESSION['msg_erreur'] .= $tab_manqueqte[$intCtr]['pro_nom_' . $strLangue] . " " . $tab_manqueqte[$intCtr]['pro_taille_' . $strLangue] . " " . " " . $strRestant . " = " . $tab_manqueqte[$intCtr]['qte_restant'] . "
"; } http_response_code(409); echo json_encode([ 'status'=>0, 'detail'=> $_SESSION['msg_erreur'], 'type' => 'OUT', 'msg' => 'OUT_OF_STOCK' ], JSON_UNESCAPED_UNICODE); exit; // ⬅️ on QUITTE proprement ici si inventaire insuffisant exit; header("Location: " . $vDomaine . '/' . $strPage . '/checkout/' . $_SESSION['eve_label_url']); exit; } // enregister les termes eZyuyt conditions et le mode de paiement // MSIN-896 $tabEvenement = fxGetEvenements($_SESSION['eve_label_url'], $strLangue); $arrTermesFr = fxGetTermes($tabEvenement['general']['eve_id'], $no_panier, false, 'fr'); $arrTermesMemFr = ''/*fxGetTermes($tabEvenement['general']['eve_id'], $no_panier, true, 'fr')*/ ; $arrTermesEn = fxGetTermes($tabEvenement['general']['eve_id'], $no_panier, false, 'en'); $arrTermesMemEn = ''/*fxGetTermes($tabEvenement['general']['eve_id'], $no_panier, true, 'en')*/ ; //$termes_fr = $arrTermesFr['text'] . $arrTermesMemFr['text']; //$termes_en = $arrTermesEn['text'] . $arrTermesMemEn['text']; $texte1 = is_array($arrTermesFr) ? ($arrTermesFr['text'] ?? '') : $arrTermesFr; $texte2 = is_array($arrTermesMemFr) ? ($arrTermesMemFr['text'] ?? '') : $arrTermesMemFr; $termes_fr = $texte1 . $texte2; $texte1_en = is_array($arrTermesEn) ? ($arrTermesEn['text'] ?? '') : $arrTermesEn; $texte2_en = is_array($arrTermesMemEn) ? ($arrTermesMemEn['text'] ?? '') : $arrTermesMemEn; $termes_en = $texte1_en . $texte2_en; $tabTotal = fxTotalPanier($no_panier, 'fr'); $sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET ach_termes_fr = '" . $objDatabase->fxEscape($termes_fr) . "', ach_termes_en = '" . $objDatabase->fxEscape($termes_en) . "', fra_avant_tx = " . floatval($tabTotal['fra_avant_tx']) . ", fra_total = " . floatval($tabTotal['fra_total']) . ", fra_pourcent = " . floatval($tabTotal['fra_pourcent']) . ", fra_taxe1 = " . floatval($tabTotal['taxes_frais'][1]['montant']) . ", fra_taxe2 = " . floatval($tabTotal['taxes_frais'][2]['montant']) . ", fra_taxe3 = " . floatval($tabTotal['taxes_frais'][3]['montant']) . ", fra_taxe1_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes_frais'][1]['label_fr'] . " " . $tabTotal['taxes_frais'][1]['numero']) . "', fra_taxe1_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes_frais'][1]['label_en'] . " " . $tabTotal['taxes_frais'][1]['numero']) . "', fra_taxe2_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes_frais'][2]['label_fr'] . " " . $tabTotal['taxes_frais'][2]['numero']) . "', fra_taxe2_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes_frais'][2]['label_en'] . " " . $tabTotal['taxes_frais'][2]['numero']) . "', fra_taxe3_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes_frais'][3]['label_fr'] . " " . $tabTotal['taxes_frais'][3]['numero']) . "', fra_taxe3_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes_frais'][3]['label_en'] . " " . $tabTotal['taxes_frais'][3]['numero']) . "', fra_taxe1_taux = " . floatval($tabTotal['taxes_frais'][1]['taux']) . ", fra_taxe2_taux = " . floatval($tabTotal['taxes_frais'][2]['taux']) . ", fra_taxe3_taux = " . floatval($tabTotal['taxes_frais'][3]['taux']) . ", ach_taxe1 = " . floatval($tabTotal['taxes'][1]['montant']) . ", ach_taxe2 = " . floatval($tabTotal['taxes'][2]['montant']) . ", ach_taxe3 = " . floatval($tabTotal['taxes'][3]['montant']) . ", ach_taxe1_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes'][1]['label_fr'] . " " . $tabTotal['taxes'][1]['numero']) . "', ach_taxe1_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes'][1]['label_en'] . " " . $tabTotal['taxes'][1]['numero']) . "', ach_taxe2_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes'][2]['label_fr'] . " " . $tabTotal['taxes'][2]['numero']) . "', ach_taxe2_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes'][2]['label_en'] . " " . $tabTotal['taxes'][2]['numero']) . "', ach_taxe3_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes'][3]['label_fr'] . " " . $tabTotal['taxes'][3]['numero']) . "', ach_taxe3_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes'][3]['label_en'] . " " . $tabTotal['taxes'][3]['numero']) . "', ach_taxe1_taux = " . floatval($tabTotal['taxes'][1]['taux']) . ", ach_taxe2_taux = " . floatval($tabTotal['taxes'][2]['taux']) . ", ach_taxe3_taux = " . floatval($tabTotal['taxes'][3]['taux']) . ", depot_total = " . floatval($tabTotal['depot_total']) . ", rabais_total = " . floatval($tabTotal['rabais_total']) . " WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); // MSIN-910: Mettre les frais dans la bdd pour les événements qui ont les frais inclus dans le prix if (!($tabTotal['fra_total'] > 0) && $tabTotal['fra_total2'] > 0) { $sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET fra_avant_tx = " . floatval($tabTotal['fra_avant_tx2']) . ", fra_total = " . floatval($tabTotal['fra_total2']) . ", fra_taxe1 = " . floatval($tabTotal['taxes_frais2'][1]['montant']) . ", fra_taxe2 = " . floatval($tabTotal['taxes_frais2'][2]['montant']) . ", fra_taxe3 = " . floatval($tabTotal['taxes_frais2'][3]['montant']) . ", fra_taxe1_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes_frais2'][1]['label_fr'] . " " . $tabTotal['taxes_frais2'][1]['numero']) . "', fra_taxe1_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes_frais2'][1]['label_en'] . " " . $tabTotal['taxes_frais2'][1]['numero']) . "', fra_taxe2_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes_frais2'][2]['label_fr'] . " " . $tabTotal['taxes_frais2'][2]['numero']) . "', fra_taxe2_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes_frais2'][2]['label_en'] . " " . $tabTotal['taxes_frais2'][2]['numero']) . "', fra_taxe3_label_fr = '" . $objDatabase->fxEscape($tabTotal['taxes_frais2'][3]['label_fr'] . " " . $tabTotal['taxes_frais2'][3]['numero']) . "', fra_taxe3_label_en = '" . $objDatabase->fxEscape($tabTotal['taxes_frais2'][3]['label_en'] . " " . $tabTotal['taxes_frais2'][3]['numero']) . "', fra_taxe1_taux = " . floatval($tabTotal['taxes_frais2'][1]['taux']) . ", fra_taxe2_taux = " . floatval($tabTotal['taxes_frais2'][2]['taux']) . ", fra_taxe3_taux = " . floatval($tabTotal['taxes_frais2'][3]['taux']) . " WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); } // Boucler parmi les rabais $sqlRabais = "SELECT a.no_panier, r.pra_id, a.prac_id, r.rab_montant, r.rab_pourcent, r.rab_epreuves, r.rab_produits FROM inscriptions_panier_rabais r, inscriptions_panier_rabais_acheteurs a WHERE a.pra_id = r.pra_id AND r.pra_depot = 0 AND a.no_panier = '" . $objDatabase->fxEscape($no_panier) . "' ORDER BY a.no_panier, r.rab_priorite, r.rab_code, r.pra_maj"; $tabRabais = $objDatabase->fxGetResults($sqlRabais); $fltRabais = 0; $no_panier_prec = ''; if ($tabRabais != null) { foreach ($tabRabais as $tab) { $no_panier = $tab['no_panier']; if (1 == 1/*$no_panier != $no_panier_prec*/) { $fltRabais = 0; } if ($tab['rab_montant'] > 0) { // $$$ // Calculer le rabais if ($tab['rab_epreuves'] != '' || $tab['rab_produits'] != '') { $sqlMontant = " SELECT (SELECT COALESCE(SUM(rab_montant), 0) FROM inscriptions_panier_epreuves_commandees WHERE pra_id = " . intval($tab['pra_id']) . " AND no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') + (SELECT COALESCE(SUM(rab_montant), 0) FROM inscriptions_panier_produits_new WHERE pra_id = " . intval($tab['pra_id']) . " AND no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') AS rabais FROM DUAL "; $fltRabais += $objDatabase->fxGetVar($sqlMontant); } else { $fltRabais += $tab['rab_montant']; } } else { // %%% if ($tab['rab_epreuves'] != '' || $tab['rab_produits'] != '') { // Calculer le rabais $sqlMontant = " SELECT (SELECT COALESCE(SUM(rab_montant), 0) FROM inscriptions_panier_epreuves_commandees WHERE pra_id = " . intval($tab['pra_id']) . " AND no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') + (SELECT COALESCE(SUM(rab_montant), 0) FROM inscriptions_panier_produits_new WHERE pra_id = " . intval($tab['pra_id']) . " AND no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') AS rabais FROM DUAL "; $fltRabais += $objDatabase->fxGetVar($sqlMontant); } else { // Calculer le rabais $sqlPourcent = " SELECT ( ( (SELECT COALESCE(SUM(pec_prix), 0) FROM inscriptions_panier_epreuves_commandees WHERE no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') + (SELECT COALESCE(SUM(pro_prix), 0) FROM inscriptions_panier_produits_new WHERE no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') + (SELECT COALESCE(SUM(md_montant), 0) FROM inscriptions_panier_montants_dus WHERE no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') ) - ( (SELECT COALESCE(SUM(e.rab_montant), 0) FROM inscriptions_panier_epreuves_commandees e, inscriptions_panier_rabais r WHERE r.pra_id = e.pra_id AND r.pra_depot = 0 AND e.no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') + (SELECT COALESCE(SUM(p.rab_montant), 0) FROM inscriptions_panier_produits_new p, inscriptions_panier_rabais r WHERE r.pra_id = p.pra_id AND r.pra_depot = 0 AND p.no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "') + (SELECT COALESCE(SUM(r.rab_montant), 0) FROM inscriptions_panier_rabais r, inscriptions_panier_rabais_acheteurs a WHERE r.pra_id = a.pra_id AND r.pra_depot = 0 AND a.no_panier = '" . $objDatabase->fxEscape($tab['no_panier']) . "' AND r.rab_pourcent = 0 AND r.rab_epreuves = '' AND r.rab_produits = '') ) ) * ((SELECT COALESCE(SUM(rab_pourcent), 0) FROM inscriptions_panier_rabais WHERE pra_id = " . intval($tab['pra_id']) . ") / 100) FROM DUAL "; $fltRabais += $objDatabase->fxGetVar($sqlPourcent); } } // update $sqlUpdate = "UPDATE inscriptions_panier_rabais_acheteurs SET rab_montant = " . floatval($fltRabais) . " WHERE prac_id = " . intval($tab['prac_id']); $qryUpadte = $objDatabase->fxQuery($sqlUpdate); $no_panier_prec = $no_panier; // nettre les épreuves et produits à 0 si PNQ et rabais 100% (MSIN-2119) if ($tabEvenement['general']['eve_rapport_finances_capitaines'] == 1) { $sqlRabaisPourcent = "SELECT COALESCE(SUM(r.rab_pourcent), 0) FROM inscriptions_panier_rabais r, inscriptions_panier_rabais_acheteurs a WHERE r.pra_id = a.pra_id AND a.no_panier = '" . $no_panier . "'"; $intRabaisPourcent = $objDatabase->fxGetVar($sqlRabaisPourcent); if ($intRabaisPourcent != null) { if ($intRabaisPourcent == 100) { // mettre à 0 le prix des épreuves $sqlUpdateEpreuves = "UPDATE inscriptions_panier_epreuves_commandees SET pec_prix = 0 WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdateEpreuves = $objDatabase->fxQuery($sqlUpdateEpreuves); // mettre à 0 le prix des produits $sqlUpdateProduits = "UPDATE inscriptions_panier_produits_new SET pro_prix = 0 WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdateProduits = $objDatabase->fxQuery($sqlUpdateProduits); } } } } } $tabTotal = fxTotalPanier($no_panier, 'fr'); if ($tabTotal['total'] > 0) { $sqlDecision = "SELECT ach_ack, TransactionID FROM inscriptions_panier_acheteurs WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $tabDecision = $objDatabase->fxGetRow($sqlDecision); //if ($tabDecision['ach_ack'] != 'Success' && $tabDecision['ach_ack'] != 'SuccessWithWarning') { $strTransaction = uniqid('trx_'); // créer un numéro de transaction $intPaiement = 2; fxSetPanierPaiement($no_panier, $intPaiement); switch ($intPaiement) { case 2: // Carte de crédit (Paypal legacy API) // paiement direct paypal // Sortir les infos de l'acheteur $tabPanier = fxlistPanier($_SESSION['no_panier']); $tabAcheteur = $tabPanier[0]; $tabEvenement = $tabPanier[1]; $mem_province = fxGetProvinces($tabAcheteur['pro_id'], $strLangue); $mem_province = fxUnescape($mem_province['pro_paypal']); $mem_pays = fxGetPays($tabAcheteur['pay_id'], $strLangue); $mem_pays = fxreplace_accents_string(fxUnescape($mem_pays['pay_nom_' . $strLangue])); // Set l'adresse de l'acheteur $firstName = fxreplace_accents_string(fxUnescape($tabAcheteur['com_prenom'])); $lastName = fxreplace_accents_string(fxUnescape($tabAcheteur['com_nom'])); $courriel = fxreplace_accents_string(fxUnescape($tabAcheteur['com_courriel'])); // print "
";
                //   print_r($tabPanier);
                //   print "
"; $mem_var_paypal['CountryCode'] = 'CA'; $eve = fxRemoveHtml(fxUnescape($tabEvenement['eve_nom_' . $strLangue])); $paypal_items = array(array( "name" => $eve, "quantity" => 1, "unit_amount" => array("value" => round($tabTotal['total'], 2), "currency_code" => $vPaypal_devise), "sku" => $_SESSION['no_panier'] )); $paypal_purchase_units = array( array( "invoice_id" => $_SESSION['no_panier'], "custom_id" => $_SESSION['no_panier'], "description" => $eve, "amount" => array( "currency_code" => $vPaypal_devise, "value" => round($tabTotal['total'], 2), "breakdown" => array( "item_total" => array( "currency_code" => $vPaypal_devise, "value" => round($tabTotal['total'], 2) ) ) ) , "items" => $paypal_items , "shipping" => array( "name" => array( "full_name" => "$firstName $lastName"), "address" => array( "address_line_1" => fxreplace_accents_string(fxUnescape($tabAcheteur['com_adresse'])), "admin_area_2" => fxreplace_accents_string(fxUnescape($tabAcheteur['com_ville'])), "admin_area_1" => $mem_province, "postal_code" => strtoupper(fxUnescape($tabAcheteur['com_codepostal'])), "country_code" => $mem_var_paypal['CountryCode'] ) ) ) ); // print "
";
                //  print_r($paypal_purchase_units);
                // print "
"; // MSIN-3853 break; case 6: if ($strLangue == 'fr') { $strResultat = 'APPROUVEE - MERCI'; $strPage = 'panier'; } else { $strResultat = 'APPROVED - THANK YOU'; $strPage = 'cart'; } // créer un numéro de transaction $strTransaction = uniqid('chk_'); $sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET receipt_text = '" . $strResultat . "', TransactionID = '" . $strTransaction . "', pai_id = " . intval($intPaiement) . ", ach_lang = '" . $objDatabase->fxEscape($strLangue) . "' WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); $strNoCommande = fxMajCommande($no_panier, $strLangue); header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=success&ResponseFile=' . $strTransaction); exit; break; default: // sauvegarder les infos dans la bdd if ($strLangue == 'fr') $strResultat = 'ERREUR'; else $strResultat = 'ERROR'; $strErrorLog = 'NO chk_paiement'; $sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET receipt_text = '" . $strResultat . "', TransactionID = '" . $strTransaction . "', ach_error_log = '" . $objDatabase->fxEscape($strErrorLog) . "', ach_lang = '" . $objDatabase->fxEscape($strLangue) . "' WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=error&ResponseFile=' . $strTransaction); exit; } } else { // créer un numéro de transaction $strTransaction = uniqid('trx_'); // sauvegarder les infos dans la bdd if ($strLangue == 'fr') { $strResultat = 'APPROUVEE - MERCI'; $strPage = 'panier'; } else { $strResultat = 'APPROVED - THANK YOU'; $strPage = 'cart'; } $sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET receipt_text = '" . $strResultat . "', TransactionID = '" . $strTransaction . "', pai_id = 4, ach_lang = '" . $objDatabase->fxEscape($strLangue) . "' WHERE no_panier = '" . $objDatabase->fxEscape($no_panier) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); fxMajCommande($no_panier, $strLangue); header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=success&ResponseFile=' . $strTransaction); exit; } } else { ?>

POSSIBLE ROBOT!