This commit introduces a mobile login feature with validation messages for username and password fields, improving user experience. It also updates the header and footer to conditionally render elements based on mobile entry status, ensuring a cohesive design. Additionally, CSS styles are added to enhance the mobile interface, and the version code is incremented to 4.72.689 to reflect these changes.
330 lines
12 KiB
PHP
330 lines
12 KiB
PHP
<?php
|
|
global $strLangue, $strCode, $vDomaine, $vClient, $strTermesModal, $strTeamBibModal, $strHintModal;
|
|
|
|
if (!isset($strTeamBibModal)) {
|
|
$strTeamBibModal = '';
|
|
}
|
|
if (!isset($strHintModal)) {
|
|
$strHintModal = '';
|
|
}
|
|
// MSIN-1083
|
|
$blnCacherLogo = true;
|
|
if (isset($_SERVER['SCRIPT_URL'])) {
|
|
if ($strLangue == 'en')
|
|
if(stripos($_SERVER['SCRIPT_URL'], '/fees') == false) { // patch MSIN-1018
|
|
$blnCacherLogo = false;
|
|
}
|
|
if($strLangue == 'fr')
|
|
if(stripos($_SERVER['SCRIPT_URL'], '/frais') == false) { // patch MSIN-1018
|
|
$blnCacherLogo = false;
|
|
}
|
|
}
|
|
|
|
// MSIN-1083
|
|
|
|
if (isset($tabEvenement) && $tabEvenement['general']['eve_commanditaires'] == "1") {
|
|
if ($blnCacherLogo == false) { // MSIN-1083
|
|
?>
|
|
<div id="sponsors">
|
|
<div class="box_top"><span></span></div>
|
|
<div class="box_repeat">
|
|
|
|
<?php
|
|
// récupérer les images des commanditaires
|
|
$tabSponsors = fxGetSponsors($strLangue,$tabEvenement['general']['eve_id']);
|
|
|
|
if (count((array)$tabSponsors) > 0) {
|
|
?>
|
|
<ul>
|
|
<?php
|
|
for ($intCtr = 1; $intCtr <= count($tabSponsors); $intCtr++) {
|
|
?>
|
|
<li><a href="<?php echo $tabSponsors[$intCtr]['com_url_' . $strLangue]; ?>" <?php echo tcheckevents($tabSponsors[$intCtr]['com_stat_category'],$tabSponsors[$intCtr]['com_stat_action'],$tabSponsors[$intCtr]['com_stat_label']);?> <?php if ($tabSponsors[$intCtr]['com_target'] == 1) { ?>target="_blank"<?php } ?> title="<?php echo $tabSponsors[$intCtr]['com_titre_' . $strLangue]; ?>"><img src="<?php echo $vDomaine; ?>/images/commanditaires/<?php echo $tabSponsors[$intCtr]['com_image_' . $strLangue]; ?>" alt="<?php echo $tabSponsors[$intCtr]['com_titre_' . $strLangue]; ?>"></a></li>
|
|
<?php
|
|
}
|
|
?>
|
|
</ul>
|
|
<?php
|
|
} else {
|
|
?>
|
|
<br>
|
|
<?php
|
|
}
|
|
?>
|
|
<div class="clearer"><span></span></div>
|
|
</div>
|
|
<div class="box_bottom"><span></span></div>
|
|
</div>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
<footer<?php echo (defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENTRY) ? ' class="inscr-mobile-entry-footer"' : ''; ?>>
|
|
<?php if (!(defined('MS1_INSCR_MOBILE_ENTRY') && MS1_INSCR_MOBILE_ENTRY)) { ?>
|
|
<div class="ms1-footer-top">
|
|
<div class="container">
|
|
<div class="row py-4">
|
|
<div class="col-lg-6 text-center text-lg-left">
|
|
<div class="ms1-contact-client text-break">
|
|
<?php
|
|
if (isset($tabEvenement['general']['eve_contact_footer_' . $strLangue])) {
|
|
if (isset($_GET['step']))
|
|
$strStep = $_GET['step'];
|
|
else
|
|
$strStep = '';
|
|
|
|
if ($strStep != 'resultat') {
|
|
if (trim($tabEvenement['general']['eve_contact_footer_' . $strLangue]) != "") {
|
|
echo($tabEvenement['general']['eve_contact_footer_' . $strLangue]);
|
|
} else {
|
|
echo('<br> <br> <br> <br>');
|
|
}
|
|
} else {
|
|
echo('<br> <br> <br> <br>');
|
|
}
|
|
} else {
|
|
echo('<br> <br> <br> <br>');
|
|
}
|
|
?>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-6 text-center text-lg-right">
|
|
<ul class="list-inline mb-0 text-uppercase">
|
|
<?php
|
|
$recMenus = fxGetMenus($strLangue);
|
|
|
|
if (count($recMenus) > 0) {
|
|
for ($intCtr = 1; $intCtr <= count($recMenus); $intCtr++) {
|
|
if ($intCtr != 1) {
|
|
?>
|
|
<li class="list-inline-item"><span>|</span></li>
|
|
<?php
|
|
}
|
|
?>
|
|
<li class="list-inline-item">
|
|
<a<?php if ($strCode == $recMenus[$intCtr]['pag_code']) { ?> class="active"<?php } ?> href="<?php echo $vDomaine; ?>/page/<?php echo $recMenus[$intCtr]['pag_code'] . '/' . $strLangue; ?>">
|
|
<?php echo $recMenus[$intCtr]['pag_label_' . $strLangue]; ?>
|
|
</a>
|
|
</li>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|
|
</ul>
|
|
<div class="social">
|
|
<a href="http://www.facebook.com/pages/Ms1timing/387594717971765" target="_blank"><i class="fa fa-facebook-square"></i></a>
|
|
<a href="https://twitter.com/ms1timing" target="_blank"><i class="fa fa-twitter-square"></i></a>
|
|
<!--
|
|
<a href="/index.php?cookies" ><img style="border: none;" width="30" src="<?php echo $vDomaine; ?>/images/cookie.png" alt="cookies" /></a>
|
|
-->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php } ?>
|
|
<div class="ms1-footer-bottom">
|
|
<div class="container">
|
|
<div class="row align-items-center">
|
|
<div class="col-lg-4 text-center text-lg-left order-lg-first order-last py-2">
|
|
<div>
|
|
Copyright © <?php echo $vClient; ?> 2013-<?php echo date('Y'); ?><br>
|
|
<?php if ($strLangue == 'fr') {
|
|
?>Réalisation<?php
|
|
} else {
|
|
?>Conception<?php
|
|
} ?>:
|
|
<a href="http://www.progiweb.ca/" target="_blank">progiweb</a><br>
|
|
bdd (v<?php echo fxGetVariable('version') . '.' . fxGetVariable('update'); ?>) - code (v<?php echo _VERSION_CODE. ' ' .PAYPAL_ENV_FOOTER ;?>)
|
|
<div class="sr-only">Programmeur Jean-Sébastien Proulx & Stephan Leitn</div>
|
|
</div>
|
|
</div>
|
|
<div class="col-lg-4 text-center py-2">
|
|
<div>
|
|
<img src="/images/canqueb.png" alt="Logo" style="max-height: 50px;">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-lg-4 text-center text-lg-right py-2">
|
|
<div>
|
|
<?php
|
|
if ($strLangue == 'fr') {
|
|
?>Tous les prix affichés sur ce site sont en dollars canadiens.<?php
|
|
} else {
|
|
?>All prices on this website are in Canadian dollars.<?php
|
|
} ?>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
</div>
|
|
</div>
|
|
<?php echo $strTermesModal . $strTeamBibModal . $strHintModal; ?>
|
|
<div class="scroll-top-wrapper border">
|
|
<span class="scroll-top-inner">
|
|
<i class="fa fa-chevron-up"></i>
|
|
</span>
|
|
</div>
|
|
<!-- /MSIN-3860 -->
|
|
<style>
|
|
|
|
/* /MSIN-3860 */
|
|
.cookie-consent {
|
|
display: none; /* Initially hidden */
|
|
position: fixed;
|
|
bottom: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
background-color: #f1f1f1;
|
|
padding: 20px;
|
|
box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.cookie-consent-container {
|
|
|
|
max-width: 1000px;
|
|
margin: 0 auto;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
#acceptCookies, #rejectCookies {
|
|
background: #9dca3a; border-radius: 5px;
|
|
|
|
color: white;
|
|
border: none;
|
|
padding: 10px 20px;
|
|
cursor: pointer;
|
|
font-size: 12px;
|
|
}
|
|
|
|
#rejectCookies {
|
|
|
|
background: #ed1c24; border-radius: 5px;
|
|
}
|
|
|
|
#acceptCookies:hover {
|
|
background-color: #45a049;
|
|
}
|
|
|
|
#rejectCookies:hover {
|
|
background-color: #e53935;
|
|
}
|
|
|
|
</style>
|
|
|
|
<!-- MSIN-3860 -->
|
|
|
|
<div id="cookieConsent" class="cookie-consent">
|
|
<p><?php echo afficheTexte('experience_cookies', 0, 1, 1); ?></p>
|
|
|
|
<div class="cookie-consent-container">
|
|
|
|
|
|
<button id="acceptCookies"><?php echo afficheTexte('bouton_acceper_cookies', 0, 1, 1); ?></button>
|
|
|
|
<button id="rejectCookies"><?php echo afficheTexte('bouton_refuser_cookies', 0, 1, 1); ?></button>
|
|
|
|
</div>
|
|
</br>
|
|
|
|
<a href="/page/cookie/<?php if ($strLangue != 'fr') { echo ("/en"); }?> "><?php echo afficheTexte('politique_cookie', 0, 1, 1); ?></a>       
|
|
|
|
|
|
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|
|
|
|
|
|
|
|
<script>
|
|
// Function to disable all clicks within a specific div
|
|
function disableClicks(divId) {
|
|
document.getElementById(divId).addEventListener('click', blockClicks, true);
|
|
}
|
|
|
|
// Function to block the click event
|
|
function blockClicks(event) {
|
|
event.stopPropagation(); // Stop the event from reaching its target
|
|
event.preventDefault(); // Prevent the default action (like navigating a link)
|
|
}
|
|
|
|
// Function to re-enable clicks within a specific div
|
|
function enableClicks(divId) {
|
|
document.getElementById(divId).removeEventListener('click', blockClicks, true);
|
|
}
|
|
|
|
//MSIN-3860
|
|
|
|
// if (!getCookie('cookiesAccepted') && !getCookie('cookiesRejected')) {
|
|
|
|
|
|
// $('#cookieConsent').fadeIn();
|
|
// }
|
|
|
|
// Handle the acceptance of cookies
|
|
$('#acceptCookies').click(function() {
|
|
setCookie('cookiesAccepted', 'true', 365);
|
|
$('#cookieConsent').fadeOut();
|
|
|
|
|
|
});
|
|
|
|
// Handle the rejection of cookies
|
|
$('#rejectCookies').click(function() {
|
|
setCookie('cookiesRejected', 'true', 365);
|
|
$('#cookieConsent').fadeOut();
|
|
enableClicks('page');
|
|
|
|
});
|
|
|
|
// Function to set a cookie
|
|
function setCookie(cname, cvalue, exdays) {
|
|
const d = new Date();
|
|
d.setTime(d.getTime() + (exdays*24*60*60*1000));
|
|
let expires = "expires="+ d.toUTCString();
|
|
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
|
|
}
|
|
|
|
// Function to get a cookie
|
|
function getCookie(cname) {
|
|
let name = cname + "=";
|
|
let decodedCookie = decodeURIComponent(document.cookie);
|
|
let ca = decodedCookie.split(';');
|
|
for(let i = 0; i < ca.length; i++) {
|
|
let c = ca[i];
|
|
while (c.charAt(0) == ' ') {
|
|
c = c.substring(1);
|
|
}
|
|
if (c.indexOf(name) == 0) {
|
|
return c.substring(name.length, c.length);
|
|
}
|
|
}
|
|
return "";
|
|
}
|
|
|
|
</script>
|
|
<?php
|
|
|
|
if ((isset($_GET['cookies']))){
|
|
?>
|
|
<script>
|
|
setCookie('cookiesAccepted', '', { expires: -1 });
|
|
setCookie('cookiesRejected', '', { expires: -1 });
|
|
window.location = window.location.href.split("?")[0];
|
|
</script>
|
|
<?php
|
|
|
|
}
|
|
|
|
|
|
require_once 'inc_footer_scripts.php'; ?>
|
|
|
|
|
|
</body>
|
|
</html>
|