diff --git a/admin/countries.php b/admin/countries.php new file mode 100644 index 0000000..30d4a09 --- /dev/null +++ b/admin/countries.php @@ -0,0 +1,78 @@ + +
+

Countries in scope

+
'; + +$view .= '
+ '.($general_actions ?? 'Actions' ).' +
+ '; + +$view .= '
+
+ '; + foreach($countries as $country){ + $view .= '
'.(${$country['country']} ?? $country['country']).'
'; + } +$view .=' + +
+
'; + +$view .= ''; + +//Output +echo $view; + +template_admin_footer(); \ No newline at end of file diff --git a/cart.php b/cart.php index 02de368..bc18d14 100644 --- a/cart.php +++ b/cart.php @@ -104,17 +104,19 @@ foreach ($products_in_cart as $num => $product) { $subtotal += (float)$product['options_price'] * (int)$product['quantity']; } -template_header(($shopping_cart_header ?? 'Shopping Cart')); +$view = template_header(($shopping_cart_header ?? 'Shopping Cart'),''); -$view = ' +$view .= '
-

'.$h1_cart_name.'

-

- +

+
@@ -164,21 +166,21 @@ $view = ' '.htmlspecialchars(substr($prod_options, 0,-2), ENT_QUOTES).' - '; + '; if ($product['options'] == $h2_cart_sample_product && !empty(category_id_checkout_samples)){ $view .= ' - '; } else { $view .= ' - '; } - $view .= ' + $view .= ' '; } } @@ -202,23 +204,16 @@ $view .= '
- +
- - -

- - '.$navigation_back_to_store.' - -

- + '; - +$view .= template_footer(); //OUTPUT echo $view; -template_footer(); + ?> \ No newline at end of file diff --git a/checkout.php b/checkout.php index 9da0169..460e8a4 100644 --- a/checkout.php +++ b/checkout.php @@ -38,14 +38,6 @@ $checkout_input = [ // Error array, output errors on the form $errors = []; -//CALL TO API FOR shipping -$api_url = '/v2/taxes/'; -$countries = ioAPIv2($api_url,'',$clientsecret); -//Decode Payload -if (!empty($countries)){$countries = json_decode($countries,true);}else{$countries = null;} -//CountryID mapping -$countryMap = array_column($countries, 'country', 'id'); - // --------------------------------------------- // End defaults -------------------------------- // --------------------------------------------- @@ -367,15 +359,17 @@ if (isset($_POST['method'], $_POST['first_name'], $_POST['last_name'], $_POST['a $terms_link = url('index.php?page=termsandconditions'); -template_header(($checkout_header ?? 'Checkout')); +$view = template_header(($checkout_header ?? 'Checkout'),''); -$view = ' +$view .= '
-

'.$h1_checkout.'

- -

'.implode('
', $errors).'

'; +

'.$h1_checkout.'

'; + if (!empty($errors) || count($errors) > 0){ + + $view .= '

'.implode('
', $errors).'

'; + } if (!isset($_SESSION['account_loggedin'])){ $view .= '

'.$account_available.' '.$account_log_in.'

'; } @@ -459,8 +453,8 @@ $view .= ' @@ -547,7 +541,7 @@ $view .= '
- +
@@ -558,9 +552,9 @@ $view .= ' '; +$view .= template_footer(); + //OUTPUT echo $view; -template_footer(); - ?> \ No newline at end of file diff --git a/custom/assets/header.jpg b/custom/assets/header.jpg new file mode 100644 index 0000000..ebf0c98 Binary files /dev/null and b/custom/assets/header.jpg differ diff --git a/custom/assets/mastercard.png b/custom/assets/mastercard.png new file mode 100644 index 0000000..fad467b Binary files /dev/null and b/custom/assets/mastercard.png differ diff --git a/custom/assets/morval_about_us_2.jpg b/custom/assets/morval_about_us_2.jpg new file mode 100644 index 0000000..11a0cd6 Binary files /dev/null and b/custom/assets/morval_about_us_2.jpg differ diff --git a/custom/assets/paypal.png b/custom/assets/paypal.png new file mode 100644 index 0000000..40f2514 Binary files /dev/null and b/custom/assets/paypal.png differ diff --git a/custom/assets/visa.png b/custom/assets/visa.png new file mode 100644 index 0000000..bb533cf Binary files /dev/null and b/custom/assets/visa.png differ diff --git a/custom/assets/watchad1.jpg b/custom/assets/watchad1.jpg new file mode 100644 index 0000000..79e6b24 Binary files /dev/null and b/custom/assets/watchad1.jpg differ diff --git a/custom/assets/watchad2.jpg b/custom/assets/watchad2.jpg new file mode 100644 index 0000000..f21477b Binary files /dev/null and b/custom/assets/watchad2.jpg differ diff --git a/custom/css/main.css b/custom/css/main.css new file mode 100644 index 0000000..420fd15 --- /dev/null +++ b/custom/css/main.css @@ -0,0 +1,2962 @@ +:root { + /* Color palette */ + --color-white: #ffffff; + --color-off-white: #f8f8f8; + --color-light-gray: #f5f5f5; + --color-lighter-gray: #f9f9f9; + --color-gray: #dddddd; + --color-medium-gray: #cccccc; + --color-dark-gray: #7f8c8d; + --color-darker-gray: #666666; + --color-text-gray: #555555; + --color-text-dark: #444444; + --color-black: #000000; + + /* Brand colors */ + --color-primary: #ff6f00; + --color-primary-dark: #e56200; + --color-primary-darker: #d35400; + --color-secondary: #e67e22; + --color-accent: #2c4b7c; + --color-dark-blue: #1f3d6b; + --color-dark-text: #333333; + --color-heading: #2c3e50; + + /* UI colors */ + --color-shadow: rgba(0, 0, 0, 0.1); + --color-modal-bg: rgba(0, 0, 0, 0.9); + --color-slider-nav-bg: rgba(255, 255, 255, 0.7); + --color-star: goldenrod; + + /* New Colors from the rest of the CSS */ + --color-loading-bg: rgba(255, 255, 255, 0.8); + --color-progress-bg: #f0f0f0; + --color-progress-bar: #4CAF50; + --color-filter-border: #e0e0e0; + --color-filter-section-heading: #333; + --color-filter-option-border: #eee; + --color-green: #1e7b4d; + --color-blue: #1a5276; + --color-brown: #6e4c1e; + --color-rpp-line: #BBBBBB; + --color-checked-before-bg: #03337a; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: Arial, sans-serif; +} + +body { + overflow-x: hidden; +} + +/* Top Info Bar */ +.top-info-bar { + background-color: var(--color-off-white); + display: flex; + justify-content: space-between; + align-items: center; + padding: 5px 20px; + font-size: 12px; /* Smaller font size */ + color: var(--color-text-gray); + flex-wrap: wrap; +} + +.top-info-bar div { + display: flex; + align-items: center; + margin: 3px 10px; +} + +.top-info-bar i { + margin-right: 5px; +} + +.star-rating { + color: var(--color-star); +} + +/* Container */ +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 15px; +} + +/* Header */ +header { + background-color: var(--color-white); + padding: 15px 20px; + display: flex; + justify-content: space-between; + align-items: center; + box-shadow: 0 2px 10px var(--color-shadow); + position: relative; + z-index: 10; +} + +.logo { + display: flex; + align-items: center; +} + +.logo img { + height: 40px; +} + +/* Navigation */ +nav { + display: flex; + align-items: center; +} + +.nav-links { + display: flex; + list-style: none; +} + +.nav-links li { + margin: 0 15px; +} + +.nav-links a { + text-decoration: none; + color: var(--color-dark-text); + font-weight: bold; + text-transform: uppercase; + font-size: 14px; + transition: color 0.3s; +} + +.nav-links a:hover { + color: var(--color-primary); +} + +.header-icons { + display: flex; + align-items: center; +} + +.header-icons a { + margin-left: 20px; + color: var(--color-dark-text); + text-decoration: none; + font-size: 18px; + position: relative; +} + +.cart-count { + background-color: var(--color-primary); + color: var(--color-white); + font-size: 12px; + width: 18px; + height: 18px; + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + position: absolute; + top: -8px; + right: -8px; +} + +/* Hero Section */ +.hero { + background-image: url('../../custom/assets/header.jpg'); + background-size: cover; + background-position: center; + height: 500px; + display: flex; + align-items: center; + position: relative; + max-width: 1200px; /* Match container max-width to constrain image */ + margin: 0 auto; /* Center the hero section */ +} + +.hero-content { + padding: 0 50px; + max-width: 50%; + position: relative; + z-index: 2; +} + +.hero h1 { + color: var(--color-white); + font-size: 42px; + line-height: 1.2; + margin-bottom: 20px; +} + +.hero-btn { + background-color: var(--color-primary); + color: var(--color-white); + text-decoration: none; + padding: 12px 24px; + display: inline-block; + text-transform: uppercase; + font-weight: bold; + font-size: 14px; + border: none; + cursor: pointer; + transition: background-color 0.3s; +} + +.hero-btn:hover { + background-color: var(--color-primary-dark); +} + +/* Store Description */ +.store-description { + text-align: center; + padding: 50px 20px; + max-width: 600px; + margin: 0 auto; +} + +.store-description p { + font-size: 20px; + line-height: 1.6; + color: var(--color-text-dark); + margin-bottom: 30px; +} + +.highlighted { + font-weight: bold; + color: var(--color-accent); /* Updated to dark blue to match the example */ +} + +.orange-text { + color: var(--color-primary); + font-weight: bold; +} + +/* Mobile Menu */ +.hamburger { + display: none; + cursor: pointer; + background: none; + border: none; + font-size: 24px; +} + +.mobile-menu { + display: none; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--color-modal-bg); + z-index: 100; + padding: 20px; + flex-direction: column; +} + +.close-menu { + align-self: flex-end; + color: var(--color-white); + font-size: 24px; + background: none; + border: none; + cursor: pointer; + margin-bottom: 30px; +} + +.mobile-nav-links { + list-style: none; + margin-top: 30px; +} + +.mobile-nav-links li { + margin: 20px 0; + text-align: center; +} + +.mobile-nav-links a { + color: var(--color-white); + font-size: 20px; + text-decoration: none; + text-transform: uppercase; + font-weight: bold; +} + +.mobile-menu-open { + display: flex; + animation: fadeIn 0.3s; +} + +@keyframes fadeIn { + from { opacity: 0; } + to { opacity: 1; } +} + +/* Responsive Design */ +@media (max-width: 992px) { + .nav-links { + display: none; + } + + .hamburger { + display: block; + margin-right: 15px; + } + + .hero-content { + max-width: 70%; + } + + .hero h1 { + font-size: 36px; + } +} + +@media (max-width: 768px) { + .top-info-bar { + justify-content: center; + } + + .top-info-bar div { + margin: 3px 8px; + font-size: 11px; + } + + .hero { + height: 400px; + } + + .hero-content { + max-width: 100%; + padding: 0 20px; + text-align: center; + } + + .hero h1 { + font-size: 32px; + } + + .store-description p { + font-size: 18px; + } +} + +@media (max-width: 576px) { + header { + padding: 10px 15px; + } + + .logo img { + height: 30px; + } + + .hero { + height: 300px; + } + + .hero h1 { + font-size: 28px; + } + + .hero-btn { + padding: 10px 20px; + font-size: 12px; + } + + .store-description { + padding: 30px 15px; + } + + .store-description p { + font-size: 16px; + } +} + +/* Language Selector */ +.language-selector { + position: relative; + margin-left: 20px; +} + +.language-btn { + background: none; + border: none; + cursor: pointer; + display: flex; + align-items: center; + padding: 0; +} + +.language-btn i { + margin-left: 5px; + font-size: 12px; + color: var(--color-dark-text); +} + +.flag-icon { + width: 20px; + height: 15px; + border-radius: 2px; + object-fit: cover; +} + +.language-dropdown { + position: absolute; + top: 100%; + right: 0; + background-color: var(--color-white); + box-shadow: 0 5px 15px var(--color-shadow); + border-radius: 4px; + min-width: 140px; + display: none; + z-index: 20; + margin-top: 8px; +} + +.language-dropdown.show { + display: block; +} + +.language-dropdown a { + display: flex; + align-items: center; + padding: 10px 15px; + text-decoration: none; + color: var(--color-dark-text); + font-size: 14px; + transition: background-color 0.2s; +} + +.language-dropdown a span { + margin-left: 8px; +} + +.language-dropdown a:hover { + background-color: var(--color-off-white); +} + +.language-dropdown a.active { + font-weight: bold; + color: var(--color-primary); +} + +/* Show dropdown on hover */ +.language-selector:hover .language-dropdown { + display: block; +} + +/* Responsive adjustments */ +@media (max-width: 768px) { + .language-selector { + margin-left: 15px; + } + + .flag-icon { + width: 18px; + height: 14px; + } +} + +.watches-section { + max-width: 1200px; + margin: 0 auto; + padding: 20px 15px; + background-color: var(--color-lighter-gray); +} + +.section-header { + text-align: center; + margin-bottom: 40px; +} + +.section-title { + font-size: 16px; + color: var(--color-heading); + font-weight: 600; +} + +.section-subtitle { + font-size: 14px; + color: var(--color-dark-gray); + font-weight: normal; +} + +.product-slider { + position: relative; + overflow: hidden; + padding: 0 30px; +} + +.product-container-slider { + display: flex; + justify-content: space-between; + gap: 20px; + transition: transform 0.3s ease; +} + +.product-card-slider { + flex: 0 0 calc(25% - 15px); + text-align: center; + padding: 10px; +} + +.product-card-slider a { + text-decoration: none; +} + +.product-image-slider { + width: 70%; + margin-bottom: 15px; + transition: transform 0.3s ease; +} + +.product-image-slider:hover { + transform: scale(1.05); +} + +.product-name-slider { + font-size: 12px; + color: var(--color-heading); + margin-bottom: 5px; + font-weight: 600; +} + +.product-price-slider { + font-size: 12px; + color: var(--color-dark-gray); +} + +.slider-nav { + position: absolute; + top: 50%; + transform: translateY(-50%); + width: 40px; + height: 40px; + background-color: var(--color-slider-nav-bg); + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + border: 1px solid var(--color-gray); + font-size: 20px; + z-index: 10; +} + +.prev-btn { + left: -10px; +} + +.next-btn { + right: -10px; +} + +/* Responsive adjustments */ +@media screen and (max-width: 992px) { + .product-card-slider { + flex: 0 0 calc(33.333% - 15px); + } + .product-container { + flex-wrap: wrap; + justify-content: center; + } +} + +@media screen and (max-width: 768px) { + .product-card-slider { + flex: 0 0 calc(50% - 15px); + } + .section-title { + font-size: 24px; + } +} + +@media screen and (max-width: 480px) { + .product-card-slider { + flex: 0 0 100%; + } + .product-slider {padding: 0 10px; + } + .slider-nav { + width: 30px; + height: 30px; + } +} + +/* Features section */ +.features { + padding: 50px 0; +} + +.features-container { + display: flex; + flex-direction: row; /* Ensure items are in a row on larger screens */ + justify-content: space-between; + gap: 30px; +} + +.feature-item { + flex: 1; + padding: 0 0px 10px 10px; + padding-bottom: 10px; + border-bottom: solid 2px var(--color-dark-blue); +} + +.feature-item h2 { + color: var(--color-dark-blue); + font-size: 1.5rem; + margin-bottom: 15px; +} + +.feature-item p { + color: var(--color-darker-gray); + font-size: 0.9rem; +} + +.feature-divider { + width: 100%; + height: 2px; + background-color: var(--color-dark-blue); + margin-top: 15px; +} + +.divider{ + width: 100%; + height: 2px; + background-color: var(--color-white); + margin-top: 15px; +} + +.watch-ad-section { + display: flex; + flex-direction: column; + max-width: 1200px; + margin: 0 auto; + } + + .top-section { + position: relative; + height: 400px; + background-image: url('../../custom/assets/watchad1.jpg'); + background-size: cover; + background-position: center; + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 40px; + } + + .watch-image { + width: 70%; + height: 100%; + display: flex; + align-items: center; + } + + .watch-image img { + max-width: 100%; + max-height: 100%; + } + + .top-content { + width: 30%; + text-align: right; + color: var(--color-white); + } + + .top-content h2 { + font-size: 2.5rem; + font-weight: 600; + margin-bottom: 20px; + line-height: 1.2; + } + + .bottom-section { + position: relative; + height: 350px; + background-image: url('../../custom/assets/watchad2.jpg'); + background-size: cover; + background-position: center; + display: flex; + align-items: center; + padding: 0 40px; + } + + .bottom-content { + width: 60%; + color: var(--color-white); + } + + .bottom-content h2 { + font-size: 2.5rem; + font-weight: 600; + line-height: 1.2; + margin-bottom: 20px; + } + .btn { + display: inline-block; + padding: 10px 20px; + background-color: var(--color-primary); + color: var(--color-white); + text-decoration: none; + text-transform: uppercase; + font-size: 0.8rem; + font-weight: bold; + letter-spacing: 1px; + } + +/* Newsletter section */ +.newsletter { + background-color: var(--color-lighter-gray); + padding: 50px 0; +} + +.newsletter-container { + display: flex; + flex-wrap: wrap; + align-items: center; +} + +.newsletter-text { + flex: 0 0 30%; + padding-right: 30px; +} + +.newsletter-text h2 { + color: var(--color-dark-blue); + font-size: 2rem; + margin-bottom: 15px; +} + +.newsletter-text p { + color: var(--color-darker-gray); + font-size: 0.9rem; +} + +.newsletter-form { + flex: 0 0 70%; + display: flex; + flex-wrap: wrap; + gap: 15px; +} + +.form-group { + flex: 1 1 200px; +} + +.form-control { + width: 100%; + padding: 12px 15px; + border: 1px solid var(--color-gray); + font-size: 1rem; +} + +.checkbox-group { + flex: 0 0 100%; + margin: 10px 0; +} + +.btn-submit { + background-color: var(--color-secondary); + color: var(--color-white); + border: none; + padding: 12px 25px; + font-size: 1rem; + cursor: pointer; + transition: background-color 0.3s; +} + +.btn-submit:hover { + background-color: var(--color-primary-darker); +} + +/* Footer section */ +.footer { + background-color: var(--color-light-gray); + padding: 40px 0; +} + +.footer-container { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; +} + +.footer-info { + flex: 1 1 300px; +} + +.footer-info h3 { + color: var(--color-dark-blue); + font-size: 1.5rem; + margin-bottom: 10px; +} + +.footer-info p { + color: var(--color-darker-gray); + font-size: 0.9rem; + margin-bottom: 5px; +} + +.social-icons { + display: flex; + gap: 15px; +} + +.social-icon { + color: var(--color-dark-blue); + font-size: 1.3rem; +} + +.footer-bottom { + margin-top: 30px; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + padding-top: 20px; + border-top: 1px solid var(--color-gray); +} + +.copyright { + color: var(--color-darker-gray); + font-size: 0.8rem; +} + +.footer-links { + display: flex; + gap: 20px; +} + +.footer-links a { + color: var(--color-darker-gray); + text-decoration: none; + font-size: 0.8rem; +} + +.payment-methods { + display: flex; + flex-wrap: wrap; + justify-content: center; + gap: 15px; + margin-top: 30px; +} + +.payment-method { + height: 30px; + width: auto; +} + +/* Responsive styles */ +@media (max-width: 992px) { + .newsletter-text { + flex: 0 0 100%; + margin-bottom: 30px; + padding-right: 0; + } + + .newsletter-form { + flex: 0 0 100%; + } +} + +@media (max-width: 768px) { + .features-container { + flex-direction: column; /* Stack vertically on smaller screens */ + } + + .feature-item { + margin-bottom: 30px; + } + + .footer-info, .social-icons, .copyright, .footer-links { + flex: 0 0 100%; + text-align: center; + margin-bottom: 15px; + } + + .social-icons { + justify-content: center; + margin: 20px 0; + } + + .footer-links { + justify-content: center; + } +} + +.loading-container { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: var(--color-loading-bg); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + z-index: 9999; + opacity: 0; + visibility: hidden; + transition: opacity 0.3s, visibility 0.3s; + } + + .loading-container.active { + opacity: 1; + visibility: visible; + } + + .loading-bar { + width: 200px; + height: 10px; + background-color: var(--color-progress-bg); + border-radius: 5px; + overflow: hidden; + box-shadow: 0 2px 5px var(--color-shadow); + } + + .progress { + height: 100%; + width: 0%; + background-color: var(--color-progress-bar); + animation: progressAnimation 2s infinite ease-in-out; + } + + .loading-text { + margin-top: 10px; + font-size: 14px; + color: var(--color-text-dark); + } + + @keyframes progressAnimation { + 0% { width: 0%; } + 50% { width: 100%; } + 100% { width: 0%; } + } + + /* Hide the loading bar when page is loaded */ + .loaded .loading-container { + display: none; + } + + + /* Main Container */ + .filtersection { + display: flex; + margin: 0 auto; + box-shadow: 0 1px 3px var(--color-shadow); + background: var(--color-white); + border-radius: 12px; + margin-bottom: 50px; + padding: 10px; + width: 95%; + } + + /* Filter Section */ + .filter-section { + width: 250px; + padding: 20px; + border-right: 1px solid var(--color-filter-border); + } + + .filter-section h2 { + margin-bottom: 15px; + color: var(--color-filter-section-heading); + } + + .filter-group { + margin-bottom: 20px; + } + + .filter-group label { + margin-bottom: 10px; + } + + .filter-group input[type="checkbox"] { + margin-right: 10px; + } + + /* Responsive Design */ + @media (max-width: 768px) { + .filtersection { + flex-direction: column; + text-align: center; + } + + .filter-section { + width: 100%; + border-right: none; + border-bottom: 1px solid var(--color-filter-border); + } + } + + + .filters-products-container { + display: flex; + gap: 30px; +} + +.filters { + width: 250px; + background: var(--color-white); + padding: 20px; +} + +.filter-section { + margin-bottom: 25px; +} + +.filter-section h3 { + font-size: 16px; + margin-bottom: 15px; + color: var(--color-heading); + padding-bottom: 8px; +} + +.filter-options { + display: flex; + flex-direction: column; + gap: 10px; +} + +.filter-option { + display: flex; + align-items: center; + gap: 10px; +} + +.filter-option input { + cursor: pointer; +} + +.filter-option label { + font-size: 14px; + cursor: pointer; +} + +.color-options { + display: flex; + flex-wrap: wrap; + gap: 10px; +} + +.color-option { + width: 25px; + height: 25px; + border-radius: 50%; + cursor: pointer; + box-shadow: 0 0 3px var(--color-shadow); +} + +.color-green { + background-color: var(--color-green); +} + +.color-blue { + background-color: var(--color-blue); +} + +.color-black { + background-color: var(--color-black); +} + +.color-brown { + background-color: var(--color-brown); +} + +.price-range { + margin-top: 10px; +} + +.price-inputs { + display: flex; + justify-content: space-between; + margin-top: 10px; + gap: 10px; +} + +.price-inputs input { + width: 80px; + padding: 5px; + border: 1px solid var(--color-gray); + border-radius: 3px; +} + +.products { + flex: 1; +} + +.product-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); + gap: 30px; +} + +.product-card { + background: var(--color-white); + flex: 0 0 calc(25% - 15px); + text-align: center; + padding: 10px; + overflow: hidden; +} + +.product-card a { + text-decoration: none; +} + +.product-image { + height: 200px; + width: 100%; + display: flex; + justify-content: center; + align-items: center; + padding: 20px; + background: var(--color-lighter-gray); +} + +.product-image img { + max-width: 100%; + max-height: 100%; +} + +.product-info { + padding: 15px; + text-align: center; +} + +.product-title { + font-size: 16px; + font-weight: 500; + margin-bottom: 5px; + color: var(--color-heading); +} + +.product-description { + font-size: 14px; + color: var(--color-darker-gray); + margin-bottom: 10px; +} + +.product-price { + font-weight: 600; + color: var(--color-heading); + margin-bottom: 15px; +} + +.view-button { + display: inline-block; + padding: 8px 20px; + background-color: var(--color-heading); + color: var(--color-white); + text-decoration: none; + border-radius: 3px; + font-size: 12px; + letter-spacing: 1px; + text-transform: uppercase; + transition: background-color 0.3s; +} + +.view-button:hover { + background-color: var(--color-dark-blue); +} + +.filter-button { + display: none; + width: 100%; + padding: 10px; + background-color: var(--color-heading); + color: var(--color-white); + border: none; + border-radius: 3px; + margin-bottom: 20px; + cursor: pointer; +} + +@media (max-width: 768px) { + .filters-products-container { + flex-direction: column; + } + + .filters { + width: 100%; + margin-bottom: 20px; + display: none; + } + + .filters.show { + display: block; + } + + .filter-button { + display: block; + } + + .product-grid { + grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); + gap: 15px; + } +} + +.products_name { + color: var(--color-text-gray); + font-size: 15px; + max-width: 169px; + word-wrap: break-word; +} + +.products_price { + color: var(--color-text-gray); + display: block; + text-align: center; + font-size:15px; +} + +.products_rpp{ + color: var(--color-rpp-line); + text-decoration: line-through; +} + :checked+.picture_select { + border-color: var(--color-medium-gray); + } + + :checked+.picture_select::before { + content: "✓"; + background-color: var(--color-checked-before-bg); + transform: scale(1); + } + + :checked+.picture_select img { + transform: scale(0.9); + box-shadow: 0 0 5px var(--color-dark-text); /* Using an existing dark text color for shadow */ + } + + .img_config { + border-radius:5px; + width: 25px; + height: 25px; + margin: 1px; + } + + .stock p { + font-size: 10px; + margin: auto; + padding: 5px; + width: fit-content; + border-radius: 5px; + color: var(--color-white); + } + + .stock p:before { + content : '\1F4E6'; + } + + .delivery p { + font-size: 10px; + font-weight: normal; + margin: 10px; + padding: 0px; + } + + .delivery p:before { + content : '\26DF'; + } + + +/* Main Product Container */ +.product.content-wrapper { + max-width: 1200px; + margin: 2rem auto; + display: grid; + grid-template-columns: 1fr 1fr; + gap: 3rem; + padding: 0 1.5rem; + background-color: #fff; + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); + border-radius: 8px; + } + + /* Product Images Section */ + .product-imgs { + position: relative; + padding: 2rem 0; + } + + .product-img-large { + margin-bottom: 1.5rem; + text-align: center; + background-color: #f8f8f8; + border-radius: 8px; + padding: 1rem; + position: relative; + overflow: hidden; + transition: all 0.3s ease; + } + + .product-img-large img { + max-width: 100%; + height: auto; + display: block; + margin: 0 auto; + transition: transform 0.3s ease; + } + + .product-img-large:hover img { + transform: scale(1.05); + } + + .product-small-imgs { + display: flex; + flex-wrap: wrap; + gap: 0.75rem; + justify-content: flex-start; + } + + .product-img-small { + width: calc(25% - 0.75rem); + cursor: pointer; + position: relative; + border-radius: 6px; + overflow: hidden; + border: 2px solid transparent; + transition: all 0.2s ease; + } + + .product-img-small:hover { + border-color: #1a3a5f; + } + + .product-img-small img { + width: 100%; + height: auto; + display: block; + object-fit: cover; + } + + /* Product Info Section */ + .product-wrapper { + padding: 2rem 0; + } + + .breadcrum { + display: flex; + align-items: center; + margin-bottom: 1rem; + font-size: 0.9rem; + color: #777; + } + + .breadcrum a { + color: #1a3a5f; + text-decoration: none; + margin-right: 0.25rem; + } + + .breadcrum a:hover { + text-decoration: underline; + } + + .breadcrum p { + margin: 0; + } + + h1.name { + color: #1a3a5f; + font-size: 2.rem; + font-weight: 700; + margin-bottom: 1.5rem; + border-bottom: 1px solid #eee; + padding-bottom: 0.75rem; + } + + /* Price & Stock */ + .prices { + margin-bottom: 1rem; + } + + .price { + font-size: 2rem; + font-weight: 600; + color: #1a3a5f; + display: block; + } + + .stock { + margin-bottom: 2rem; + } + + .stock p { + display: inline-block; + background-color: rgba(0, 128, 0, 0.1); + border-radius: 4px; + font-size: 0.7em; + } + + /* Form Elements */ +#product-form { + margin-bottom: 2rem; + } + + #product-form label { + display: block; + font-weight: 600; + margin-bottom: 0.75rem; + color: #333; + font-size: 1.1rem; + } + + .radio-checkbox { + display: flex; + margin-bottom: 2rem; + flex-wrap: wrap; + } + + .picture_select_label > input[type="checkbox"] { + display: none; + } + + .picture_select_label > input[type="radio"] { + display: none; + } + + .picture_select { + display: block; + position: relative; + margin: 10px; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + + .picture_select::before { + + color: white; + content: " "; + display: block; + border-radius: 50%; + border: 1px solid #03337a; + position: absolute; + top: -5px; + left: -5px; + width: 25px; + height: 25px; + text-align: center; + line-height: 28px; + transition-duration: 0.4s; + transform: scale(0); + z-index:1 + } + + .picture_select img { + height: 50px; + width: 50px; + transition-duration: 0.2s; + transform-origin: 50% 50%; + } + + :checked+.picture_select { + border-color: #ddd; + } + + .picture_select_label input[type="radio"]:checked + .picture_select { + border-color: #1a3a5f; + box-shadow: 0 0 0 2px rgba(26, 58, 95, 0.3); + } + + .picture_select_label:hover .picture_select { + transform: scale(1.05); + } + + input[type="number"] { + width: 100px; + padding: 0.75rem; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 1rem; + margin-bottom: 2rem; + } + + input[type="submit"].btn { + background-color: var(--color-secondary); + color: var(--color-white); + border: none; + padding: 1rem 2rem; + border-radius: 4px; + cursor: pointer; + transition: background-color 0.2s ease; + width: 100%; + text-transform: uppercase; + letter-spacing: 1px; + } + + input[type="submit"].btn:hover { + background-color: #0e2a4d; + } + + /* Product Description */ + .description { + margin-top: 3rem; + border-top: 1px solid #eee; + padding-top: 2rem; + } + + .description p { + margin-bottom: 1.5rem; + font-size: 1.1rem; + } + + .description h3 { + color: #1a3a5f; + font-size: 1.5rem; + margin-bottom: 1rem; + } + + .description ul { + list-style-position: inside; + margin-bottom: 2rem; + padding-left: 1rem; + } + + .description li { + margin-bottom: 0.5rem; + position: relative; + padding-left: 0.5rem; + } + + /* Responsive Design */ + @media (max-width: 992px) { + .product.content-wrapper { + grid-template-columns: 1fr; + gap: 1rem; + } + + .product-img-large { + max-height: 500px; + } + } + + @media (max-width: 768px) { + h1.name { + font-size: 2rem; + } + + .price { + font-size: 1.75rem; + } + + .product-small-imgs { + justify-content: center; + } + + .product-img-small { + width: calc(20% - 0.75rem); + } + } + + @media (max-width: 576px) { + .product.content-wrapper { + margin: 1rem; + padding: 1rem; + } + + .product-imgs, .product-wrapper { + padding: 1rem 0; + } + + .radio-checkbox { + justify-content: center; + } + + .product-img-small { + width: calc(33.33% - 0.75rem); + } + } + + /* Additional Enhancements */ + /* Add smooth transition for image gallery */ + .product-img-large { + position: relative; + } + + .product-img-large::after { + content: ''; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 30%; + background: linear-gradient(to top, rgba(248, 248, 248, 0.5), transparent); + pointer-events: none; + } + + /* Style for hover effects on navigation */ + .breadcrum a { + position: relative; + } + + .breadcrum a::after { + content: ''; + position: absolute; + left: 0; + bottom: -2px; + width: 0; + height: 1px; + background-color: #1a3a5f; + transition: width 0.3s ease; + } + + .breadcrum a:hover::after { + width: 100%; + } + + /* Add subtle animation to the add to cart button */ + input[type="submit"].btn { + position: relative; + overflow: hidden; + } + + input[type="submit"].btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); + transition: left 0.5s ease; + } + + input[type="submit"].btn:hover::before { + left: 100%; + } + + /* Brand-Specific Luxury Shopping Cart Styles */ + +/* Global Reset and Base Styles */ +.cart.content-wrapper { + max-width: 1200px; + margin: 0 auto; + padding: 2rem; + color: var(--color-text-dark); + background-color: var(--color-white); + border: 1px solid var(--color-gray); + box-shadow: 0 4px 12px var(--color-shadow); + margin-top: 30px; + margin-bottom: 30px; + } + + /* Header Styles */ + .cart-container { + max-width: 1200px; + margin: 2rem auto; + padding: 0 1rem; +} + +.cart-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 2rem; + padding-bottom: 1rem; + border-bottom: 1px solid var(--border-color); +} + +.cart-header h1 { + font-size: 1.8rem; + font-weight: 600; + color: var(--primary-color); +} + +.continue-shopping { + color: var(--text-color); + text-decoration: none; + font-size: 0.9rem; + padding: 0.5rem 1rem; + border-radius: var(--border-radius); + background-color: var(--white); + border: 1px solid var(--border-color); + transition: var(--transition); +} + +.continue-shopping:hover { + background-color: var(--light-gray); +} + + /* Table Styles */ + .cart table { + width: 100%; + border-collapse: collapse; + margin-bottom: 2rem; + border: none; + } + + .cart thead td { + font-weight: 500; + text-transform: uppercase; + font-size: 0.75rem; + letter-spacing: 1px; + padding: 1rem 0.5rem; + color: var(--color-heading); + } + + + .cart tbody td { + padding: 1.5rem 0.5rem; + vertical-align: middle; + } + + /* Product Image */ + .cart td.img { + width: 90px; + } + + .cart td.img img { + width: 80px; + height: 80px; + object-fit: cover; + transition: opacity 0.3s ease; + } + + .cart td.img img:hover { + opacity: 0.8; + } + + /* Product Info */ + .cart td a { + color: var(--color-dark-text); + text-decoration: none; + font-weight: 400; + transition: color 0.3s ease; + font-size: 1.1rem; + } + + .cart td a:hover { + color: var(--color-primary); + } + + .cart td a.remove { + color: var(--color-dark-gray); + font-size: 0.75rem; + text-transform: uppercase; + letter-spacing: 1px; + transition: color 0.3s ease; + } + + .cart td a.remove:hover { + color: var(--color-primary-darker); + } + + /* Quantity Input */ + .cart td.cart_quantity input { + width: 60px; + height: 40px; + padding: 0.5rem; + border: 1px solid var(--color-gray); + text-align: center; + font-size: 0.9rem; + transition: border-color 0.3s ease; + background-color: var(--color-off-white); + } + + .cart td.cart_quantity input:focus { + border-color: var(--color-primary); + outline: none; + } + + /* Price Display */ + .cart td.cart_price { + font-weight: 400; + color: var(--color-text-dark); + } + + .cart td.product-total { + font-weight: 600; + color: var(--color-primary); + } + + /* Extras Section */ + .cart .add_products { + background-color: var(--color-lighter-gray); + padding: 2rem; + margin-bottom: 2rem; + border: 1px solid var(--color-gray); + } + + .cart .add_products h2 { + font-size: 1.5rem; + margin-bottom: 1.5rem; + color: var(--color-heading); + text-align: center !important; + text-transform: uppercase; + letter-spacing: 1px; + position: relative; + } + + .cart .add_products h2:after { + content: ""; + display: block; + width: 50px; + height: 1px; + background-color: var(--color-primary); + margin: 10px auto 0; + } + + .cart .add_product { + display: flex; + align-items: center; + padding: 1rem; + border-bottom: 1px solid var(--color-gray); + margin-bottom: 1rem; + transition: background-color 0.3s ease; + } + + .cart .add_product:hover { + background-color: var(--color-light-gray); + } + + .cart .add_product img { + min-width: 60px; + max-width: 60px !important; + height: auto; + margin-right: 1rem; + object-fit: cover; + transition: opacity 0.3s ease; + } + + .cart .add_product img:hover { + opacity: 0.8; + } + + .cart .add_product form { + margin: 0 1rem; + } + + .cart .add_product input[type="submit"] { + width: 30px; + height: 30px; + background-color: var(--color-primary); + color: var(--color-white); + font-size: 1.2rem; + border: none; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: background-color 0.3s ease; + } + + .cart .add_product input[type="submit"]:hover { + background-color: var(--color-primary-dark); + } + + .cart .add_name { + font-weight: 400; + color: var(--color-text-dark); + margin-right: 1rem; + flex-grow: 1; + } + + .cart .add_price { + font-weight: 600; + color: var(--color-primary); + white-space: nowrap; + } + + /* Cart Totals */ + .cart .total { + border-top: 2px solid var(--color-dark-text); + border-bottom: 2px solid var(--color-dark-text); + padding: 1.5rem 0; + display: flex; + flex-wrap: wrap; + justify-content: space-between; + align-items: center; + margin-bottom: 2rem; + } + + .cart .total .text { + font-size: 1.2rem; + font-weight: 400; + color: var(--color-heading); + text-transform: uppercase; + letter-spacing: 1px; + } + + .cart .total .cart_price { + font-size: 1.3rem; + font-weight: 600; + color: var(--color-primary); + } + + .cart .total .note { + width: 100%; + margin-top: 0.8rem; + font-size: 0.85rem; + color: var(--color-dark-gray); + text-align: right; + font-style: italic; + } + + /* Buttons */ + .cart .buttons { + display: flex; + justify-content: flex-end; + gap: 1rem; + margin-bottom: 1.5rem; + } + + .cart .buttons .btn { + padding: 0.75rem 1.5rem; + font-size: 0.85rem; + font-weight: 500; + border: 1px solid var(--color-dark-text); + background-color: transparent; + color: var(--color-dark-text); + cursor: pointer; + transition: all 0.3s ease; + text-transform: uppercase; + letter-spacing: 1px; + } + + .cart .buttons input[type="submit"][name="emptycart"] { + color: var(--color-dark-gray); + font-size: 1.2rem; + border: none; + } + + .cart .buttons input[type="submit"][name="emptycart"]:hover { + color: var(--color-dark-text); + } + + .cart .buttons input[type="submit"][name="update"]:hover { + background-color: var(--color-accent); + border-color: var(--color-accent); + color: var(--color-white); + } + + .cart .buttons input[type="submit"][name="checkout"] { + background-color: var(--color-primary) !important; + border-color: var(--color-primary) !important; + color: var(--color-white); + } + + .cart .buttons input[type="submit"][name="checkout"]:hover { + background-color: var(--color-primary-dark) !important; + border-color: var(--color-primary-dark) !important; + } + + /* Fix for bottom link */ + .cart h4 { + margin-bottom: 1rem !important; + text-align: right; + } + + .cart h4 a { + display: inline-block; + font-size: 0.85rem !important; + padding: 0.6rem 1.2rem !important; + background-color: transparent; + border: 1px solid var(--color-text-dark); + transition: all 0.3s ease; + color: var(--color-text-dark) !important; + text-transform: uppercase; + letter-spacing: 1px; + } + + .cart h4 a:hover { + background-color: var(--color-accent); + border-color: var(--color-accent); + color: var(--color-white) !important; + } + + /* Enhanced Responsive Design */ + @media (max-width: 992px) { + .cart.content-wrapper { + padding: 1.5rem; + } + + .cart h1 { + font-size: 1.8rem; + } + } + + @media (max-width: 768px) { + .rhide { + display: none; + } + + .cart td.img { + width: 70px; + } + + .cart td.img img { + width: 60px; + height: 60px; + } + + .cart h1 { + font-size: 1.6rem; + } + + .cart tbody td { + padding: 1rem 0.4rem; + } + + .cart td a { + font-size: 1rem; + } + + .cart .buttons { + flex-wrap: wrap; + justify-content: center; + } + + .cart .buttons .btn { + min-width: 120px; + text-align: center; + } + + .cart .total { + flex-direction: column; + text-align: center; + } + + .cart .total .text, + .cart .total .cart_price { + margin-bottom: 0.5rem; + } + + .cart .total .note { + text-align: center; + } + + .cart h4 { + text-align: center; + } + } + + @media (max-width: 576px) { + .cart.content-wrapper { + padding: 1rem; + } + + .cart h1 { + font-size: 1.4rem; + } + + .cart thead td { + font-size: 0.7rem; + padding: 0.75rem 0.3rem; + } + + .cart td.img { + width: 50px; + } + + .cart td.img img { + width: 45px; + height: 45px; + } + + .cart td.cart_quantity input { + width: 50px; + height: 35px; + } + + .cart .add_product { + flex-wrap: wrap; + } + + .cart .add_product img { + min-width: 45px; + max-width: 45px !important; + } + + .cart .add_name { + width: 100%; + margin: 0.5rem 0; + } + + .cart .buttons .btn { + width: 100%; + margin-bottom: 0.5rem; + } + + .cart .add_products { + padding: 1rem; + } + } + + /* Checkout Page Modernization */ + +.checkout { + font-family: 'Inter', 'Helvetica Neue', sans-serif; + color: var(--color-text-dark); + max-width: 1200px; + margin: 0 auto; + padding: 2rem 1rem; +} + +.checkout h1 { + color: var(--color-heading); + font-size: 2rem; + font-weight: 600; + margin-bottom: 1.5rem; + position: relative; +} + +.checkout h1::after { + content: ''; + position: absolute; + bottom: -10px; + left: 0; + width: 60px; + height: 3px; + background-color: var(--color-primary); +} + +.checkout h2 { + color: var(--color-dark-blue); + font-size: 1.25rem; + font-weight: 500; + margin: 1.75rem 0 1rem; + padding-bottom: 0.5rem; + border-bottom: 1px solid var(--color-gray); +} + +.checkout p { + margin-bottom: 1.5rem; + line-height: 1.6; +} + +.checkout a { + color: var(--color-accent); + text-decoration: none; + transition: color 0.2s ease; +} + +.checkout a:hover { + color: var(--color-primary); + text-decoration: underline; +} + +.checkout .error { + color: #e74c3c; + background-color: rgba(231, 76, 60, 0.1); + padding: 0.75rem; + border-radius: 4px; + margin-bottom: 1.5rem; + font-size: 0.9rem; +} + +/* Container and layout */ +.checkout .container { + display: grid; + grid-template-columns: 1fr; + gap: 2rem; +} + +@media (min-width: 768px) { + .checkout .container { + grid-template-columns: 3fr 2fr; + } +} + +/* Form elements */ +.checkout .form-field { + width: 100%; + padding: 0.875rem 1rem; + margin-bottom: 1rem; + border: 1px solid var(--color-gray); + border-radius: 4px; + font-size: 0.95rem; + transition: border-color 0.3s, box-shadow 0.3s; + background-color: var(--color-white); +} + +.checkout .form-field:focus { + border-color: var(--color-accent); + box-shadow: 0 0 0 3px rgba(44, 75, 124, 0.15); + outline: none; +} + +.checkout label { + display: block; + font-size: 0.85rem; + font-weight: 500; + margin-bottom: 0.5rem; + color: var(--color-dark-text); +} + +.checkout select.form-field { + appearance: none; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"); + background-repeat: no-repeat; + background-position: right 1rem center; + background-size: 1rem; + padding-right: 2.5rem; +} + +/* Row layout for side-by-side fields */ +.row1, .row2 { + width: 100%; +} + +@media (min-width: 576px) { + .row1, .row2 { + display: inline-block; + width: calc(50% - 0.5rem); + } + + .row1 { + margin-right: 0.5rem; + } + + .row2 { + margin-left: 0.5rem; + } +} + +/* Shipping details */ +.shipping-details { + background-color: var(--color-white); + border-radius: 8px; + padding: 1.5rem; + box-shadow: 0 2px 12px var(--color-shadow); +} + +#dropin-container { + margin-bottom: 1.5rem; +} + +/* Payment methods */ +.payment-methods { + display: flex; + flex-wrap: wrap; + gap: 1rem; + margin-bottom: 1.5rem; +} + +/* Cart details */ +.cart-details { + background-color: var(--color-white); + border-radius: 8px; + padding: 1.5rem; + box-shadow: 0 2px 12px var(--color-shadow); + position: sticky; + top: 20px; +} + +.cart-details table { + width: 100%; + border-collapse: collapse; + margin-bottom: 1.5rem; +} + +.cart-details table td { + padding: 0.75rem 0; + border-bottom: 1px solid var(--color-gray); +} + +.cart-details table td img { + border-radius: 4px; + object-fit: cover; + border: 1px solid var(--color-light-gray); +} + +.cart-details table td.price { + font-weight: 600; + text-align: right; + color: var(--color-dark-text); +} + +/* Discount code */ +.discount-code { + display: flex; + gap: 0.5rem; + margin-bottom: 1.5rem; +} + +.discount-code input { + flex: 1; + margin-bottom: 0; +} + +.discount-code .result { + font-size: 0.9rem; + color: var(--color-green); +} + +/* Summary and total */ +.summary { + margin-bottom: 1rem; +} + +.summary > div { + display: flex; + justify-content: space-between; + margin-bottom: 0.5rem; + padding: 0.5rem 0; + font-size: 0.95rem; +} + +.total { + display: flex; + justify-content: space-between; + padding: 1rem 0; + margin: 1rem 0; + border-top: 2px solid var(--color-gray); + border-bottom: 2px solid var(--color-gray); + font-size: 1.1rem; + font-weight: 600; + color: var(--color-dark-text); +} + +.total .alt { + font-size: 0.8rem; + font-weight: normal; + color: var(--color-dark-gray); +} + +/* Checkboxes */ +.checkout input[type="checkbox"] { + margin-right: 0.5rem; + position: relative; + top: 2px; + accent-color: var(--color-accent); +} + +/* Button */ +.buttons { + margin-top: 1.5rem; +} + +.checkout_btn { + background-color: var(--color-primary); + color: var(--color-white); + border: none; + border-radius: 4px; + padding: 1rem 1.5rem; + font-size: 1rem; + font-weight: 600; + cursor: pointer; + transition: background-color 0.2s, transform 0.1s; + width: 100%; + text-align: center; + box-shadow: 0 2px 4px rgba(255, 111, 0, 0.25); +} + +.checkout_btn:hover { + background-color: var(--color-primary-dark); +} + +.checkout_btn:active { + transform: translateY(1px); + background-color: var(--color-primary-darker); +} + +/* Responsive adjustments */ +@media (max-width: 767px) { + .shipping-details, .cart-details { + padding: 1.25rem; + } + + .cart-details { + position: static; + } + + .checkout h1 { + font-size: 1.75rem; + } + + .checkout h2 { + font-size: 1.1rem; + } +} + +.checkout .payment-methods { + display: flex; + flex-flow: wrap; + width: 100%; + gap:10px; + } + + .checkout .payment-methods label { + text-decoration: none; + display: flex; + justify-content: center; + align-items: center; + border: 1px solid #EEEEEE; + border-radius: 5px; + height: 60px; + width: 159px; + margin: 10px; + font-weight: 500; + color: #434f61; + padding: 0; + cursor: pointer; + text-align: center; + } + + .checkout .payment-methods label:nth-child(2), main .checkout .payment-methods label:nth-child(8) { + margin-left: 0; + } + + .checkout .payment-methods label:nth-child(3n) { + margin-right: 0; + } + + .checkout .payment-methods label:hover { + border: 1px solid #d5d5d5; + } + + .checkout .payment-methods input { + position: absolute; + top: -9999px; + left: -9999px; + visibility: hidden; + } + + .checkout .payment-methods input:checked + label { + border: 2px solid var(--color-primary); + } + + .shipping-method input[type="radio"], +.shipping-method label { + display: inline-block; + vertical-align: middle; +} + +.order-confirmation { + width: 100%; + max-width: 800px; + margin: 2rem auto; + padding: 2rem; + background-color: var(--color-white); + border-radius: 12px; + box-shadow: 0 8px 24px var(--color-shadow); +} + +.order-confirmation__container { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; +} + +.order-confirmation__icon { + color: var(--color-primary); + margin-bottom: 1.5rem; + animation: fadeInUp 0.6s ease-out; +} + +.order-confirmation__title { + color: var(--color-heading); + font-size: 1.75rem; + font-weight: 700; + margin-bottom: 1rem; + animation: fadeInUp 0.8s ease-out; +} + +.order-confirmation__message { + color: var(--color-text-gray); + font-size: 1.125rem; + line-height: 1.5; + animation: fadeInUp 1s ease-out; +} + +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +@media (max-width: 768px) { + .order-confirmation { + padding: 1.5rem; + margin: 1rem; + } + + .order-confirmation__title { + font-size: 1.5rem; + } + + .order-confirmation__message { + font-size: 1rem; + } +} + +.content-section { + max-width: 1200px; + margin: 40px auto; + line-height: 1.6; + } + + .text-image-block { + margin-bottom: 60px; + overflow: hidden; + position: relative; + } + + .text-content { + padding: 30px; + } + + .image-container { + width: 40%; + border-radius: 8px; + overflow: hidden; + box-shadow: 0 6px 12px rgba(0,0,0,0.15); + } + + .image-container img { + width: 100%; + height: auto; + display: block; + } + + /* First layout - image on right */ + .layout-1 .image-container { + float: right; + margin: 0 0 20px 30px; + shape-outside: margin-box; + } + + /* Second layout - image on left */ + .layout-2 .image-container { + float: left; + margin: 0 30px 20px 0; + shape-outside: margin-box; + } + + /* Third layout - image centered with text wrapping */ + .layout-3 .image-container { + float: right; + margin: 0 0 20px 30px; + shape-outside: margin-box; + } + + .about_link { + display: inline-block; + font-size: 0.85rem !important; + padding: 0.6rem 1.2rem !important; + background-color: transparent; + border: 1px solid var(--color-text-dark); + transition: all 0.3s ease; + color: var(--color-text-dark) !important; + text-transform: uppercase; + letter-spacing: 1px; + margin-top: 20px; + } + + /* Responsive adjustments */ + @media (max-width: 768px) { + .image-container { + width: 50%; + float: none; + margin: auto; + shape-outside: none; + } + } + + +.myaccount.content-wrapper { + max-width: 1200px; + margin: 3rem auto; + padding: 0 1.5rem; +} + +.login-register { + display: flex; + flex-direction: column; + gap: 2.5rem; +} + +@media (min-width: 768px) { + .login-register { + flex-direction: row; + } + + .login, .register { + flex: 1; + } +} + +.login, .register { + background-color: var(--color-white); + border-radius: var(--form-border-radius); + box-shadow: var(--form-box-shadow); + padding: 2rem; + transition: transform 0.3s ease, box-shadow 0.3s ease; +} + +.login:hover, .register:hover { + transform: translateY(-5px); + box-shadow: 0 6px 18px var(--color-shadow); +} + +.login h1, .register h1 { + color: var(--color-heading); + font-size: 1.75rem; + font-weight: 600; + margin-bottom: 1.5rem; + padding-bottom: 0.75rem; + border-bottom: 2px solid var(--color-primary); + position: relative; +} + +.login form, .register form { + display: flex; + flex-direction: column; + gap: 1rem; +} + +.form-label { + display: block; + font-weight: 500; + margin-bottom: 0.5rem; + color: var(--color-text-dark); + font-size: 0.9rem; +} + +.form-field { + width: 100%; + padding: 0.75rem 1rem; + border: 1px solid var(--color-gray); + border-radius: var(--input-border-radius); + background-color: var(--color-off-white); + font-size: 1rem; + transition: border-color 0.3s ease, box-shadow 0.3s ease; + box-shadow: var(--input-box-shadow); +} + +.form-field:focus { + outline: none; + border-color: var(--color-primary); + box-shadow: var(--input-focus-shadow); + background-color: var(--color-white); +} + +.form-field::placeholder { + color: var(--color-dark-gray); + opacity: 0.7; +} + +/* Modern form enhancements */ +@media (prefers-reduced-motion: no-preference) { + .form-field { + transition: border-color 0.3s ease, box-shadow 0.3s ease, transform 0.2s ease; + } + + .form-field:focus { + transform: scale(1.01); + } +} + +/* Fix for duplicate IDs */ +.register #email { + border-left: 3px solid var(--color-accent); +} + +.register #password { + border-left: 3px solid var(--color-accent); +} + +/* Password field styling */ +input[type="password"] { + letter-spacing: 0.2em; +} + +/* Responsive adjustments */ +@media (max-width: 767px) { + .btn { + width: 100%; + align-self: stretch; + } + + .login, .register { + padding: 1.5rem; + } +} + +.myaccount h1 { + font-size: 2.25rem; + font-weight: 700; + color: var(--color-heading); + margin-bottom: 2rem; + border-bottom: 3px solid var(--color-primary); + padding-bottom: 0.75rem; + display: inline-block; +} + +/* Layout */ +@media (min-width: 992px) { + .myaccount.content-wrapper { + display: grid; + grid-template-columns: 250px 1fr; + gap: 2.5rem; + } + + .myaccount h1 { + grid-column: 1 / -1; + } +} + +/* Menu styles */ +.menu { + background-color: var(--color-white); + border-radius: 8px; + box-shadow: 0 2px 8px var(--color-shadow); + padding: 1.5rem; + margin-bottom: 2rem; + position: sticky; + top: 1.5rem; + align-self: start; +} + +.menu h2 { + font-size: 1.25rem; + font-weight: 600; + color: var(--color-heading); + margin: 0 0 1.25rem; + padding-bottom: 0.75rem; + border-bottom: 2px solid var(--color-primary); +} + +.menu-items { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +.menu-items a { + display: block; + padding: 0.75rem 1rem; + color: var(--color-text-dark); + text-decoration: none; + border-radius: 6px; + transition: all 0.2s ease; + font-weight: 500; + border-left: 3px solid transparent; +} + +.menu-items a:hover { + background-color: var(--color-light-gray); + color: var(--color-primary); + border-left-color: var(--color-primary); +} + +.menu-items a.active { + background-color: var(--color-lighter-gray); + color: var(--color-primary); + border-left-color: var(--color-primary); + font-weight: 600; +} + +/* Orders section */ +.myorders { + width: 100%; +} + +.myorders h2 { + font-size: 1.5rem; + font-weight: 600; + color: var(--color-heading); + margin: 0 0 1.5rem; + padding-bottom: 0.75rem; + border-bottom: 2px solid var(--color-accent); +} + +/* Order item */ +.order { + background-color: var(--color-white); + border-radius: 8px; + box-shadow: 0 2px 6px var(--color-shadow); + margin-bottom: 1.5rem; + overflow: hidden; + transition: transform 0.2s ease, box-shadow 0.2s ease; +} + +.order:hover { + transform: translateY(-3px); + box-shadow: 0 4px 12px var(--color-shadow); +} + +/* Order header */ +.order-header { + display: flex; + justify-content: space-between; + padding: 1.25rem; + background-color: var(--color-lighter-gray); + border-bottom: 1px solid var(--color-gray); +} + +.order-header > div { + display: flex; + flex-direction: column; + gap: 0.5rem; +} + +@media (min-width: 576px) { + .order-header > div { + flex-direction: row; + align-items: center; + gap: 1.5rem; + } +} + +.order-header span { + display: block; + font-size: 0.75rem; + color: var(--color-dark-gray); + margin-bottom: 0.15rem; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +.order-header div > div { + margin-right: 1rem; + font-weight: 500; +} + +/* Status styling */ +.order-header div > div:nth-child(3) { + font-weight: 600; +} + +.order-header div > div:nth-child(3):contains("Open") { + color: var(--color-status-open); +} + +.order-header div > div:nth-child(3):contains("Betaald") { + color: var(--color-status-paid); +} + +.order-header div > div:nth-child(3):contains("Verlopen") { + color: var(--color-status-expired); +} + +/* Total price styling */ +.order-header > div:last-child > div:last-child { + font-weight: 700; + font-size: 1.1rem; + color: var(--color-dark-text); +} + +/* Order items */ +.order-items { + padding: 1rem; +} + +.order-items table { + width: 100%; + border-collapse: collapse; +} + +.order-items tr { + border-bottom: 1px solid var(--color-gray); +} + +.order-items tr:last-child { + border-bottom: none; +} + +.order-items td { + padding: 0.875rem 0.5rem; + vertical-align: middle; +} + +.order-items td.img { + width: 70px; + padding-left: 0; +} + +.order-items td.img img { + width: 60px; + height: 60px; + object-fit: cover; + border-radius: 4px; + border: 1px solid var(--color-gray); + background-color: var(--color-white); + transition: transform 0.2s ease; +} + +.order-items tr:hover td.img img { + transform: scale(1.05); +} + +.order-items td.name { + font-weight: 500; + color: var(--color-text-dark); +} + +.order-items td.price { + text-align: right; + font-weight: 600; + color: var(--color-text-dark); + white-space: nowrap; +} + +/* Responsive styles */ +@media (max-width: 767px) { + .rhide { + display: none; + } + + .order-header { + flex-direction: column; + gap: 0.875rem; + } + + .order-header > div:last-child { + align-self: flex-end; + } +} + +@media (max-width: 576px) { + .myaccount h1 { + font-size: 1.75rem; + } + + .myorders h2, .menu h2 { + font-size: 1.35rem; + } + + .order-items td.name { + font-size: 0.9rem; + } +} + +/* Empty state for no orders */ +.myorders:empty::after { + content: "No orders found"; + display: block; + text-align: center; + padding: 3rem 1rem; + color: var(--color-dark-gray); + background-color: var(--color-white); + border-radius: 8px; + box-shadow: 0 2px 6px var(--color-shadow); + font-size: 1.1rem; +} + +/* Animation for new orders */ +@keyframes highlight { + 0% { background-color: rgba(255, 111, 0, 0.2); } + 100% { background-color: var(--color-white); } +} + +.order.new { + animation: highlight 2s ease-out; +} \ No newline at end of file diff --git a/custom/customfunctions.php b/custom/customfunctions.php index 05fe518..1607107 100644 --- a/custom/customfunctions.php +++ b/custom/customfunctions.php @@ -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']) ? '' : ''; - $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 ? ' ': ''; - - //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 ? ' ': ''; + $logout_link = isset($_SESSION['account_loggedin']) ? '' : ''; -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 = ''; } - - // DO NOT INDENT THE BELOW CODE - echo << + + + '.$title.' - '.site_title.' + + + + '.$head.' + - $veliti_analytics - $head - - - -
-
-
+ }; + + // 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); + }; + } + }); + + '.$veliti_analytics.' + + + +
+
+
+
+
Loading, please wait...
+
+ +
+
+ + '.($header_manufacturing ?? 'Swiss quality and Dutch manufacturing').' +
+
+ + '.($header_shipping ?? 'Free shipping on all of our watches').' +
+
+ + '.($header_delivery ?? 'Fast service and delivery').' +
+
+ ★★★★★ + '.($header_rating ?? 'Client rate 4.7/5.0').' +
+
+ + +
+ + + + + +
+ + + '.$num_items_in_cart.' + + + + + '.$admin_link.' + '.$logout_link.' + -
-
-

- - $site_name - -

- - -
-
-
- $age_consent - $maintenanceMode - EOT; - } +
+ + +
+ + + + '. $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; - } + $footer = ' + + + + + + '; + + return $footer; + +} //++++++++++++++++++++++++++++++++++++++++++++++++++++ // Order email //++++++++++++++++++++++++++++++++++++++++++++++++++++ diff --git a/custom/email/order-details-template.php b/custom/email/order-details-template.php index 5205a56..fe3af27 100644 --- a/custom/email/order-details-template.php +++ b/custom/email/order-details-template.php @@ -1,7 +1,13 @@ - +
@@ -9,7 +15,7 @@

,
- + diff --git a/custom/email/order-invoice-template.php b/custom/email/order-invoice-template.php index 2ea0e4d..46ffa1b 100644 --- a/custom/email/order-invoice-template.php +++ b/custom/email/order-invoice-template.php @@ -3,7 +3,15 @@ //(defined(security_key) or defined('admin')) or exit; ?> - + @@ -11,7 +19,7 @@

,
- + diff --git a/custom/email/order-notification-template.php b/custom/email/order-notification-template.php index f0c0382..1daf3cc 100644 --- a/custom/email/order-notification-template.php +++ b/custom/email/order-notification-template.php @@ -1,7 +1,15 @@ - + @@ -10,7 +18,7 @@

,
- + diff --git a/custom/pages/about.php b/custom/pages/about.php index 2073651..5466656 100644 --- a/custom/pages/about.php +++ b/custom/pages/about.php @@ -1,67 +1,59 @@ - - -
-
-
-
-

-

- -

+$view = template_header($about_text,''); + +$view .= ' + +
+
+

'.$h2_about_1.'

+
+
+ +
+ +
+
+

'.$about_header_1.'

+
+
-
-
- - Placeholder Picture - +

'.$about_1_p.'

-
-
-
-
-
- - Placeholder Picture - + + +
+
+

'.$about_header_2.'

+
+
-
-
-

-

- -

+

'.$about_2_p.'

-
-
-
-
-
-

-

- + + +

+
+

'.$about_header_3.'

+
+ +
+

'.$about_3_p.'

+

+

+ '.$about_morval_text.' > +

- > -
-
-
- - Placeholder Picture -
-
+ +'; - \ No newline at end of file +$view .= template_footer(); + +echo $view; \ No newline at end of file diff --git a/custom/pages/about_morval.php b/custom/pages/about_morval.php index 5a86c81..10b1f3a 100644 --- a/custom/pages/about_morval.php +++ b/custom/pages/about_morval.php @@ -1,67 +1,61 @@ - - -
-
-
-
-

-

- -

+$view = template_header($about_text,''); + + +$view .= ' + +
+
+

'.$h2_about_morval_1.'

+
+
+ +
+ +
+
+

'.$about_morval_header_1.'

+
+
-
-
- - Placeholder Picture - +

'.$about_morval_1_p.'

-
-
-
-
-
- - Placeholder Picture - + + +
+
+

'.$about_morval_header_2.'

+
+
-
-
-

-

- -

+

'.$about_morval_2_p.'

-
-
-
-
-
-

-

- + + +

+
+

'.$about_morval_header_3.'

+
+ +
+

'.$about_morval_3_p.'

+

+

+ source: history of Morval +

- source: history of Morval -
-
-
- - Placeholder Picture -
-
+ +'; - \ No newline at end of file +$view .= template_footer(); + +echo $view; +?> \ No newline at end of file diff --git a/custom/pages/faq.php b/custom/pages/faq.php index 578cb35..bb85ae4 100644 --- a/custom/pages/faq.php +++ b/custom/pages/faq.php @@ -2,7 +2,7 @@ // Prevent direct access to file defined(security_key) or exit; ?> - +
diff --git a/custom/pages/privacy.php b/custom/pages/privacy.php index 4da0a8f..f3f36bf 100644 --- a/custom/pages/privacy.php +++ b/custom/pages/privacy.php @@ -6,7 +6,7 @@ if (isset($_GET['download'])){ } ?> - +
diff --git a/custom/pages/termsandconditions.php b/custom/pages/termsandconditions.php index ee331b4..97c59de 100644 --- a/custom/pages/termsandconditions.php +++ b/custom/pages/termsandconditions.php @@ -6,7 +6,7 @@ if (isset($_GET['download'])){ generatedPDF($termsandconditions_items,$terms_text); } ?> - +
diff --git a/custom/settings/config.php b/custom/settings/config.php index 5afe5e3..028181c 100644 --- a/custom/settings/config.php +++ b/custom/settings/config.php @@ -15,8 +15,6 @@ define('language_code','US'); define('age_verification_enabled',false); //Enable VeLiTi-analytics define('veliti_analytics',false); -// Default logtraffic -define('log_usage',false); /* Banners */ // Show offer at home page @@ -43,17 +41,17 @@ define('emaillogo','custom/assets/MORVALFavicon.svg'); /* Detailed settings */ // Homepage highlightedproducts -define('category_id_highlighted_products_1','6'); +define('category_id_highlighted_products_1','21'); // Homepage highlightedproducts -define('category_id_highlighted_products_2','7'); +define('category_id_highlighted_products_2','22'); //Show small images from configuration define('show_option_images',false); // Default category_id for suggestions -define('category_id_checkout_suggestions','7'); +define('category_id_checkout_suggestions',''); // Default category_id for giftcard define('giftcard_id',''); // Default category_id for samples -define('category_id_checkout_samples','7'); +define('category_id_checkout_samples',''); // Default samples define('sample_pricing_override',false); // Default samples @@ -71,7 +69,7 @@ define('default_product_sort','sort3'); // Enable automatice invoice forward to bookkeeping software define('invoice_bookkeeping',false); // Email of bookkeeping software -define('email_bookkeeping',''); +define('email_bookkeeping','morval-wat-d24506a2@facturen.moneybird.nl'); // Rewrite URL? define('rewrite_url',true); @@ -80,7 +78,7 @@ define('rewrite_url',true); define('featured_image','custom/assets/morval_header_2.jpg'); define('featured_store_image','custom/assets/morval_collection2.png'); // Featured image ABOUT US -define('featured_about_image','custom/assets/morval_about_morval.png'); +define('featured_about_image','custom/assets/morval_about_us_2.jpg'); // Featured image ABOUT MORVAL define('featured_about_morval_image','custom/assets/morval_about_us.png'); // Featured image order notification @@ -106,7 +104,7 @@ define('banner_background','custom/assets/morval_banner.jpg'); /* Links */ //Link to product catalog -define('link_to_collection','index.php?page=products&category=2'); +define('link_to_collection','index.php?page=products&category=17'); define('link_to_external_product_site',''); define('privacy_link','/custom/assets/2024_Morval_Privacy_Statement.pdf'); define('termsandconditions_link','/custom/assets/2024_Morval_Terms_and_conditions.pdf'); @@ -116,33 +114,30 @@ define('instagram_link','https://www.instagram.com/morvalwatches?igsh=azZ5NTN0M2 /* Owner */ // City displayed in footer -define('company_name',''); -define('company_adres',''); -define('company_postal',''); -define('company_bank',''); -define('company_kvk',''); +define('company_name','MorvalWatches'); +define('company_adres','Kasteellaan 2'); +define('company_postal','5492 BR'); +define('company_bank','IBAN NL67 KNAB 0608 6634 17'); +define('company_kvk','89442679'); -define('footer_city',''); -// Country displayed in Footer -define('footer_country',''); -// Phone number in Footer -define('footer_phone',''); -// Phone number in Footer -define('footer_email',''); +define('footer_city','St Oedenrode'); +define('footer_country','Netherlands'); +define('footer_phone','Tel: +31 639725831'); +define('footer_email','info@morvalwatches.com'); /* Email */ // The from email that will appear on the customer's order details email -define('mail_from','Name'); +define('mail_from','MorvalWatches'); // Send mail to the customers, etc? define('mail_enabled',true); // Your email -define('email','info@gewoonlekkerspaans.nl'); +define('email','info@morvalwatches.com'); // Receive email notifications? -define('email_notifications',false); +define('email_notifications',true); //Additional phpmailer-settings -define('email_host_name','gewoonlekkerspaans.nl'); -define('email_reply_to','info@gewoonlekkerspaans.nl'); -define('email_outgoing_pw','o7f4t3E*5'); +define('email_host_name','morvalwatches.com'); +define('email_reply_to','info@morvalwatches.com'); +define('email_outgoing_pw','MWTH#2024'); define('email_outgoing_port','465'); define('email_outgoing_security','ssl'); @@ -155,6 +150,7 @@ define('db_user','morvalwatches');//morvalwatches_prod define('db_pass','4~gv71bM6'); // Database name define('db_name','shoppingcart_advanced'); //morvalwatches + /* API */ define('clientID','MorvalWatches'); //morvalwatches define('clientsecret','MW2024!'); //morvalwatches @@ -163,24 +159,24 @@ define('img_url','https://dev.veliti.nl/'); /* Payment options */ //Pay on Delivery -define('pay_on_delivery_enabled',true); -define('pay_on_delivery_default',true); +define('pay_on_delivery_enabled',false); +define('pay_on_delivery_default',false); // Mollie -define('mollie_enabled',false); +define('mollie_enabled',true); define('mollie_default',false); -define('mollie_api_key',''); +define('mollie_api_key','test_TBJPkq6E3Tn6kuCjqQFv9PBGu52Ac8'); //live_m2mbPTnvVzF4tUu25mtHja6D8vHkfM // Accept payments with PayPal? -define('paypal_enabled',false); -define('paypal_default',false); -define('PAYPAL_URL',''); -define('PAYPAL_WEBHOOK',''); -define('PAYPAL_CLIENT_ID',''); -define('PAYPAL_CLIENT_SECRET',''); +define('paypal_enabled',true); +define('paypal_default',true); +define('PAYPAL_URL','https://api-m.paypal.com'); +define('PAYPAL_WEBHOOK','https://www.morvalwatches.com/webhook_paypal.php'); +define('PAYPAL_CLIENT_ID','Afty4hhP24gHyVDXGIh1gMNlBZRZd6H2JB4V9fxYs7sS2IdZWa_I0B5mLxCMcwdp1pNIa_cEiXYPB5PO'); +define('PAYPAL_CLIENT_SECRET','ELNREN5q16u0vU1Bt4D-VUwHFlom1duM4sYVfpdmwXLgX9NFOnefQ4EHl-ILQnR4lVd1_ukd267ZAMcf'); /* Admin modes */ //debug -define('debug',true); +define('debug',false); // Default maintenance_mode define('maintenanceMode',false); ?> \ No newline at end of file diff --git a/custom/settings/settings.php b/custom/settings/settings.php new file mode 100644 index 0000000..44c8c31 --- /dev/null +++ b/custom/settings/settings.php @@ -0,0 +1,13 @@ + 'Austria', + 3 => 'Bulgaria', + 4 => 'Cyprus', + 21 => 'Netherlands', + 25 => 'Sweden', + 26 => 'Slovenia', + 27 => 'Slovakia (Slovak Republic)', +); + +?> \ No newline at end of file diff --git a/functions.php b/functions.php index 5f3f0c8..075c893 100644 --- a/functions.php +++ b/functions.php @@ -178,6 +178,7 @@ function template_admin_header($title, $selected = 'orders', $selected_child = ' $admin_links = ' Settings @@ -597,109 +598,48 @@ function getPictureID($pdo,$id,$config){ //++++++++++++++++++++++++++++++++++++++++ //HomePage Products //++++++++++++++++++++++++++++++++++++++++ -function highlightedProducts($clientsecret,$categoryID,$range){ +function highlightedProducts2($clientsecret,$categoryID,$range, $subtitle){ include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php'; - + //GET CATALOG DATA $products = ioAPIv2('/v2/catalog/category='.$categoryID,'',$clientsecret); $products = json_decode($products,true); - $view = ' -

'.$range.'Limited edition

-
'; - foreach ($products as $product){ - - // Ensure product price is a numeric value - $product_price = isset($product['price']) && $product['price'] > 0 ? floatval($product['price']) : 0.00; + $section = ' +
+
+
+

'.($range ?? 'Featured Timepieces').'

+

'.($subtitle ?? 'Explore our most popular and exquisite watch collections.').'

+
+
+
'; - //SHOW LARGE PICTURE - $view .= ' -
- - '.(${$product['productname']} ?? $product['productname']).' - '; - - //CHECK IF CONFIGURATION SETTING IS FOUND AND NOT EMPTY => USE GROUP TO DISPLAY IMAGES - if (isset($product['configurations']) && isset($product['config_setting']) && $product['config_setting'] != ''){ - - - //GET THE CONFIG_SETTING GROuP AND DISPLAY - foreach ($product['configurations'] as $config){ - - //MATCH ASSIGNMENT WITH CONFIG SETTING - if($config['assignment'] == $product['config_setting']){ - - $view .= '
'; - - //GET ALL RELATED ATTRIBUTES - foreach ($config['attributes'] as $attribute){ - $option_id = $attribute['attribute_id']; // ID of the LARGE IMAGE - $IMG_small_id = img_url.$attribute['full_path']; //URL TO SMALL IMAGE - $IMG_large_id = img_url.$attribute['alternative_media_full_path']; //URL TO LARGE IMAGE - - // Ensure attribute price is a numeric value - $attribute_price = isset($attribute['price']) ? floatval($attribute['price']) : 0.00; - - $option_price = isset($attribute['price']) - // If price modifier is 1, add prices; otherwise, subtract - ? ((isset($attribute['price_modifier']) && $attribute['price_modifier'] == 1) ? currency_code . number_format(floatval($product_price + $attribute_price), 2) : currency_code . number_format(floatval($product_price - $attribute_price), 2)) - // If product price is not zero, format it - : (($product_price != 0.00) ? currency_code . number_format(floatval($product_price), 2) : ''); - - $view .= ' -
- -
'; - } - - $view .= '
'; - - } - } - - } else { - //SHOW SMALL IMAGE - $view .= '
-
- -
-
'; - } - - //Stock status - $stock_status = (isset($product['quantity']) && $product['quantity'] != 0) ? $product_on_stock : $out_of_stock; - $style = ($stock_status == $product_on_stock) ? 'style="background-color: green;"' : 'style="background-color:gray;font-weight: lighter;"'; - - $view .= ' - -

'.$stock_status.'

-
'; - - if (free_shipment_indicator){ - $shipment = freeShipment($product_price,'span'); - $view .= $shipment; - } - $option_id =''; - $view .=' - '.(${$product['productname']} ?? $product['productname']).''; - - if (isset($product_price)){ - - $view .= ''.(($product_price != 0.00) ? currency_code.number_format($product_price,2) : '').''; - - if (isset($product['rrp']) && $product['rrp'] > 0){ - $view .= ''.currency_code.number_format($product['rrp'],2).''; - } - $view .= ''; - } - $view .= ' - -
'; + foreach ($products as $product){ + + $product_price = isset($product['price']) && $product['price'] > 0 ? floatval($product['price']) : 0.00; + + $section .= ' + '; } - - $view .= '
'; - return $view; + + $section .= '
+ + +
+
+ +
+ '; + + return $section ; } //--------------------------- diff --git a/home.php b/home.php index ab8ba9f..1b35646 100644 --- a/home.php +++ b/home.php @@ -1,148 +1,124 @@ -'.template_menu().' -

'.$h2_brand_name_1.'

- -

'.$h2_brand_name_2.'

- '.$h2_brand_visit.' - -
-
-

- '.$h2_brand_wow.' -

-

-

-
'; - -//SHOW OFFER -if(show_offer_home_page){ - $view .=' -
-

'.(${show_offer_home_text} ?? show_offer_home_text).'

-
'; -} -$view .=' -
-
-
-

Latest News

-

Stay updated with the latest from Morval Watches

-
- -
-
-
-
- February 10, 2025 - New Release -
-

New Thomas II Collection Released

-

Discover our latest Thomas II collection featuring premium Swiss movements and unique colorways.

- Read More -
-
- -
-
-
- February 5, 2025 - Limited Edition -
-

Limited Edition Navy Blue Now Available

-

Experience the depth of our signature Navy Blue finish, now available in a special limited edition run.

- Read More -
-
- -
-
-
- January 28, 2025 - Press -
-

Morval Featured in Watch Magazine

-

Our commitment to Dutch craftsmanship and Swiss quality gains international recognition.

- Read More -
-
-
- - +$view .= ' + +
+
+

'.$h2_brand_name_1.'
'.$h2_brand_name_2.'

+ '.$h2_brand_visit.'
-
'; - -//SHOW HIGHLIGHTS -if (category_id_highlighted_products_1){ - $view .=' -
-
'; - $view .= highlightedProducts($clientsecret,category_id_highlighted_products_1,($highlight_1 ?? 'highlight 1')); - - $view .=' -
-
'; -} - -if (category_id_highlighted_products_2){ - $view .=' -
-
'; - - $view .= highlightedProducts($clientsecret,category_id_highlighted_products_2, ($highlight_2 ?? 'highlight 2')); - - $view .=' -
-
'; -} -$view .=' -
-
-
-
-

'.($home_timeless ?? 'Timeless').'

-
-

- '.($home_timeless_text ?? 'Morval Watches are unique, robust, stylish and timeless timepieces that will last for generations!').' -

- '.($shop_action ?? 'shop now').'> -
-
-
-

'.($home_quality ?? 'Quality').'

-
-

- '.($home_quality_text ?? ' Morval watches meet the highest quality requirements and can compete with the well-known Swiss brands. The parts are supplied by renowned manufacturers from Europe and beyond. A Morval contains a Swiss-made caliber (STP) that is known for its reliable quality.').' -

- '.($shop_action ?? 'shop now').' > -
-
-
-

'.($home_price ?? 'Price').'

-
-

- '.($home_price_text ?? 'Morval stands for an excellent price-quality ratio').' -

- '.($shop_action ?? 'shop now').'> -
-
+ + +
+

'.$h2_brand_wow.'

'; -//OUTPUT -echo $view; +// ++++++++++++++++++++++++++++++ +// Include highlighted Products +// ++++++++++++++++++++++++++++++ +$view .= highlightedProducts2($clientsecret,category_id_highlighted_products_2, ($highlight_2 ?? 'highlight 2'),''); -template_footer() + +$view .= ' +
+
+
+
+
+

'.($ad_watch_1 ?? 'Dutch design and Swiss craftsmanship').'

+ '.($btn_readmore ?? 'Read more').' +
+
+
+
+

'.($ad_watch_2 ?? 'Timeless timepieces that will last for generations!').'

+ '.$h2_brand_visit.' +
+
+
'; + + +$view .= ' +
+
+
+

'.($home_timeless ?? 'Timeless').'

+

'.($home_timeless_text ?? 'Morval Watches are unique, robust, stylish and timeless timepieces that will last for generations!').'

+
+
+

'.($home_quality ?? 'Quality').'

+

'.($home_quality_text ?? ' Morval watches meet the highest quality requirements and can compete with the well-known Swiss brands. The parts are supplied by renowned manufacturers from Europe and beyond. A Morval contains a Swiss-made caliber (STP) that is known for its reliable quality.').'

+
+
+

'.($home_price ?? 'Price').'

+

'.($home_price_text ?? 'Morval stands for an excellent price-quality ratio').'

+
+
+
'; + + + +// ++++++++++++++++++++++++++++++ +// Include footer +// ++++++++++++++++++++++++++++++ +$view .= template_footer(); + +// ++++++++++++++++++++++++++++++ +// Additional JS scripts for page +// ++++++++++++++++++++++++++++++ +$view .=' + + + +'; + +echo $view; ?> \ No newline at end of file diff --git a/index.php b/index.php index 1ea439d..035e631 100644 --- a/index.php +++ b/index.php @@ -16,9 +16,9 @@ session_start(); // Includes //+++++++++++++++++++++++++++++++++++++++++++++++++++++ include './custom/settings/config.php'; +include './custom/settings/settings.php'; include 'functions.php'; - //TRANSLATION FILE LOCATION if (isset($_GET['language']) && $_GET['language'] !=''){ //INCLUDE LANGUAGE FILE @@ -81,6 +81,7 @@ if (isset($_POST['banner_move'])){ // Define all the routes for all pages $url = routes([ '/' => 'home.php', + 'test' => 'test.php', '/about' => 'custom/pages/about.php', '/about_morval' => 'custom/pages/about_morval.php', '/product/{id}' => 'product.php', @@ -118,20 +119,5 @@ if ($url) { include $page . '.php'; } -//debuglog -if (log_usage){ - //GET REMOTE ADRESS - $user_1 = $_SERVER['REMOTE_ADDR'] ?? ''; - $user_2 = $_SERVER['HTTP_X_FORWARDED_FOR'] ?? ''; - //GET PAGE DETAILS - $page = $_SERVER['REQUEST_URI'] ?? ''; - $date = date('Y-m-d H:i:s'); - - //CREATE LOG MESSAGE - $message = $date.';'.$page.';'.$user_1.';'.$user_2; - - //UPDATE LOGFILE - debuglog($message); -} ?> \ No newline at end of file diff --git a/log/translations_DE.php b/log/translations_DE.php new file mode 100644 index 0000000..1bf518f --- /dev/null +++ b/log/translations_DE.php @@ -0,0 +1,209 @@ +Die Thomas-I strahlt Eleganz und Raffinesse aus. Klassische Maße kombiniert mit dezenten Details im Zifferblatt machen sie zu einer besonderen Automatikuhr, die zu jedem Anlass getragen werden kann.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Polierter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Datum: Arabische Zahlen (Tag)
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH2NB_description = '

Die Thomas-II bietet einen Blick auf das schlagende Herz der Schweizer Uhr. Sie steht für die Präzision und Perfektion, mit der die Zeit angezeigt wird.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Gebürsteter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH2IB_description = '

Die Thomas-II bietet einen Blick auf das schlagende Herz der Schweizer Uhr. Sie steht für die Präzision und Perfektion, mit der die Zeit angezeigt wird.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Gebürsteter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH2RG_description = '

Die Thomas-II bietet einen Blick auf das schlagende Herz der Schweizer Uhr. Sie steht für die Präzision und Perfektion, mit der die Zeit angezeigt wird.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Gebürsteter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH2DG_description = '

Die Thomas-II bietet einen Blick auf das schlagende Herz der Schweizer Uhr. Sie steht für die Präzision und Perfektion, mit der die Zeit angezeigt wird.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Gebürsteter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH2G_description = '

Die Thomas-II bietet einen Blick auf das schlagende Herz der Schweizer Uhr. Sie steht für die Präzision und Perfektion, mit der die Zeit angezeigt wird.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Gebürsteter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWABRB1_description = 'Armband Handgefertigtes italienisches Kalbsleder'; +$MWABRDB1_description = 'Armband Handgefertigtes italienisches Kalbsleder'; +$MWABRLB1_description = 'Armband Handgefertigtes italienisches Kalbsleder'; +$MWABRBL1_description = 'Armband Handgefertigtes italienisches Kalbsleder'; +$MWTH1IB_description = '

Die Thomas-I strahlt Eleganz und Raffinesse aus. Klassische Maße kombiniert mit dezenten Details im Zifferblatt machen sie zu einer besonderen Automatikuhr, die zu jedem Anlass getragen werden kann.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Polierter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Datum: Arabische Zahlen (Tag)
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH1RG_description = '

Die Thomas-I strahlt Eleganz und Raffinesse aus. Klassische Maße kombiniert mit dezenten Details im Zifferblatt machen sie zu einer besonderen Automatikuhr, die zu jedem Anlass getragen werden kann.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Polierter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Datum: Arabische Zahlen (Tag)
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH1DG_description = '

Die Thomas-I strahlt Eleganz und Raffinesse aus. Klassische Maße kombiniert mit dezenten Details im Zifferblatt machen sie zu einer besonderen Automatikuhr, die zu jedem Anlass getragen werden kann.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Polierter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Datum: Arabische Zahlen (Tag)
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$MWTH1G_description = '

Die Thomas-I strahlt Eleganz und Raffinesse aus. Klassische Maße kombiniert mit dezenten Details im Zifferblatt machen sie zu einer besonderen Automatikuhr, die zu jedem Anlass getragen werden kann.

Technische Daten

  • Gehäusegröße: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 mit 26 Steinen
  • Gangreserve: 40 h
  • Ischronismus: < 10 Sek./Tag
  • Lünette: Polierter Edelstahl (316L)
  • Wasserdicht: 50 Meter (5 ATM)
  • Zifferblatt: Sonnenstrahlen-Muster
  • Datum: Arabische Zahlen (Tag)
  • Leuchtmasse: Superluminova (Blau)
  • Glas: Saphirglas mit Antireflexbeschichtung
  • Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas
  • Armband (Stahl): Gebürsteter und polierter 316L Edelstahl
  • Armband (Leder): Handgefertigtes italienisches Kalbsleder
  • Schließe: Faltschließe für höchsten Komfort
  • Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.
'; +$payment_status_0 = 'Offen'; +$payment_status_1 = 'Bezahlt'; +$payment_status_101 = 'Ausstehend'; +$payment_status_102 = 'Fehlgeschlagen'; +$payment_status_103 = 'Abgelaufen'; +$payment_status_999 = 'Abgesagt'; +$payment_method_3 = 'Soll/Haben'; +$ad_watch_1 = 'Niederländisches Design und Schweizer Handwerkskunst'; +$ad_watch_2 = 'Zeitlose Uhren, die Generationen überdauern!'; +$ad_watch_btn = 'mehr lesen'; +$newsletter_h2 = 'Melden Sie sich für den
Newsletter an'; +$newsletter_p = 'Bleiben Sie mit unseren neuesten Updates, Tipps und exklusiven Angeboten auf dem Laufenden – direkt in Ihrem Posteingang.'; +$newsletter_confirm = 'Ich habe die Datenschutzrichtlinie gelesen und stimme ihr zu'; +$newsletter_submit = 'einreichen'; +$header_manufacturing = 'Schweizer Qualität und niederländische Fertigung'; +$header_shipping = 'Kostenloser Versand für alle unsere Uhren'; +$header_delivery = 'Schneller Service und Lieferung'; +$header_rating = 'Kundenbewertung 4.7/5.0'; +?> \ No newline at end of file diff --git a/log/translations_ES.php b/log/translations_ES.php new file mode 100644 index 0000000..f01554b --- /dev/null +++ b/log/translations_ES.php @@ -0,0 +1,209 @@ +El Thomas-I irradia elegancia y sofisticación. Dimensiones clásicas combinadas con detalles sutiles en la esfera hacen de este un reloj automático especial para cualquier ocasión.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable pulido (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Fecha: Números arábigos (día)
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH2NB_description = '

El Thomas-II ofrece una vista del corazón palpitante del reloj suizo. Representa la precisión y perfección con la que se muestra el tiempo.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable cepillado (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH2IB_description = '

El Thomas-II ofrece una vista del corazón palpitante del reloj suizo. Representa la precisión y perfección con la que se muestra el tiempo.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable cepillado (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH2RG_description = '

El Thomas-II ofrece una vista del corazón palpitante del reloj suizo. Representa la precisión y perfección con la que se muestra el tiempo.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable cepillado (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH2DG_description = '

El Thomas-II ofrece una vista del corazón palpitante del reloj suizo. Representa la precisión y perfección con la que se muestra el tiempo.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable cepillado (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH2G_description = '

El Thomas-II ofrece una vista del corazón palpitante del reloj suizo. Representa la precisión y perfección con la que se muestra el tiempo.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable cepillado (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWABRB1_description = 'Pulsera de piel de becerro italiana hecha a mano'; +$MWABRDB1_description = 'Pulsera de piel de becerro italiana hecha a mano'; +$MWABRLB1_description = 'Pulsera de piel de becerro italiana hecha a mano'; +$MWABRBL1_description = 'Pulsera de piel de becerro italiana hecha a mano'; +$MWTH1IB_description = '

El Thomas-I irradia elegancia y sofisticación. Dimensiones clásicas combinadas con detalles sutiles en la esfera hacen de este un reloj automático especial para cualquier ocasión.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable pulido (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Fecha: Números arábigos (día)
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH1RG_description = '

El Thomas-I irradia elegancia y sofisticación. Dimensiones clásicas combinadas con detalles sutiles en la esfera hacen de este un reloj automático especial para cualquier ocasión.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable pulido (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Fecha: Números arábigos (día)
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH1DG_description = '

El Thomas-I irradia elegancia y sofisticación. Dimensiones clásicas combinadas con detalles sutiles en la esfera hacen de este un reloj automático especial para cualquier ocasión.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable pulido (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Fecha: Números arábigos (día)
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$MWTH1G_description = '

El Thomas-I irradia elegancia y sofisticación. Dimensiones clásicas combinadas con detalles sutiles en la esfera hacen de este un reloj automático especial para cualquier ocasión.

Especificaciones

  • Tamaño de la caja: 39 mm x 10,5 mm.
  • Calibre: STP1-11 con 26 rubíes
  • Reserva de marcha: 40 h
  • Isocronismo: < 10 seg./día
  • Bisel: Acero inoxidable pulido (316L)
  • Resistente al agua: 50 metros (5 ATM)
  • Esfera: Efecto rayo de sol
  • Fecha: Números arábigos (día)
  • Lumen: Superluminova (Azul)
  • Cristal: Zafiro con recubrimiento antirreflectante
  • Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro
  • Brazalete (acero): Acero inoxidable 316L cepillado y pulido
  • Brazalete (cuero): Cuero de becerro italiano hecho a mano
  • Cierre: Mecanismo plegable para máxima comodidad
  • Embalaje: Caja azul con certificado y manual.
'; +$payment_status_0 = 'Abierto'; +$payment_status_1 = 'Pagado'; +$payment_status_101 = 'Pendiente'; +$payment_status_102 = 'Fallido'; +$payment_status_103 = 'Venció'; +$payment_status_999 = 'Cancelado'; +$payment_method_3 = 'Débito/Crédito'; +$ad_watch_1 = 'Diseño holandés y artesanía suiza'; +$ad_watch_2 = '¡Relojes atemporales que durarán generaciones!'; +$ad_watch_btn = 'leer más'; +$newsletter_h2 = 'Suscríbete al boletín informativo'; +$newsletter_p = 'Manténgase conectado con nuestras últimas actualizaciones, consejos y ofertas exclusivas, directamente en su bandeja de entrada.'; +$newsletter_confirm = 'He leído y estoy de acuerdo con la política de privacidad.'; +$newsletter_submit = 'entregar'; +$header_manufacturing = 'Calidad suiza y fabricación holandesa'; +$header_shipping = 'Envío gratuito en todos nuestros relojes.'; +$header_delivery = 'Servicio y entrega rápidos'; +$header_rating = 'Calificación del cliente 4.7/5.0'; +?> \ No newline at end of file diff --git a/log/translations_FR.php b/log/translations_FR.php new file mode 100644 index 0000000..052b868 --- /dev/null +++ b/log/translations_FR.php @@ -0,0 +1,209 @@ +La Thomas-I dégage élégance et sophistication. Des dimensions classiques combinées à des détails subtils sur le cadran en font une montre automatique spéciale à porter en toute occasion.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable poli (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Date : Chiffres arabes (jour)
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH2NB_description = '

La Thomas-II offre une vue sur le cœur battant de la montre suisse. Elle incarne la précision et la perfection avec lesquelles l’heure est affichée.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable brossé (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH2IB_description = '

La Thomas-II offre une vue sur le cœur battant de la montre suisse. Elle incarne la précision et la perfection avec lesquelles l’heure est affichée.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable brossé (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH2RG_description = '

La Thomas-II offre une vue sur le cœur battant de la montre suisse. Elle incarne la précision et la perfection avec lesquelles l’heure est affichée.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable brossé (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH2DG_description = '

La Thomas-II offre une vue sur le cœur battant de la montre suisse. Elle incarne la précision et la perfection avec lesquelles l’heure est affichée.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable brossé (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH2G_description = '

La Thomas-II offre une vue sur le cœur battant de la montre suisse. Elle incarne la précision et la perfection avec lesquelles l’heure est affichée.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable brossé (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWABRB1_description = 'Bracelet en cuir de veau italien fait main'; +$MWABRDB1_description = 'Bracelet en cuir de veau italien fait main'; +$MWABRLB1_description = 'Bracelet en cuir de veau italien fait main'; +$MWABRBL1_description = 'Bracelet en cuir de veau italien fait main'; +$MWTH1IB_description = '

La Thomas-I dégage élégance et sophistication. Des dimensions classiques combinées à des détails subtils sur le cadran en font une montre automatique spéciale à porter en toute occasion.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable poli (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Date : Chiffres arabes (jour)
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH1RG_description = '

La Thomas-I dégage élégance et sophistication. Des dimensions classiques combinées à des détails subtils sur le cadran en font une montre automatique spéciale à porter en toute occasion.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable poli (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Date : Chiffres arabes (jour)
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH1DG_description = '

La Thomas-I dégage élégance et sophistication. Des dimensions classiques combinées à des détails subtils sur le cadran en font une montre automatique spéciale à porter en toute occasion.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable poli (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Date : Chiffres arabes (jour)
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$MWTH1G_description = '

La Thomas-I dégage élégance et sophistication. Des dimensions classiques combinées à des détails subtils sur le cadran en font une montre automatique spéciale à porter en toute occasion.

Caractéristiques

  • Taille du boîtier : 39 mm x 10,5 mm.
  • Calibre : STP1-11 avec 26 rubis
  • Réserve de marche : 40 h
  • Isochronisme : < 10 sec./jour
  • Lunette : Acier inoxydable poli (316L)
  • Étanchéité : 50 mètres (5 ATM)
  • Cadran : Cadran effet rayon de soleil
  • Date : Chiffres arabes (jour)
  • Luminescence : Superluminova (Bleu)
  • Verre : Saphir avec revêtement antireflet
  • Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir
  • Bracelet (acier) : Acier inoxydable 316L brossé et poli
  • Bracelet (cuir) : Cuir de veau italien fait main
  • Boucle : Mécanisme déployant pour un confort optimal
  • Emballage : Boîte bleue avec certificat et manuel.
'; +$payment_status_0 = 'Ouvrir'; +$payment_status_1 = 'Payé'; +$payment_status_101 = 'En attente'; +$payment_status_102 = 'Échoué'; +$payment_status_103 = 'Expiré'; +$payment_status_999 = 'Annulé'; +$payment_method_3 = 'Débit/Crédit'; +$ad_watch_1 = 'Design néerlandais et artisanat suisse'; +$ad_watch_2 = 'Des montres intemporelles qui dureront des générations !'; +$ad_watch_btn = 'En savoir plus'; +$newsletter_h2 = 'Inscrivez-vous à la newsletter'; +$newsletter_p = 'Restez connecté avec nos dernières mises à jour, conseils et offres exclusives, directement dans votre boîte de réception.'; +$newsletter_confirm = 'J\'ai lu et j\'accepte la politique de confidentialité'; +$newsletter_submit = 'soumettre'; +$header_manufacturing = 'Qualité suisse et fabrication néerlandaise'; +$header_shipping = 'Livraison gratuite sur toutes nos montres'; +$header_delivery = 'Service et livraison rapides'; +$header_rating = 'Note client 4,7/5,0'; +?> \ No newline at end of file diff --git a/log/translations_IT.php b/log/translations_IT.php new file mode 100644 index 0000000..67c94a5 --- /dev/null +++ b/log/translations_IT.php @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/log/translations_NL.php b/log/translations_NL.php new file mode 100644 index 0000000..84bd9ee --- /dev/null +++ b/log/translations_NL.php @@ -0,0 +1,219 @@ +De Thomas-I straalt elegantie en verfijning uit. Klassieke afmetingen gecombineerd met subtiele details in de wijzerplaat maken het een bijzondere automatische horloge dat bij elke gelegenheid gedragen kan worden.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Gepolijst roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Datum: Arabische cijfers (dag)
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH2NB_description = '

De Thomas-II biedt een blik op het kloppende hart van het Zwitserse uurwerk. Het benadrukt de precisie en perfectie waarmee de tijd wordt weergegeven.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Geborsteld roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH2IB_description = '

De Thomas-II biedt een blik op het kloppende hart van het Zwitserse uurwerk. Het benadrukt de precisie en perfectie waarmee de tijd wordt weergegeven.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Geborsteld roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH2RG_description = '

De Thomas-II biedt een blik op het kloppende hart van het Zwitserse uurwerk. Het benadrukt de precisie en perfectie waarmee de tijd wordt weergegeven.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Geborsteld roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH2DG_description = '

De Thomas-II biedt een blik op het kloppende hart van het Zwitserse uurwerk. Het benadrukt de precisie en perfectie waarmee de tijd wordt weergegeven.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Geborsteld roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH2G_description = '

De Thomas-II biedt een blik op het kloppende hart van het Zwitserse uurwerk. Het benadrukt de precisie en perfectie waarmee de tijd wordt weergegeven.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Geborsteld roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWABRB1_description = 'Armband Handgemaakt Italiaans kalfsleer'; +$MWABRDB1_description = 'Armband Handgemaakt Italiaans kalfsleer'; +$MWABRLB1_description = 'Armband Handgemaakt Italiaans kalfsleer'; +$MWABRBL1_description = 'Armband Handgemaakt Italiaans kalfsleer'; +$MWTH1IB_description = '

De Thomas-I straalt elegantie en verfijning uit. Klassieke afmetingen gecombineerd met subtiele details in de wijzerplaat maken het een bijzondere automatische horloge dat bij elke gelegenheid gedragen kan worden.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Gepolijst roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Datum: Arabische cijfers (dag)
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH1RG_description = '

De Thomas-I straalt elegantie en verfijning uit. Klassieke afmetingen gecombineerd met subtiele details in de wijzerplaat maken het een bijzondere automatische horloge dat bij elke gelegenheid gedragen kan worden.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Gepolijst roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Datum: Arabische cijfers (dag)
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH1DG_description = '

De Thomas-I straalt elegantie en verfijning uit. Klassieke afmetingen gecombineerd met subtiele details in de wijzerplaat maken het een bijzondere automatische horloge dat bij elke gelegenheid gedragen kan worden.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Gepolijst roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Datum: Arabische cijfers (dag)
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$MWTH1G_description = '

De Thomas-I straalt elegantie en verfijning uit. Klassieke afmetingen gecombineerd met subtiele details in de wijzerplaat maken het een bijzondere automatische horloge dat bij elke gelegenheid gedragen kan worden.

Specificaties

  • Kastgrootte: 39 mm x 10,5 mm.
  • Kaliber: STP1-11 met 26 juwelen
  • Energiereserve: 40 u
  • Isocronisme: < 10 sec./dag
  • Lunette: Gepolijst roestvrij staal (316L)
  • Waterdicht: 50 meter (5 ATM)
  • Wijzerplaat: Zonnestraal-patroon
  • Datum: Arabische cijfers (dag)
  • Lumen: Superluminova (Blauw)
  • Glas: Saffierglas met antireflecterende coating
  • Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas
  • Band (staal): Geborsteld en gepolijst 316L roestvrij staal
  • Band (leer): Handgemaakt Italiaans kalfsleer
  • Sluiting: Vouwmechanisme voor ultiem comfort
  • Verpakking: Blauwe doos met certificaat en handleiding.
'; +$payment_status_0 = 'Open'; +$payment_status_1 = 'Betaald'; +$payment_status_101 = 'In behandeling'; +$payment_status_102 = 'Mislukt'; +$payment_status_103 = 'Verlopen'; +$payment_status_999 = 'Geannuleerd'; +$payment_method_3 = 'Debet/Credit'; +$ad_watch_1 = 'Nederlands design en Zwitsers vakmanschap'; +$ad_watch_2 = 'Tijdloze uurwerken die generaties lang meegaan!'; +$ad_watch_btn = 'lees verder'; +$newsletter_h2 = 'Meld u aan voor de nieuwsbrief'; +$newsletter_p = 'Blijf op de hoogte van onze laatste updates, tips en exclusieve aanbiedingen, rechtstreeks in uw inbox.'; +$newsletter_confirm = 'Ik heb het privacybeleid gelezen en ga ermee akkoord'; +$newsletter_submit = 'indienen'; +$header_manufacturing = 'Zwitserse kwaliteit en Nederlandse makelij'; +$header_shipping = 'Gratis verzending op al onze horloges'; +$header_delivery = 'Snelle service en levering'; +$header_rating = 'Klantbeoordeling 4,7/5,0'; +?> \ No newline at end of file diff --git a/log/translations_US.php b/log/translations_US.php new file mode 100644 index 0000000..3c112e8 --- /dev/null +++ b/log/translations_US.php @@ -0,0 +1,220 @@ +The Thomas-I exudes elegance and sophistication. Classic dimensions combined with subtle details in the dial make it an special automatic watch that can be worn on all occasions.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Polished stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Date: Arabic numbers (day)
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crystal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH1NB_description = 'Le Thomas-I respire l\'élégance et la sophistication. Des dimensions classiques combinées à des détails subtils sur le cadran en font une montre automatique spéciale qui peut être portée en toutes occasions.SpécificationsTaille du boîtier : 39 mm x 10,5 mm.Calibre : STP1-11 avec 26 rubisRéserve de marche : 40 hIsochronisme : < 10 sec./jourLunette : Acier inoxydable poli (316L)Étanchéité : 50 mètres (5 ATM)Cadran : Cadran soleilléDate : Chiffres arabes (jour)Lumen : Superluminova (bleu)Verre : Saphir avec traitement antirefletFond du boîtier : Acier inoxydable brossé vissé avec verre saphirBracelet (acier) : Brossé et poli Acier inoxydable 316LBracelet (cuir) : Cuir de veau italien fait mainFermoir : Mécanisme pliant pour un confort ultimeEmballage : Boîte bleue avec certificat et manuel.'; +$MWTH2NB_description = '

The Thomas-II provides a view of the beating heart of the Swiss timepiece. It marks the precision and perfection with which the time is displayed.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Brushed stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crytal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH2IB_description = '

The Thomas-II provides a view of the beating heart of the Swiss timepiece. It marks the precision and perfection with which the time is displayed.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Brushed stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crytal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH2RG_description = '

The Thomas-II provides a view of the beating heart of the Swiss timepiece. It marks the precision and perfection with which the time is displayed.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Brushed stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crytal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH2DG_description = '

The Thomas-II provides a view of the beating heart of the Swiss timepiece. It marks the precision and perfection with which the time is displayed.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Brushed stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crytal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH2G_description = '

The Thomas-II provides a view of the beating heart of the Swiss timepiece. It marks the precision and perfection with which the time is displayed.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Brushed stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crytal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWABRB1_description = 'Bracelet Handmade Italian Calf leather'; +$MWABRDB1_description = 'Bracelet Handmade Italian Calf leather'; +$MWABRLB1_description = 'Bracelet Handmade Italian Calf leather'; +$MWABRBL1_description = 'Bracelet Handmade Italian Calf leather'; +$MWTH1IB_description = '

The Thomas-I exudes elegance and sophistication. Classic dimensions combined with subtle details in the dial make it an special automatic watch that can be worn on all occasions.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Polished stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Date: Arabic numbers (day)
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crystal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH1RG_description = '

The Thomas-I exudes elegance and sophistication. Classic dimensions combined with subtle details in the dial make it an special automatic watch that can be worn on all occasions.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Polished stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Date: Arabic numbers (day)
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crystal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH1DG_description = '

The Thomas-I exudes elegance and sophistication. Classic dimensions combined with subtle details in the dial make it an special automatic watch that can be worn on all occasions.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Polished stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Date: Arabic numbers (day)
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crystal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$MWTH1G_description = '

The Thomas-I exudes elegance and sophistication. Classic dimensions combined with subtle details in the dial make it an special automatic watch that can be worn on all occasions.

Specifications

  • Case Size: 39 mm x 10,5 mm.
  • Caliber: STP1-11 with 26 jewels
  • Power reserve: 40 h
  • Isochronism: < 10 sec./day
  • Bezel: Polished stainless steel (316L)
  • Waterproof: 50 meters (5 ATM)
  • Dial: Sunburst dial
  • Date: Arabic numbers (day)
  • Lumen: Superluminova (Blue)
  • Crystal: Sapphire with anti-reflective coating
  • Back Case: Screwed, brushed stainless steel with sapphire crystal
  • Bracelet (steel): Brushed and polished 316L stainless steel
  • Bracelet (Leather): Handmade Italian Calf leather
  • Clasp: Folding mechanism for ultimate comfort
  • Packaging: Blue box with certificate and manual.
'; +$payment_status_0 = 'Open'; +$payment_status_1 = 'Paid'; +$payment_status_101 = 'Pending'; +$payment_status_102 = 'Failed'; +$payment_status_103 = 'Expired'; +$payment_status_999 = 'Cancelled'; +$payment_method_3 = 'Debit/Credit'; +$ad_watch_1 = 'Dutch design and Swiss craftsmanship'; +$ad_watch_2 = 'Timeless timepieces that will last for generations!'; +$ad_watch_btn = 'read more'; +$newsletter_h2 = 'Sign up for
the newsletter'; +$newsletter_p = 'Stay connected with our latest updates, tips, and exclusive offers—straight to your inbox.'; +$newsletter_confirm = 'I have read and agree with the privacy policy'; +$newsletter_submit = 'submit'; +$header_manufacturing = 'Swiss quality and Dutch manufacturing'; +$header_shipping = 'Free shipping on all of our watches'; +$header_delivery = 'Fast service and delivery'; +$header_rating = 'Client rate 4.7/5.0'; +?> \ No newline at end of file diff --git a/myaccount.php b/myaccount.php index 82f7cbc..3fa0f65 100644 --- a/myaccount.php +++ b/myaccount.php @@ -125,14 +125,6 @@ if (isset($_SESSION['account_loggedin'])) { if (!empty($identity)){$identity = json_decode($identity,true);}else{$identity = null;} $identity = $identity[0]; - //CALL TO API FOR shipping - $api_url = '/v2/taxes/'; - $countries = ioAPIv2($api_url,'',$clientsecret); - //Decode Payload - if (!empty($countries)){$countries = json_decode($countries,true);}else{$countries = null;} - //CountryID mapping - $countryMap = array_column($countries, 'country', 'id'); - // Update settings if (isset($_POST['save_details'], $_POST['email'], $_POST['password'])) { // Assign and validate input data @@ -184,16 +176,17 @@ if (isset($_SESSION['account_loggedin'])) { } } -template_header($myaccount_text); +$view = template_header($myaccount_text,''); -$view = ' +$view .= ' -
'; +'; if(!isset($_SESSION['account_loggedin'])){ -$view .= '
'.currency_code.''.number_format($product['options_price'],2).''.currency_code.''.number_format($product['options_price'],2).' + + '.currency_code.''.number_format($product['options_price'] * $product['quantity'],2).''.currency_code.''.number_format($product['options_price'] * $product['quantity'],2).'