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

235 lines
10 KiB
PHP

<?php
require_once "php/inc_fx_transferts.php";
global $objDatabase, $strLangue, $vDomaine, $tabEvenement;
$blnError = false;
$arrTransfert = $arrEpreuve = null;
$strUrl = $strNoTransfert = '';
$strPrixTransfert = 0;
$tabProduitsAutoactif=0;
if (!empty($_GET['t'])){ // si le numéro de transfert est présent
$strNoTransfert = $_GET['t'];
$sqlTransfert = "SELECT ec.*, c.com_id, c.com_prenom, c.com_nom, t.* FROM resultats_epreuves_commandees ec, inscriptions_comptes c, inscriptions_transferts t WHERE ec.pec_id_original = t.pec_id AND c.com_id = ec.com_id AND t.no_transfert = '" . $objDatabase->fxEscape($strNoTransfert) . "'";
$arrTransfert = $objDatabase->fxGetRow($sqlTransfert);
if ($arrTransfert != null) {
switch ($arrTransfert['ts_id']) {
case '2':
$blnError = true;
if ($strLangue == 'fr') {
$strMessage = "Ce transfert a déjà été complété!";
} else {
$strMessage = "This transfer has already been completed!";
}
break;
case '4':
$blnError = true;
if ($strLangue == 'fr') {
$strMessage = "Cette demande de transfert a été annulé!";
} else {
$strMessage = "This transfer request has been cancelled!";
}
break;
}
if (!$blnError) {
// vérifier si le transfert a été fait pour ce pec_id
$sqlTransfertComplet = "SELECT * FROM inscriptions_transferts WHERE ts_id = 2 AND pec_id = " . intval($arrTransfert['pec_id']);
$arrTransfertComplet = $objDatabase->fxGetRow($sqlTransfertComplet);
if ($arrTransfertComplet != null) {
$blnError = true;
if ($strLangue == 'fr') {
$strMessage = "Ce transfert a déjà été complété par une autre personne!";
} else {
$strMessage = "This transfer has already been completed by another person!";
}
} else {
if ($strLangue == 'fr') {
$strPage = 'reserver';
} else {
$strPage = 'book';
}
$strUrl = fxGetEvenementsUrl($arrTransfert['eve_id']);
$arrEpreuve = fxGetEpreuve($arrTransfert['epr_id']);
$strDateLimite = $arrEpreuve['epr_date_limite'] . ' ' . $arrEpreuve['epr_heure_limite'];
if ($strDateLimite >= fxGetDateTime()) {
// récupérer le coût du frais pour le switch d'épreuve
$tabFraisAutres = fxGetFraisAutres('transfert', $tabEvenement['general']['eve_frais'], $tabEvenement['general']['eve_id'], $arrTransfert['tep_id']);
//MSIN-4276
// valide si produit frais transfert
$intEpreuve=$arrTransfert['epr_id'];
$intEvenement=$arrTransfert['eve_id'];
$sqlProduitsAuto = "SELECT * FROM inscriptions_produits_new WHERE pro_actif = 1 AND pt_id = 6
AND (pro_date_limite = '0000-00-00' OR pro_date_limite = '' OR pro_date_limite IS NULL OR pro_date_limite >= '" . fxGetDate() . "')
AND (pro_date_debut = '0000-00-00' OR pro_date_debut = '' OR pro_date_debut IS NULL OR pro_date_debut <= '" . fxGetDate() . "')
AND eve_id IN(" . intval($intEvenement) . " ) AND (FIND_IN_SET(" . intval($intEpreuve) . ", pro_epreuves) OR pro_epreuves = '') " . "ORDER BY pro_id limit 1 ";
$tabProduitsAuto = $objDatabase->fxGetResults($sqlProduitsAuto);
$tabProduitsAutoactif=0;
if($tabProduitsAuto!=null) {
$prix_produit=fxGetProduits($tabProduitsAuto[1]['pro_id']);
$prixfais=$tabProduitsAuto[1]['pro_prix']+$prix_produit['fra_total'];
$tabProduitsAutoactif=1;
$strPrixTransfert= $prixfais;
if($tabProduitsAuto[1]['pro_taxable']==1)
$strPrixTransfert .= " +tx";
}
if (isset($tabFraisAutres['fa_montant'])) {
$strPrixTransfert = (float) str_replace(
['+tx', ' '],
'',
strtolower($strPrixTransfert)
);
$strPrixTransfert += (float) ($tabFraisAutres['fa_montant'] ?? 0);
$strPrixTransfert =fxShowPrix( $strPrixTransfert , $strLangue, 1);
if ($tabEvenement['general']['tt_id'] > 1 && $tabFraisAutres['fa_montant'] > 0) {
$strPrixTransfert .= " +tx";
}
}
} else {
$blnError = true;
if ($strLangue == 'fr') {
$strMessage = "La date limite pour réserver est dépassée!";
} else {
$strMessage = "The deadline to book has passed!";
}
}
}
}
} else { // affcher message d'erreur
$blnError = true;
$strMessage = 'ERREUR';
}
} else { // affcher message d'erreur
$blnError = true;
$strMessage = 'ERREUR';
}
?>
<div class="xfer-box">
<?php
if ($arrTransfert != null) {
?>
<div class="message">
<?php
//echosl($tabEvenement['general']['eve_epreuve_transfert_client_sansfrais']);
//echosl($tabProduitsAutoactif);
//MSIN-4279
$strClient = fxUnescape($arrTransfert['com_prenom']) . ' ' . fxUnescape($arrTransfert['com_nom']);
switch (true) {
case ($tabEvenement['general']['eve_epreuve_transfert_client_sansfrais'] == 1 && $tabProduitsAutoactif == 1):
$strMessageTransfert = str_replace('%client%', '<strong>' . $strClient . '</strong>', afficheTexte('msg_transfert_epreuve_produit', 0));
$strMessageTransfert = str_replace('%prix%', '<strong>' . $strPrixTransfert . '</strong>', $strMessageTransfert);
echo fxUnescape($strMessageTransfert);
break;
case ($tabEvenement['general']['eve_epreuve_transfert_client_sansfrais'] == 1 && $tabProduitsAutoactif == 0):
$strMessageTransfert = str_replace('%client%', '<strong>' . $strClient . '</strong>', afficheTexte('msg_transfert_epreuve_produit', 0));
$strMessageTransfert = str_replace('%prix%', '<strong>' . $strPrixTransfert . '</strong>', $strMessageTransfert);
echo fxUnescape($strMessageTransfert);
break;
case ($tabEvenement['general']['eve_epreuve_transfert_client_sansfrais'] == 0 && $tabProduitsAutoactif == 1):
$strMessageTransfert = str_replace('%client%', '<strong>' . $strClient . '</strong>', afficheTexte('msg_transfert_epreuve', 0));
$strMessageTransfert = str_replace('%prix%', '<strong>' . $strPrixTransfert . '</strong>', $strMessageTransfert);
echo fxUnescape($strMessageTransfert);
break;
case ($tabEvenement['general']['eve_epreuve_transfert_client_sansfrais'] == 0 && $tabProduitsAutoactif == 0):
$strClient = fxUnescape($arrTransfert['com_prenom']) . ' ' . fxUnescape($arrTransfert['com_nom']);
$strMessageTransfert = str_replace('%client%', '<strong>' . $strClient . '</strong>', afficheTexte('msg_transfert_epreuve', 0));
$strMessageTransfert = str_replace('%prix%', '<strong>' . $strPrixTransfert . '</strong>', $strMessageTransfert);
echo fxUnescape($strMessageTransfert);
break;
}
?>
</div>
<?php
}
if ($blnError) {
?>
<div class="alert alert-danger" role="alert">
<i class="fa fa-exclamation-circle" aria-hidden="true"></i> <?php echo $strMessage; ?>
</div>
<?php
} else {
if ($strLangue == 'fr') {
$strRace = 'Épreuve';
$strClosing = 'Date limite pour réserver';
$strInstruction = "Cliquez le bouton suivant pour procéder au transfert:";
$strButton = "S'inscrire";
} else {
$strRace = 'Race';
$strClosing = 'Deadline to book';
$strInstruction = "Click the following button to proceed with the transfer";
$strButton = "Book";
}
?>
<div class="card bg-light mb-3">
<div class="card-body">
<dl class="row">
<dt class="col-sm-3">
<?php echo $strRace; ?>:
</dt>
<dd class="col-sm-9">
<?php echo fxUnescape($arrEpreuve['epr_type_' . $strLangue]) . ' - ' . fxUnescape($arrEpreuve['epr_nom_' . $strLangue]); ?>
</dd>
<dt class="col-sm-3">
<?php echo $strClosing; ?>:
</dt>
<dd class="col-sm-9">
<?php echo fxShowDate($arrEpreuve['epr_date_limite'], $strLangue) . ' @ ' . $arrEpreuve['epr_heure_limite']; ?>
</dd>
</dl>
</div>
</div>
<div class="message">
<p>
<?php echo $strInstruction; ?>
</p>
<p>
<a class="btn btn-primary rounded-pill" href="<?php echo $vDomaine . '/' . $strPage . '/' . $strUrl . '/' . $arrTransfert['epr_id']; ?>?pec_id=<?php echo $arrTransfert['pec_id_original']; ?>&t=<?php echo $strNoTransfert; ?>"><?php echo $strButton; ?></a>
</p>
</div>
<?php
}
?>
</div>