373 lines
26 KiB
PHP
373 lines
26 KiB
PHP
<?php
|
|
require_once('php/inc_start_time.php');
|
|
require_once('php/inc_fonctions.php');
|
|
require_once('php/inc_fx_panier.php');
|
|
require_once('php/inc_fx_messages.php');
|
|
|
|
global $objDatabase, $vPage, $vDomaine, $vblnEnvironementDev;
|
|
$blnDons = false;
|
|
$vtexte_page = obtenirTextepage($vPage, $_SESSION['lang'], 2);
|
|
|
|
if ($_SESSION['lang'] == 'fr') {
|
|
$strPage = 'panier';
|
|
$strRestant = 'Quantité restante';
|
|
} else {
|
|
$strPage = 'cart';
|
|
$strRestant = 'Quantity left';
|
|
}
|
|
|
|
$no_panier = $_SESSION['no_panier'];
|
|
|
|
$ObjCaptcha = new \clsRecaptcha\clsRecaptcha();
|
|
$Retorno = $ObjCaptcha->fxGetCaptcha($_POST['g-recaptcha-response']);
|
|
|
|
if ($Retorno->success) {
|
|
// 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'], $_SESSION['lang']);
|
|
|
|
// 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'];
|
|
}
|
|
|
|
// 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);
|
|
|
|
// 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_" . $_SESSION['lang'] . " like '%(free)%' and pra_id = (select pra_id from inscriptions_panier_rabais_acheteurs where no_panier = '" . $objDatabase->fxEscape($_SESSION['no_panier']) . "')";
|
|
$tabEprUpgrade = $objDatabase->fxGetRow($sqlEprId);
|
|
|
|
if ($tabEprUpgrade == null) {
|
|
$tab_manqueqte = fxValideStockEpreuves($_SESSION['no_panier']);
|
|
$_SESSION['msg_erreur'] = "";
|
|
|
|
if ($tab_manqueqte != null) {
|
|
$_SESSION['msg_erreur'] = afficheTexte('max_epreuve_depase');
|
|
|
|
for ($intCtr = 1; $intCtr <= count($tab_manqueqte); $intCtr++) {
|
|
$_SESSION['msg_erreur'] .= $tab_manqueqte[$intCtr]['epr_categorie_' . $_SESSION['lang']] . " " . $tab_manqueqte[$intCtr]['epr_type_' . $_SESSION['lang']] . " " . $tab_manqueqte[$intCtr]['epr_nom_' . $_SESSION['lang']] . " " . $tab_manqueqte[$intCtr]['epr_date'] . " " . $strRestant . " = " . $tab_manqueqte[$intCtr]['epr_qte'] . "<br>" . $_SESSION['no_panier'];
|
|
}
|
|
|
|
header("Location: " . $vDomaine . '/' . $strPage . '/checkout/' . $_SESSION['eve_label_url']);
|
|
exit;
|
|
}
|
|
}
|
|
|
|
// MSIN-747
|
|
// valide les quantités de produits
|
|
$tab_manqueqte = fxValideStockProduits($_SESSION['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_' . $_SESSION['lang']] . " " . $tab_manqueqte[$intCtr]['pro_taille_' . $_SESSION['lang']] . " " . " " . $strRestant . " = " . $tab_manqueqte[$intCtr]['qte_restant'] . "<br>";
|
|
}
|
|
|
|
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'], $_SESSION['lang']);
|
|
$arrTermesFr = fxGetTermes($tabEvenement['general']['eve_id'], $_SESSION['no_panier'], false, 'fr');
|
|
$arrTermesMemFr = ''/*fxGetTermes($tabEvenement['general']['eve_id'], $_SESSION['no_panier'], true, 'fr')*/;
|
|
$arrTermesEn = fxGetTermes($tabEvenement['general']['eve_id'], $_SESSION['no_panier'], false, 'en');
|
|
$arrTermesMemEn = ''/*fxGetTermes($tabEvenement['general']['eve_id'], $_SESSION['no_panier'], true, 'en')*/;
|
|
$termes_fr = $arrTermesFr['text'] . $arrTermesMemFr['text'];
|
|
$termes_en = $arrTermesEn['text'] . $arrTermesMemEn['text'];
|
|
$tabTotal = fxTotalPanier($_SESSION['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($_SESSION['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($_SESSION['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($_SESSION['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 = '" . $_SESSION['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($_SESSION['no_panier'], 'fr');
|
|
|
|
if ($tabTotal['total'] > 0) {
|
|
$sqlDecision = "SELECT ach_ack, TransactionID FROM inscriptions_panier_acheteurs WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['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 = $_POST['chk_paiement'];
|
|
fxSetPanierPaiement($_SESSION['no_panier'], $intPaiement);
|
|
|
|
switch ($intPaiement) {
|
|
case 2: // Carte de crédit (Paypal legacy API)
|
|
// paiement direct paypal
|
|
if ($vblnEnvironementDev) {
|
|
if (fxCheckCreditCard($_POST)) {
|
|
if ($_SESSION['lang'] == 'fr') {
|
|
$strResultat = 'APPROUVEE - MERCI';
|
|
$strPage = 'panier';
|
|
} else {
|
|
$strResultat = 'APPROVED - THANK YOU';
|
|
$strPage = 'cart';
|
|
}
|
|
|
|
// créer un numéro de transaction
|
|
$strTransaction = uniqid('dev_');
|
|
|
|
$sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET receipt_text = '" . $strResultat . "', TransactionID = '" . $strTransaction . "', pai_id = " . intval($intPaiement) . ", ach_lang = '" . $objDatabase->fxEscape($_SESSION['lang']) . "' WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['no_panier']) . "'";
|
|
$qryUpdate = $objDatabase->fxQuery($sqlUpdate);
|
|
|
|
$strNoCommande = fxMajCommande($_SESSION['no_panier'], $_SESSION['lang']);
|
|
|
|
header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=success&ResponseFile=' . $strTransaction);
|
|
exit;
|
|
} else {
|
|
if ($_SESSION['lang'] == 'fr')
|
|
$strResultat = 'ERREUR';
|
|
else
|
|
$strResultat = 'ERROR';
|
|
|
|
$strState = 'error';
|
|
$strErrorLog = 'Mauvais numéro de carte';
|
|
|
|
$sqlUpdate = "UPDATE inscriptions_panier_acheteurs SET receipt_text = '" . $strResultat . "', TransactionID = '" . $strTransaction . "', ach_error_log = '" . $objDatabase->fxEscape($strErrorLog) . "', ach_lang = '" . $objDatabase->fxEscape($_SESSION['lang']) . "' WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['no_panier']) . "'";
|
|
$qryUpdate = $objDatabase->fxQuery($sqlUpdate);
|
|
}
|
|
|
|
header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=' . $strState . '&ResponseFile=' . $strTransaction);
|
|
exit;
|
|
} else {
|
|
// MSIN-3853
|
|
require_once "paypal_prod/api/DirectPayment/DoDirectPayment.php";
|
|
}
|
|
break;
|
|
case 6:
|
|
if ($_SESSION['lang'] == '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($_SESSION['lang']) . "' WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['no_panier']) . "'";
|
|
$qryUpdate = $objDatabase->fxQuery($sqlUpdate);
|
|
|
|
$strNoCommande = fxMajCommande($_SESSION['no_panier'], $_SESSION['lang']);
|
|
|
|
header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=success&ResponseFile=' . $strTransaction);
|
|
exit;
|
|
break;
|
|
default:
|
|
// sauvegarder les infos dans la bdd
|
|
if ($_SESSION['lang'] == '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($_SESSION['lang']) . "' WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['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 ($_SESSION['lang'] == '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($_SESSION['lang']) . "' WHERE no_panier = '" . $objDatabase->fxEscape($_SESSION['no_panier']) . "'";
|
|
$qryUpdate = $objDatabase->fxQuery($sqlUpdate);
|
|
|
|
fxMajCommande($_SESSION['no_panier'], $_SESSION['lang']);
|
|
|
|
header('Location: ' . $vDomaine . '/' . $strPage . '/resultat/' . $_SESSION['eve_label_url'] . '?p=success&ResponseFile=' . $strTransaction);
|
|
exit;
|
|
}
|
|
} else {
|
|
?>
|
|
<h1>POSSIBLE ROBOT!</h1>
|
|
<?php
|
|
}
|