2nd update
This commit is contained in:
@@ -15,227 +15,252 @@ function get_countries() {
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
// Template Header default including MENU
|
||||
function template_header($title, $head = '') {
|
||||
function template_header($title,$head) {
|
||||
|
||||
include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
|
||||
// Get the amount of items in the shopping cart, this will be displayed in the header.
|
||||
//variables
|
||||
$num_items_in_cart = isset($_SESSION['cart']) ? array_sum(array_column($_SESSION['cart'], 'quantity')) : 0;
|
||||
$home_link = url('index.php');
|
||||
$products_link = url(link_to_collection);
|
||||
$about_link = url('index.php?page=about');
|
||||
$myaccount_link = url('index.php?page=myaccount');
|
||||
$cart_link = url('index.php?page=cart');
|
||||
$logout_link = isset($_SESSION['account_loggedin']) ? '<a title="Logout" href="' . url('index.php?page=logout') . '"><i class="fas fa-sign-out-alt"></i></a>' : '';
|
||||
$site_name = site_name;
|
||||
$site_title = site_title;
|
||||
$base_url = base_url;
|
||||
$icon_image = icon_image;
|
||||
$basename = url('index.php?');
|
||||
$default_country = isset($_SESSION['country_code']) ? strtolower($_SESSION['country_code']) : language_code;
|
||||
|
||||
//build up settings
|
||||
$admin_link = isset($_SESSION['account_loggedin'], $_SESSION['account_role']) && $_SESSION['account_role'] == 1 ? '<a href="' . base_url . 'admin/index.php" title="Settings" target="_blank"><i class="fa-solid fa-sliders"></i></a> ': '';
|
||||
|
||||
//check for age_consent
|
||||
if (age_verification_enabled){
|
||||
|
||||
if (isset($_POST['age_consent_allow'])){$_SESSION["age_consent"] = 1;}
|
||||
$age_consent = (isset($_SESSION["age_consent"]) && $_SESSION["age_consent"] == 1) ? '' : consent();
|
||||
} else {
|
||||
$age_consent = '';
|
||||
}
|
||||
//LINKS
|
||||
$admin_link = isset($_SESSION['account_loggedin'], $_SESSION['account_role']) && $_SESSION['account_role'] == 1 ? '<a href="' . base_url . 'admin/index.php" aria-label="Settings" target="_blank"><i class="fa-solid fa-sliders"></i></a> ': '';
|
||||
$logout_link = isset($_SESSION['account_loggedin']) ? '<a title="Logout" href="' . url('index.php?page=logout') . '"><i class="fas fa-sign-out-alt"></i></a>' : '';
|
||||
|
||||
if ($title == 'Checkout' || $title == 'Shopping Cart') {$style = 'style="background-image: url(custom/assets/morval_checkout.jpg);"';} else {$style = '';}
|
||||
//check for age_consent
|
||||
if (age_verification_enabled){
|
||||
if (isset($_POST['age_consent_allow'])){$_SESSION["age_consent"] = 1;}
|
||||
$age_consent = (isset($_SESSION["age_consent"]) && $_SESSION["age_consent"] == 1) ? '' : consent();
|
||||
} else {
|
||||
$age_consent = '';
|
||||
}
|
||||
|
||||
//check for maintenanceMode
|
||||
if (maintenanceMode){$maintenanceMode = maintenanceMode();} else {$maintenanceMode = '';}
|
||||
//check for maintenanceMode
|
||||
if (maintenanceMode){$maintenanceMode = maintenanceMode();} else {$maintenanceMode = '';}
|
||||
|
||||
$veliti_analytics = '';
|
||||
if (veliti_analytics){
|
||||
$veliti_analytics = '<script src="'.$base_url.'/lib/analytics/analytics.js"></script>';
|
||||
}
|
||||
|
||||
|
||||
// DO NOT INDENT THE BELOW CODE
|
||||
echo <<<EOT
|
||||
$view = '
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,minimum-scale=1">
|
||||
<title>$site_title - $title</title>
|
||||
<link rel="icon" type="image/png" href="{$base_url}$icon_image">
|
||||
<link href="{$base_url}custom/css/style.css" rel="stylesheet" type="text/css">
|
||||
<link href="{$base_url}custom/css/custom.css" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v6.0.0/css/all.css">
|
||||
<script>
|
||||
// Wait for DOM to be ready before accessing elements
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Get loading screen element
|
||||
const loadingScreen = document.getElementById('loadingScreen');
|
||||
|
||||
// Only proceed if the element exists
|
||||
if (!loadingScreen) {
|
||||
console.error('Loading screen element not found!');
|
||||
return;
|
||||
}
|
||||
|
||||
// Show loading screen
|
||||
function showLoading() {
|
||||
loadingScreen.classList.add('active');
|
||||
}
|
||||
|
||||
// Hide loading screen
|
||||
function hideLoading() {
|
||||
loadingScreen.classList.remove('active');
|
||||
}
|
||||
|
||||
// Show loading when page initially loads
|
||||
showLoading();
|
||||
|
||||
// Hide loading when everything is loaded
|
||||
window.addEventListener('load', hideLoading);
|
||||
|
||||
// In case the page loads very quickly
|
||||
setTimeout(hideLoading, 500);
|
||||
|
||||
// Intercept form submissions
|
||||
setupFormInterception();
|
||||
|
||||
// Intercept fetch and XMLHttpRequest
|
||||
interceptNetworkRequests();
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,minimum-scale=1">
|
||||
<title>'.$title.' - '.site_title.'</title>
|
||||
<link rel="icon" type="image/png" href="'.base_url.icon_image.'">
|
||||
<link href="'.base_url.'custom/css/main.css" rel="stylesheet" type="text/css">
|
||||
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v6.0.0/css/all.css">
|
||||
'.$head.'
|
||||
<script>
|
||||
// Wait for DOM to be ready before accessing elements
|
||||
document.addEventListener(\'DOMContentLoaded\', function() {
|
||||
// Get loading screen element
|
||||
const loadingScreen = document.getElementById(\'loadingScreen\');
|
||||
|
||||
// Only proceed if the element exists
|
||||
if (!loadingScreen) {
|
||||
console.error(\'Loading screen element not found!\');
|
||||
return;
|
||||
}
|
||||
|
||||
// Show loading screen
|
||||
function showLoading() {
|
||||
loadingScreen.classList.add(\'active\');
|
||||
}
|
||||
|
||||
// Hide loading screen
|
||||
function hideLoading() {
|
||||
loadingScreen.classList.remove(\'active\');
|
||||
}
|
||||
|
||||
// Show loading when page initially loads
|
||||
showLoading();
|
||||
|
||||
// Hide loading when everything is loaded
|
||||
window.addEventListener(\'load\', hideLoading);
|
||||
|
||||
// In case the page loads very quickly
|
||||
setTimeout(hideLoading, 500);
|
||||
|
||||
// Intercept form submissions
|
||||
setupFormInterception();
|
||||
|
||||
// Intercept fetch and XMLHttpRequest
|
||||
interceptNetworkRequests();
|
||||
|
||||
|
||||
// Intercept all form submissions
|
||||
function setupFormInterception() {
|
||||
const forms = document.querySelectorAll(\'form\');
|
||||
|
||||
// Intercept all form submissions
|
||||
function setupFormInterception() {
|
||||
const forms = document.querySelectorAll('form');
|
||||
|
||||
forms.forEach(form => {
|
||||
form.addEventListener('submit', function(e) {
|
||||
// Show loading screen before form submission
|
||||
showLoading();
|
||||
});
|
||||
forms.forEach(form => {
|
||||
form.addEventListener(\'submit\', function(e) {
|
||||
// Show loading screen before form submission
|
||||
showLoading();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Intercept all network requests (fetch and XMLHttpRequest)
|
||||
function interceptNetworkRequests() {
|
||||
// Track active requests
|
||||
let activeRequests = 0;
|
||||
|
||||
// Intercept all network requests (fetch and XMLHttpRequest)
|
||||
function interceptNetworkRequests() {
|
||||
// Track active requests
|
||||
let activeRequests = 0;
|
||||
// Intercept fetch API
|
||||
const originalFetch = window.fetch;
|
||||
window.fetch = function() {
|
||||
showLoading();
|
||||
activeRequests++;
|
||||
|
||||
// Intercept fetch API
|
||||
const originalFetch = window.fetch;
|
||||
window.fetch = function() {
|
||||
showLoading();
|
||||
activeRequests++;
|
||||
|
||||
return originalFetch.apply(this, arguments)
|
||||
.then(response => {
|
||||
activeRequests--;
|
||||
if (activeRequests === 0) hideLoading();
|
||||
return response;
|
||||
})
|
||||
.catch(error => {
|
||||
activeRequests--;
|
||||
if (activeRequests === 0) hideLoading();
|
||||
throw error;
|
||||
});
|
||||
};
|
||||
|
||||
// Intercept XMLHttpRequest
|
||||
const originalXHROpen = XMLHttpRequest.prototype.open;
|
||||
const originalXHRSend = XMLHttpRequest.prototype.send;
|
||||
|
||||
XMLHttpRequest.prototype.open = function() {
|
||||
return originalXHROpen.apply(this, arguments);
|
||||
};
|
||||
|
||||
XMLHttpRequest.prototype.send = function() {
|
||||
showLoading();
|
||||
activeRequests++;
|
||||
|
||||
this.addEventListener('loadend', function() {
|
||||
return originalFetch.apply(this, arguments)
|
||||
.then(response => {
|
||||
activeRequests--;
|
||||
if (activeRequests === 0) hideLoading();
|
||||
return response;
|
||||
})
|
||||
.catch(error => {
|
||||
activeRequests--;
|
||||
if (activeRequests === 0) hideLoading();
|
||||
throw error;
|
||||
});
|
||||
|
||||
return originalXHRSend.apply(this, arguments);
|
||||
};
|
||||
}
|
||||
});
|
||||
</script>
|
||||
$veliti_analytics
|
||||
$head
|
||||
</head>
|
||||
<body $style>
|
||||
<!-- Loading Bar -->
|
||||
<div class="loading-container" id="loadingScreen">
|
||||
<div class="loading-bar">
|
||||
<div class="progress"></div>
|
||||
};
|
||||
|
||||
// Intercept XMLHttpRequest
|
||||
const originalXHROpen = XMLHttpRequest.prototype.open;
|
||||
const originalXHRSend = XMLHttpRequest.prototype.send;
|
||||
|
||||
XMLHttpRequest.prototype.open = function() {
|
||||
return originalXHROpen.apply(this, arguments);
|
||||
};
|
||||
|
||||
XMLHttpRequest.prototype.send = function() {
|
||||
showLoading();
|
||||
activeRequests++;
|
||||
|
||||
this.addEventListener(\'loadend\', function() {
|
||||
activeRequests--;
|
||||
if (activeRequests === 0) hideLoading();
|
||||
});
|
||||
|
||||
return originalXHRSend.apply(this, arguments);
|
||||
};
|
||||
}
|
||||
});
|
||||
</script>
|
||||
'.$veliti_analytics.'
|
||||
</head>
|
||||
<body>
|
||||
<!-- Loading Bar -->
|
||||
<div class="loading-container" id="loadingScreen">
|
||||
<div class="loading-bar">
|
||||
<div class="progress"></div>
|
||||
</div>
|
||||
<div class="loading-text">Loading, please wait...</div>
|
||||
</div>
|
||||
<!-- Top Info Bar -->
|
||||
<div class="top-info-bar">
|
||||
<div>
|
||||
<i class="fas fa-home"></i>
|
||||
'.($header_manufacturing ?? 'Swiss quality and Dutch manufacturing').'
|
||||
</div>
|
||||
<div>
|
||||
<i class="fas fa-euro-sign"></i>
|
||||
'.($header_shipping ?? 'Free shipping on all of our watches').'
|
||||
</div>
|
||||
<div>
|
||||
<i class="fas fa-truck"></i>
|
||||
'.($header_delivery ?? 'Fast service and delivery').'
|
||||
</div>
|
||||
<div>
|
||||
<span class="star-rating">★★★★★</span>
|
||||
'.($header_rating ?? 'Client rate 4.7/5.0').'
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Header -->
|
||||
<header>
|
||||
|
||||
<div class="logo">
|
||||
<a href="'.url('index.php').'" style="color:inherit;text-decoration:inherit;">
|
||||
<img src="'.base_url.icon_image.'" alt="'.site_name.'" style="width: 50px;height: 50px;padding:1px;border-radius: 10px;">
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<nav>
|
||||
<ul class="nav-links">
|
||||
<li><a href="'.url('index.php').'">'.$home_text.'</a></li>
|
||||
<li><a href="'.url(link_to_collection).'">'.$products_text.'</a></li>
|
||||
<li><a href="'.url('index.php?page=about').'">'.$about_text.'</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
<div class="header-icons">
|
||||
<a href="'.url('index.php?page=cart').'" aria-label="Shopping Cart">
|
||||
<i class="fas fa-shopping-cart"></i>
|
||||
<span class="cart-count">'.$num_items_in_cart.'</span>
|
||||
</a>
|
||||
<a href="'.url('index.php?page=myaccount').'" aria-label="Account">
|
||||
<i class="fas fa-user"></i>
|
||||
</a>
|
||||
'.$admin_link.'
|
||||
'.$logout_link.'
|
||||
<div class="language-selector">
|
||||
<button class="language-btn" id="lang-toggle">
|
||||
<img src="'.base_url.'custom/css/'.$default_country.'.png" alt="English" class="flag-icon">
|
||||
<i class="fas fa-chevron-down"></i>
|
||||
</button>
|
||||
<div class="language-dropdown" id="lang-dropdown">
|
||||
<a href="'.base_url.'index.php?language=us" class="active">
|
||||
<img src="'.base_url.'custom/css/us.png" alt="English" class="flag-icon">
|
||||
<span>English</span>
|
||||
</a>
|
||||
<a href="'.base_url.'index.php?language=de">
|
||||
<img src="'.base_url.'custom/css/de.png" alt="Deutsch" class="flag-icon">
|
||||
<span>Deutsch</span>
|
||||
</a>
|
||||
<a href="'.base_url.'index.php?language=fr">
|
||||
<img src="'.base_url.'custom/css/fr.png" alt="Français" class="flag-icon">
|
||||
<span>Français</span>
|
||||
</a>
|
||||
<a href="'.base_url.'index.php?language=nl">
|
||||
<img src="'.base_url.'custom/css/nl.png" alt="Nederlands" class="flag-icon">
|
||||
<span>Nederlands</span>
|
||||
</a>
|
||||
<a href="'.base_url.'index.php?language=es">
|
||||
<img src="'.base_url.'custom/css/es.png" alt="Español" class="flag-icon">
|
||||
<span>Español</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="loading-text">Loading, please wait...</div>
|
||||
</div>
|
||||
<header>
|
||||
<div class="content-wrapper">
|
||||
<h1>
|
||||
<a href="$home_link" style="color:inherit;text-decoration:inherit;">
|
||||
<img src="{$base_url}$icon_image" alt="$site_name" style="width: 50px;height: 50px;padding:1px;border-radius: 10px;">
|
||||
</a>
|
||||
</h1>
|
||||
<nav style="flex-grow: 1;flex-basis: 0px;justify-content: center;align-items: center;text-align:center;">
|
||||
<a href="$home_link">$home_text</a>
|
||||
<a href="$products_link">$products_text</a>
|
||||
<a href="$about_link">$about_text</a>
|
||||
</nav>
|
||||
<div class="link-icons">
|
||||
<div class="search">
|
||||
<i class="fas fa-search" title="Search"></i>
|
||||
<input type="text" placeholder="Search...">
|
||||
</div>
|
||||
<a href="$cart_link" title="Shopping Cart">
|
||||
<i class="fas fa-shopping-cart"></i>
|
||||
<span>$num_items_in_cart</span>
|
||||
</a>
|
||||
<a href="$myaccount_link" title="My Account">
|
||||
<i class="fa fa-user"></i>
|
||||
</a>
|
||||
$admin_link
|
||||
<div class="dropdown">
|
||||
<img src="{$base_url}custom/css/{$default_country}.png" id="title" alt="{$default_country} Flag" style="width:40px; height:auto; margin-right:10px;">
|
||||
<div class="dropdown-content">
|
||||
<a href="{$basename}language=us" style="padding:2px;" onclick="changeLanguage('English', 'us', '{$base_url}custom/css/us.png')">
|
||||
<img src="{$base_url}custom/css/us.png" style="padding:2px;" alt="US Flag">
|
||||
</a>
|
||||
<a href="{$basename}language=es" style="padding:2px;" onclick="changeLanguage('Spanish', 'es', '{$base_url}custom/css/es.png')">
|
||||
<img src="{$base_url}custom/css/es.png" style="padding:2px;" alt="Spanish Flag">
|
||||
</a>
|
||||
<a href="{$basename}language=fr" style="padding:2px;" onclick="changeLanguage('French', 'fr', '{$base_url}custom/css/fr.png')">
|
||||
<img src="{$base_url}custom/css/fr.png" style="padding:2px;" alt="French Flag">
|
||||
</a>
|
||||
<a href="{$basename}language=de" style="padding:2px;" onclick="changeLanguage('German', 'de', '{$base_url}custom/css/de.png')">
|
||||
<img src="{$base_url}custom/css/de.png" style="padding:2px;" alt="German Flag">
|
||||
</a>
|
||||
<a href="{$basename}language=it" style="padding:2px;" onclick="changeLanguage('Italian', 'it', '{$base_url}custom/css/it.png')">
|
||||
<img src="{$base_url}custom/css/it.png" style="padding:2px;" alt="Italian Flag">
|
||||
</a>
|
||||
<a href="{$basename}language=nl" style="padding:2px;" onclick="changeLanguage('Dutch', 'nl', '{$base_url}custom/css/nl.png')">
|
||||
<img src="{$base_url}custom/css/nl.png" style="padding:2px;" alt="Italian Flag">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
$logout_link
|
||||
<a class="responsive-toggle" onclick="openMenu('header nav')" href="#">
|
||||
<i class="fas fa-bars"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
<main>
|
||||
$age_consent
|
||||
$maintenanceMode
|
||||
EOT;
|
||||
}
|
||||
</div>
|
||||
|
||||
<button class="hamburger" id="menu-btn">
|
||||
<i class="fas fa-bars"></i>
|
||||
</button>
|
||||
</header>
|
||||
|
||||
<!-- Mobile Menu -->
|
||||
<div class="mobile-menu" id="mobile-menu">
|
||||
<button class="close-menu" id="close-menu-btn">
|
||||
<i class="fas fa-times"></i>
|
||||
</button>
|
||||
<ul class="mobile-nav-links">
|
||||
<li><a href="'.url('index.php').'">'.$home_text.'</a></li>
|
||||
<li><a href="'.url(link_to_collection).'">'.$products_text.'</a></li>
|
||||
<li><a href="'.url('index.php?page=about').'">'.$about_text.'</a></li>
|
||||
<li><a href="'.url('index.php?page=cart').'">Cart</a></li>
|
||||
<li><a href="'.url('index.php?page=myaccount').'">Account</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
'. $age_consent.'
|
||||
'.$maintenanceMode;
|
||||
|
||||
return $view;
|
||||
|
||||
}
|
||||
|
||||
// Template Header (related to MENU function)
|
||||
function template_header_top($title, $head = '') {
|
||||
@@ -487,67 +512,133 @@ function template_menu(){
|
||||
// Template footer
|
||||
function template_footer() {
|
||||
include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
$base_url = base_url;
|
||||
$rewrite_url = rewrite_url ? 'true' : 'false';
|
||||
$year = date('Y');
|
||||
$currency_code = currency_code;
|
||||
$site_name = site_name;
|
||||
$home_link = url('index.php');
|
||||
$products_link = url('index.php?page=products');
|
||||
$about_link = url('index.php?page=about');
|
||||
$privacy_link = privacy_link;
|
||||
$terms_link = termsandconditions_link;
|
||||
$faq_link = url('index.php?page=faq');
|
||||
$myaccount_link = url('index.php?page=myaccount');
|
||||
$cart_link = url('index.php?page=cart');
|
||||
$footer_city = footer_city;
|
||||
$footer_country = footer_country;
|
||||
$footer_phone = footer_phone;
|
||||
$footer_email = footer_email;
|
||||
$facebook_link = facebook_link;
|
||||
$instagram_link = instagram_link;
|
||||
|
||||
// DO NOT INDENT THE BELOW CODE
|
||||
echo <<<EOT
|
||||
</main>
|
||||
<footer>
|
||||
|
||||
<div class="container neutral-footer-section-1">
|
||||
<div class="container neutral-footer-three-columns">
|
||||
<div class="container description-logos-footer">
|
||||
<h4 class="neutral-headline-footer">$social_punch_line</h4>
|
||||
<div class="container social-footer-wrapper">
|
||||
<a href="$facebook_link" target="_blank" class="social-image neutral-social-icon left-align"><img class="facebook-icon" src="{$base_url}socialicons/webicon-facebook.png" alt="Social Icon" width="100" height="100"></a>
|
||||
<a href="$instagram_link" target="_blank" class="social-image neutral-social-icon"><img class="instagram-icon" src="{$base_url}socialicons/webicon-instagram.png" alt="Social Icon" width="100" height="100"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container container-links-footer-wrapper">
|
||||
<a class="link-text neutral-nav-link-footer" href="$home_link">$home_text</a>
|
||||
<a class="link-text neutral-nav-link-footer" href="$products_link">$products_text</a>
|
||||
<a class="link-text neutral-nav-link-footer" href="$about_link">$about_text</a>
|
||||
<a class="link-text neutral-nav-link-footer" href="$faq_link">$faq_text</a>
|
||||
<a class="link-text neutral-nav-link-footer" href="$privacy_link" target="blank">$privacy_text</a>
|
||||
<a class="link-text neutral-nav-link-footer" href="$terms_link" target="blank">$terms_text</a>
|
||||
</div>
|
||||
<div class="container container-direction-footer">
|
||||
<p class="paragraph direction-footer">$footer_city<br>$footer_country</p>
|
||||
<div class="container container-telephone-footer"><span class="glyph icon-footer"><i class="coffeecup-icons-phone2"></i></span>
|
||||
<a class="link-text nav-link-footer" href="#">$footer_phone</a>
|
||||
</div>
|
||||
<a class="link-text nav-link-footer" href="mailto:$footer_email?subject=Contact Us">$footer_email</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script>
|
||||
const currency_code = "$currency_code", base_url = "$base_url", rewrite_url = $rewrite_url;
|
||||
</script>
|
||||
<script src="{$base_url}script.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
EOT;
|
||||
|
||||
}
|
||||
$footer = '
|
||||
<section class="newsletter">
|
||||
<div class="container newsletter-container">
|
||||
<div class="newsletter-text">
|
||||
<h2>'.($newsletter_h2 ?? 'Sign up for<br>the newsletter').'</h2>
|
||||
<p>'.($newsletter_p ?? 'Stay connected with our latest updates, tips, and exclusive offers—straight to your inbox.').'</p>
|
||||
</div>
|
||||
<div class="newsletter-form">
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="'.($shipping_first_name ?? 'Name').' - '.($shipping_last_name ?? 'surname').' *" required>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<input type="email" class="form-control" placeholder="'.($account_create_email ?? 'E-mailaddress').' *" required>
|
||||
</div>
|
||||
<div class="checkbox-group">
|
||||
<label>
|
||||
<input type="checkbox" required>
|
||||
'.($newsletter_confirm ?? 'I have read and agree with the privacy policy').'
|
||||
</label>
|
||||
</div>
|
||||
<button type="submit" class="btn-submit">'.($newsletter_submit ?? 'submit').'</button>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer class="footer">
|
||||
<div class="container footer-container">
|
||||
<div class="footer-info">
|
||||
<h3>'.company_name.'</h3>
|
||||
<p>'.footer_city.' - '.footer_country.'</p>
|
||||
<p>Tel: '.footer_phone.' - '.footer_email.'</p>
|
||||
</div>
|
||||
<div class="social-icons">
|
||||
<a href="'.instagram_link.'" class="social-icon">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M21.5 7.5V16.5C21.5 19 19.5 21 17 21H7C4.5 21 2.5 19 2.5 16.5V7.5C2.5 5 4.5 3 7 3H17C19.5 3 21.5 5 21.5 7.5Z" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 15.5C13.933 15.5 15.5 13.933 15.5 12C15.5 10.067 13.933 8.5 12 8.5C10.067 8.5 8.5 10.067 8.5 12C8.5 13.933 10.067 15.5 12 15.5Z" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M17.5 7.5H17.51" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="'.facebook_link.'" class="social-icon">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14 9.3V12.2H16.6C16.8 12.2 16.9 12.4 16.9 12.6L16.5 14.5C16.5 14.6 16.3 14.7 16.2 14.7H14V22H11V14.8H9.3C9.1 14.8 9 14.7 9 14.5V12.6C9 12.4 9.1 12.3 9.3 12.3H11V9C11 7.3 12.3 6 14 6H16.7C16.9 6 17 6.1 17 6.3V8.7C17 8.9 16.9 9 16.7 9H14.3C14.1 9 14 9.1 14 9.3Z" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
<path d="M15 22H9C4 22 2 20 2 15V9C2 4 4 2 9 2H15C20 2 22 4 22 9V15C22 20 20 22 15 22Z" stroke="#1f3d6b" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="#" class="social-icon">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 4H8C6.34315 4 5 5.34315 5 7V17C5 18.6569 6.34315 20 8 20H16C17.6569 20 19 18.6569 19 17V7C19 5.34315 17.6569 4 16 4Z" stroke="#1f3d6b" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M9 12V16M9 8.8V9M15 12V16M15 8.8V9" stroke="#1f3d6b" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="payment-methods">
|
||||
<img src="'.base_url.'custom/assets/iDEAL.png" alt="iDeal" class="payment-method">
|
||||
<img src="'.base_url.'custom/assets/mastercard.png" alt="Mastercard" class="payment-method">
|
||||
<img src="'.base_url.'custom/assets/visa.png" alt="Visa" class="payment-method">
|
||||
<img src="'.base_url.'custom/assets/paypal.png" alt="Pay Pal" class="payment-method">
|
||||
</div>
|
||||
|
||||
<div class="footer-bottom">
|
||||
<div class="copyright">
|
||||
©2025 All rights reserved
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="'.termsandconditions_link.'">'.$terms_text.'</a>
|
||||
<a href="'.privacy_link.'">'.$privacy_text.'</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<script>
|
||||
//Mobile menu functionality
|
||||
const menuBtn = document.getElementById(\'menu-btn\');
|
||||
const closeMenuBtn = document.getElementById(\'close-menu-btn\');
|
||||
const mobileMenu = document.getElementById(\'mobile-menu\');
|
||||
|
||||
menuBtn.addEventListener(\'click\', () => {
|
||||
mobileMenu.classList.add(\'mobile-menu-open\');
|
||||
document.body.style.overflow = \'hidden\';
|
||||
});
|
||||
|
||||
closeMenuBtn.addEventListener(\'click\', () => {
|
||||
mobileMenu.classList.remove(\'mobile-menu-open\');
|
||||
document.body.style.overflow = \'auto\';
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
document.addEventListener(\'DOMContentLoaded\', function() {
|
||||
// Get the language toggle button and dropdown
|
||||
const langToggle = document.getElementById(\'lang-toggle\');
|
||||
const langDropdown = document.getElementById(\'lang-dropdown\');
|
||||
|
||||
// Add click event to toggle button
|
||||
langToggle.addEventListener(\'click\', function(e) {
|
||||
e.stopPropagation(); // Prevent click from immediately bubbling to document
|
||||
langDropdown.classList.toggle(\'show\');
|
||||
});
|
||||
|
||||
// Add click events to each language option
|
||||
const languageLinks = langDropdown.querySelectorAll(\'a\');
|
||||
languageLinks.forEach(link => {
|
||||
link.addEventListener(\'click\', function(e) {
|
||||
// No need to prevent default as we want the href to be followed
|
||||
// URL will be triggered naturally by the link
|
||||
langDropdown.classList.remove(\'show\');
|
||||
});
|
||||
});
|
||||
|
||||
// Close dropdown when clicking elsewhere on the page
|
||||
document.addEventListener(\'click\', function(e) {
|
||||
if (!e.target.closest(\'.language-selector\')) {
|
||||
langDropdown.classList.remove(\'show\');
|
||||
}
|
||||
});
|
||||
});
|
||||
const currency_code = "'.currency_code.'", base_url = "'.base_url.'", rewrite_url = "'.rewrite_url.'";
|
||||
</script>
|
||||
<script src="'.base_url.'script.js"></script>
|
||||
';
|
||||
|
||||
return $footer;
|
||||
|
||||
}
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
// Order email
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
Reference in New Issue
Block a user