1 ');
// echo( $newUrl );
// Redirigez vers la nouvelle URL avec le préfixe
$newUrl = str_replace('preprod', 'reloadlogin', $newUrl);
$newUrl = str_replace('www.', '', $newUrl);
$newUrl=$prefix.$newUrl;
header("Location: https://" . $newUrl);
exit;
// }
//$_SESSION['preprod'] = 'preprod';
} else {
$prefix = "preprod.";
// if (strpos($_SERVER['HTTP_HOST'], $prefix) === true) {
// Ajoutez le préfixe à l'URL actuelle
// Supprimer les caractères avant le premier point
$newhost = str_replace('www.', '', $_SERVER['HTTP_HOST']);
$cleanHost = substr($newhost, strpos($newhost, '.') + 1);
$newUrl = $cleanHost . $_SERVER['REQUEST_URI'];
// echo($_SERVER['HTTP_HOST']);
// echo(' 2 ');
$newUrl = str_replace('preprod', 'reloadlogin', $newUrl);
// Redirigez vers la nouvelle URL avec le préfixe
header("Location: https://" . $newUrl);
exit;
// }
//unset($_SESSION['preprod']);
}
}
//MSIN-3999
if (isset($_GET['reloadlogin'])) {
$previousPage = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
require_once('php/inc_fx_affilies.php');
if (isset($_SESSION['com_info']['com_login'] )){
$sqlCourriel = "SELECT * FROM inscriptions_comptes WHERE com_login = '" . $_SESSION['com_info']['com_login'] . "'";
$infoCompte = $objDatabase->fxGetRow($sqlCourriel);
$_SESSION['com_id'] = $infoCompte['com_id'];
$_SESSION['com_prenom'] = $infoCompte['com_prenom'];
$_SESSION['vadmin_texte'] = false;
$_SESSION['com_info'] = $infoCompte;
// liste des compte affilie
$infoAffilie = fxGetInfosAffilies($_SESSION['com_id']);
$_SESSION['com_affilie'] = $infoAffilie;
// metre dans l'info compte la liste des evenement prive
$_SESSION['com_info']['eve_prive'] = explode(',', $infoCompte['com_eve_prive']);
// Démarrer une session (si nécessaire)
session_start();
// Obtenir l'URL actuelle
$currentUrl = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
// Décomposer l'URL en composants
$parsedUrl = parse_url($currentUrl);
// Extraire les paramètres
$queryParams = [];
if (isset($parsedUrl['query'])) {
parse_str($parsedUrl['query'], $queryParams);
}
// Supprimer le paramètre 'reloadlogin' s'il existe
if (isset($queryParams['reloadlogin'])) {
unset($queryParams['reloadlogin']);
}
// Reconstruire l'URL sans le paramètre 'reloadlogin'
$cleanUrl = $parsedUrl['scheme'] . '://' . $parsedUrl['host'];
if (isset($parsedUrl['path'])) {
$cleanUrl .= $parsedUrl['path'];
}
if (!empty($queryParams)) {
$cleanUrl .= '?' . http_build_query($queryParams);
}
// Rediriger vers l'URL nettoyée
header("Location: $cleanUrl");
exit;
}
}
function fxsessionpixelfacebook($memarray)
{
if (!fxCookiesAllowMarketing()) {
return;
}
$_SESSION['pixcel'][] = $memarray;
}
function fxcount($memarray)
{
$memreturn=0;
if(is_array($memarray))
$memreturn=count($memarray);
return $memreturn;
}
/**
* MSIN-4405 — Determine, en LECTURE SEULE, pourquoi une inscription annulee (is_cancelled = 1)
* porte ce statut. Aucune ecriture : on ne touche ni is_cancelled, ni pec_actif, ni la base.
*
* Regles (cf. fxMajEpreuvesCommandees / annuler_inscription.php) :
* - vraie annulation : l'ancien pec reste actif (pec_actif = 1), ou defaut
* - transfert complete: ligne dans inscriptions_transferts (ts_id = 2) pour ce pec
*
* @param int $intPecId pec_id_original de l'inscription
* @param int|null $intPecActif valeur de pec_actif si deja connue (evite une requete)
* @return string 'annule' | 'transfert'
*/
function fxGetAnnulationCause($intPecId, $intPecActif = null) {
global $objDatabase;
$intPecId = intval($intPecId);
if ($intPecId <= 0) {
return 'annule';
}
// Une vraie annulation laisse l'inscription active (pec_actif = 1).
if ($intPecActif !== null && intval($intPecActif) === 1) {
return 'annule';
}
// Transfert complete vers une autre personne.
$varTransfert = $objDatabase->fxGetVar(
"SELECT 1 FROM inscriptions_transferts WHERE pec_id = " . $intPecId . " AND ts_id = 2 LIMIT 1"
);
if ($varTransfert) {
return 'transfert';
}
return 'annule';
}
// fonction qui retourne les infos des champs de la table (SL / JSP)
// param : nom de la table, nom de la base de données
// créé : 2013-04-10
function fxGetFileds($strTable, $strBdd)
{
global $objDatabase;
$sqlFields = "SELECT COLUMN_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH FROM information_schema.COLUMNS WHERE TABLE_NAME = '" . $objDatabase->fxEscape($strTable) . "' AND TABLE_SCHEMA = '" . $objDatabase->fxEscape($strBdd) . "'";
$recFields = $objDatabase->fxGetResultsKey($sqlFields);
return $recFields;
}
// fonction qui compose le SQL pour les INSERT et UPDATE
// param : tableau des données, nom de la clé (PK), nom de la table, nom de la base de données
// créé : 2013-04-10
function fxListFieldsValues($tabData, $strKey, $strTable, $strBdd)
{
global $objDatabase;
$tabFields = fxGetFileds($strTable, $strBdd);
$mem_set = "SET ";
$xvide = 0;
$listvide[] = "";
$mem_id = "";
foreach (array_keys($tabData) as $strField) {
$listvide[$xvide] = $strField;
$xvide += 1;
if (strstr($strField, 'btn') === false) {
if ($strField == $strKey)
$mem_id = $strField . " = " . intval($tabData[$strField]);
else {
if (isset($tabFields[$strField]['DATA_TYPE'])) {
switch ($tabFields[$strField]['DATA_TYPE']) {
case 'char':
case 'varchar':
case 'text':
case 'date':
$mem_set = $mem_set . $strField . " = '" . $objDatabase->fxEscape($tabData[$strField]) . "', ";
break;
case 'tinyint':
case 'int':
case 'smallint':
case 'mediumint':
case 'bigint':
$mem_set = $mem_set . $strField . " = " . intval($tabData[$strField]) . ", ";
break;
case 'double':
case 'float':
$mem_set = $mem_set . $strField . " = " . floatval($tabData[$strField]) . ", ";
break;
}
}
}
}
}
// enlever la virgule de trop et mettre dans le tableau à l'index 'set'
$memreturn['set'] = substr($mem_set, 0, -2);
// mettre dans le tableau à l'index 'key'
$memreturn['key'] = $mem_id;
// mettre dans le tableau les champs pas vide 'vide'
$memreturn['pasvide'] = $listvide;
return $memreturn;
}
// fonction qui retourne le string pour le track event (SL)
// param : category, action, label
// créé : 2012-09-18
function tcheckevents($category, $action, $label)
{
if ($category == "" || !fxCookiesAllowMarketing())
return "";
else {
$param = "'_trackEvent', '" . $category . "', '" . $action . "', '" . $label . "', 1";
return 'onClick="_gaq.push([' . $param . ']);"';
}
}
// fonction qui retourne x nombre de mots (JSP)
// param : string, nb de mots
// créé : 2012-06-20
function fxGetNbWords($string, $num, $tail = ' ...')
{
// enlever les tags HTML
$string = fxRemoveHtml($string);
// mettre les mots dans un tableau (chaque mot = 1 case)
// $words = str_word_count($string, 1, '0123456789âàäêéèîìïôòöùüÿç');
$words = explode(' ', $string);
if (count($words) > $num) {
// couper le nombre de mots
$firstwords = array_slice($words, 0, $num);
} else
$firstwords = $words;
// transformer en string et ajouter la queue
return implode(' ', $firstwords) . $tail;
}
// fonction qui enlève les tags html (JSP)
// param : string
// créé : 2012-08-02
function fxRemoveHtml($string)
{
$string = html_entity_decode($string, ENT_COMPAT, 'UTF-8');
$string = str_replace("’", "'", $string);
$string = preg_replace('/\s\s+/', ' ', $string);
$string = strip_tags($string);
return $string;
}
// fonction pour formatter une valeur sous la forme $ 9,999.99
// param : valeur, langue, format (afficher $ CAD)
// créé : 2013-03-28
function fxShowPrix($strValue, $strLangue, $intFormat = 1)
{
if ($strLangue == 'fr') {
$strValue = number_format($strValue, 2, ',', ' ');
if ($intFormat == 1)
$strValue .= ' $';
} else {
$strValue = number_format($strValue, 2, '.', ',');
if ($intFormat == 1)
$strValue = '$ ' . $strValue;
}
return $strValue;
}
// fonction pour récupérer les infos de la page de présenation (JSP)
// param : code de la page
// créé : 2012-05-29
function fxGetPage($code)
{
global $objDatabase;
$sqlPage = "SELECT * FROM inscriptions_pages WHERE pag_actif = 1 AND pag_code = '" . $objDatabase->fxEscape($code) . "'";
$recPage = $objDatabase->fxGetRow($sqlPage);
if (!$recPage) {
return [];
}
$recPage['pag_description_fr'] = fxGetNbWords($recPage['pag_texte_fr'], 50);
$recPage['pag_description_en'] = fxGetNbWords($recPage['pag_texte_en'], 50);
return $recPage;
}
// fonction qui détermine le url de retour (JSP)
// créé : 2012-07-02
function fxGetReferer()
{
global $vDomaine;
$url_retour = $vDomaine . '/index.php';
$dom = parse_url($vDomaine);
if ($_SERVER['HTTP_REFERER'] != '') {
$ref = parse_url($_SERVER['HTTP_REFERER']);
if (strpos($ref['host'], $dom['host']) !== false)
$url_retour = $_SERVER['HTTP_REFERER'];
}
return $url_retour;
}
// fonction pour un message via la page contact (JSP)
// param : données post, langue
// créé : 2012-07-03
function fxSendMessage($data, $strLangue)
{
global $vDomaine, $vClient;
if (trim($data['txt_nom']) != '' && trim($data['txt_courriel']) != '' && trim($data['txt_message']) != '') {
if (file_exists('../mail.html'))
$body = file_get_contents('../mail.html');
else
$body = file_get_contents('mail.html');
$subject = "Nouveau message " . $strLangue;
$message = "Message:
" . $data['txt_message'] . "
De: " . $data['txt_nom'] . " <" . $data['txt_courriel'] . "> ";
$datetime = 'Message envoyé le: ' . fxShowDate(fxGetDate(), $strLangue) . ' @ ' . fxGetTime();
$body = str_replace('%lang%', $strLangue, $body);
$body = str_replace('%logo%', $vDomaine . '/images/logoms1inscription.png', $body);
$body = str_replace('%client%', $vClient, $body);
$body = str_replace('%subject%', $subject, $body);
$body = str_replace('%message%', $message, $body);
$body = str_replace('%datetime%', $datetime, $body);
$mail = fxSendMail($subject, $body, $GLOBALS['vEmail'], fxRemoveHtml($GLOBALS['vClient']), $data['txt_courriel'], $data['txt_nom'], 1, 0);
//$mail = fxSendMail($subject, $body, "js.proulx@94productions.com", fxRemoveHtml($GLOBALS['vClient']), $data['txt_courriel'], $data['txt_nom'], 1, 0);
if ($mail === false) {
if ($strLangue == 'fr')
$_SESSION['msg'] = 'e101';
else
$_SESSION['msg'] = 'e501';
} else {
if ($strLangue == 'fr')
$_SESSION['msg'] = 'p103';
else
$_SESSION['msg'] = 'p503';
}
} else {
if ($strLangue == 'fr')
$_SESSION['msg'] = 'e102';
else
$_SESSION['msg'] = 'e502';
}
header('Location: ' . fxGetReferer());
exit;
}
// fonction pour récuérer les menus à afficher (JSP)
// param : langue, id du client
// créé : 2012-07-12
//modifié : 2012-11-22
function fxGetMenus($strLangue)
{
global $objDatabase;
$sqlMenus = "SELECT pag_code, pag_label_$strLangue, pag_titre_$strLangue FROM inscriptions_pages WHERE pag_actif = 1 AND pag_menu = 1 ORDER BY pag_tri";
$recMenus = $objDatabase->fxGetResults($sqlMenus);
return $recMenus;
}
// fonction pour récuérer l'arrière-plan à afficher (JSP)
// créé : 2012-07-30
function fxGetBackground()
{
global $objDatabase;
$sqlBackground = "SELECT bac_image FROM inscriptions_backgrounds WHERE bac_actif = 1 ORDER BY bac_id DESC LIMIT 1";
$bg_image = $objDatabase->fxGetVar($sqlBackground);
return $bg_image;
}
// fonction pour récupérer les commanditaires à afficher (JSP)
// param : langue
// créé : 2012-07-30
function fxGetSponsors($strLangue, $eve_id = 0)
{
global $objDatabase;
if ($eve_id == 0)
$sqlSponsors = "SELECT com_titre_$strLangue, com_url_$strLangue, com_image_$strLangue, com_target,com_stat_category,com_stat_action,com_stat_label FROM inscriptions_commanditaires WHERE com_actif = 1 ORDER BY com_tri";
else
$sqlSponsors = "SELECT com_titre_$strLangue, com_url_$strLangue, com_image_$strLangue, com_target,com_stat_category,com_stat_action,com_stat_label FROM inscriptions_commanditaires WHERE com_actif=1 and eve_id=" . $eve_id . " ORDER BY com_tri";
$recSponsors = $objDatabase->fxGetResults($sqlSponsors);
return $recSponsors;
}
// fonction pour récupérer les provinces à afficher (JSP)
// param : id de la province, langue
// créé : 2013-04-02
function fxGetProvinces($intProvince, $strLangue)
{
global $objDatabase;
if ($intProvince != 0) {
$sqlProvinces = "SELECT pro_id, pro_nom_$strLangue, pro_defaut,pro_paypal,pro_iso FROM inscriptions_provinces WHERE pro_id = " . intval($intProvince);
$recProvinces = $objDatabase->fxGetRow($sqlProvinces);
} else {
$sqlProvinces = "SELECT pro_id,pro_trie, pro_nom_$strLangue, pro_defaut,pro_iso FROM inscriptions_provinces WHERE pro_actif = 1 order by pro_trie";
$recProvinces = $objDatabase->fxGetResults($sqlProvinces);
}
return $recProvinces;
}
// fonction pour récupérer les pays à afficher (JSP)
// param : id du pays, langue
// créé : 2013-04-02
function fxGetPays($intPays, $strLangue)
{
global $objDatabase;
if ($intPays != 0) {
$sqlPays = "SELECT pay_id, pay_nom_$strLangue, pay_defaut,pay_iso FROM inscriptions_pays WHERE pay_id = " . intval($intPays);
$recPays = $objDatabase->fxGetRow($sqlPays);
} else {
$sqlPays = "SELECT pay_id,pay_trie, pay_nom_$strLangue, pay_defaut,pay_iso FROM inscriptions_pays WHERE pay_actif = 1 ORDER BY pay_trie,pay_nom_$strLangue";
$recPays = $objDatabase->fxGetResults($sqlPays);
}
return $recPays;
}
// fonction pour récupérer le url (JSP)
// param : id de l'événement,
// créé : 2013-03-20
function fxGetEvenementsUrl($intId)
{
global $objDatabase;
$sqlEvenements = "SELECT eve_label_url FROM inscriptions_evenements WHERE eve_id = " . intval($intId);
$strLabel = $objDatabase->fxGetVar($sqlEvenements);
return $strLabel;
}
// fonction pour récupérer les info avec le id (sl)
// param : id de l'événement,
// créé : 2014-06-12
function fxGetEvenementsId($intId)
{
global $objDatabase;
$sqlEvenements = "SELECT * FROM inscriptions_evenements WHERE eve_id = " . intval($intId);
$recEvenements = $objDatabase->fxGetRow($sqlEvenements);
if ($recEvenements != null) {
return $recEvenements;
} else {
return "";
}
}
// fonction pour récupérer les événements à afficher (JSP)
// param : url de l'événement, langue
// créé : 2013-03-20
function fxGetEvenements($strUrl, $strLangue, $intTypeEpreuve = 1, $blnListeAlpha = false)
{
global $objDatabase;
$strWhere = " AND p.cp_id = 1";
if ($strUrl != '') {
$sqlEvenements = "SELECT * FROM inscriptions_evenements e, inscriptions_types_evenements t WHERE t.te_id = e.te_id AND e.eve_actif = 1 AND e.eve_date_fin >= '" . fxGetDate() . "' AND e.eve_label_url = '" . $objDatabase->fxEscape($strUrl) . "'";
$recEvenements = $objDatabase->fxGetRow($sqlEvenements);
if ($recEvenements != null) {
$tabEvenements['general'] = $recEvenements;
$tabEvenements['infos']['titre_' . $strLangue] = $recEvenements['eve_nom_' . $strLangue];
$tabEvenements['infos']['texte_' . $strLangue] = $recEvenements['eve_description_' . $strLangue];
$tabEvenements['reserver']['titre_' . $strLangue] = $recEvenements['eve_nom_' . $strLangue];
$tabEvenements['reserver']['texte_' . $strLangue] = $recEvenements['eve_details_reserver_' . $strLangue];
// récupérer les épreuves et leurs prix
if (isset($_SESSION['com_id'])) {
$intCompte = $_SESSION['com_id'];
$sqlCategoriePrix = "SELECT cp.cp_id FROM inscriptions_categories_prix_comptes cp, inscriptions_epreuves c, inscriptions_epreuves_prix p WHERE c.epr_id = p.epr_id AND c.eve_id = cp.eve_id AND cp.cp_id = p.cp_id AND cp.eve_id = " . intval($recEvenements['eve_id']) . " AND cp.com_id = " . intval($intCompte) . " LIMIT 1";
$intCategoriePrix = $objDatabase->fxGetVar($sqlCategoriePrix);
if ($intCategoriePrix != NULL)
$strWhere = " AND p.cp_id = " . intval($intCategoriePrix);
}
$recEpreuves=[];
//$sqlEpreuves = "SELECT * FROM inscriptions_epreuves c, inscriptions_epreuves_prix p, inscriptions_categories_prix cp WHERE c.epr_actif = 1 AND c.epr_id = p.epr_id AND p.cp_id = cp.cp_id AND tep_id = " . intval($intTypeEpreuve) . " AND c.eve_id = " . intval($recEvenements['eve_id']) . $strWhere . " ORDER BY c.epr_tri, c.epr_type_$strLangue, c.epr_nom_$strLangue, p.ep_date_limite";
$sqlEpreuves = "SELECT * FROM inscriptions_epreuves c, inscriptions_epreuves_prix p, inscriptions_categories_prix cp WHERE c.epr_actif = 1 AND c.epr_id = p.epr_id AND p.cp_id = cp.cp_id AND c.eve_id = " . intval($recEvenements['eve_id']) . $strWhere . " ORDER BY c.epr_tri, c.epr_type_$strLangue, c.epr_nom_$strLangue, p.ep_date_limite";
$recEpreuves = $objDatabase->fxGetResults($sqlEpreuves);
$strEpreuveP = $strDateP = '';
$tabEpreuves = $tabDates = $tabPrix = array();
if (isset($recEpreuves)){
for ($intCtr = 1; $intCtr <= count($recEpreuves); $intCtr++) {
if ($intCtr == 1) {
$tabEvenements['categorie_prix']['cp_id'] = $recEpreuves[$intCtr]['cp_id'];
$tabEvenements['categorie_prix']['cp_details_fr'] = $recEpreuves[$intCtr]['cp_details_fr'];
$tabEvenements['categorie_prix']['cp_details_en'] = $recEpreuves[$intCtr]['cp_details_en'];
}
// inscrire l'épreuve dans la table épreuves
if ($recEpreuves[$intCtr]['epr_categorie_fr'] . $recEpreuves[$intCtr]['epr_type_fr'] . $recEpreuves[$intCtr]['epr_nom_fr'] != $strEpreuveP) {
$tabEpreuves[] = $recEpreuves[$intCtr];
}
// inscrire les dates des prix
if ($recEpreuves[$intCtr]['ep_date_limite'] != $strDateP && $recEpreuves[$intCtr]['ep_prive'] != 1) {
if (!in_array($recEpreuves[$intCtr]['ep_date_limite'], $tabDates))
$tabDates[] = $recEpreuves[$intCtr]['ep_date_limite'];
}
// inscrire les prix de l'épreuve dans la table prix
$tabPrix[$recEpreuves[$intCtr]['epr_id']][$recEpreuves[$intCtr]['ep_date_limite']] = array(
'ep_age_min' => $recEpreuves[$intCtr]['ep_age_min'],
'ep_age_max' => $recEpreuves[$intCtr]['ep_age_max'],
'ep_date_limite' => $recEpreuves[$intCtr]['ep_date_limite'],
'ep_montant' => $recEpreuves[$intCtr]['ep_montant'],
'ep_montant_affiche' => $recEpreuves[$intCtr]['ep_montant_affiche']
);
$strEpreuveP = $recEpreuves[$intCtr]['epr_categorie_fr'] . $recEpreuves[$intCtr]['epr_type_fr'] . $recEpreuves[$intCtr]['epr_nom_fr'];
$strDateP = $recEpreuves[$intCtr]['ep_date_limite'];
}
}
// mettre les épreuves et les prix dans le tableau de retour
$tabEvenements['epreuves'] = $tabEpreuves;
$tabEvenements['prix'] = $tabPrix;
$tabEvenements['dates_prix'] = $tabDates;
} else
$tabEvenements = $recEvenements;
} else {
if ($blnListeAlpha) {
$sqlEvenements = "
(SELECT e.eve_id, s.ser_nom_$strLangue, e.eve_nom_$strLangue, e.eve_date_debut, e.eve_date_fin, t.te_nom_$strLangue
FROM inscriptions_evenements e
LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id
JOIN inscriptions_types_evenements t ON t.te_id = e.te_id
WHERE e.te_id NOT IN(9,10) AND e.eve_actif = 1 AND e.eve_date_limite >= '" . fxGetDate() . "' AND e.eve_prive = 0 AND e.eve_hidden = 0
ORDER BY e.eve_nom_$strLangue)
";
$tabEvenements = $objDatabase->fxGetResults($sqlEvenements);
} else {
// sortir les événements abonnements
/* $sqlEvenements = "
(SELECT e.eve_id, s.ser_nom_$strLangue, e.eve_nom_$strLangue, e.eve_description_$strLangue, e.eve_date_debut, e.eve_date_fin, e.eve_date_limite, e.eve_siteweb, e.eve_label_url, e.eve_lieu_$strLangue, e.eve_photo_$strLangue, e.te_id, t.te_nom_$strLangue, t.te_icone
FROM inscriptions_evenements e
LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id
JOIN inscriptions_types_evenements t ON t.te_id = e.te_id
WHERE e.te_id = 13 AND e.eve_actif = 1 AND e.eve_date_limite >= '" . fxGetDate() . "' AND e.eve_prive = 0 AND e.eve_hidden = 0
ORDER BY e.eve_date_debut, e.eve_nom_$strLangue)
UNION
(SELECT e.eve_id, s.ser_nom_$strLangue, e.eve_nom_$strLangue, e.eve_description_$strLangue, e.eve_date_debut, e.eve_date_fin, e.eve_date_limite, e.eve_siteweb, e.eve_label_url, e.eve_lieu_$strLangue, e.eve_photo_$strLangue, e.te_id, t.te_nom_$strLangue, t.te_icone
FROM inscriptions_evenements e
LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id
JOIN inscriptions_types_evenements t ON t.te_id = e.te_id
WHERE e.te_id NOT IN(9,10,13) AND e.eve_actif = 1 AND e.eve_date_limite >= '" . fxGetDate() . "' AND e.eve_prive = 0 AND e.eve_hidden = 0
ORDER BY e.eve_date_debut, e.eve_nom_$strLangue)
UNION
(SELECT e.eve_id, s.ser_nom_$strLangue, e.eve_nom_$strLangue, e.eve_description_$strLangue, e.eve_date_debut, e.eve_date_fin, e.eve_date_limite, e.eve_siteweb, e.eve_label_url, e.eve_lieu_$strLangue, e.eve_photo_$strLangue, e.te_id, t.te_nom_$strLangue, t.te_icone
FROM inscriptions_evenements e
LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id
JOIN inscriptions_types_evenements t ON t.te_id = e.te_id
WHERE e.te_id NOT IN(9,10,13) AND e.eve_actif = 1 AND e.eve_date_limite > ('" . fxGetDate() . "' - INTERVAL 14 DAY) AND e.eve_prive = 0 AND e.eve_hidden = 0
ORDER BY e.eve_date_fin DESC, e.eve_nom_$strLangue)
";
$tabEvenements['tous'] = $objDatabase->fxGetResults($sqlEvenements); */
$sqlEvenements = "
(SELECT e.eve_id, s.ser_nom_$strLangue, e.eve_nom_$strLangue, e.eve_description_$strLangue, e.eve_date_debut, e.eve_date_fin, e.eve_date_limite, e.eve_siteweb, e.eve_label_url, e.eve_lieu_$strLangue, e.eve_photo_$strLangue, e.te_id, t.te_nom_$strLangue, t.te_icone
FROM inscriptions_evenements e
LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id
JOIN inscriptions_types_evenements t ON t.te_id = e.te_id
WHERE e.te_id = 13 AND e.eve_actif = 1 AND e.eve_date_limite >= '" . fxGetDate() . "' AND e.eve_prive = 0 AND e.eve_hidden = 0
ORDER BY e.eve_date_debut, e.eve_nom_$strLangue)
";
$arrCoursesAdhesions = $objDatabase->fxGetResultsKey($sqlEvenements);
$sqlEvenements = "
(SELECT e.eve_id, s.ser_nom_$strLangue, e.eve_nom_$strLangue, e.eve_description_$strLangue, e.eve_date_debut, e.eve_date_fin, e.eve_date_limite, e.eve_siteweb, e.eve_label_url, e.eve_lieu_$strLangue, e.eve_photo_$strLangue, e.te_id, t.te_nom_$strLangue, t.te_icone
FROM inscriptions_evenements e
LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id
JOIN inscriptions_types_evenements t ON t.te_id = e.te_id
WHERE e.te_id NOT IN(9,10,13) AND e.eve_actif = 1 AND e.eve_date_limite >= '" . fxGetDate() . "' AND e.eve_prive = 0 AND e.eve_hidden = 0
ORDER BY e.eve_date_debut, e.eve_nom_$strLangue)
";
$arrCoursesActives = $objDatabase->fxGetResultsKey($sqlEvenements);
$sqlEvenements = "
(SELECT e.eve_id, s.ser_nom_$strLangue, e.eve_nom_$strLangue, e.eve_description_$strLangue, e.eve_date_debut, e.eve_date_fin, e.eve_date_limite, e.eve_siteweb, e.eve_label_url, e.eve_lieu_$strLangue, e.eve_photo_$strLangue, e.te_id, t.te_nom_$strLangue, t.te_icone
FROM inscriptions_evenements e
LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id
JOIN inscriptions_types_evenements t ON t.te_id = e.te_id
WHERE e.te_id NOT IN(9,10,13) AND e.eve_actif = 1 AND e.eve_date_limite > ('" . fxGetDate() . "' - INTERVAL 14 DAY) AND e.eve_prive = 0 AND e.eve_hidden = 0
ORDER BY e.eve_date_fin DESC, e.eve_nom_$strLangue)
";
$arrCoursesTermines = $objDatabase->fxGetResultsKey($sqlEvenements);
$tabEvenements['tous'] = array();
if (count($arrCoursesAdhesions) > 0) {
$tabEvenements['tous'] += $arrCoursesAdhesions;
}
if (count($arrCoursesActives) > 0) {
$tabEvenements['tous'] += $arrCoursesActives;
}
if (count($arrCoursesTermines) > 0) {
$tabEvenements['tous'] += $arrCoursesTermines;
}
}
}
return $tabEvenements;
}
// fonction pour récupérer les infos d'une épreuve (JSP)
// param : id de l'épreuve
// créé : 2013-05-21
function fxGetEpreuve($intEpreuve)
{
global $objDatabase;
$sqlEpreuves = "SELECT * FROM inscriptions_epreuves WHERE epr_id = " . intval($intEpreuve);
$tabEpreuves = $objDatabase->fxGetRow($sqlEpreuves);
return $tabEpreuves;
}
function fxGetCheckinqte($intEpreuve)
{
global $objDatabase;
$sqlEpreuves = "SELECT count(epr_id) as tot FROM resultats_participants WHERE no_bib_remis=1 and epr_id =" . intval($intEpreuve);
$qte = $objDatabase->fxGetVar($sqlEpreuves);
return $qte;
}
// fonction pour récupérer les étapes d'une épreuve (JSP)
// param : id de l'épreuve
// créé : 2013-05-22
function fxGetEtapesEpreuve($intEpreuve)
{
global $objDatabase;
$sqlEtapes = "SELECT s.eta_id, s.eta_nom_fr, s.eta_nom_en, e.ee_tri FROM inscriptions_epreuves_etapes e, inscriptions_etapes s WHERE s.eta_id = e.eta_id AND e.epr_id = " . intval($intEpreuve);
$tabEtapes = $objDatabase->fxGetResults($sqlEtapes);
return $tabEtapes;
}
// récupérer les taux selon le code (JSP)
// param : code du taux
// créé : 2013-04-11
function fxGetTaux($strCode)
{
global $objDatabase;
$tabTaux[0] = 0;
$tabTaux[1] = 0;
$tabTaux[2] = '';
$sqlTaux = "SELECT * FROM inscriptions_taux WHERE tau_nom_fr = '" . $objDatabase->fxEscape($strCode) . "' AND tau_actif = 1";
$recTaux = $objDatabase->fxGetRow($sqlTaux);
if ($recTaux != null) {
$tabTaux[0] = $recTaux['tau_taux'];
$tabTaux[1] = $recTaux['tau_desc_fr'];
$tabTaux[2] = $recTaux['tau_desc_en'];
}
return $tabTaux;
}
// affiche le nombre d'item pour un panier (JSP)
// param : no panier
// créé : 2013-04-18
function fxNbItemsPanier($strNoPanier)
{
global $objDatabase;
$sqlNbItems = "
SELECT COUNT(c.pec_id) AS nb_items, c.eve_id, e.eve_id_membership, e.eve_label_url FROM inscriptions_panier_epreuves_commandees c, inscriptions_evenements e WHERE c.eve_id = e.eve_id AND c.no_panier = '" . $objDatabase->fxEscape($strNoPanier) . "'
UNION ALL
SELECT COUNT(c.ppn_id) AS nb_items, c.eve_id, e.eve_id_membership, e.eve_label_url FROM inscriptions_panier_produits_new c, inscriptions_evenements e WHERE c.eve_id = e.eve_id AND c.no_panier = '" . $objDatabase->fxEscape($strNoPanier) . "'
UNION ALL
SELECT COUNT(m.pmd_id) AS nb_items, m.eve_id, e.eve_id_membership, e.eve_label_url FROM inscriptions_panier_montants_dus m, inscriptions_evenements e WHERE m.eve_id = e.eve_id AND m.no_panier = '" . $objDatabase->fxEscape($strNoPanier) . "'
";
$tabNbItems = $objDatabase->fxGetResults($sqlNbItems);
// evenement id un abonnement 13 (sl)
$sqlid = "SELECT * FROM inscriptions_panier_epreuves_commandees c, inscriptions_evenements e WHERE c.eve_id = e.eve_id AND c.no_panier = '" . $objDatabase->fxEscape($strNoPanier) . "' and te_id <> 13 limit 1";
$tabid = $objDatabase->fxGetRow($sqlid);
$sqlid13 = "SELECT * FROM inscriptions_panier_epreuves_commandees c, inscriptions_evenements e WHERE c.eve_id = e.eve_id AND c.no_panier = '" . $objDatabase->fxEscape($strNoPanier) . "' and te_id = 13 limit 1";
$tabid13 = $objDatabase->fxGetRow($sqlid13);
$mem_return['nbitem'] = intval($tabNbItems[1]['nb_items'] + $tabNbItems[2]['nb_items'] + $tabNbItems[3]['nb_items']);
$mem_return['eve_id_membership'] = 0;
if ($mem_return['nbitem'] > 0) {
if ($tabNbItems[1]['eve_id'] > 0) {
$mem_return['eve_id'] = $tabNbItems[1]['eve_id'];
$mem_return['eve_id_membership'] = $tabNbItems[1]['eve_id_membership'];
$mem_return['eve_label_url'] = $tabNbItems[1]['eve_label_url'];
} elseif ($tabNbItems[2]['eve_id'] > 0) {
$mem_return['eve_id'] = $tabNbItems[2]['eve_id'];
$mem_return['eve_label_url'] = $tabNbItems[2]['eve_label_url'];
} else {
$mem_return['eve_id'] = $tabNbItems[3]['eve_id'];
$mem_return['eve_label_url'] = $tabNbItems[3]['eve_label_url'];
}
// remettre eve_id qui est pas abonnement (sl)
if ($tabid != null) {
if (intval($mem_return['eve_id']) != intval($tabid['eve_id'])) {
$mem_return['eve_id'] = $tabid['eve_id'];
$mem_return['eve_label_url'] = $tabid['eve_label_url'];
}
}
// identifi si abonement
$mem_return['abbonement'] = 0;
if ($tabid13!= null && $mem_return != null) {
if (intval($tabid13['eve_id']) == intval($mem_return['eve_id']))
$mem_return['abbonement'] = 1;
}
if (!isset($_SESSION['eve_label_url']) && $mem_return['eve_label_url'] != '')
$_SESSION['eve_label_url'] = $mem_return['eve_label_url'];
} else { // supprimer l'entête vide
require_once 'inc_fx_panier.php';
fxDelPanierVide($strNoPanier);
unset($_SESSION['no_panier']);
}
return $mem_return;
}
// fonction qui retourne les modes de paiements (JSP)
// param: admin seulement? (1 ou 0), langue d'affichage
// créé: 2013-04-24
function fxGetPaiements($blnAdmin = false, $blnIsPromoteur = false, $strLangue = 'fr')
{
global $objDatabase;
$where = '';
if (!$blnAdmin) {
$where .= " AND pai_admin <> 1";
}
if (!$blnIsPromoteur) {
$where .= " AND pai_promoteur = 0";
}
if ($blnAdmin) {
$where = '';
}
$sqlPaiements = "SELECT pai_id, pai_nom_" . $strLangue . " FROM inscriptions_paiements WHERE pai_actif = 1 $where ORDER BY pai_tri";
$recPaiements = $objDatabase->fxGetResults($sqlPaiements);
if ($recPaiements != null)
return $recPaiements;
else
return false;
}
/** Compte connecté au panier (com_info ou com_id en session). */
function fxPaiementSessionComId()
{
if (!empty($_SESSION['com_info']['com_id'])) {
return intval($_SESSION['com_info']['com_id']);
}
if (!empty($_SESSION['com_id'])) {
return intval($_SESSION['com_id']);
}
return 0;
}
/** Modes paiement réservés promoteur (chèque, etc.) — aligné hub v2 + legacy. */
function fxPaiementCanUseModesPromoteur($intComId, $intEveId)
{
$intComId = intval($intComId);
$intEveId = intval($intEveId);
if ($intComId <= 0 || $intEveId <= 0) {
return false;
}
if (!function_exists('fxPromoteurHubCanAccessPromoteurWeb')) {
require_once __DIR__ . '/inc_fx_promoteur_hub.php';
}
$arrLegacyFlip = array();
if (function_exists('fxPromoteurHubGetLegacyEventIds')) {
$arrLegacyFlip = array_flip(array_map('intval', fxPromoteurHubGetLegacyEventIds($intComId)));
}
return fxPromoteurHubCanAccessPromoteurWeb($intComId, $intEveId, $arrLegacyFlip);
}
/** Modes paiement réservés admin (canal superadm / usa_id). */
function fxPaiementCanUseModesAdmin()
{
return !empty($_SESSION['usa_id']);
}
// fonction qui retire/transforme le HTML présent dans les termes et conditions à accepter
// param : texteà transformer
// créé : 2013-04-26
function fxSetTexteTermes($strTexte)
{
$strBreaks = array(" ", " ", " ", "
';
}
return $strHTML;
}
function fxGetMailFooter($blnTransaction = false, $blnWebVersion = false, $strLangue = 'fr')
{
$strHTML = '';
if ($strLangue == 'fr') {
if (!$blnWebVersion) {
$strHTML .= '
Le présent courriel a été envoyé à l’adresse: %to_mail%
';
}
if ($blnTransaction) {
$strHTML .= '
Si vous avez des questions sur l\'événement ou sur cette transaction, contactez l\'organisateur.
';
}
$strHTML .= '
Si vous avez des problèmes techniques, contactez-nous. Ne pas répondre à ce courriel.
Pour vous assurer de recevoir les messages dans votre boîte de réception, veuillez ajouter confirmation@ms1timing.com à votre liste d\'expéditeurs autorisés ou à votre carnet d\'adresses.
';
} else {
if ($arrData['eve_date_fin'] >= fxGetDate() && $arrData['eve_date_debut'] <= fxGetDate()) { // si l'événement est en congé, afficher une notice
$strNoticeHTML = '
' . $strNoticeLabelInProgress . '
';
} elseif ($arrData['eve_date_debut'] >= fxGetDate()) { // si l'événement est à venir, afficher une notice
$strNoticeHTML = '
' . $strNoticeLabelToCome . '
';
} elseif ($arrData['eve_date_fin'] < fxGetDate()) { // si l'événement est terminé, afficher une notice
$strNoticeHTML = '