Files
ms1inscription-v5/panier.php
2026-05-13 09:43:32 -04:00

170 lines
5.4 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');
require_once('php/inc_fx_compte.php');
global $vDomaine, $vPage, $tabCompte, $objDatabase;
if (!empty($_GET['lang']))
$strLangue = $_GET['lang'];
else
$strLangue = 'fr';
$vtexte_page = obtenirTextepage($vPage, $strLangue, 2);
$strPage = "panier.php";
// récupérer le code et les infos de l'événement
if (!empty($_GET['code']) && !empty($_GET['step'])) {
$strCode = $_GET['code'];
$strStep = $strStep2 = $_GET['step'];
$tabEvenement = fxGetEvenements($strCode, $strLangue);
if ($strStep == 'resultat') {
// récupérer le no de panier (au cas où les var sessions auraient été effacées)
$panier_good = fxGetPanier($_GET['ResponseFile']);
$panier = $panier_good['no_panier'];
// mettre à jour la commande
$result = fxMajCommande($panier_good['no_panier'],$strLangue);
if ($result !== false)
$commande = $result;
else
$commande = $panier_good['no_commande'];
$p = $_GET['p'];
if ($p == 'success') {
// mettre la variable no_panier et no_commande à 0
unset($_SESSION['no_panier']);
unset($_SESSION['no_commande']);
unset($_SESSION['lang']);
unset($_SESSION['eve_label_url']);
setcookie("no_panier", '', time() - 36000, '/');
}
} else {
// pour mettre levenement par defauls qui est dans le panier
if (isset($_SESSION['no_panier'])) {
$ref_no_panier = $_SESSION['no_panier'];
$mem_panierinfo = fxNbItemsPanier($_SESSION['no_panier']);
$strCode = $mem_panierinfo['eve_label_url'];
}
if ($tabEvenement['eve_gratuit'] != 1 && $strStep == 'checkout') {
$strStep2 = 'checkout_free';
}
}
} else {
header('Location: ' . $vDomaine);
exit;
}
$strLienFr = "/panier/" . $strStep . "/" . $strCode;
$strLienEn = "/cart/" . $strStep . "/" . $strCode;
// empêcher le saut d'étape si le panir est vide ou inexistant
if (($strStep == 'acheteur' && !isset($_SESSION['no_panier'])) || ($strStep == 'checkout' && !isset($_SESSION['no_panier'])) || ($strStep == 'resultat' && !isset($_GET['ResponseFile']))) {
if ($strLangue == 'fr')
$strPage = 'panier';
else
$strPage = 'cart';
header("Location: " . $vDomaine . '/' . $strPage . '/somaire/' . $tabEvenement['general']['eve_label_url']);
exit;
}
if ($strStep == 'checkout')
$_SESSION['lang'] = $strLangue;
// vérifier action POST
if (isset($_POST['btn_mod_acheteur'])) {
fxSetAcheteur('mod', $tabCompte, $_POST, $strLangue, $_SESSION['no_panier']);
if ($strLangue == 'fr')
$strPage = 'panier';
else
$strPage = 'cart';
header("Location: " . $vDomaine . '/' . $strPage . '/checkout/' . $tabEvenement['general']['eve_label_url']);
exit;
} elseif (isset($_POST['btn_next'])) {
// si est loger prend les info du comptes
if (!isset($_SESSION['com_id']))
fxMajCopieParticipantAcheteur($_SESSION['no_panier'], $_POST['acheteur']);
else
fxMajCopieParticipantAcheteurCompte($_SESSION['no_panier'], $_SESSION['com_id']);
if ($strLangue == 'fr')
$strPage = 'panier';
else
$strPage = 'cart';
header("Location: " . $vDomaine . '/' . $strPage . '/checkout/' . $tabEvenement['general']['eve_label_url']);
exit;
} elseif (isset($_POST['btn_options']))
fxSetOptions('add', $_SESSION['no_panier'], $tabEvenement, $_POST, $strLangue);
if (!empty($_POST['form_action'])) {
$strAction = base64_decode(urldecode($_POST['form_action']));
switch ($strAction) {
case 'rabais':
fxSetRabais('add', $_SESSION['no_panier'], $tabEvenement, $_POST, $strLangue);
break;
}
}
// récupérer les détails de la page
if ($strStep == 'somaire')
$recPage = fxGetPage('panier');
elseif ($strStep == 'acheteur')
$recPage = fxGetPage('compte_modifieracheteur');
else
$recPage = fxGetPage('panier_' . $strStep2);
if (count($recPage) < 1) {
header('Location: index.php');
exit;
}
$strMetaTitle = fxRemoveHtml(fxUnescape($recPage['pag_titre_' . $strLangue]));
$strMetaDescription = fxRemoveHtml(fxUnescape($recPage['pag_description_' . $strLangue]));
$strMetaKeywords = fxRemoveHtml(fxUnescape($recPage['pag_keywords_' . $strLangue]));
require_once("inc_header.php");
?>
<div id="page">
<div id="main">
<div class="container bg-white p-3 p-xl-5">
<h1><?php echo fxUnescape($recPage['pag_titre_' . $strLangue]); ?></h1>
<?php
fxShowStepsPanier($strStep, $strCode, $strLangue);
// message du manque d'épreuve
if (isset($_SESSION['msg_erreur']) && $_SESSION['msg_erreur'] != '')
{?>
<div id="message" class="msg"> <label class="error">
<?php
echo($_SESSION['msg_erreur']);
?>
</label></div>
<?php
}
if (isset($_SESSION['msg']) && $_SESSION['msg'] != '')
echo fxMessage($_SESSION['msg']);
if ($strStep == 'somaire')
require_once('panier.inc.php');
else
require_once('panier_' . $strStep . '.inc.php');
?>
</div>
</div>
</div>
<?php require_once("inc_footer.php"); ?>