fxGetResults($sqlTransferts); return $arrTransferts; } // fonction pour modifier les demandes de transferts envoyées pour une épreuve // param : action, données post, langue d'affichage function fxSetTransfert($strAction, $arrData, $strLangue) { global $objDatabase; $arrRetour = array('a' => $strAction); switch ($strAction) { case 'invite': case 'inviter': $sqlFrom = "SELECT * FROM inscriptions_comptes WHERE com_id = " . intval($arrData['com_id']); $arrFrom = $objDatabase->fxGetRow($sqlFrom); if ($arrFrom != null) { if (isset($arrData['tra_nom_' . $arrData['pec_id']]) && trim($arrData['tra_nom_' . $arrData['pec_id']]) != '' && isset($arrData['tra_prenom_' . $arrData['pec_id']]) && trim($arrData['tra_prenom_' . $arrData['pec_id']]) != '' && isset($arrData['tra_courriel_' . $arrData['pec_id']]) && trim($arrData['tra_courriel_' . $arrData['pec_id']]) != '') { // Trouver les infos de la course $sqlEpreuve = "SELECT * FROM resultats_epreuves_commandees ec, inscriptions_epreuves e WHERE ec.epr_id = e.epr_id AND ec.pec_id_original = " . intval($arrData['pec_id']); $arrEpreuve = $objDatabase->fxGetRow($sqlEpreuve); if ($arrEpreuve != null) { $arrInfos = array( 'prenom' => fxUnescape(utf8_decode($arrData['tra_prenom_' . $arrData['pec_id']])), 'nom' => fxUnescape(utf8_decode($arrData['tra_nom_' . $arrData['pec_id']])), 'courriel' => fxUnescape($arrData['tra_courriel_' . $arrData['pec_id']]) ); $arrMail = array( 'to_name' => $arrInfos['prenom'] . ' ' . $arrInfos['nom'], 'to_mail' => $arrInfos['courriel'], 'from_name' => fxUnescape($arrFrom['com_prenom']) . ' ' . fxUnescape($arrFrom['com_nom']), 'from_mail' => fxUnescape($arrFrom['com_courriel']) ); $blnEnvoi = fxSendTransfert($arrEpreuve, $arrMail, $arrInfos, '', $strLangue); if ($blnEnvoi) { $arrTransferts = fxGetTransferts($arrData['pec_id']); $arrRetour['state'] = 'success'; $arrRetour['message'] = fxMessage('p204', '', $strLangue); $_SESSION['msg'] = 'p204'; $arrRetour['liste'] = fxShowTransferts($arrTransferts, $strLangue); $arrRetour['reset'] = true; $arrRetour['redirect'] = ''; } else { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e203', '', $strLangue); $_SESSION['msg'] = 'e203'; } } else { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e202', '', $strLangue); $_SESSION['msg'] = 'e202'; } } else { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e200', '', $strLangue); $_SESSION['msg'] = 'e200'; } } else { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e201', '', $strLangue); $_SESSION['msg'] = 'e201'; } break; case 'cancel': $sqlInfos = "SELECT * FROM inscriptions_transferts WHERE no_transfert = '" . $objDatabase->fxEscape($arrData['id']) . "'"; $arrInfos = $objDatabase->fxGetRow($sqlInfos); if ($arrInfos != null) { $sqlUpdate = "UPDATE inscriptions_transferts SET ts_id = 4 WHERE no_transfert = '" . $objDatabase->fxEscape($arrData['id']) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); if (!$qryUpdate) { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e0', 'Transfert NON annulé!'); fxcreer_log("Erreur lors de l'annulation du transfert:\n" . $sqlUpdate); } else { $arrRetour['state'] = 'success'; $arrRetour['message'] = fxMessage('p205', '', $strLangue); $_SESSION['msg'] = 'p205'; } $arrTransferts = fxGetTransferts($arrInfos['pec_id']); $arrRetour['liste'] = fxShowTransferts($arrTransferts, $strLangue); } break; case 'resend': // ENVOYER DE NOUVEAU LE TRANSFERT $sqlInfos = "SELECT t.pec_id, t.no_transfert, t.tra_prenom, t.tra_nom, t.tra_courriel, c.com_prenom, c.com_nom, c.com_courriel FROM inscriptions_transferts t, inscriptions_comptes c WHERE t.com_id = c.com_id AND t.no_transfert = '" . $objDatabase->fxEscape($arrData['id']) . "'"; $arrInfos = $objDatabase->fxGetRow($sqlInfos); if ($arrInfos != null) { // Trouver les infos de la course $sqlEpreuve = "SELECT * FROM resultats_epreuves_commandees ec, inscriptions_epreuves e WHERE ec.epr_id = e.epr_id AND ec.pec_id_original = " . intval($arrInfos['pec_id']); $arrEpreuve = $objDatabase->fxGetRow($sqlEpreuve); if ($arrEpreuve != null) { $arrInfos2 = array( 'prenom' => fxUnescape(utf8_decode($arrInfos['tra_prenom'])), 'nom' => fxUnescape(utf8_decode($arrInfos['tra_nom'])), 'courriel' => fxUnescape($arrInfos['tra_courriel']) ); $arrMail = array( 'to_name' => $arrInfos2['prenom'] . ' ' . $arrInfos2['nom'], 'to_mail' => $arrInfos2['courriel'], 'from_name' => fxUnescape($arrInfos['com_prenom']) . ' ' . fxUnescape($arrInfos['com_nom']), 'from_mail' => fxUnescape($arrInfos['com_courriel']) ); $blnEnvoi = fxSendTransfert($arrEpreuve, $arrMail, $arrInfos2, $arrInfos['no_transfert'], $strLangue); if ($blnEnvoi) { $sqlUpdate = "UPDATE inscriptions_transferts SET ts_id = 5, tra_envoi = '" . fxGetDateTime() . "' WHERE no_transfert = '" . $objDatabase->fxEscape($arrData['id']) . "'"; $qryUpdate = $objDatabase->fxQuery($sqlUpdate); if (!$qryUpdate) { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e0', 'Transfert NON ré-envoyé!'); fxcreer_log("Erreur lors de l'envoi de nouveau du transfert:\n" . $sqlUpdate); } else { $arrRetour['state'] = 'success'; $arrRetour['message'] = fxMessage('p206', '', $strLangue); $_SESSION['msg'] = 'p206'; } $arrTransferts = fxGetTransferts($arrInfos['pec_id']); $arrRetour['liste'] = fxShowTransferts($arrTransferts, $strLangue); } else { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e203', '', $strLangue); $_SESSION['msg'] = 'e203'; } } else { $arrRetour['state'] = 'error'; $arrRetour['message'] = fxMessage('e202', '', $strLangue); $_SESSION['msg'] = 'e202'; } } } return $arrRetour; } // fonction qui envoie les transferts par courriel // param : infos de l'épreuve, infos du courriel, numéro de transfert, langue d'affichage function fxSendTransfert($arrEpreuve, $arrMail, $arrInfos, $strNoTransfert = '', $strLangue = 'fr') { global $objDatabase, $vDomaine; $strUrl = fxGetEvenementsUrl($arrEpreuve['eve_id']); $strEpreuve = fxUnescape($arrEpreuve['epr_type_' . $strLangue]) . ' ' . fxUnescape($arrEpreuve['epr_nom_' . $strLangue]); $sqlEvenement = "SELECT * FROM inscriptions_evenements e LEFT JOIN inscriptions_series s ON s.ser_id = e.ser_id, 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) . "'"; $recEvenement = $objDatabase->fxGetRow($sqlEvenement); if ($recEvenement != null) { if ($strNoTransfert == '') { $strNoTransfert = uniqid('TRA'); $sqlTransfert = "INSERT INTO inscriptions_transferts SET ts_id = 1, no_transfert = '" . $objDatabase->fxEscape($strNoTransfert) . "', tra_prenom = '" . $objDatabase->fxEscape($arrInfos['prenom']) . "', tra_nom = '" . $objDatabase->fxEscape($arrInfos['nom']) . "', tra_courriel = '" . $objDatabase->fxEscape($arrInfos['courriel']) . "', pec_id = " . intval($arrEpreuve['pec_id_original']) . ", com_id = " . intval($_SESSION['com_info']['com_id']) . ", tra_creation = '" . fxGetDateTime() . "', tra_envoi = '" . fxGetDateTime() . "'"; $qryTransfert = $objDatabase->fxQuery($sqlTransfert); if (!$qryTransfert) { fxcreer_log("Erreur lors de l'ajout du transfert:\n" . $sqlTransfert); } } // former le tableau html contenant les infos de l'événement et l'épreuve if ($strLangue == 'fr') { $strEvent = 'Événement'; $strRace = 'Épreuve'; $strClosing = 'Date limite pour réserver'; } else { $strEvent = 'Event'; $strRace = 'Race'; $strClosing = 'Deadline to book'; } $strDetails = '
| ' . $strEvent . ': | ' . $recEvenement['eve_nom_' . $strLangue] . ' |
| ' . $strRace . ': | ' . $strEpreuve . ' |
| ' . $strClosing . ': | ' . fxShowDate($arrEpreuve['epr_date_limite'], $strLangue) . ' @ ' . $arrEpreuve['epr_heure_limite'] . ' |
| ' . afficheTexte('title_nom-prenom', 0) . ' | ' . afficheTexte('label_email', 0) . ' | ' . afficheTexte('title_status', 0) . ' | |
|---|---|---|---|
| '; if ($arrTransferts[$intCtr]['ts_id'] != 2) { if ($arrTransferts[$intCtr]['ts_id'] != 3 && $arrTransferts[$intCtr]['ts_id'] != 4) { $strRetour .= ' '; } $strRetour .= ' '; } else { $strRetour .= ' '; } $strRetour .= ' | ' . fxUnescape($arrTransferts[$intCtr]['tra_nom']) . ', ' . fxUnescape($arrTransferts[$intCtr]['tra_prenom']) . ' | ' . $arrTransferts[$intCtr]['tra_courriel'] . ' | ' . fxUnescape($arrTransferts[$intCtr]['ts_nom_' . $strLangue]) . ' |
| ' . count($arrTransferts) . ' '; if (count($arrTransferts) > 1) $strRetour .= strtolower(afficheTexte('title_transfert_pluriel', 0, 0)); else $strRetour .= strtolower(afficheTexte('title_transfert', 0, 0)); $strRetour .= ' | |||
|
' . afficheTexte('msg_no_transfert', 0, 0) . '
|
|||