Merge branch 'development'
#Conflicts: # admin/countries.php # cart.php # custom/css/main.css # custom/customfunctions.php # custom/email/order-details-template.php # custom/email/order-invoice-template.php # custom/email/order-notification-template.php # custom/pages/about.php # custom/pages/about_morval.php # custom/settings/config.php # custom/settings/settings.php # functions.php # home.php # products.php # script.js
This commit is contained in:
@@ -9,7 +9,6 @@ $countries = ioAPIv2($api_url,'',$clientsecret);
|
||||
//Decode Payload
|
||||
if (!empty($countries)){$countries = json_decode($countries,true);}else{$countries = null;}
|
||||
|
||||
var_dump($countries);
|
||||
//CountryID mapping
|
||||
$countryMap = array_column($countries, 'country', 'id');
|
||||
|
||||
|
||||
4
cart.php
4
cart.php
@@ -181,6 +181,10 @@ $view .= '
|
||||
</td>';
|
||||
}
|
||||
$view .= ' <td class="cart_price product-total">'.currency_code.''.number_format($product['options_price'] * $product['quantity'],2).'</td>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
<td><a href="'.url('index.php?page=cart&remove=' . $num).'" class="remove">🗑️</a></td>
|
||||
>>>>>>> development
|
||||
</tr>';
|
||||
}
|
||||
}
|
||||
|
||||
32
checkout.php
32
checkout.php
@@ -29,7 +29,7 @@ $weighttotal = 0;
|
||||
$shipping_methods = [];
|
||||
|
||||
$checkout_input = [
|
||||
"selected_country" => isset($_POST['address_country']) ? $_POST['address_country'] : $account['address_country'],
|
||||
"selected_country" => isset($_POST['address_country']) ? $_POST['address_country'] : (isset($account['address_country']) ? $account['address_country'] : 21) ,
|
||||
"selected_shipment_method" => isset($_POST['shipping_method']) ? $_POST['shipping_method'] : '',
|
||||
"business_type" => 'b2c',
|
||||
"discount_code" => isset($_SESSION['discount']) ? $_SESSION['discount'] : ''
|
||||
@@ -64,16 +64,30 @@ if (isset($_POST['discount_code']) && !empty($_POST['discount_code'])) {
|
||||
} else if (isset($_POST['discount_code']) && empty($_POST['discount_code']) && isset($_SESSION['discount'])) {
|
||||
unset($_SESSION['discount']);
|
||||
}
|
||||
if (isset($_POST['address_country'])){
|
||||
// Retrieve shipping methods
|
||||
$shipping_methods = ioAPIv2('/v2/shipping/list=methods&country='.$checkout_input['selected_country'].'&price_total='.$subtotal.'&weight_total='.$weighttotal,'',$clientsecret);
|
||||
$shipping_methods = json_decode($shipping_methods,true);
|
||||
}
|
||||
//-------------------------------
|
||||
// If there are products in cart handle the checkout
|
||||
//-------------------------------
|
||||
if ($products_in_cart) {
|
||||
//Calculate shopping_cart
|
||||
|
||||
// First, calculate cart to get initial totals (without shipping)
|
||||
$initial_payload = json_encode(array("cart" => $products_in_cart, "checkout_input" => $checkout_input), JSON_UNESCAPED_UNICODE);
|
||||
$initial_cart = ioAPIv2('/v2/checkout/',$initial_payload,$clientsecret);
|
||||
$initial_cart = json_decode($initial_cart,true);
|
||||
|
||||
// Get initial totals for shipping method calculation
|
||||
$initial_subtotal = $initial_cart['totals']['subtotal'] ?? 0;
|
||||
$initial_weighttotal = $initial_cart['totals']['weighttotal'] ?? 0;
|
||||
|
||||
// Now retrieve shipping methods with correct totals
|
||||
$shipping_methods = ioAPIv2('/v2/shipping/list=methods&country='.$checkout_input['selected_country'].'&price_total='.$initial_subtotal.'&weight_total='.$initial_weighttotal,'',$clientsecret);
|
||||
$shipping_methods = json_decode($shipping_methods,true);
|
||||
|
||||
// If no shipping method is selected and shipping methods are available, select the first one as default
|
||||
if (empty($checkout_input['selected_shipment_method']) && !empty($shipping_methods) && count($shipping_methods) > 0) {
|
||||
$checkout_input['selected_shipment_method'] = $shipping_methods[0]['id'];
|
||||
}
|
||||
|
||||
// Recalculate shopping_cart with selected shipping method
|
||||
$payload = json_encode(array("cart" => $products_in_cart, "checkout_input" => $checkout_input), JSON_UNESCAPED_UNICODE);
|
||||
$products_in_cart = ioAPIv2('/v2/checkout/',$payload,$clientsecret);
|
||||
$products_in_cart = json_decode($products_in_cart,true);
|
||||
@@ -86,10 +100,6 @@ if ($products_in_cart) {
|
||||
$tax_rate = $products_in_cart['totals']['tax_rate'];
|
||||
$weighttotal = $products_in_cart['totals']['weighttotal'];
|
||||
$total = $products_in_cart['totals']['total'];
|
||||
|
||||
// Retrieve shipping methods
|
||||
$shipping_methods = ioAPIv2('/v2/shipping/list=methods&country='.$checkout_input['selected_country'].'&price_total='.$subtotal.'&weight_total='.$weighttotal,'',$clientsecret);
|
||||
$shipping_methods = json_decode($shipping_methods,true);
|
||||
|
||||
// Redirect the user if the shopping cart is empty
|
||||
if (empty($products_in_cart)) {
|
||||
|
||||
BIN
custom/assets/comp2 kopie.png
Normal file
BIN
custom/assets/comp2 kopie.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.3 MiB |
BIN
custom/assets/comp2-1.jpg
Normal file
BIN
custom/assets/comp2-1.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.8 MiB |
BIN
custom/assets/comp2.png
Normal file
BIN
custom/assets/comp2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 MiB |
BIN
custom/assets/comp2_2.png
Normal file
BIN
custom/assets/comp2_2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.3 MiB |
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
1458
custom/css/style.css
1458
custom/css/style.css
File diff suppressed because it is too large
Load Diff
@@ -1,974 +0,0 @@
|
||||
$font: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
|
||||
$font-size: 16px;
|
||||
$background-color: #FFFFFF;
|
||||
$content-wrapper-width: 1050px;
|
||||
$content-border-color: #EEEEEE;
|
||||
$text-color: #555555;
|
||||
$header-color: #394352;
|
||||
$price-color: #999999;
|
||||
$rrp-color: #BBBBBB;
|
||||
$featured-header-font: Rockwell, "Courier Bold", Courier, Georgia, Times, "Times New Roman", sans-serif;
|
||||
$featured-header-color: #FFFFFF;
|
||||
$btn-color: #4b505c;
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
font-family: $font;
|
||||
font-size: $font-size;
|
||||
}
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
body {
|
||||
position: relative;
|
||||
min-height: 100%;
|
||||
color: $text-color;
|
||||
background-color: $background-color;
|
||||
margin: 0;
|
||||
padding-bottom: 100px; /* Same height as footer */
|
||||
}
|
||||
h1, h2, h3, h4, h5 {
|
||||
color: $header-color;
|
||||
}
|
||||
.content-wrapper {
|
||||
width: $content-wrapper-width;
|
||||
margin: 0 auto;
|
||||
&.error {
|
||||
padding: 40px 0;
|
||||
}
|
||||
}
|
||||
header {
|
||||
position: relative;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
.content-wrapper {
|
||||
display: flex;
|
||||
}
|
||||
h1, img {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0;
|
||||
font-size: 20px;
|
||||
margin: 0;
|
||||
padding: 24px 0;
|
||||
}
|
||||
nav {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
a {
|
||||
white-space: nowrap;
|
||||
text-decoration: none;
|
||||
color: $text-color;
|
||||
padding: 10px 10px;
|
||||
margin: 0 10px;
|
||||
&:hover {
|
||||
border-bottom: 1px solid darken($background-color, 15);
|
||||
}
|
||||
}
|
||||
}
|
||||
.link-icons {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
flex-basis: 0;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
.search {
|
||||
i {
|
||||
font-size: 18px;
|
||||
padding: 9px;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background-color: darken($background-color, 3);
|
||||
}
|
||||
}
|
||||
input {
|
||||
display: none;
|
||||
border: 0;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
padding: 10px 0;
|
||||
max-width: 200px;
|
||||
outline: none;
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
.responsive-toggle {
|
||||
display: none;
|
||||
}
|
||||
a {
|
||||
position: relative;
|
||||
text-decoration: none;
|
||||
color: #394352;
|
||||
padding: 9px;
|
||||
border-radius: 50%;
|
||||
margin-left: 5px;
|
||||
&:hover {
|
||||
background-color: darken($background-color, 5);
|
||||
}
|
||||
i {
|
||||
font-size: 18px;
|
||||
}
|
||||
span {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
background-color: lighten($header-color, 20);
|
||||
background-color: #eea965;
|
||||
border-radius: 50%;
|
||||
color: #000;
|
||||
font-size: 12px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
font-weight: 500;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
main {
|
||||
.featured {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
height: 500px;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
h2 {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
width: $content-wrapper-width;
|
||||
font-family: $featured-header-font;
|
||||
font-size: 68px;
|
||||
color: $featured-header-color;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
p {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
width: $content-wrapper-width;
|
||||
font-size: 24px;
|
||||
color: $featured-header-color;
|
||||
}
|
||||
}
|
||||
.recentlyadded {
|
||||
h2 {
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 40px 0;
|
||||
font-size: 24px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
}
|
||||
}
|
||||
.recentlyadded .products, .products .products-wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
padding: 40px 0 0 0;
|
||||
.product {
|
||||
display: block;
|
||||
overflow: hidden;
|
||||
text-decoration: none;
|
||||
width: 25%;
|
||||
padding-bottom: 60px;
|
||||
img {
|
||||
transform: scale(1.0);
|
||||
transition: transform 1s;
|
||||
}
|
||||
.name {
|
||||
display: block;
|
||||
color: $text-color;
|
||||
padding: 20px 0 2px 0;
|
||||
}
|
||||
.price {
|
||||
display: block;
|
||||
color: $price-color;
|
||||
}
|
||||
.rrp {
|
||||
color: $rrp-color;
|
||||
text-decoration: line-through;
|
||||
}
|
||||
&:hover {
|
||||
img {
|
||||
transform: scale(1.05);
|
||||
transition: transform 1s;
|
||||
}
|
||||
.name {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
> .product {
|
||||
display: flex;
|
||||
padding: 40px 0;
|
||||
h1 {
|
||||
font-size: 34px;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 20px 0 10px 0;
|
||||
}
|
||||
.product-img-large {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
height: 500px;
|
||||
}
|
||||
.product-small-imgs {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
.product-img-small {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-basis: 31%;
|
||||
border: 1px solid $content-border-color;
|
||||
cursor: pointer;
|
||||
margin: 20px 12px 0 0;
|
||||
&:nth-child(3n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
&.selected {
|
||||
border: 1px solid darken($content-border-color, 15);
|
||||
}
|
||||
}
|
||||
}
|
||||
.product-img-large img, .product-img-small img {
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
width: auto;
|
||||
height: auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
.product-imgs {
|
||||
flex: 1;
|
||||
padding: 15px;
|
||||
}
|
||||
.product-wrapper {
|
||||
padding-left: 25px;
|
||||
flex: 1;
|
||||
}
|
||||
.prices {
|
||||
display: flex;
|
||||
}
|
||||
.price {
|
||||
display: block;
|
||||
font-size: 22px;
|
||||
color: $price-color;
|
||||
}
|
||||
.rrp {
|
||||
color: $rrp-color;
|
||||
text-decoration: line-through;
|
||||
font-size: 22px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
form {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
margin: 25px 0 40px 0;
|
||||
label {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
select, input[type="number"], input[type="text"], input[type="datetime-local"] {
|
||||
width: 400px;
|
||||
padding: 8px 10px;
|
||||
margin-bottom: 15px;
|
||||
border: 1px solid darken($content-border-color, 10);
|
||||
color: $text-color;
|
||||
border-radius: 4px;
|
||||
background-color: #fff;
|
||||
}
|
||||
.radio-checkbox {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
max-width: 400px;
|
||||
input {
|
||||
margin: 0 10px 10px 0;
|
||||
}
|
||||
label {
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
margin-top: 10px;
|
||||
width: 400px;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
}
|
||||
}
|
||||
> .products {
|
||||
h1 {
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 40px 0;
|
||||
font-size: 24px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.products-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding-bottom: 40px;
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
label {
|
||||
padding-left: 20px;
|
||||
}
|
||||
select {
|
||||
padding: 5px;
|
||||
margin-left: 15px;
|
||||
border: 1px solid darken($content-border-color, 10);
|
||||
color: $text-color;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
.buttons {
|
||||
text-align: right;
|
||||
padding-bottom: 40px;
|
||||
a:first-child {
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.cart, .myaccount {
|
||||
h1 {
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 40px 0;
|
||||
font-size: 24px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
thead td {
|
||||
padding: 30px 0;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
&:last-child {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
tbody td {
|
||||
padding: 20px 0;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
&:last-child {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
.img {
|
||||
width: 80px;
|
||||
}
|
||||
.remove {
|
||||
color: #777777;
|
||||
font-size: 12px;
|
||||
padding-top: 3px;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
.price, .options {
|
||||
color: $price-color;
|
||||
}
|
||||
.options {
|
||||
font-size: 14px;
|
||||
max-width: 200px;
|
||||
}
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: $text-color;
|
||||
}
|
||||
input[type="number"] {
|
||||
width: 68px;
|
||||
padding: 10px;
|
||||
border: 1px solid darken($content-border-color, 10);
|
||||
color: $text-color;
|
||||
border-radius: 4px;
|
||||
}
|
||||
}
|
||||
.total {
|
||||
text-align: right;
|
||||
padding: 30px 0 40px 0;
|
||||
.text {
|
||||
padding-right: 40px;
|
||||
font-size: 18px;
|
||||
}
|
||||
.price {
|
||||
font-size: 18px;
|
||||
color: $price-color;
|
||||
}
|
||||
.note {
|
||||
display: block;
|
||||
padding-top: 15px;
|
||||
}
|
||||
}
|
||||
.buttons {
|
||||
text-align: right;
|
||||
padding-bottom: 40px;
|
||||
.btn {
|
||||
margin: 0 0 10px 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.placeorder {
|
||||
h1 {
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 40px 0;
|
||||
font-size: 24px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
p {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.checkout, .myaccount {
|
||||
h1 {
|
||||
display: block;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 40px 0;
|
||||
font-size: 24px;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
}
|
||||
.shipping-details {
|
||||
width: 600px;
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
padding-bottom: 40px;
|
||||
h2 {
|
||||
width: 100%;
|
||||
font-weight: normal;
|
||||
font-size: 20px;
|
||||
padding: 30px 0 20px 0;
|
||||
margin: 0 0 10px 0;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
&:first-child {
|
||||
padding: 20px 0 20px 0;
|
||||
}
|
||||
}
|
||||
label {
|
||||
display: block;
|
||||
padding: 15px 0 10px 0;
|
||||
}
|
||||
.row1, .row2 {
|
||||
width: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
.row1 {
|
||||
padding-right: 10px;
|
||||
}
|
||||
.row2 {
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.checkout {
|
||||
.container {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.shipping-details {
|
||||
margin-right: 25px;
|
||||
width: 100%;
|
||||
}
|
||||
.payment-methods {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
label {
|
||||
text-decoration: none;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
border: 1px solid $content-border-color;
|
||||
border-radius: 5px;
|
||||
height: 60px;
|
||||
width: 159px;
|
||||
margin: 10px;
|
||||
font-weight: 500;
|
||||
color: lighten($header-color, 5);
|
||||
padding: 0;
|
||||
cursor: pointer;
|
||||
.fa-stripe {
|
||||
color: #6671E4;
|
||||
}
|
||||
&:nth-child(2), &:nth-child(8) {
|
||||
margin-left: 0;
|
||||
}
|
||||
&:nth-child(3n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
&:hover {
|
||||
border: 1px solid darken($content-border-color, 10);
|
||||
}
|
||||
}
|
||||
input {
|
||||
position: absolute;
|
||||
top: -9999px;
|
||||
left: -9999px;
|
||||
visibility: hidden;
|
||||
&:checked + label {
|
||||
border:2px solid #7ed1a1;
|
||||
}
|
||||
}
|
||||
}
|
||||
.cart-details {
|
||||
width: 90%;
|
||||
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.15);
|
||||
border-radius: 4px;
|
||||
margin-left: 25px;
|
||||
margin-bottom: 50px;
|
||||
h2 {
|
||||
margin: 0;
|
||||
padding: 23px 15px;
|
||||
font-weight: 500;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
}
|
||||
table {
|
||||
width: 100%;
|
||||
padding: 20px;
|
||||
.price {
|
||||
text-align: right;
|
||||
font-weight: 500;
|
||||
}
|
||||
td {
|
||||
padding: 5px;
|
||||
}
|
||||
}
|
||||
.discount-code {
|
||||
padding: 0 23px 23px 23px;
|
||||
.result {
|
||||
display: block;
|
||||
padding-top: 10px;
|
||||
}
|
||||
}
|
||||
.shipping-methods {
|
||||
border-top: 1px solid $content-border-color;
|
||||
padding: 23px;
|
||||
h3 {
|
||||
margin: 0;
|
||||
padding: 0 0 10px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.shipping-method {
|
||||
padding-top: 10px;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
.total {
|
||||
border-top: 1px solid $content-border-color;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 23px;
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
}
|
||||
.alt {
|
||||
font-size: 14px;
|
||||
color: mix($header-color, #fff, 45);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.summary {
|
||||
border-top: 1px solid $content-border-color;
|
||||
padding: 23px 0;
|
||||
div {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 10px 23px;
|
||||
span {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
}
|
||||
}
|
||||
.discount span {
|
||||
color: #de0000;
|
||||
}
|
||||
}
|
||||
.buttons {
|
||||
margin: 0 23px 23px 23px;
|
||||
.btn {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.myaccount {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
.menu {
|
||||
padding-right: 35px;
|
||||
width: 300px;
|
||||
a {
|
||||
display: block;
|
||||
text-decoration: none;
|
||||
color: lighten($text-color, 20);
|
||||
padding: 15px 0;
|
||||
border-bottom: 1px solid lighten($content-border-color,3);
|
||||
&:hover {
|
||||
color: darken($text-color, 10);
|
||||
}
|
||||
}
|
||||
}
|
||||
.myorders, .mydownloads, .settings {
|
||||
flex: 1;
|
||||
padding-bottom: 50px;
|
||||
}
|
||||
.myorders {
|
||||
.order {
|
||||
box-shadow: 0px 0px 4px 0px rgba(0,0,0,0.15);
|
||||
margin: 30px 0 30px 0;
|
||||
.order-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid lighten($content-border-color,3);
|
||||
> div {
|
||||
display: flex;
|
||||
padding: 15px;
|
||||
div {
|
||||
padding-right: 35px;
|
||||
&:last-child {
|
||||
padding-right: 0;
|
||||
}
|
||||
span {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.order-items {
|
||||
padding: 15px;
|
||||
table {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.settings {
|
||||
form {
|
||||
max-width: 400px;
|
||||
.btn {
|
||||
margin-top: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
form {
|
||||
width: 100%;
|
||||
}
|
||||
h2 {
|
||||
width: 100%;
|
||||
font-weight: normal;
|
||||
font-size: 20px;
|
||||
padding: 30px 0 20px 0;
|
||||
margin: 0 0 10px 0;
|
||||
border-bottom: 1px solid $content-border-color;
|
||||
}
|
||||
table {
|
||||
padding-bottom: 40px;
|
||||
tr:last-child td {
|
||||
border-bottom: 0;
|
||||
}
|
||||
a {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 40px;
|
||||
border: 1px solid $content-border-color;
|
||||
border-radius: 4px;
|
||||
padding: 0 10px;
|
||||
font-size: 14px;
|
||||
color: #de0000;
|
||||
margin: 0 5px 5px 0;
|
||||
&:hover {
|
||||
color: darken(#de0000, 10);
|
||||
}
|
||||
i {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
align-self: center;
|
||||
padding-right: 10px;
|
||||
margin-right: 10px;
|
||||
height: 100%;
|
||||
border-right: 1px solid $content-border-color;
|
||||
}
|
||||
}
|
||||
.name {
|
||||
word-break: break-all;
|
||||
}
|
||||
}
|
||||
.login-register {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
margin-top: 40px;
|
||||
h1 {
|
||||
text-align: left;
|
||||
padding-top: 15px;
|
||||
|
||||
}
|
||||
.login {
|
||||
width: 100%;
|
||||
border-right: 1px solid lighten($content-border-color, 3);
|
||||
padding-right: 45px;
|
||||
}
|
||||
.register {
|
||||
width: 100%;
|
||||
padding-left: 45px;
|
||||
}
|
||||
.btn {
|
||||
margin-top: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
p.error {
|
||||
color: red;
|
||||
}
|
||||
}
|
||||
.img-modal {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,.7);
|
||||
div {
|
||||
position: absolute;
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
width: 800px;
|
||||
height: 800px;
|
||||
max-width: 90%;
|
||||
max-height: 90%;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
background-color: #FFFFFF;
|
||||
padding: 15px;
|
||||
a {
|
||||
display: inline-flex;
|
||||
align-self: flex-end;
|
||||
text-decoration: none;
|
||||
font-size: 34px;
|
||||
line-height: 26px;
|
||||
color: lighten($text-color, 40);
|
||||
&:hover {
|
||||
color: lighten($text-color, 30);
|
||||
}
|
||||
}
|
||||
img {
|
||||
width: auto;
|
||||
height: auto;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
object-fit: contain;
|
||||
padding-top: 20px;
|
||||
padding-bottom: 25px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.btn {
|
||||
text-decoration: none;
|
||||
background: $btn-color;
|
||||
border: 0;
|
||||
color: #FFFFFF;
|
||||
padding: 11px 16px;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background: darken($btn-color, 3);
|
||||
}
|
||||
&:disabled {
|
||||
background: #ddd;
|
||||
}
|
||||
}
|
||||
.form-label {
|
||||
display: block;
|
||||
padding: 20px 0 10px 0;
|
||||
}
|
||||
.form-field {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
border: 1px solid darken($content-border-color, 10);
|
||||
border-radius: 4px;
|
||||
background-color: #fff;
|
||||
}
|
||||
footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
border-top: 1px solid $content-border-color;
|
||||
padding: 20px 0;
|
||||
width: 100%;
|
||||
a {
|
||||
text-decoration: none;
|
||||
color: $text-color;
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Responsive CSS below */
|
||||
@media screen and (max-width: $content-wrapper-width) {
|
||||
.rhide {
|
||||
display: none;
|
||||
}
|
||||
.content-wrapper {
|
||||
width: 100%;
|
||||
padding: 0 10px;
|
||||
}
|
||||
header {
|
||||
justify-content:space-between;
|
||||
h1 {
|
||||
font-size: 16px;
|
||||
flex-basis: auto;
|
||||
}
|
||||
nav {
|
||||
display: none;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: calc(100% + 1px);
|
||||
width: 100%;
|
||||
background-color: #FFFFFF;
|
||||
a {
|
||||
display: block;
|
||||
padding: 10px 12px;
|
||||
margin: 0;
|
||||
border-bottom: 1px solid lighten($content-border-color, 3);
|
||||
}
|
||||
}
|
||||
.link-icons {
|
||||
display: inline-flex;
|
||||
width: 100px;
|
||||
.responsive-toggle {
|
||||
display: block;
|
||||
}
|
||||
.search input {
|
||||
max-width: 150px;
|
||||
}
|
||||
}
|
||||
}
|
||||
main {
|
||||
.recentlyadded .products, .products .products-wrapper {
|
||||
justify-content: center;
|
||||
.product {
|
||||
width: auto;
|
||||
}
|
||||
}
|
||||
.featured {
|
||||
height: 300px;
|
||||
h2 {
|
||||
font-size: 48px;
|
||||
width: 100%;
|
||||
padding: 0 10px;
|
||||
}
|
||||
p {
|
||||
font-size: 22px;
|
||||
width: 100%;
|
||||
padding: 0 10px;
|
||||
}
|
||||
}
|
||||
> .products {
|
||||
.products-header {
|
||||
flex-flow: column;
|
||||
p {
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
form {
|
||||
display: flex;
|
||||
flex-flow: column;
|
||||
label {
|
||||
padding-top: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
> .product {
|
||||
padding: 0 10px;
|
||||
flex-flow: column;
|
||||
.product-imgs {
|
||||
padding: 20px 10px 0 10px;
|
||||
.product-img-large {
|
||||
height: 300px;
|
||||
}
|
||||
.product-small-imgs {
|
||||
.product-img-small {
|
||||
height: 80px;
|
||||
flex-basis: 30%;
|
||||
}
|
||||
}
|
||||
}
|
||||
form {
|
||||
input[type="number"], input[type="text"], input[type="datetime-local"], input[type="submit"], select {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.product-wrapper {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
.cart {
|
||||
table {
|
||||
input[type="number"] {
|
||||
width: 40px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.checkout, .myaccount {
|
||||
.container {
|
||||
flex-flow: column;
|
||||
}
|
||||
.shipping-details {
|
||||
.payment-methods {
|
||||
flex-flow: column;
|
||||
label {
|
||||
margin: 0 0 10px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.cart-details {
|
||||
margin: 0 0 40px 0;
|
||||
width: 100%;
|
||||
}
|
||||
form {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.myaccount {
|
||||
.login-register {
|
||||
flex-flow: column;
|
||||
.login {
|
||||
border-right: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
.register {
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
.menu {
|
||||
width: 100%;
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -78,6 +78,7 @@ $view = '
|
||||
|
||||
// Show loading when page initially loads
|
||||
showLoading();
|
||||
<<<<<<< HEAD
|
||||
|
||||
// Hide loading when everything is loaded
|
||||
window.addEventListener(\'load\', hideLoading);
|
||||
@@ -92,6 +93,22 @@ $view = '
|
||||
interceptNetworkRequests();
|
||||
|
||||
|
||||
=======
|
||||
|
||||
// Hide loading when everything is loaded
|
||||
window.addEventListener(\'load\', hideLoading);
|
||||
|
||||
// In case the page loads very quickly
|
||||
setTimeout(hideLoading, 500);
|
||||
|
||||
// Intercept form submissions
|
||||
setupFormInterception();
|
||||
|
||||
// Intercept fetch and XMLHttpRequest
|
||||
interceptNetworkRequests();
|
||||
|
||||
|
||||
>>>>>>> development
|
||||
// Intercept all form submissions
|
||||
function setupFormInterception() {
|
||||
const forms = document.querySelectorAll(\'form\');
|
||||
@@ -176,7 +193,11 @@ $view = '
|
||||
</div>
|
||||
<div>
|
||||
<span class="star-rating">★★★★★</span>
|
||||
<<<<<<< HEAD
|
||||
'.($header_rating ?? 'Client rate 4.7/5.0').'
|
||||
=======
|
||||
'.($header_rating ?? 'Client rate 5.0/5.0').'
|
||||
>>>>>>> development
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -193,6 +214,10 @@ $view = '
|
||||
<ul class="nav-links">
|
||||
<li><a href="'.url('index.php').'">'.$home_text.'</a></li>
|
||||
<li><a href="'.url(link_to_collection).'">'.$products_text.'</a></li>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
<li><a href="'.url('index.php?page=dealers').'">'.($dealer_text ?? 'Dealers').'</a></li>
|
||||
>>>>>>> development
|
||||
<li><a href="'.url('index.php?page=about').'">'.$about_text.'</a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
@@ -250,6 +275,10 @@ $view = '
|
||||
<ul class="mobile-nav-links">
|
||||
<li><a href="'.url('index.php').'">'.$home_text.'</a></li>
|
||||
<li><a href="'.url(link_to_collection).'">'.$products_text.'</a></li>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
<li><a href="'.url('index.php?page=dealers').'">'.($dealer_text ?? 'Dealers').'</a></li>
|
||||
>>>>>>> development
|
||||
<li><a href="'.url('index.php?page=about').'">'.$about_text.'</a></li>
|
||||
<li><a href="'.url('index.php?page=cart').'">Cart</a></li>
|
||||
<li><a href="'.url('index.php?page=myaccount').'">Account</a></li>
|
||||
@@ -434,6 +463,7 @@ function template_menu(){
|
||||
$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);
|
||||
$dealer_link = url('index.php?page=dealers');
|
||||
$about_link = url('index.php?page=about');
|
||||
$myaccount_link = url('index.php?page=myaccount');
|
||||
$cart_link = url('index.php?page=cart');
|
||||
@@ -461,6 +491,7 @@ function template_menu(){
|
||||
<nav style="flex-grow: 1;flex-basis: 0px;justify-content: center;align-items: center;text-align: center;">
|
||||
<a href="$home_link">$home_text</a>
|
||||
<a href="$products_link">$products_text</a>
|
||||
<a href="$dealer_link">Dealers</a>
|
||||
<a href="$about_link">$about_text</a>
|
||||
</nav>
|
||||
<div class="link-icons">
|
||||
@@ -512,7 +543,11 @@ function template_menu(){
|
||||
// Template footer
|
||||
function template_footer() {
|
||||
include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
/*
|
||||
>>>>>>> development
|
||||
$footer = '
|
||||
<section class="newsletter">
|
||||
<div class="container newsletter-container">
|
||||
@@ -536,7 +571,13 @@ function template_footer() {
|
||||
<button type="submit" class="btn-submit">'.($newsletter_submit ?? 'submit').'</button>
|
||||
</div>
|
||||
</div>
|
||||
<<<<<<< HEAD
|
||||
</section>
|
||||
=======
|
||||
</section>';
|
||||
*/
|
||||
$footer = '
|
||||
>>>>>>> development
|
||||
<footer class="footer">
|
||||
<div class="container footer-container">
|
||||
<div class="footer-info">
|
||||
@@ -546,23 +587,44 @@ function template_footer() {
|
||||
</div>
|
||||
<div class="social-icons">
|
||||
<a href="'.instagram_link.'" class="social-icon">
|
||||
<<<<<<< HEAD
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
=======
|
||||
<svg width="45" height="45" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
>>>>>>> development
|
||||
<path d="M21.5 7.5V16.5C21.5 19 19.5 21 17 21H7C4.5 21 2.5 19 2.5 16.5V7.5C2.5 5 4.5 3 7 3H17C19.5 3 21.5 5 21.5 7.5Z" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M12 15.5C13.933 15.5 15.5 13.933 15.5 12C15.5 10.067 13.933 8.5 12 8.5C10.067 8.5 8.5 10.067 8.5 12C8.5 13.933 10.067 15.5 12 15.5Z" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M17.5 7.5H17.51" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</a>
|
||||
<a href="'.facebook_link.'" class="social-icon">
|
||||
<<<<<<< HEAD
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
=======
|
||||
<svg width="45" height="45" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
>>>>>>> development
|
||||
<path d="M14 9.3V12.2H16.6C16.8 12.2 16.9 12.4 16.9 12.6L16.5 14.5C16.5 14.6 16.3 14.7 16.2 14.7H14V22H11V14.8H9.3C9.1 14.8 9 14.7 9 14.5V12.6C9 12.4 9.1 12.3 9.3 12.3H11V9C11 7.3 12.3 6 14 6H16.7C16.9 6 17 6.1 17 6.3V8.7C17 8.9 16.9 9 16.7 9H14.3C14.1 9 14 9.1 14 9.3Z" stroke="#1f3d6b" stroke-width="1.5" stroke-miterlimit="10" stroke-linecap="round"/>
|
||||
<path d="M15 22H9C4 22 2 20 2 15V9C2 4 4 2 9 2H15C20 2 22 4 22 9V15C22 20 20 22 15 22Z" stroke="#1f3d6b" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</a>
|
||||
<<<<<<< HEAD
|
||||
<a href="#" class="social-icon">
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M16 4H8C6.34315 4 5 5.34315 5 7V17C5 18.6569 6.34315 20 8 20H16C17.6569 20 19 18.6569 19 17V7C19 5.34315 17.6569 4 16 4Z" stroke="#1f3d6b" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M9 12V16M9 8.8V9M15 12V16M15 8.8V9" stroke="#1f3d6b" stroke-width="1.5" stroke-linecap="round"/>
|
||||
</svg>
|
||||
=======
|
||||
<a href="https://wa.me/'.footer_phone.'?text=Hello%20I%20have%20a%20question!" class="social-icon">
|
||||
<svg width="45" height="45" viewBox="0 0 45 45" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="22.5" cy="22.5" r="22.5" fill="#25D366"/>
|
||||
<g transform="translate(9, 9)">
|
||||
<!-- Speech bubble -->
|
||||
<path d="M13.5 3C19.299 3 24 7.701 24 13.5C24 19.299 19.299 24 13.5 24C11.8395 24 10.2673 23.6203 8.8584 22.9383L3 24L4.0617 18.1416C3.3797 16.7327 3 15.1605 3 13.5C3 7.701 7.701 3 13.5 3Z" fill="white"/>
|
||||
<!-- Phone handset -->
|
||||
<path d="M11.2 9.8C11.0 9.4 10.8 9.39 10.6 9.38C10.45 9.37 10.28 9.37 10.11 9.37C9.94 9.37 9.64 9.44 9.39 9.69C9.14 9.94 8.5 10.54 8.5 11.76C8.5 12.98 9.4 14.16 9.52 14.33C9.64 14.5 11.26 17.06 13.83 18.12C15.96 19 16.4 18.82 16.89 18.78C17.38 18.74 18.35 18.18 18.56 17.6C18.77 17.02 18.77 16.52 18.7 16.41C18.63 16.3 18.46 16.23 18.2 16.09C17.94 15.95 16.72 15.35 16.48 15.26C16.24 15.17 16.07 15.13 15.9 15.39C15.73 15.65 15.26 16.23 15.11 16.4C14.96 16.57 14.81 16.59 14.55 16.45C14.29 16.31 13.49 16.05 12.54 15.21C11.8 14.56 11.31 13.77 11.16 13.51C11.01 13.25 11.14 13.11 11.28 12.97C11.4 12.85 11.55 12.65 11.69 12.5C11.83 12.35 11.87 12.24 11.96 12.07C12.05 11.9 12.01 11.75 11.94 11.61C11.87 11.47 11.38 10.25 11.2 9.8Z" fill="#25D366"/>
|
||||
</g>
|
||||
</svg>
|
||||
>>>>>>> development
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -570,19 +632,32 @@ function template_footer() {
|
||||
<div class="container">
|
||||
<div class="payment-methods">
|
||||
<img src="'.base_url.'custom/assets/iDEAL.png" alt="iDeal" class="payment-method">
|
||||
<<<<<<< HEAD
|
||||
<img src="'.base_url.'custom/assets/mastercard.png" alt="Mastercard" class="payment-method">
|
||||
<img src="'.base_url.'custom/assets/visa.png" alt="Visa" class="payment-method">
|
||||
=======
|
||||
<!-- <img src="'.base_url.'custom/assets/mastercard.png" alt="Mastercard" class="payment-method"> -->
|
||||
<!-- <img src="'.base_url.'custom/assets/visa.png" alt="Visa" class="payment-method"> -->
|
||||
>>>>>>> development
|
||||
<img src="'.base_url.'custom/assets/paypal.png" alt="Pay Pal" class="payment-method">
|
||||
</div>
|
||||
|
||||
<div class="footer-bottom">
|
||||
<div class="copyright">
|
||||
©2025 All rights reserved
|
||||
<<<<<<< HEAD
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="'.termsandconditions_link.'">'.$terms_text.'</a>
|
||||
<a href="'.privacy_link.'">'.$privacy_text.'</a>
|
||||
</div>
|
||||
=======
|
||||
</div>
|
||||
<div class="footer-links">
|
||||
<a href="'.termsandconditions_link.'">'.$terms_text.'</a>
|
||||
<a href="'.privacy_link.'">'.$privacy_text.'</a>
|
||||
</div>
|
||||
>>>>>>> development
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -672,176 +747,140 @@ echo <<<EOT
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,minimum-scale=1">
|
||||
<title>$site_name</title>
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "segoe ui", roboto, oxygen, ubuntu, cantarell, "fira sans", "droid sans", "helvetica neue", Arial, sans-serif;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
width:90%;
|
||||
margin: auto;
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
|
||||
header {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
header img {
|
||||
padding: 24px 0;
|
||||
}
|
||||
|
||||
.container {
|
||||
position: relative;
|
||||
text-align: center;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.emailfooter{
|
||||
margin: 50px;
|
||||
text-align: center;
|
||||
border-top: 1px solid #EEEEEE;
|
||||
}
|
||||
|
||||
.emailfooter a {
|
||||
text-decoration: none;
|
||||
color: #555555;
|
||||
cursor: pointer;
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
main .order-table {
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background: #fff;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
color: #222;
|
||||
}
|
||||
.content-wrapper {
|
||||
width: 100%;
|
||||
max-width: 700px;
|
||||
margin: auto;
|
||||
padding: 24px 8px 40px 8px;
|
||||
}
|
||||
|
||||
main .order-table .item-list-end {
|
||||
border-bottom: 1px solid #0e0f10;
|
||||
header, .header-table td {
|
||||
font-family: inherit;
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
color: #222;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
main .order-table .subtotal {
|
||||
padding-top: 20px;
|
||||
|
||||
header h1, header h2, header h3 {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
margin: 16px 0 8px 0;
|
||||
}
|
||||
|
||||
main .order-table .subtotal, main .order-table .shipping, main .order-table .tax , main .order-table .total {
|
||||
text-align: right;
|
||||
font-weight: 500;
|
||||
font-size: 12px;
|
||||
.order-table th, .order-table td {
|
||||
font-family: inherit;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
padding: 8px 4px;
|
||||
}
|
||||
|
||||
main .order-table .num {
|
||||
text-align: right;
|
||||
.order-table th {
|
||||
background: #f5f5f5;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
main .manage-order-table input, main .manage-order-table select {
|
||||
border: 0;
|
||||
padding: 5px 0;
|
||||
height: 40px;
|
||||
background: transparent;
|
||||
width: 90%;
|
||||
border-bottom: 1px solid #dedfe1;
|
||||
header img {
|
||||
max-width: 220px;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
display: block;
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
main .manage-order-table .add-item {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
color: #676d72;
|
||||
padding: 25px 0;
|
||||
.header-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
main .manage-order-table .add-item i {
|
||||
padding-right: 5px;
|
||||
.header-table td {
|
||||
vertical-align: top;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
main .manage-order-table .add-item:hover {
|
||||
color: #4f5357;
|
||||
.order-table table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
main .manage-order-table .delete-item {
|
||||
cursor: pointer;
|
||||
color: #676d72;
|
||||
.order-table th, .order-table td {
|
||||
padding: 8px 4px;
|
||||
font-size: 14px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
main .manage-order-table .delete-item:hover {
|
||||
color: #b44a4a;
|
||||
.order-table th {
|
||||
background: #f5f5f5;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.table table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
.order-table .num {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.table table thead td {
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
padding: 15px 0;
|
||||
.order-table tr.item-list-end td {
|
||||
border-bottom: 2px solid #0e0f10;
|
||||
}
|
||||
|
||||
.table table thead td a {
|
||||
font-weight: inherit;
|
||||
font-size: inherit;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
.subtotal, .shipping, .tax, .total {
|
||||
font-weight: bold;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.table table thead td i {
|
||||
padding-left: 5px;
|
||||
.emailfooter {
|
||||
margin: 32px 0 0 0;
|
||||
text-align: center;
|
||||
border-top: 1px solid #eee;
|
||||
padding-top: 16px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.table table thead tr {
|
||||
border-bottom: 1px solid #0e0f10;
|
||||
.emailfooter a {
|
||||
margin: 0 8px;
|
||||
color: #555;
|
||||
text-decoration: none;
|
||||
font-size: inherit;
|
||||
}
|
||||
|
||||
.table table tbody tr:first-child td {
|
||||
padding-top: 10px;
|
||||
@media only screen and (max-width: 600px) {
|
||||
.order-table {
|
||||
width: 100%;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.table table tbody td {
|
||||
padding: 5px 0;
|
||||
.order-table table {
|
||||
min-width: 600px;
|
||||
width: 100%;
|
||||
display: table;
|
||||
}
|
||||
|
||||
.table table tbody .img {
|
||||
padding: 1px 0;
|
||||
.order-table th, .order-table td {
|
||||
display: table-cell;
|
||||
width: auto !important;
|
||||
padding: 8px 4px;
|
||||
font-size: 13px;
|
||||
text-align: left;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.table table tbody .rrp {
|
||||
color: #e26060;
|
||||
.order-table thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
|
||||
.table table tbody .status {
|
||||
padding: 4px 7px;
|
||||
border-radius: 4px;
|
||||
background-color: #81848a;
|
||||
font-weight: 500;
|
||||
font-size: 12px;
|
||||
color: #fff;
|
||||
.order-table tr {
|
||||
display: table-row;
|
||||
margin-bottom: 0;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.table table tbody .status.completed, .table table tbody .status.shipped {
|
||||
background-color: #13b368;
|
||||
.order-table .num {
|
||||
text-align: right !important;
|
||||
}
|
||||
|
||||
.table table tbody .status.pending {
|
||||
background-color: #eb8a0d;
|
||||
}
|
||||
|
||||
.table table tbody .status.refunded, .table table tbody .status.failed, .table table tbody .status.cancelled, .table table tbody .status.reversed {
|
||||
background-color: #bd4141;
|
||||
}
|
||||
</style>
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<div class="content-wrapper">
|
||||
<table style="border-collapse:collapse;width:100%;">
|
||||
<table class="header-table">
|
||||
<tr>
|
||||
<td width="75%">
|
||||
<a href="$home_link" style="color:inherit;text-decoration:inherit;">
|
||||
<img src="$featured_order_image" alt="$site_name" width="50%" />
|
||||
<td>
|
||||
<a href="$home_link">
|
||||
<img src="$featured_order_image" alt="$site_name" style="max-width: 220px;width: 100%;height: auto;display: block; smargin-bottom: 16px;" />
|
||||
</a>
|
||||
</td>
|
||||
<td width="25%">
|
||||
<td>
|
||||
$company_name<br>
|
||||
$company_adres<br>
|
||||
$company_postal $company_city<br>
|
||||
|
||||
@@ -1,5 +1,16 @@
|
||||
<?php defined(security_key) or exit; ?>
|
||||
<?php
|
||||
//defined(security_key) or exit;
|
||||
|
||||
template_order_email_header('');
|
||||
|
||||
include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
include './custom/settings/settings.php';
|
||||
|
||||
//GET USER COUNTRY FROM ID
|
||||
$country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope[$address_country]} ?? $countries_in_scope[$address_country]) : "";
|
||||
?>
|
||||
|
||||
<<<<<<< HEAD
|
||||
<?=template_order_email_header('')?>
|
||||
<?php
|
||||
include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
@@ -33,18 +44,49 @@ $country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope
|
||||
<main>
|
||||
<div class="content-wrapper">
|
||||
<div class="table order-table">
|
||||
=======
|
||||
</tr>
|
||||
<tr><td><br></td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?=$address_name?><br>
|
||||
<?=$address_street?><br>
|
||||
<?=$address_zip?>, <?=$address_city?><br>
|
||||
<?=$country?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><br></td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<p><b><?=$order_number_text ?? 'Order' ?>:</b> <?=$order_id?></p>
|
||||
<p><b><?=$order_date_text ?? 'Date'?>:</b><?php echo date("Y-m-d");?></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<h1><?=$order_email_message_1?></h1>
|
||||
<p><?=$order_email_message_2?></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</header>
|
||||
<main>
|
||||
<div class="content-wrapper" style="width:100%;max-width:700px;margin:auto;">
|
||||
<div class="table order-table">
|
||||
>>>>>>> development
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td><?=$tr_product ?? 'Product' ?></td>
|
||||
<td><?=$tr_options ?? 'Options' ?></td>
|
||||
<td><?=$tr_quantity ?? 'Quantity'?></td>
|
||||
<td><?=$tr_price ?? 'Price' ?></td>
|
||||
<td style="text-align:right;"><?=$tr_total?></td>
|
||||
<th><?=$tr_product ?? 'Product' ?></th>
|
||||
<th><?=$tr_options ?? 'Options' ?></th>
|
||||
<th><?=$tr_quantity ?? 'Quantity'?></th>
|
||||
<th><?=$tr_price ?? 'Price' ?></th>
|
||||
<th style="text-align:right;"><?=$tr_total?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($products['products'] as $product): ?>
|
||||
<?php foreach($products['products'] as $product): ?>
|
||||
<?php
|
||||
if (isset($product['options']) && $product['options'] !=''){
|
||||
$prod_options = '';
|
||||
@@ -55,20 +97,20 @@ $country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope
|
||||
?>
|
||||
<tr>
|
||||
<td><?=${$product['meta']['name']} ?? $product['meta']['name']?></td>
|
||||
<td><?=htmlspecialchars(substr($prod_options, 0,-2), ENT_QUOTES)?></td>
|
||||
<td><?=htmlspecialchars(substr($prod_options, 0,-2), ENT_QUOTES)?></td>
|
||||
<td><?=$product['quantity']?></td>
|
||||
<td><?=currency_code?><?=number_format($product['options_price'],2)?></td>
|
||||
<td style="text-align:right;"><?=number_format($product['options_price'] * $product['quantity'],2)?></td>
|
||||
<td class="num"><?=number_format($product['options_price'] * $product['quantity'],2)?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<tr>
|
||||
<td colspan="5" class="item-list-end"></td>
|
||||
<?php endforeach; ?>
|
||||
<tr class="item-list-end">
|
||||
<td colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="subtotal"><?=$total_subtotal?></td>
|
||||
<td class="num"><?=currency_code?><?=number_format($subtotal,2)?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td colspan="4" class="subtotal"><?=$total_discount?></td>
|
||||
<td class="num"><?=currency_code?><?=number_format($discounttotal,2)?></td>
|
||||
</tr>
|
||||
@@ -86,7 +128,7 @@ $country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?=template_order_email_footer()?>
|
||||
<?php template_order_email_footer(); ?>
|
||||
@@ -1,7 +1,16 @@
|
||||
<?php
|
||||
//(defined(security_key) or defined('admin')) or exit;
|
||||
|
||||
//(defined(security_key) or defined('admin')) or exit; ?>
|
||||
template_order_email_header($user_language);
|
||||
|
||||
include './custom/translations/translations_'.strtoupper($user_language).'.php';
|
||||
include './custom/settings/settings.php';
|
||||
|
||||
//GET USER COUNTRY FROM ID
|
||||
$country = isset($countries_in_scope[$invoice_cust['customer']['country']]) ? (${$countries_in_scope[$invoice_cust['customer']['country']]} ?? $countries_in_scope[$invoice_cust['customer']['country']]) : "";
|
||||
?>
|
||||
|
||||
<<<<<<< HEAD
|
||||
<?=template_order_email_header($user_language)?>
|
||||
<?php
|
||||
|
||||
@@ -33,21 +42,42 @@ $country = isset($countries_in_scope[$invoice_cust['customer']['country']]) ? ($
|
||||
</header>
|
||||
<main>
|
||||
<div class="content-wrapper">
|
||||
=======
|
||||
</tr>
|
||||
<tr><td><br></td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?=$invoice_cust['customer']['name']?><br>
|
||||
<?=$invoice_cust['customer']['street']?><br>
|
||||
<?=$invoice_cust['customer']['zip']?>, <?=$invoice_cust['customer']['city']?><br>
|
||||
<?=$country?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><br></td></tr>
|
||||
<tr>
|
||||
<td><h2><?=$order_invoice_text ?? 'Invoice'?>: <?=$invoice_cust['invoice']['id']?></h2></td>
|
||||
<td><p><?=$order_date_text ?? 'Date'?>: <?php echo date("Y-m-d", strtotime($invoice_cust['invoice']['created']))?></p></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</header>
|
||||
<main>
|
||||
<div class="content-wrapper" style="width:100%;max-width:700px;margin:auto;">
|
||||
>>>>>>> development
|
||||
<div class="table order-table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td><?=$tr_product ?? 'Product' ?></td>
|
||||
<td><?=$tr_options ?? 'Options' ?></td>
|
||||
<td><?=$tr_quantity ?? 'Quantity'?></td>
|
||||
<td><?=$tr_price ?? 'Price' ?></td>
|
||||
<td style="text-align:right;"><?=$tr_total?></td>
|
||||
<th><?=$tr_product ?? 'Product' ?></th>
|
||||
<th><?=$tr_options ?? 'Options' ?></th>
|
||||
<th><?=$tr_quantity ?? 'Quantity'?></th>
|
||||
<th><?=$tr_price ?? 'Price' ?></th>
|
||||
<th style="text-align:right;"><?=$tr_total?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
<?php
|
||||
foreach($invoice_cust['products'] as $product): ?>
|
||||
|
||||
<?php
|
||||
if (isset($product['options']) && $product['options'] !=''){
|
||||
$prod_options = '';
|
||||
@@ -58,20 +88,20 @@ $country = isset($countries_in_scope[$invoice_cust['customer']['country']]) ? ($
|
||||
?>
|
||||
<tr>
|
||||
<td><?=${$product['product_name']} ?? $product['product_name'] ?></td>
|
||||
<td><?=htmlspecialchars(substr($prod_options, 0,-2), ENT_QUOTES)?></td>
|
||||
<td><?=htmlspecialchars(substr($prod_options, 0,-2), ENT_QUOTES)?></td>
|
||||
<td><?=$product['quantity']?></td>
|
||||
<td><?=currency_code?> <?=number_format($product['price'],2)?></td>
|
||||
<td style="text-align:right;"><?=currency_code?> <?=number_format($product['line_total'],2)?></td>
|
||||
<td class="num"><?=currency_code?> <?=number_format($product['line_total'],2)?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<tr>
|
||||
<td colspan="5" class="item-list-end"></td>
|
||||
<?php endforeach; ?>
|
||||
<tr class="item-list-end">
|
||||
<td colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="subtotal"><?=$total_subtotal?></td>
|
||||
<td class="num"><?=currency_code?> <?=number_format($invoice_cust['pricing']['subtotal'],2)?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td colspan="4" class="subtotal"><?=$total_discount?></td>
|
||||
<td class="num"><?=currency_code?> <?=number_format($invoice_cust['pricing']['discount_total'],2)?></td>
|
||||
</tr>
|
||||
@@ -89,12 +119,12 @@ $country = isset($countries_in_scope[$invoice_cust['customer']['country']]) ? ($
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<?php if($invoice_cust['invoice']['payment_status'] === 1){
|
||||
</div>
|
||||
<?php if($invoice_cust['invoice']['payment_status'] === 1){
|
||||
echo '
|
||||
<div class="content-wrapper">
|
||||
<p>'.($invoice_payment_paid_text ?? 'Het totaalbedrag van deze factuur is betaald').'</p>
|
||||
</div>';
|
||||
}
|
||||
?>
|
||||
?>
|
||||
@@ -1,13 +1,18 @@
|
||||
<?php defined(security_key) or exit; ?>
|
||||
<?php defined(security_key) or exit;
|
||||
|
||||
<<<<<<< HEAD
|
||||
<?=template_order_email_header('')?>
|
||||
<?php
|
||||
=======
|
||||
template_order_email_header('');
|
||||
>>>>>>> development
|
||||
|
||||
include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
include './custom/settings/settings.php';
|
||||
|
||||
//GET USER COUNTRY FROM ID
|
||||
$country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope[$address_country]} ?? $countries_in_scope[$address_country]) : "";
|
||||
<<<<<<< HEAD
|
||||
|
||||
?>
|
||||
|
||||
@@ -36,18 +41,49 @@ $country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope
|
||||
<main>
|
||||
<div class="content-wrapper">
|
||||
<div class="table order-table">
|
||||
=======
|
||||
?>
|
||||
|
||||
</tr>
|
||||
<tr><td><br></td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<?=$address_name?><br>
|
||||
<?=$address_street?><br>
|
||||
<?=$address_zip?>, <?=$address_city?><br>
|
||||
<?=$country?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><br></td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
<h1><?=$order_email_message_1?></h1>
|
||||
<p><?=$order_email_message_2?></p>
|
||||
</td>
|
||||
<td>
|
||||
<p><?=$order_invoice_text ?? 'Order'?>: <?=$order_id?></p>
|
||||
<p><?=$order_date_text ?? 'Date'?>: <?php echo date("Y-m-d");?></p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</header>
|
||||
<main>
|
||||
<div class="content-wrapper" style="width:100%;max-width:700px;margin:auto;">
|
||||
<div class="table order-table">
|
||||
>>>>>>> development
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td><?=$tr_product ?? 'Product' ?></td>
|
||||
<td><?=$tr_options ?? 'Options' ?></td>
|
||||
<td><?=$tr_quantity ?? 'Quantity'?></td>
|
||||
<td><?=$tr_price ?? 'Price' ?></td>
|
||||
<td style="text-align:right;"><?=$tr_total?></td>
|
||||
<th><?=$tr_product ?? 'Product' ?></th>
|
||||
<th><?=$tr_options ?? 'Options' ?></th>
|
||||
<th><?=$tr_quantity ?? 'Quantity'?></th>
|
||||
<th><?=$tr_price ?? 'Price' ?></th>
|
||||
<th style="text-align:right;"><?=$tr_total?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($products['products'] as $product): ?>
|
||||
<?php foreach($products['products'] as $product): ?>
|
||||
<?php
|
||||
if (isset($product['options']) && $product['options'] !=''){
|
||||
$prod_options = '';
|
||||
@@ -57,21 +93,21 @@ $country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope
|
||||
}
|
||||
?>
|
||||
<tr>
|
||||
<td><?=${$product['product_name']} ?? $product['product_name']?></td>
|
||||
<td><?=htmlspecialchars(substr($prod_options, 0,-2), ENT_QUOTES)?></td>
|
||||
<td><?=${$product['meta']['name']} ?? $product['meta']['name']?></td>
|
||||
<td><?=htmlspecialchars(substr($prod_options, 0,-2), ENT_QUOTES)?></td>
|
||||
<td><?=$product['quantity']?></td>
|
||||
<td><?=currency_code?><?=number_format($product['options_price'],2)?></td>
|
||||
<td style="text-align:right;"><?=number_format($product['options_price'] * $product['quantity'],2)?></td>
|
||||
<td class="num"><?=number_format($product['options_price'] * $product['quantity'],2)?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
<tr>
|
||||
<td colspan="5" class="item-list-end"></td>
|
||||
<?php endforeach; ?>
|
||||
<tr class="item-list-end">
|
||||
<td colspan="5"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="4" class="subtotal"><?=$total_subtotal?></td>
|
||||
<td class="num"><?=currency_code?><?=number_format($subtotal,2)?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<tr>
|
||||
<td colspan="4" class="subtotal"><?=$total_discount?></td>
|
||||
<td class="num"><?=currency_code?><?=number_format($discounttotal,2)?></td>
|
||||
</tr>
|
||||
@@ -89,7 +125,6 @@ $country = isset($countries_in_scope[$address_country]) ? (${$countries_in_scope
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?=template_order_email_footer()?>
|
||||
</div>
|
||||
<?php template_order_email_footer();?>
|
||||
@@ -10,6 +10,10 @@ $view .= '
|
||||
<section class="hero" style="background-image:url('.base_url.featured_about_image.');">
|
||||
<div class="hero-content">
|
||||
<h1>'.$h2_about_1.'</h1>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
<a href="'.url(link_to_collection).'" class="hero-btn">'.$h2_brand_visit.'</a>
|
||||
>>>>>>> development
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
@@ -11,6 +11,10 @@ $view .= '
|
||||
<section class="hero" style="background-image:url('.base_url.featured_about_morval_image.');">
|
||||
<div class="hero-content">
|
||||
<h1>'.$h2_about_morval_1.'</h1>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
<a href="'.url(link_to_collection).'" class="hero-btn">'.$h2_brand_visit.'</a>
|
||||
>>>>>>> development
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
||||
153
custom/pages/dealers.php
Normal file
153
custom/pages/dealers.php
Normal file
@@ -0,0 +1,153 @@
|
||||
<?php
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Prevent direct access to file
|
||||
// ++++++++++++++++++++++++++++++
|
||||
|
||||
defined(security_key) or exit;
|
||||
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Include header
|
||||
// ++++++++++++++++++++++++++++++
|
||||
$view = template_header(($dealers_page_title ?? 'Our Dealers'), '');
|
||||
|
||||
$view .= '
|
||||
<!-- Hero Section -->
|
||||
<section class="hero" style="background-image:url('.base_url.featured_store_image.');">
|
||||
<div class="hero-content">
|
||||
<h1>'.($dealers_hero_title ?? 'Find a Morval Dealer').'</h1>
|
||||
<p style="color: white; font-size: 1.2rem; margin-top: 1rem;">'.($dealers_hero_subtitle ?? 'Discover our timepieces at authorized retailers').'</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Dealers Section -->
|
||||
<div class="dealers-section">
|
||||
<div class="container">
|
||||
<div class="section-intro">
|
||||
<h2>'.($dealers_section_title ?? 'Authorized Dealers').'</h2>
|
||||
<p>'.($dealers_section_description ?? 'Visit one of our trusted partners to experience Morval watches firsthand and receive expert guidance.').'</p>
|
||||
</div>
|
||||
|
||||
<div class="dealers-grid">
|
||||
<!-- Dealer 1 -->
|
||||
<div class="dealer-card">
|
||||
<div class="dealer-header">
|
||||
<h3>Tuijn Juwelier</h3>
|
||||
<span class="dealer-location">Alphen aan den Rijn</span>
|
||||
</div>
|
||||
<div class="dealer-info">
|
||||
<div class="info-item">
|
||||
<i class="icon-location"></i>
|
||||
<div>
|
||||
<span>Aarkade 2</span>
|
||||
<span>2406 BV, Alphen aan den Rijn</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<i class="icon-phone"></i>
|
||||
<a href="tel:0172473035">0172 473 035</a>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<i class="icon-email"></i>
|
||||
<a href="mailto:info@tuijnjuwelier.nl">info@tuijnjuwelier.nl</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dealer-actions">
|
||||
<a href="tel:0172473035" class="btn btn-secondary">'.($btn_call ?? 'Call').'</a>
|
||||
<a href="mailto:info@tuijnjuwelier.nl" class="btn btn-outline">'.($btn_email ?? 'Email').'</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dealer 2 -->
|
||||
<div class="dealer-card">
|
||||
<div class="dealer-header">
|
||||
<h3>Juwelier Meier</h3>
|
||||
<span class="dealer-location">Best</span>
|
||||
</div>
|
||||
<div class="dealer-info">
|
||||
<div class="info-item">
|
||||
<i class="icon-location"></i>
|
||||
<div>
|
||||
<span>Boterhoek 7</span>
|
||||
<span>5683 AS Best</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<i class="icon-phone"></i>
|
||||
<a href="tel:0499372250">0499 - 372250</a>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<i class="icon-email"></i>
|
||||
<a href="mailto:johnchmeier@gmail.com">johnchmeier@gmail.com</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dealer-actions">
|
||||
<a href="tel:0499372250" class="btn btn-secondary">'.($btn_call ?? 'Call').'</a>
|
||||
<a href="mailto:johnchmeier@gmail.com" class="btn btn-outline">'.($btn_email ?? 'Email').'</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Dealer 3 -->
|
||||
<div class="dealer-card">
|
||||
<div class="dealer-header">
|
||||
<h3>Juwelier Opaal</h3>
|
||||
<span class="dealer-location">Sint-Oedenrode</span>
|
||||
</div>
|
||||
<div class="dealer-info">
|
||||
<div class="info-item">
|
||||
<i class="icon-location"></i>
|
||||
<div>
|
||||
<span>Heuvel 40</span>
|
||||
<span>5492 AD Sint-Oedenrode</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<i class="icon-phone"></i>
|
||||
<a href="tel:0413472784">0413 - 472784</a>
|
||||
</div>
|
||||
<div class="info-item">
|
||||
<i class="icon-email"></i>
|
||||
<a href="mailto:info@juwelieropaal.nl">info@juwelieropaal.nl</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dealer-actions">
|
||||
<a href="tel:0413472784" class="btn btn-secondary">'.($btn_call ?? 'Call').'</a>
|
||||
<a href="mailto:info@juwelieropaal.nl" class="btn btn-outline">'.($btn_email ?? 'Email').'</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Become a Dealer Section -->
|
||||
<div class="become-dealer-section">
|
||||
<div class="container">
|
||||
<div class="become-dealer-content">
|
||||
<div class="become-dealer-text">
|
||||
<h2>'.($become_dealer_title ?? 'Become a Morval Dealer').'</h2>
|
||||
<p>'.($become_dealer_description ?? 'Are you a jeweler and would you like to include our watches in your range?').'</p>
|
||||
<div class="contact-options">
|
||||
<a href="mailto:info@morvalwatches.com" class="btn btn-primary">
|
||||
<i class="icon-email"></i>
|
||||
info@morvalwatches.com
|
||||
</a>
|
||||
<a href="https://wa.me/'.footer_phone.'" class="btn btn-whatsapp" target="_blank">
|
||||
<i class="icon-whatsapp"></i>
|
||||
WhatsApp
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="become-dealer-image">
|
||||
<div class="image-placeholder">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>';
|
||||
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Include footer
|
||||
// ++++++++++++++++++++++++++++++
|
||||
$view .= template_footer();
|
||||
|
||||
echo $view;
|
||||
?>
|
||||
@@ -5,12 +5,12 @@ define('security_key','MorvalWatches');
|
||||
define('site_name','MorvalWatches');
|
||||
// This will change the title on browser TAB
|
||||
define('site_title','MorvalWatches');
|
||||
// Currency code, default is USD, you can view the list here: http://cactus.io/resources/toolbox/html-currency-symbol-codes
|
||||
// Currency code, default is USD
|
||||
define('currency_code','€');
|
||||
//Default Countrycode during checkout
|
||||
define('country_default','');
|
||||
define('country_default','nl');
|
||||
//Default language for translations -> refers to include file translations_XX.php
|
||||
define('language_code','US');
|
||||
define('language_code','NL');
|
||||
// Default age verification
|
||||
define('age_verification_enabled',false);
|
||||
//Enable VeLiTi-analytics
|
||||
@@ -47,7 +47,11 @@ define('category_id_highlighted_products_2','22');
|
||||
//Show small images from configuration
|
||||
define('show_option_images',false);
|
||||
// Default category_id for suggestions
|
||||
<<<<<<< HEAD
|
||||
define('category_id_checkout_suggestions','');
|
||||
=======
|
||||
define('category_id_checkout_suggestions','23');
|
||||
>>>>>>> development
|
||||
// Default category_id for giftcard
|
||||
define('giftcard_id','');
|
||||
// Default category_id for samples
|
||||
@@ -66,10 +70,14 @@ define('default_payment_status','New');
|
||||
define('account_required',false);
|
||||
// Default product sort
|
||||
define('default_product_sort','sort3');
|
||||
<<<<<<< HEAD
|
||||
// Enable automatice invoice forward to bookkeeping software
|
||||
define('invoice_bookkeeping',false);
|
||||
// Email of bookkeeping software
|
||||
define('email_bookkeeping','morval-wat-d24506a2@facturen.moneybird.nl');
|
||||
=======
|
||||
|
||||
>>>>>>> development
|
||||
// Rewrite URL?
|
||||
define('rewrite_url',true);
|
||||
|
||||
@@ -122,7 +130,11 @@ define('company_kvk','89442679');
|
||||
|
||||
define('footer_city','St Oedenrode');
|
||||
define('footer_country','Netherlands');
|
||||
<<<<<<< HEAD
|
||||
define('footer_phone','Tel: +31 639725831');
|
||||
=======
|
||||
define('footer_phone','31639725831');
|
||||
>>>>>>> development
|
||||
define('footer_email','info@morvalwatches.com');
|
||||
|
||||
/* Email */
|
||||
@@ -140,6 +152,10 @@ define('email_reply_to','info@morvalwatches.com');
|
||||
define('email_outgoing_pw','MWTH#2024');
|
||||
define('email_outgoing_port','465');
|
||||
define('email_outgoing_security','ssl');
|
||||
// Enable automatice invoice forward to bookkeeping software
|
||||
define('invoice_bookkeeping',false);
|
||||
// Email of bookkeeping software
|
||||
define('email_bookkeeping','morval-wat-d24506a2@facturen.moneybird.nl');
|
||||
|
||||
/* Database */
|
||||
// Database hostname, don't change this unless your hostname is different
|
||||
@@ -154,8 +170,8 @@ define('db_name','shoppingcart_advanced'); //morvalwatches
|
||||
/* API */
|
||||
define('clientID','MorvalWatches'); //morvalwatches
|
||||
define('clientsecret','MW2024!'); //morvalwatches
|
||||
define('api_url','https://dev.veliti.nl/api.php'); //morvalwatches
|
||||
define('img_url','https://dev.veliti.nl/');
|
||||
define('api_url','https://cloud.soveliti.nl/api.php'); //morvalwatches
|
||||
define('img_url','https://cloud.soveliti.nl');
|
||||
|
||||
/* Payment options */
|
||||
//Pay on Delivery
|
||||
@@ -163,12 +179,20 @@ define('pay_on_delivery_enabled',false);
|
||||
define('pay_on_delivery_default',false);
|
||||
// Mollie
|
||||
define('mollie_enabled',true);
|
||||
<<<<<<< HEAD
|
||||
define('mollie_default',false);
|
||||
=======
|
||||
define('mollie_default',true);
|
||||
>>>>>>> development
|
||||
define('mollie_api_key','test_TBJPkq6E3Tn6kuCjqQFv9PBGu52Ac8'); //live_m2mbPTnvVzF4tUu25mtHja6D8vHkfM
|
||||
|
||||
// Accept payments with PayPal?
|
||||
define('paypal_enabled',true);
|
||||
<<<<<<< HEAD
|
||||
define('paypal_default',true);
|
||||
=======
|
||||
define('paypal_default',false);
|
||||
>>>>>>> development
|
||||
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');
|
||||
|
||||
@@ -2,12 +2,44 @@
|
||||
//COUNTRIES IN SCOPE
|
||||
$countries_in_scope = array (
|
||||
1 => 'Austria',
|
||||
<<<<<<< HEAD
|
||||
3 => 'Bulgaria',
|
||||
4 => 'Cyprus',
|
||||
21 => 'Netherlands',
|
||||
25 => 'Sweden',
|
||||
26 => 'Slovenia',
|
||||
27 => 'Slovakia (Slovak Republic)',
|
||||
=======
|
||||
2 => 'Belgium',
|
||||
3 => 'Bulgaria',
|
||||
4 => 'Cyprus',
|
||||
5 => 'Czech Republic',
|
||||
6 => 'Germany',
|
||||
7 => 'Denmark',
|
||||
8 => 'Estonia',
|
||||
9 => 'Greece',
|
||||
10 => 'Spain',
|
||||
11 => 'Finland',
|
||||
12 => 'France',
|
||||
13 => 'Croatia (Hrvatska)',
|
||||
14 => 'Hungary',
|
||||
15 => 'Ireland',
|
||||
16 => 'Italy',
|
||||
17 => 'Lithuania',
|
||||
18 => 'Luxembourg',
|
||||
19 => 'Latvia',
|
||||
20 => 'Malta',
|
||||
21 => 'Netherlands',
|
||||
22 => 'Poland',
|
||||
23 => 'Portugal',
|
||||
24 => 'Romania',
|
||||
25 => 'Sweden',
|
||||
26 => 'Slovenia',
|
||||
27 => 'Slovakia (Slovak Republic)',
|
||||
28 => 'United States',
|
||||
29 => 'Outside Europe',
|
||||
30 => 'Other',
|
||||
>>>>>>> development
|
||||
);
|
||||
|
||||
?>
|
||||
13
custom/settings/translations_mapping.php
Normal file
13
custom/settings/translations_mapping.php
Normal file
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
|
||||
// Define available languages mapping from country codes
|
||||
$available_languages = [
|
||||
'1' => 'DE',
|
||||
'2' => 'NL',
|
||||
'6' => 'DE',
|
||||
'10' => 'ES',
|
||||
'12' => 'FR',
|
||||
'21' => 'NL'
|
||||
];
|
||||
|
||||
?>
|
||||
221
custom/translations/translations_DE.php
Normal file
221
custom/translations/translations_DE.php
Normal file
@@ -0,0 +1,221 @@
|
||||
<?php
|
||||
$h2_brand_name_1 = 'Morval Watches';
|
||||
$h2_brand_name_2 = 'eine Marke mit einer Geschichte';
|
||||
$h2_brand_visit = 'Besuche unsere Kollektion';
|
||||
$h2_brand_wow = '<p>Morval vereint eine einzigartige Kombination aus <span class="highlighted">minimalistischem Design</span>, <span class="highlighted">schweizerischer Qualität</span> und <span class="orange-text">niederländischer Fertigung</span>.</p><p>Wir bieten dir eine Uhr, die du zu jedem Anlass tragen kannst.</p>';
|
||||
$h1_content_top = 'Unsere Uhrenkollektion';
|
||||
$product_count_1 = 'Produkt';
|
||||
$product_count_2 = 'e';
|
||||
$main_filter_category = 'Kategorie';
|
||||
$main_category = 'Alle';
|
||||
$main_filter_sort = 'Sortieren';
|
||||
$sort1 = 'A-Z';
|
||||
$sort2 = 'Z-A';
|
||||
$sort3 = 'Neueste';
|
||||
$sort4 = 'Älteste';
|
||||
$sort5 = 'Preis hoch - niedrig';
|
||||
$sort6 = 'Preis niedrig - hoch';
|
||||
$free_delivery = 'kostenloser Versand';
|
||||
$non_free_delivery = 'kostenloser Versand ab';
|
||||
$breadcrum_products = 'Kollektion';
|
||||
$product_quantity = 'Menge';
|
||||
$product_on_stock = 'Auf Lager';
|
||||
$out_of_stock_notify = 'Benachrichtigen Sie mich';
|
||||
$out_of_stock_notify_2 = 'Besuchen Sie uns @';
|
||||
$out_of_stock = 'Nicht auf Lager';
|
||||
$add_to_basket = 'In den Warenkorb';
|
||||
$h1_cart_name = 'Warenkorb';
|
||||
$h2_cart_suggestions = 'Vorschläge';
|
||||
$h2_cart_sample_product = 'Muster';
|
||||
$tr_product = 'Produkt';
|
||||
$tr_price = 'Preis';
|
||||
$tr_quantity = 'Menge';
|
||||
$tr_total = 'Gesamt';
|
||||
$total_subtotal = 'Zwischensumme';
|
||||
$total_note = '(Versandkosten werden während des Bezahlvorgangs berechnet)';
|
||||
$total_vat = 'MwSt';
|
||||
$total_shipping = 'Versand';
|
||||
$total_shipping_note = '(Versand inbegriffen)';
|
||||
$total_discount = 'Rabatt';
|
||||
$total_total = 'Gesamt';
|
||||
$total_total_note = 'MwSt inbegriffen';
|
||||
$btn_emptycart = 'leeren';
|
||||
$btn_update = 'Aktualisieren';
|
||||
$btn_checkout = 'Zur Kasse';
|
||||
$navigation_back_to_store = 'zurück zur Kollektion';
|
||||
$cart_message_empty = 'Sie haben keine Produkte in Ihrem Warenkorb';
|
||||
$error_account_name = 'Konto existiert bereits.';
|
||||
$error_account_password_rules = 'Das Passwort muss zwischen 5 und 20 Zeichen lang sein.';
|
||||
$error_account_password_match = 'Passwörter stimmen nicht überein.';
|
||||
$error_account = 'Kontoerstellung erforderlich.';
|
||||
$h1_checkout = 'Zur Kasse';
|
||||
$account_available = 'Haben Sie bereits ein Konto?';
|
||||
$account_log_in = 'Anmelden';
|
||||
$account_create = 'Konto erstellen';
|
||||
$account_create_optional = '(optional)';
|
||||
$account_create_email = 'E-Mail';
|
||||
$account_create_password = 'Passwort';
|
||||
$account_create_password_confirm = 'Passwort bestätigen';
|
||||
$h2_Shipping_details = 'Versanddetails';
|
||||
$h3_shipping_method = 'Versandmethode';
|
||||
$shipping_first_name = 'Vorname';
|
||||
$shipping_last_name = 'Nachname';
|
||||
$shipping_address = 'Adresse';
|
||||
$shipping_city = 'Stadt';
|
||||
$shipping_state = 'Region/Bundesland';
|
||||
$shipping_zip = 'PLZ';
|
||||
$shipping_country = 'Land';
|
||||
$shipping_phone = 'Telefon';
|
||||
$payment_method = 'Zahlungsmethode';
|
||||
$payment_method_1 = 'Lastschrift (NL/BE-Kunden)';
|
||||
$payment_method_2 = 'Zahlung bei Lieferung';
|
||||
$h2_shoppingcart = 'Warenkorb';
|
||||
$discount_label = 'Rabattcode';
|
||||
$discount_message = 'Rabattcode angewendet!';
|
||||
$discount_error_1 = 'Falscher Rabattcode!';
|
||||
$discount_error_2 = 'Rabattcode abgelaufen!';
|
||||
$order_consent_1 = 'Ich möchte E-Mail-Kommunikation über MorvalWatches Neuigkeiten, Produkte und Dienstleistungen erhalten';
|
||||
$order_consent_2 = 'Ich stimme zu';
|
||||
$order_consent_3 = 'AGB';
|
||||
$btn_place_order = 'Bestellen';
|
||||
$h1_order_succes_message = 'Ihre Bestellung wurde aufgegeben';
|
||||
$order_succes_message = 'Vielen Dank für Ihre Bestellung! Wir werden Sie per E-Mail mit Ihren Bestelldetails kontaktieren.';
|
||||
$error_myaccount = 'Falsche E-Mail/Passwort!';
|
||||
$h1_login = 'Anmelden';
|
||||
$h1_register = 'Registrieren';
|
||||
$h1_myaccount = 'Mein Konto';
|
||||
$h2_menu = 'Menü';
|
||||
$menu_orders = 'Bestellungen';
|
||||
$menu_downloads = 'Downloads';
|
||||
$h2_myorders = 'Meine Bestellungen';
|
||||
$myorders_message = 'Sie haben keine Bestellungen';
|
||||
$myorders_order = 'Bestellung';
|
||||
$myorders_date = 'Datum';
|
||||
$myorders_status = 'Status';
|
||||
$myorders_shipping = 'Versand';
|
||||
$myorders_total = 'Gesamt';
|
||||
$h2_mydownloads = 'Meine Downloads';
|
||||
$mydownloads_message = 'Sie haben keine Downloads';
|
||||
$mydownloads_product = 'Produkt';
|
||||
$h2_settings = 'Einstellungen';
|
||||
$settings_email = 'E-Mail';
|
||||
$settings_new_password = 'Neues Passwort';
|
||||
$btn_settings_save = 'Speichern';
|
||||
$age_consent_h4 = 'Lass uns dein Alter überprüfen';
|
||||
$age_consent_text = 'Um MorvalWatches zu besuchen, müssen Sie 18 Jahre oder älter sein.';
|
||||
$age_consent_btn_allow = 'Zustimmen';
|
||||
$age_consent_btn_deny = 'Ablehnen';
|
||||
$maintenanceMode_h4 = 'Webshop befindet sich in Wartung';
|
||||
$maintenanceMode_text = 'Unser Webshop befindet sich in Wartung. Wir freuen uns, Sie bald wieder zu sehen';
|
||||
$maintenanceMode_btn = 'OK';
|
||||
$subject_order_notification = 'MorvalWatches - Sie haben eine neue Bestellung erhalten!';
|
||||
$subject_new_order = 'MorvalWatches - Bestelldetails';
|
||||
$subject_out_of_stock = 'MorvalWatches - Nicht auf Lager';
|
||||
$home_text = 'Startseite';
|
||||
$products_text = 'Kollektion';
|
||||
$about_text = 'Über uns';
|
||||
$myaccount_text = 'Konto';
|
||||
$social_punch_line = 'Verbinden Sie sich mit Morval über unsere Social-Media-Kanäle';
|
||||
$privacy_text = 'Datenschutz';
|
||||
$terms_text = 'Allgemeine Geschäftsbedingungen';
|
||||
$faq_text = 'Häufig gestellte Fragen';
|
||||
$order_email_title = 'MorvalWatches - Bestellung';
|
||||
$order_email_message_1 = 'Vielen Dank für Ihre Bestellung';
|
||||
$order_email_message_2 = 'Ihre Bestellung ist eingegangen und wird derzeit bearbeitet. Die Details zu Ihrer Bestellung finden Sie unten.';
|
||||
$order_email_information = 'Ihre Details';
|
||||
$h2_about_1 = 'Über Morval';
|
||||
$about_header_1 = 'Über uns';
|
||||
$about_1_p = 'Morval Watches wurde 2023 von Ralph van Wezel gegründet. Ralph ist Krankenhausapotheker und hat eine Faszination für Technologie. In seiner Arbeit ist er bestrebt, Medikamente verfügbar zu machen, die einen Unterschied für den Patienten machen. Die Herstellung eines Medikaments erfordert Wissen, Präzision, Genauigkeit, Technik, Qualität und Handwerkskunst. Hierin liegt die Ähnlichkeit mit der Herstellung einer hochwertigen Automatikuhr. Ralph hat sich zum Ziel gesetzt, eine Uhr zu entwickeln, die mit den renommierten Marken konkurrieren kann, aber zu einem akzeptablen Preis verkauft wird.';
|
||||
$about_header_2 = 'Über unsere Uhren';
|
||||
$about_2_p = 'Eine Morval-Uhr ist von den Vintage-Modellen und dem minimalistischen Design skandinavischer Uhren inspiriert. Dank der Farbvariationen von Zifferblatt und Armband kann eine Morval-Uhr zu jedem Anlass getragen werden – sowohl als Sport- als auch als elegante Uhr. Morval-Uhren erfüllen höchste Qualitätsanforderungen und können mit den bekannten Schweizer Marken mithalten. Die Komponenten stammen von renommierten Herstellern aus Europa und dem Ausland. Eine Morval verfügt über ein Schweizer Kaliber (STP), das für seine zuverlässige Qualität bekannt ist. Die Montage erfolgt in Amsterdam durch anerkannte Uhrmacher, und jede Uhr wird einer umfassenden Qualitätskontrolle hinsichtlich Funktionalität und Ästhetik unterzogen. Die Uhr wird manuell eingestellt und geprüft, um Abweichungen zu minimieren. Morval steht für ein hervorragendes Preis-Leistungs-Verhältnis! Mit dem Kauf einer Morval-Uhr erhalten Sie garantiert einen zeitlosen Zeitmesser, der Jahrzehnte hält. Viel Liebe zum Detail wurde auf Details gelegt, wie zum Beispiel ein gebürstetes Gehäuse aus Edelstahl 316, Superluminova auf den Zeigern, entspiegeltes Glas und ein stufenlos verstellbares Lederarmband. Dies spiegelt den luxuriösen Auftritt der Marke wider. Mit einer Morval-Uhr besitzen Sie eine einzigartige, robuste, stilvolle und zeitlose Uhr, die Generationen überdauert!';
|
||||
$about_header_3 = 'Über Morval';
|
||||
$about_morval_text = 'Lesen Sie mehr über die Geschichte von Morval';
|
||||
$h2_about_morval_1 = 'Die Geschichte von Morval';
|
||||
$h2_about_morval_2 = '';
|
||||
$about_morval_header_1 = '';
|
||||
$about_morval_header_2 = '';
|
||||
$about_morval_header_3 = '';
|
||||
$about_morval_2_p = 'Als die Trümmer beseitigt waren, blieb dieser große, leere Platz wie eine Wunde in den Herzen der Einwohner zurück. Drei Jahre später errichtete die Gemeinde einen kleinen Glockenturm, an dem die drei Glocken aufgehängt wurden, die für den Abriss heruntergelassen worden waren. Dank der Unterstützung der Bewohner der 1930er Jahre sind sie noch heute lebendig und läuten noch immer, um jedes glückliche oder unglückliche Ereignis zu markieren, wie wir es einst taten.';
|
||||
$about_morval_3_p = 'Als die Trümmer beseitigt waren, blieb dieser große, leere Platz wie eine Wunde in den Herzen der Einwohner zurück. Drei Jahre später errichtete die Gemeinde einen kleinen Glockenturm, an dem die drei Glocken aufgehängt wurden, die für den Abriss heruntergelassen worden waren. Dank der Unterstützung der Einwohner der 1930er Jahre sind sie noch immer lebendig und läuten noch immer, um jedes glückliche oder unglückliche Ereignis zu markieren, wie wir es einst taten. Dank ihnen hat Morval seinen verlorenen Glockenturm nicht vergessen.';
|
||||
$invoice_morval_subject = 'Morval Uhren - Rechnung';
|
||||
$place_order_header = 'Bestellung aufgeben';
|
||||
$checkout_header = 'Kasse';
|
||||
$tax_text = 'Mehrwertsteuer';
|
||||
$h2_cart_samples = 'Proben';
|
||||
$products_filters_h2 = 'Filter';
|
||||
$btn_filter = 'Filter';
|
||||
$sort = 'Sortieren';
|
||||
$order_number_text = 'Order #';
|
||||
$order_date_text = 'Datum';
|
||||
$tr_options = 'Optionen';
|
||||
$order_invoice_text = 'Rechnung';
|
||||
$invoice_payment_paid_text = 'Der Gesamtbetrag dieser Rechnung ist bezahlt';
|
||||
$highlight_1 = 'Sammlung';
|
||||
$highlight_2 = 'Kollektion';
|
||||
$home_timeless = 'Zeitlos';
|
||||
$home_timeless_text = 'Morval-Uhren sind einzigartige, robuste, stilvolle und zeitlose Zeitmesser, die Generationen überdauern!';
|
||||
$shop_action = 'Jetzt kaufen';
|
||||
$home_quality = 'Qualität';
|
||||
$home_quality_text = 'Morval Uhren erfüllen höchste Qualitätsansprüche und können mit den bekannten Schweizer Marken mithalten. Die Komponenten stammen von renommierten Herstellern aus Europa und dem Ausland. Eine Morval verfügt über ein Schweizer Kaliber (STP), das für seine zuverlässige Qualität bekannt ist.';
|
||||
$home_price = 'Preis';
|
||||
$home_price_text = 'Morval steht für ein hervorragendes Preis-Leistungs-Verhältnis';
|
||||
$shopping_cart_header = 'Warenkorb';
|
||||
$about_3_p = 'Morval hat seinen Namen vom Nachnamen eines von Ralphs Großeltern. Das Logo ist inspiriert vom Denkmal in der Stadt Morval in Nordfrankreich, das aus den Überresten einer Kirche und den drei Glocken des Turms errichtet wurde.';
|
||||
$newuser_credential_text_1 = 'Ihr Konto wurde mit dem Benutzernamen erstellt';
|
||||
$newuser_credential_text_2 = 'Klicken Sie bitte auf die Schaltfläche unten, um Ihre Registrierung abzuschließen.';
|
||||
$verify_account = 'Konto verifizieren';
|
||||
$newuser_signature = ' Mit freundlichen Grüße,';
|
||||
$newuser_signature_name = 'MorvalUhren';
|
||||
$changeuser_credential_text_1 = 'Klicken Sie bitte auf die Schaltfläche unten, um das Passwort Ihres Kontos zurückzusetzen.';
|
||||
$changeuser_signature = ' Mit freundlichen Grüße,';
|
||||
$changeuser_signature_name = 'MorvalUhren';
|
||||
$bracelet_dark = 'Armband Schwarz';
|
||||
$bracelet_blue = 'Armband Dunkelblau';
|
||||
$bracelet_dark_brown = 'Armband Dunkelbraun';
|
||||
$bracelet_light_brown = 'Armband Hellbraun';
|
||||
$bracelet_steel = 'Armband Stahl';
|
||||
$MWTH1NB_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Polierter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Datum: Arabische Zahlen (Tag)</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH2NB_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Gebürsteter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH2IB_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Gebürsteter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH2RG_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Gebürsteter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH2DG_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Gebürsteter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH2G_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Gebürsteter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$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 = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Polierter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Datum: Arabische Zahlen (Tag)</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH1RG_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: SSoprod P024 mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Polierter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Datum: Arabische Zahlen (Tag)</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH1DG_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Polierter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Datum: Arabische Zahlen (Tag)</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$MWTH1G_description = '<p>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.</p><h3><b>Technische Daten</b></h3><ul><li>Gehäusegröße: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 mit 26 Steinen</li><li>Gangreserve: 40 h</li><li>Ischronismus: < 10 Sek./Tag</li><li>Lünette: Polierter Edelstahl (316L)</li><li>Wasserdicht: 50 Meter (5 ATM)</li><li>Zifferblatt: Sonnenstrahlen-Muster</li><li>Datum: Arabische Zahlen (Tag)</li><li>Leuchtmasse: Superluminova (Blau)</li><li>Glas: Saphirglas mit Antireflexbeschichtung</li><li>Gehäuseboden: Verschraubt, gebürsteter Edelstahl mit Saphirglas</li><li>Armband (Stahl): Gebürsteter und polierter 316L Edelstahl</li><li>Armband (Leder): Handgefertigtes italienisches Kalbsleder</li><li>Schließe: Faltschließe für höchsten Komfort</li><li>Verpackung: Blaue Box mit Zertifikat und Bedienungsanleitung.</li></ul>';
|
||||
$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<br>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 5.0/5.0';
|
||||
$btn_readmore = 'Mehr erfahren';
|
||||
$price_from = 'ab';
|
||||
$subtitle = ' Entdecken Sie unsere beliebtesten und exquisiten Uhrenkollektionen.';
|
||||
$dealers_page_title = 'Unsere Händler';
|
||||
$dealers_hero_title = 'Finden Sie einen Morval Händler';
|
||||
$dealers_hero_subtitle = 'Entdecken Sie unsere Uhren bei autorisierten Händlern';
|
||||
$dealers_section_title = 'Autorisierte Händler';
|
||||
$dealers_section_description = 'Besuchen Sie einen unserer vertrauenswürdigen Partner, um Morval Uhren aus erster Hand zu erleben und fachkundige Beratung zu erhalten.';
|
||||
$btn_call = 'Anrufen';
|
||||
$btn_email = 'E-Mail';
|
||||
$become_dealer_title = 'Werden Sie Morval Händler';
|
||||
$become_dealer_description = 'Sind Sie Juwelier und möchten unsere Uhren in Ihr Sortiment aufnehmen?';
|
||||
?>
|
||||
221
custom/translations/translations_ES.php
Normal file
221
custom/translations/translations_ES.php
Normal file
@@ -0,0 +1,221 @@
|
||||
<?php
|
||||
$h2_brand_name_1 = 'Morval Watches';
|
||||
$h2_brand_name_2 = 'una marca con historia';
|
||||
$h2_brand_visit = 'Visite nuestra colección';
|
||||
$h2_brand_wow = '<p>Morval combina de forma única un <span class="highlighted">diseño minimalista</span>, <span class="highlighted">calidad suiza</span> y <span class="orange-text">fabricación holandesa</span>.</p><p>Te ofrecemos un reloj para cualquier ocasión.</p>';
|
||||
$h1_content_top = 'Nuestra colección de relojes';
|
||||
$product_count_1 = 'Producto';
|
||||
$product_count_2 = 's';
|
||||
$main_filter_category = 'Categoría';
|
||||
$main_category = 'Todos';
|
||||
$main_filter_sort = 'Ordenar';
|
||||
$sort1 = 'A-Z';
|
||||
$sort2 = 'Z-A';
|
||||
$sort3 = 'Más recientes';
|
||||
$sort4 = 'Más antiguos';
|
||||
$sort5 = 'Precio alto - bajo';
|
||||
$sort6 = 'Precio bajo - alto';
|
||||
$free_delivery = 'envío gratis';
|
||||
$non_free_delivery = 'envío gratis a partir de';
|
||||
$breadcrum_products = 'Colección';
|
||||
$product_quantity = 'Cantidad';
|
||||
$product_on_stock = 'En stock';
|
||||
$out_of_stock_notify = 'Notifícame';
|
||||
$out_of_stock_notify_2 = 'Visítanos @';
|
||||
$out_of_stock = 'Agotado';
|
||||
$add_to_basket = 'Añadir al carrito';
|
||||
$h1_cart_name = 'Carrito de compra';
|
||||
$h2_cart_suggestions = 'Sugerencias';
|
||||
$h2_cart_sample_product = 'Muestras';
|
||||
$tr_product = 'Producto';
|
||||
$tr_price = 'Precio';
|
||||
$tr_quantity = 'Cantidad';
|
||||
$tr_total = 'Total';
|
||||
$total_subtotal = 'Subtotal';
|
||||
$total_note = '(los gastos de envío se calculan durante el pago)';
|
||||
$total_vat = 'IVA';
|
||||
$total_shipping = 'Envío';
|
||||
$total_shipping_note = '(envío incluido)';
|
||||
$total_discount = 'Descuento';
|
||||
$total_total = 'Total';
|
||||
$total_total_note = 'IVA incluido';
|
||||
$btn_emptycart = 'vaciar';
|
||||
$btn_update = 'Actualizar';
|
||||
$btn_checkout = 'Finalizar compra';
|
||||
$navigation_back_to_store = 'volver a la colección';
|
||||
$cart_message_empty = 'No tienes productos en tu carrito de compra';
|
||||
$error_account_name = 'La cuenta ya existe.';
|
||||
$error_account_password_rules = 'La contraseña debe tener entre 5 y 20 caracteres.';
|
||||
$error_account_password_match = 'Las contraseñas no coinciden.';
|
||||
$error_account = 'Se requiere crear una cuenta.';
|
||||
$h1_checkout = 'Finalizar compra';
|
||||
$account_available = '¿Ya tienes una cuenta?';
|
||||
$account_log_in = 'Iniciar sesión';
|
||||
$account_create = 'Crear cuenta';
|
||||
$account_create_optional = '(opcional)';
|
||||
$account_create_email = 'Correo electrónico';
|
||||
$account_create_password = 'Contraseña';
|
||||
$account_create_password_confirm = 'Confirmar contraseña';
|
||||
$h2_Shipping_details = 'Detalles de envío';
|
||||
$h3_shipping_method = 'Método de envío';
|
||||
$shipping_first_name = 'Nombre';
|
||||
$shipping_last_name = 'Apellido';
|
||||
$shipping_address = 'Dirección';
|
||||
$shipping_city = 'Ciudad';
|
||||
$shipping_state = 'Región/Estado';
|
||||
$shipping_zip = 'Código postal';
|
||||
$shipping_country = 'País';
|
||||
$shipping_phone = 'Teléfono';
|
||||
$payment_method = 'Método de pago';
|
||||
$payment_method_1 = 'Débito (clientes NL/BE)';
|
||||
$payment_method_2 = 'Pago contra entrega';
|
||||
$h2_shoppingcart = 'Carrito de compra';
|
||||
$discount_label = 'Código de descuento';
|
||||
$discount_message = '¡Código de descuento aplicado!';
|
||||
$discount_error_1 = '¡Código de descuento incorrecto!';
|
||||
$discount_error_2 = '¡Código de descuento caducado!';
|
||||
$order_consent_1 = 'Me gustaría recibir comunicaciones por correo electrónico sobre noticias, productos y servicios de MorvalWatches';
|
||||
$order_consent_2 = 'Estoy de acuerdo con';
|
||||
$order_consent_3 = 'Términos y condiciones';
|
||||
$btn_place_order = 'Realizar pedido';
|
||||
$h1_order_succes_message = 'Tu pedido ha sido realizado';
|
||||
$order_succes_message = '¡Gracias por realizar tu pedido con nosotros! Te contactaremos por correo electrónico con los detalles de tu pedido.';
|
||||
$error_myaccount = '¡Correo electrónico/contraseña incorrectos!';
|
||||
$h1_login = 'Iniciar sesión';
|
||||
$h1_register = 'Registrarse';
|
||||
$h1_myaccount = 'Mi cuenta';
|
||||
$h2_menu = 'Menú';
|
||||
$menu_orders = 'Pedidos';
|
||||
$menu_downloads = 'Descargas';
|
||||
$h2_myorders = 'Mis pedidos';
|
||||
$myorders_message = 'No tienes pedidos';
|
||||
$myorders_order = 'Pedido';
|
||||
$myorders_date = 'Fecha';
|
||||
$myorders_status = 'Estado';
|
||||
$myorders_shipping = 'Envío';
|
||||
$myorders_total = 'Total';
|
||||
$h2_mydownloads = 'Mis descargas';
|
||||
$mydownloads_message = 'No tienes descargas';
|
||||
$mydownloads_product = 'Producto';
|
||||
$h2_settings = 'Configuración';
|
||||
$settings_email = 'Correo electrónico';
|
||||
$settings_new_password = 'Nueva contraseña';
|
||||
$btn_settings_save = 'Guardar';
|
||||
$age_consent_h4 = 'Comprobemos tu edad';
|
||||
$age_consent_text = 'Para visitar MorvalWatches debes tener 18 años o más.';
|
||||
$age_consent_btn_allow = 'Aceptar';
|
||||
$age_consent_btn_deny = 'Rechazar';
|
||||
$maintenanceMode_h4 = 'La tienda web está en mantenimiento';
|
||||
$maintenanceMode_text = 'Nuestra tienda web está en mantenimiento. Esperamos verte pronto de nuevo';
|
||||
$maintenanceMode_btn = 'OK';
|
||||
$subject_order_notification = 'MorvalWatches - ¡Has recibido un nuevo pedido!';
|
||||
$subject_new_order = 'MorvalWatches - Detalles del pedido';
|
||||
$subject_out_of_stock = 'MorvalWatches - Agotado';
|
||||
$home_text = 'Inicio';
|
||||
$products_text = 'Colección';
|
||||
$about_text = 'Sobre nosotros';
|
||||
$myaccount_text = 'Cuenta';
|
||||
$social_punch_line = 'Conéctate con Morval a través de nuestros canales de redes sociales';
|
||||
$privacy_text = 'Privacidad';
|
||||
$terms_text = 'Términos y condiciones';
|
||||
$faq_text = 'Preguntas frecuentes';
|
||||
$order_email_title = 'MorvalWatches - Pedido';
|
||||
$order_email_message_1 = 'Gracias por tu pedido';
|
||||
$order_email_message_2 = 'Tu pedido ha sido recibido y está siendo procesado. Los detalles de tu pedido se encuentran a continuación.';
|
||||
$order_email_information = 'Tus detalles';
|
||||
$h2_about_1 = 'Sobre Morval';
|
||||
$about_header_1 = 'Sobre nosotros';
|
||||
$about_1_p = 'Morval Watches fue fundada en 2023 por Ralph van Wezel. Ralph es farmacéutico hospitalario y tiene fascinación por la tecnología. En su trabajo se esfuerza por hacer disponibles medicamentos que marquen la diferencia para el paciente. Producir un medicamento requiere conocimiento, precisión, exactitud, técnica, calidad y artesanía. Aquí radica la similitud con la fabricación de un reloj automático de alta calidad. Ralph se ha fijado el objetivo de desarrollar un reloj que pueda competir con las marcas reconocidas, pero que se venda a un precio aceptable.';
|
||||
$about_header_2 = 'Sobre nuestros relojes';
|
||||
$about_2_p = 'Un reloj Morval se inspira en los modelos vintage y el diseño minimalista de los relojes escandinavos. Gracias a las variaciones de color de la esfera y las correas, un reloj Morval se puede usar en cualquier ocasión, tanto deportivo como de vestir. Los relojes Morval cumplen con los más altos estándares de calidad y pueden competir con las reconocidas marcas suizas. Las piezas son suministradas por fabricantes de renombre de Europa y el extranjero. Un Morval incorpora un calibre suizo (STP), reconocido por su calidad. El ensamblaje se realiza en Ámsterdam por relojeros reconocidos y cada reloj se somete a un exhaustivo control de calidad para garantizar su funcionalidad y estética. El reloj se ajusta y prueba manualmente para minimizar las desviaciones. ¡Morval ofrece una excelente relación calidad-precio! Al comprar un reloj Morval, tiene la garantía de un reloj atemporal que durará décadas. Se ha prestado especial atención a los detalles, como la caja cepillada de acero inoxidable 316, la superluminova en las agujas, el cristal antirreflejos y la correa de cuero infinitamente ajustable. Esto se traduce en la lujosa apariencia de la marca. ¡Con un reloj Morval tendrás un reloj único, robusto, elegante y atemporal que durará generaciones!';
|
||||
$about_header_3 = 'Acerca de Morval';
|
||||
$about_morval_text = 'Lea más sobre la historia de Morval';
|
||||
$h2_about_morval_1 = 'La historia de Morval';
|
||||
$h2_about_morval_2 = '';
|
||||
$about_morval_header_1 = '';
|
||||
$about_morval_header_2 = '';
|
||||
$about_morval_header_3 = '';
|
||||
$about_morval_2_p = 'Tras la limpieza de los escombros, esta gran plaza vacía quedó como una herida en el corazón de sus habitantes. Tres años después, el municipio construyó un pequeño campanario donde se colgaron las tres campanas que se bajaron para la demolición. Patrocinadas por los residentes de la década de 1930, siguen vivas y aún tocan la campana para conmemorar cualquier acontecimiento, ya sea feliz o desafortunado, como lo hacíamos nosotros antaño.';
|
||||
$about_morval_3_p = 'Tras la limpieza de los escombros, esta gran plaza vacía quedó como una herida en el corazón de sus habitantes. Tres años después, el municipio construyó un pequeño campanario donde se colgaron las tres campanas que se bajaron para la demolición. Patrocinadas por los residentes de la década de 1930, siguen vivas y aún tocan la campana para conmemorar cualquier acontecimiento, feliz o desafortunado, como lo hacíamos nosotros antaño. Gracias a ellos, Morval no olvida su campanario desaparecido.';
|
||||
$invoice_morval_subject = 'Relojes Morval - factura';
|
||||
$place_order_header = 'Realizar pedido';
|
||||
$checkout_header = 'Verificar';
|
||||
$tax_text = 'TINA';
|
||||
$h2_cart_samples = 'Muestras';
|
||||
$products_filters_h2 = 'Filtros';
|
||||
$btn_filter = 'Filtrar';
|
||||
$sort = 'Clasificar';
|
||||
$order_number_text = 'Orden';
|
||||
$order_date_text = 'Fecha';
|
||||
$tr_options = 'Opciones';
|
||||
$order_invoice_text = 'Factura';
|
||||
$invoice_payment_paid_text = 'El importe total de esta factura está pagado';
|
||||
$highlight_1 = 'Recopilación';
|
||||
$highlight_2 = 'Recopilación';
|
||||
$home_timeless = 'Eterno';
|
||||
$home_timeless_text = '¡Los relojes Morval son relojes únicos, robustos, elegantes y atemporales que durarán generaciones!';
|
||||
$shop_action = 'Compra ahora';
|
||||
$home_quality = 'Calidad';
|
||||
$home_quality_text = 'Los relojes Morval cumplen con los más altos estándares de calidad y pueden competir con las reconocidas marcas suizas. Las piezas son suministradas por fabricantes de renombre de Europa y el extranjero. Un Morval incorpora un calibre de fabricación suiza (STP), reconocido por su fiabilidad.';
|
||||
$home_price = 'Precio';
|
||||
$home_price_text = 'Morval representa una excelente relación calidad-precio.';
|
||||
$shopping_cart_header = 'Carro de la compra';
|
||||
$about_3_p = 'Morval toma su nombre del apellido de uno de los abuelos de Ralph. El logotipo está inspirado en el monumento de la ciudad de Morval, en el norte de Francia, construido con los restos de una iglesia y las tres campanas de la torre.';
|
||||
$newuser_credential_text_1 = 'Su cuenta ha sido creada con nombre de usuario';
|
||||
$newuser_credential_text_2 = 'Por favor haga clic en el botón de abajo para completar su registro.';
|
||||
$verify_account = 'Verificar cuenta';
|
||||
$newuser_signature = ' Atentamente,';
|
||||
$newuser_signature_name = 'Relojes Morval';
|
||||
$changeuser_credential_text_1 = 'Haga clic en el botón a continuación para restablecer la contraseña de su cuenta.';
|
||||
$changeuser_signature = ' Atentamente,';
|
||||
$changeuser_signature_name = 'Relojes Morval';
|
||||
$bracelet_dark = 'Pulsera Negro';
|
||||
$bracelet_blue = 'Pulsera Azul oscuro';
|
||||
$bracelet_dark_brown = 'Pulsera Marrón oscuro';
|
||||
$bracelet_light_brown = 'Pulsera Marrón claro';
|
||||
$bracelet_steel = 'Pulsera Acero';
|
||||
$MWTH1NB_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024 con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable pulido (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Fecha: Números arábigos (día)</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH2NB_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024BV con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable cepillado (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH2IB_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024BV con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable cepillado (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH2RG_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024BV con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable cepillado (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH2DG_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024BV con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable cepillado (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH2G_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024BV con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable cepillado (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$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 = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024 con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable pulido (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Fecha: Números arábigos (día)</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH1RG_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024 con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable pulido (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Fecha: Números arábigos (día)</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH1DG_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024 con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable pulido (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Fecha: Números arábigos (día)</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$MWTH1G_description = '<p>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.</p><h3><b>Especificaciones</b></h3><ul><li>Tamaño de la caja: 39 mm x 10,5 mm.</li><li>Calibre: Soprod P024 con 26 rubíes</li><li>Reserva de marcha: 40 h</li><li>Isocronismo: < 10 seg./día</li><li>Bisel: Acero inoxidable pulido (316L)</li><li>Resistente al agua: 50 metros (5 ATM)</li><li>Esfera: Efecto rayo de sol</li><li>Fecha: Números arábigos (día)</li><li>Lumen: Superluminova (Azul)</li><li>Cristal: Zafiro con recubrimiento antirreflectante</li><li>Tapa trasera: Atornillada, acero inoxidable cepillado con cristal de zafiro</li><li>Brazalete (acero): Acero inoxidable 316L cepillado y pulido</li><li>Brazalete (cuero): Cuero de becerro italiano hecho a mano</li><li>Cierre: Mecanismo plegable para máxima comodidad</li><li>Embalaje: Caja azul con certificado y manual.</li></ul>';
|
||||
$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 5.0/5.0';
|
||||
$btn_readmore = 'Leer más';
|
||||
$price_from = 'a partir de';
|
||||
$subtitle = ' Explora nuestras colecciones de relojes más populares y exquisitas.';
|
||||
$dealers_page_title = 'Nuestros Distribuidores';
|
||||
$dealers_hero_title = 'Encuentra un Distribuidor Morval';
|
||||
$dealers_hero_subtitle = 'Descubre nuestros relojes en distribuidores autorizados';
|
||||
$dealers_section_title = 'Distribuidores Autorizados';
|
||||
$dealers_section_description = 'Visita a uno de nuestros socios de confianza para experimentar los relojes Morval de primera mano y recibir orientación experta.';
|
||||
$btn_call = 'Llamar';
|
||||
$btn_email = 'Correo';
|
||||
$become_dealer_title = 'Conviértete en Distribuidor Morval';
|
||||
$become_dealer_description = '¿Eres joyero y te gustaría incluir nuestros relojes en tu gama?';
|
||||
?>
|
||||
219
custom/translations/translations_FR.php
Normal file
219
custom/translations/translations_FR.php
Normal file
@@ -0,0 +1,219 @@
|
||||
<?php
|
||||
$h2_brand_name_1 = 'Morval Watches';
|
||||
$h2_brand_name_2 = 'une marque avec une histoire';
|
||||
$h2_brand_visit = 'Visitez notre collection';
|
||||
$h2_brand_wow = '<p>Morval réunit une combinaison unique de <span class="highlighted">design minimaliste</span>, <span class="highlighted">qualité suisse</span> et <span class="orange-text">fabrication néerlandaise</span>.</p><p>Nous vous proposons une montre à porter en toute occasion.</p>';
|
||||
$h1_content_top = 'Notre collection de montres';
|
||||
$product_count_1 = 'Produit';
|
||||
$product_count_2 = 's';
|
||||
$main_filter_category = 'Catégorie';
|
||||
$main_category = 'Tous';
|
||||
$main_filter_sort = 'Trier';
|
||||
$sort1 = 'A-Z';
|
||||
$sort2 = 'Z-A';
|
||||
$sort3 = 'Plus récents';
|
||||
$sort4 = 'Plus anciens';
|
||||
$sort5 = 'Prix décroissant';
|
||||
$sort6 = 'Prix croissant';
|
||||
$free_delivery = 'livraison gratuite';
|
||||
$non_free_delivery = 'livraison gratuite à partir de';
|
||||
$breadcrum_products = 'Collection';
|
||||
$product_quantity = 'Quantité';
|
||||
$product_on_stock = 'En stock';
|
||||
$out_of_stock_notify = 'Prévenez-moi';
|
||||
$out_of_stock_notify_2 = 'Visitez-nous @';
|
||||
$out_of_stock = 'En rupture de stock';
|
||||
$add_to_basket = 'Ajouter au panier';
|
||||
$h1_cart_name = 'Panier';
|
||||
$h2_cart_suggestions = 'Suggestions';
|
||||
$h2_cart_sample_product = 'Échantillons';
|
||||
$tr_product = 'Produit';
|
||||
$tr_price = 'Prix';
|
||||
$tr_quantity = 'Quantité';
|
||||
$tr_total = 'Total';
|
||||
$total_subtotal = 'Sous-total';
|
||||
$total_note = '(les frais d\'expédition sont calculés lors du paiement)';
|
||||
$total_vat = 'TVA';
|
||||
$total_shipping = 'Expédition';
|
||||
$total_shipping_note = '(expédition incluse)';
|
||||
$total_discount = 'Remise';
|
||||
$total_total = 'Total';
|
||||
$total_total_note = 'TVA incluse';
|
||||
$btn_emptycart = 'vider';
|
||||
$btn_update = 'Mettre à jour';
|
||||
$btn_checkout = 'Paiement';
|
||||
$navigation_back_to_store = 'retour à la collection';
|
||||
$cart_message_empty = 'Vous n\'avez pas de produits dans votre panier';
|
||||
$error_account_name = 'Le compte existe déjà.';
|
||||
$error_account_password_rules = 'Le mot de passe doit comporter entre 5 et 20 caractères.';
|
||||
$error_account_password_match = 'Les mots de passe ne correspondent pas.';
|
||||
$error_account = 'Création de compte requise.';
|
||||
$h1_checkout = 'Paiement';
|
||||
$account_available = 'Vous avez déjà un compte?';
|
||||
$account_log_in = 'Se connecter';
|
||||
$account_create = 'Créer un compte';
|
||||
$account_create_optional = '(facultatif)';
|
||||
$account_create_email = 'Email';
|
||||
$account_create_password = 'Mot de passe';
|
||||
$account_create_password_confirm = 'Confirmer le mot de passe';
|
||||
$h2_Shipping_details = 'Détails de livraison';
|
||||
$h3_shipping_method = 'Méthode d\'expédition';
|
||||
$shipping_first_name = 'Prénom';
|
||||
$shipping_last_name = 'Nom';
|
||||
$shipping_address = 'Adresse';
|
||||
$shipping_city = 'Ville';
|
||||
$shipping_state = 'Région/État';
|
||||
$shipping_zip = 'Code postal';
|
||||
$shipping_country = 'Pays';
|
||||
$shipping_phone = 'Téléphone';
|
||||
$payment_method = 'Méthode de paiement';
|
||||
$payment_method_1 = 'Débit (clients NL/BE)';
|
||||
$payment_method_2 = 'Paiement à la livraison';
|
||||
$h2_shoppingcart = 'Panier';
|
||||
$discount_label = 'Code de réduction';
|
||||
$discount_message = 'Code de réduction appliqué!';
|
||||
$discount_error_1 = 'Code de réduction incorrect!';
|
||||
$discount_error_2 = 'Code de réduction expiré!';
|
||||
$order_consent_1 = 'Je souhaite recevoir des communications par email concernant les actualités, produits et services de MorvalWatches';
|
||||
$order_consent_2 = 'J\'accepte';
|
||||
$order_consent_3 = 'Conditions générales';
|
||||
$btn_place_order = 'Commander';
|
||||
$h1_order_succes_message = 'Votre commande a été passée';
|
||||
$order_succes_message = 'Merci d\'avoir commandé chez nous! Nous vous contacterons par email avec les détails de votre commande.';
|
||||
$error_myaccount = 'Email/Mot de passe incorrect!';
|
||||
$h1_login = 'Connexion';
|
||||
$h1_register = 'S\'inscrire';
|
||||
$h1_myaccount = 'Mon compte';
|
||||
$h2_menu = 'Menu';
|
||||
$menu_orders = 'Commandes';
|
||||
$menu_downloads = 'Téléchargements';
|
||||
$h2_myorders = 'Mes commandes';
|
||||
$myorders_message = 'Vous n\'avez pas de commandes';
|
||||
$myorders_order = 'Commande';
|
||||
$myorders_date = 'Date';
|
||||
$myorders_status = 'Statut';
|
||||
$myorders_shipping = 'Expédition';
|
||||
$myorders_total = 'Total';
|
||||
$h2_mydownloads = 'Mes téléchargements';
|
||||
$mydownloads_message = 'Vous n\'avez pas de téléchargements';
|
||||
$mydownloads_product = 'Produit';
|
||||
$h2_settings = 'Paramètres';
|
||||
$settings_email = 'Email';
|
||||
$settings_new_password = 'Nouveau mot de passe';
|
||||
$btn_settings_save = 'Enregistrer';
|
||||
$age_consent_h4 = 'Vérifions votre âge';
|
||||
$age_consent_text = 'Pour visiter MorvalWatches, vous devez avoir 18 ans ou plus.';
|
||||
$age_consent_btn_allow = 'J\'accepte';
|
||||
$age_consent_btn_deny = 'Je refuse';
|
||||
$maintenanceMode_h4 = 'La boutique en ligne est en maintenance';
|
||||
$maintenanceMode_text = 'Notre boutique en ligne est en maintenance. Nous espérons vous revoir bientôt';
|
||||
$maintenanceMode_btn = 'OK';
|
||||
$subject_order_notification = 'MorvalWatches - Vous avez reçu une nouvelle commande!';
|
||||
$subject_new_order = 'MorvalWatches - Détails de la commande';
|
||||
$subject_out_of_stock = 'MorvalWatches - Rupture de stock';
|
||||
$home_text = 'Accueil';
|
||||
$products_text = 'Collection';
|
||||
$about_text = 'À propos';
|
||||
$myaccount_text = 'Compte';
|
||||
$social_punch_line = 'Connectez-vous avec Morval via nos réseaux sociaux';
|
||||
$privacy_text = 'Confidentialité';
|
||||
$terms_text = 'Conditions générales';
|
||||
$faq_text = 'Questions fréquemment posées';
|
||||
$order_email_title = 'MorvalWatches - Commande';
|
||||
$order_email_message_1 = 'Merci pour votre commande';
|
||||
$order_email_message_2 = 'Votre commande a été reçue et est en cours de traitement. Les détails de votre commande sont ci-dessous.';
|
||||
$order_email_information = 'Vos détails';
|
||||
$h2_about_1 = 'À propos de Morval';
|
||||
$about_header_1 = 'À propos';
|
||||
$about_1_p = 'Morval Watches a été fondée en 2023 par Ralph van Wezel. Ralph est pharmacien hospitalier et a une fascination pour la technologie. Dans son travail, il s\'efforce de rendre disponibles des médicaments qui font une différence pour le patient. La production d\'un médicament nécessite des connaissances, de la précision, de l\'exactitude, de la technique, de la qualité et du savoir-faire. C\'est là que réside la similitude avec la fabrication d\'une montre automatique de haute qualité. Ralph s\'est fixé comme objectif de développer une montre capable de rivaliser avec les marques renommées, mais vendue à un prix acceptable.';
|
||||
$about_header_2 = 'À propos de nos montres';
|
||||
$about_2_p = 'Une montre Morval s\'inspire des modèles vintage et du design minimaliste des montres scandinaves. Grâce aux variations de couleurs du cadran et du bracelet, une montre Morval peut être portée en toute occasion, aussi bien pour le sport que pour une tenue habillée. Les montres Morval répondent aux plus hautes exigences de qualité et rivalisent avec les grandes marques suisses. Les composants proviennent de fabricants renommés d\'Europe et d\'ailleurs. Une Morval est équipée d\'un calibre de fabrication suisse (STP), reconnu pour sa fiabilité. L\'assemblage est réalisé à Amsterdam par des horlogers reconnus et chaque montre est soumise à des contrôles qualité rigoureux garantissant sa fonctionnalité et son esthétique. La montre est réglée et testée manuellement afin de minimiser les écarts de couleur. Morval est synonyme d\'un excellent rapport qualité-prix ! En achetant une montre Morval, vous avez l\'assurance d\'une montre intemporelle qui durera des décennies. Une attention particulière a été portée aux détails, tels qu\'un boîtier brossé en acier inoxydable 316, des aiguilles Superluminova, un verre antireflet et un bracelet en cuir réglable en continu. Cela reflète l\'allure luxueuse de la marque. Avec une montre Morval, vous disposez d\'un garde-temps unique, robuste, élégant et intemporel qui durera des générations !';
|
||||
$about_header_3 = 'À propos de Morval';
|
||||
$about_morval_text = 'En savoir plus sur l\'histoire de Morval';
|
||||
$h2_about_morval_1 = 'L\'histoire de Morval';
|
||||
$h2_about_morval_2 = '';
|
||||
$about_morval_header_1 = '';
|
||||
$about_morval_header_2 = '';
|
||||
$about_morval_header_3 = '';
|
||||
$about_morval_2_p = 'Une fois les décombres dégagés, cette grande place vide demeurait comme une blessure au cœur des habitants. Trois ans plus tard, la municipalité construisit un petit campanile où furent accrochées les trois cloches descendues pour la démolition. Parrainées par les habitants des années 1930, elles sont toujours vivantes et sonnent encore la cloche pour commémorer chaque événement heureux ou malheureux, comme nous le faisions autrefois.';
|
||||
$about_morval_3_p = 'Une fois les décombres dégagés, cette grande place vide demeura comme une plaie dans le cœur des habitants. Trois ans plus tard, la municipalité construisit un petit campanile où furent accrochées les trois cloches descendues pour la démolition. Parrainées par les habitants des années 1930, elles sont toujours vivantes et sonnent encore la cloche pour commémorer chaque événement heureux ou malheureux, comme nous le faisions autrefois. Grâce à eux, Morval n\'oublie pas son clocher disparu.';
|
||||
$invoice_morval_subject = 'Montres Morval - facture';
|
||||
$place_order_header = 'Passer commande';
|
||||
$checkout_header = 'Vérifier';
|
||||
$tax_text = 'T.V.A.';
|
||||
$h2_cart_samples = 'Échantillons';
|
||||
$products_filters_h2 = 'Filtres';
|
||||
$btn_filter = 'Filtre';
|
||||
$sort = 'Trier';
|
||||
$order_number_text = 'Commande';
|
||||
$order_date_text = 'Date';
|
||||
$tr_options = 'Options';
|
||||
$order_invoice_text = 'Facture';
|
||||
$invoice_payment_paid_text = 'Le montant total de cette facture est payé';
|
||||
$highlight_1 = 'Collection';
|
||||
$home_timeless = 'Intemporel';
|
||||
$home_timeless_text = 'Les montres Morval sont des garde-temps uniques, robustes, élégants et intemporels qui dureront des générations !';
|
||||
$shop_action = 'achetez maintenant';
|
||||
$home_quality = 'Qualité';
|
||||
$home_quality_text = 'Les montres Morval répondent aux plus hautes exigences de qualité et rivalisent avec les grandes marques suisses. Les composants proviennent de fabricants renommés d\'Europe et d\'ailleurs. Une Morval est équipée d\'un calibre suisse (STP), reconnu pour sa fiabilité.';
|
||||
$home_price = 'Prix';
|
||||
$home_price_text = 'Morval est synonyme d\'un excellent rapport qualité-prix';
|
||||
$shopping_cart_header = 'Panier';
|
||||
$about_3_p = 'Morval tire son nom du nom de famille de l\'un des grands-parents de Ralph. Le logo s\'inspire du monument de la ville de Morval, dans le nord de la France, construit à partir des vestiges d\'une église et des trois cloches de son clocher.';
|
||||
$newuser_credential_text_1 = 'Votre compte a été créé avec le nom d\'utilisateur';
|
||||
$newuser_credential_text_2 = 'Veuillez cliquer sur le bouton ci-dessous pour terminer votre inscription.';
|
||||
$verify_account = 'Vérifier le compte';
|
||||
$newuser_signature = ' Cordialement,';
|
||||
$newuser_signature_name = 'Montres Morval';
|
||||
$changeuser_credential_text_1 = 'Veuillez cliquer sur le bouton ci-dessous pour réinitialiser le mot de passe de votre compte.';
|
||||
$changeuser_signature = ' Cordialement,';
|
||||
$changeuser_signature_name = 'Montres Morval';
|
||||
$bracelet_dark = 'Bracelet Noir';
|
||||
$bracelet_blue = 'Bracelet Bleu foncé';
|
||||
$bracelet_dark_brown = 'Bracelet Brun foncé';
|
||||
$bracelet_light_brown = 'Bracelet Marron clair';
|
||||
$bracelet_steel = 'Bracelet Acier';
|
||||
$MWTH1NB_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024 avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable poli (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Date : Chiffres arabes (jour)</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH2NB_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024BV avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable brossé (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH2IB_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024BV avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable brossé (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH2RG_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024BV avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable brossé (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH2DG_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024BV avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable brossé (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH2G_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024BV avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable brossé (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$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 = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024 avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable poli (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Date : Chiffres arabes (jour)</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH1RG_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024 avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable poli (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Date : Chiffres arabes (jour)</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH1DG_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024 avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable poli (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Date : Chiffres arabes (jour)</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$MWTH1G_description = '<p>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.</p><h3><b>Caractéristiques</b></h3><ul><li>Taille du boîtier : 39 mm x 10,5 mm.</li><li>Calibre : Soprod P024 avec 26 rubis</li><li>Réserve de marche : 40 h</li><li>Isochronisme : < 10 sec./jour</li><li>Lunette : Acier inoxydable poli (316L)</li><li>Étanchéité : 50 mètres (5 ATM)</li><li>Cadran : Cadran effet rayon de soleil</li><li>Date : Chiffres arabes (jour)</li><li>Luminescence : Superluminova (Bleu)</li><li>Verre : Saphir avec revêtement antireflet</li><li>Fond du boîtier : Vissé, acier inoxydable brossé avec verre saphir</li><li>Bracelet (acier) : Acier inoxydable 316L brossé et poli</li><li>Bracelet (cuir) : Cuir de veau italien fait main</li><li>Boucle : Mécanisme déployant pour un confort optimal</li><li>Emballage : Boîte bleue avec certificat et manuel.</li></ul>';
|
||||
$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 5.0/5.0';
|
||||
$btn_readmore = 'En savoir plus';
|
||||
$price_from = 'à partir de';
|
||||
$dealers_page_title = 'Nos Revendeurs';
|
||||
$dealers_hero_title = 'Trouvez un Revendeur Morval';
|
||||
$dealers_hero_subtitle = 'Découvrez nos montres chez les revendeurs agréés';
|
||||
$dealers_section_title = 'Revendeurs Agréés';
|
||||
$dealers_section_description = 'Visitez l\'un de nos partenaires de confiance pour découvrir les montres Morval de première main et recevoir des conseils d\'experts.';
|
||||
$btn_call = 'Appeler';
|
||||
$btn_email = 'E-mail';
|
||||
$become_dealer_title = 'Devenez Revendeur Morval';
|
||||
$become_dealer_description = 'Êtes-vous bijoutier et souhaitez-vous inclure nos montres dans votre gamme?';
|
||||
?>
|
||||
2
custom/translations/translations_IT.php
Normal file
2
custom/translations/translations_IT.php
Normal file
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
?>
|
||||
@@ -1,94 +1,62 @@
|
||||
<?php
|
||||
//include text files
|
||||
include_once dirname(__FILE__).'/translations_termsandconditions.php';
|
||||
include_once dirname(__FILE__).'/translations_privacy.php';
|
||||
|
||||
//Home.php
|
||||
$h2_brand_name_1 = 'MorvalWatches';
|
||||
$h2_brand_name_2 = 'a brand with a story';
|
||||
$h2_content_top = 'Recente producten';
|
||||
$h2_brand_visit = 'Visit our collection';
|
||||
$h2_brand_wow = 'Morval brings together a unique combination of minimalistic design, Swiss quality and Dutch manufacturing. We give you a watch to wear in any occasion.';
|
||||
|
||||
$h2_home_content_1 = '';
|
||||
$h2_home_content_2 = '';
|
||||
//Zie ook large TEXT
|
||||
|
||||
//Zie ook large TEXT
|
||||
|
||||
//Products.php
|
||||
$h1_content_top = 'Onze collectie';
|
||||
$h2_brand_name_1 = 'Morval Watches';
|
||||
$h2_brand_name_2 = 'een merk met een verhaal';
|
||||
$h2_brand_visit = 'Bezoek onze collectie';
|
||||
$h2_brand_wow = '<p>Morval brengt een unieke combinatie van <span class="highlighted">minimalistisch design</span>, <span class="highlighted">Zwitserse kwaliteit</span> en <span class="orange-text">Nederlandse productie</span> samen.</p><p>Wij geven je een horloge dat je bij elke gelegenheid kunt dragen.</p>';
|
||||
$h1_content_top = 'Onze horlogecollectie';
|
||||
$product_count_1 = 'Product';
|
||||
$product_count_2 = 'en';
|
||||
|
||||
$main_filter_category = 'Categorie';
|
||||
$main_category = 'Alle';
|
||||
|
||||
$main_filter_sort = 'Sorteren';
|
||||
|
||||
$sort1 = 'A-Z';
|
||||
$sort2 = 'Z-A';
|
||||
$sort3 = 'Nieuwste';
|
||||
$sort4 = 'Verschijningsdatum';
|
||||
$sort5 = 'Prijs Hoog - Laag';
|
||||
$sort6 = 'Prijs Laag - Hoog';
|
||||
|
||||
$free_delivery = 'gratis levering';
|
||||
$non_free_delivery = 'gratis levering vanaf ';
|
||||
|
||||
//Product.php
|
||||
$breadcrum_products = 'Winkel';
|
||||
|
||||
$sort4 = 'Oudste';
|
||||
$sort5 = 'Prijs hoog - laag';
|
||||
$sort6 = 'Prijs laag - hoog';
|
||||
$free_delivery = 'gratis verzending';
|
||||
$non_free_delivery = 'gratis verzending vanaf';
|
||||
$breadcrum_products = 'Collectie';
|
||||
$product_quantity = 'Aantal';
|
||||
$product_on_stock = 'Op Voorraad';
|
||||
$out_of_stock_notify = 'Herinner mij';
|
||||
$out_of_stock_notify_2 = 'Bezoek ons op @';
|
||||
$product_on_stock = 'Op voorraad';
|
||||
$out_of_stock_notify = 'Breng me op de hoogte';
|
||||
$out_of_stock_notify_2 = 'Bezoek ons @';
|
||||
$out_of_stock = 'Niet op voorraad';
|
||||
$add_to_basket = 'In Winkelwagen';
|
||||
|
||||
|
||||
//Cart.php
|
||||
$add_to_basket = 'Toevoegen aan winkelwagen';
|
||||
$h1_cart_name = 'Winkelwagen';
|
||||
$h2_cart_suggestions = 'Extra\'s';
|
||||
$h2_cart_sample_product = '';
|
||||
|
||||
$h2_cart_suggestions = 'Suggesties';
|
||||
$h2_cart_sample_product = 'Voorbeelden';
|
||||
$tr_product = 'Product';
|
||||
$tr_price = 'Prijs';
|
||||
$tr_quantity = 'Aantal';
|
||||
$tr_total = 'Totaal';
|
||||
|
||||
$total_subtotal = 'Subtotaal';
|
||||
$total_note = '(verzendkosten worden berekend bij bestelling)';
|
||||
$total_vat = 'Belasting';
|
||||
$total_note = '(verzendkosten worden berekend tijdens het afrekenen)';
|
||||
$total_vat = 'BTW';
|
||||
$total_shipping = 'Verzending';
|
||||
$total_shipping_note = '(incl. verzending)';
|
||||
$total_shipping_note = '(verzending inbegrepen)';
|
||||
$total_discount = 'Korting';
|
||||
$total_total = 'Totaal';
|
||||
$total_total_note = '(incl. belastingen)';
|
||||
|
||||
$btn_emptycart = '🗑';
|
||||
$btn_update = 'Verversen';
|
||||
$btn_checkout = 'Bestellen';
|
||||
$navigation_back_to_store = 'Verder winkelen';
|
||||
|
||||
$cart_message_empty = 'Er zitten geen producten in uw winkelwagen';
|
||||
|
||||
//Checkout.php
|
||||
$error_account_name = 'Dit account bestaat al';
|
||||
$error_account_password_rules = 'Wachtwoord moet minimaal 5 and maximaal 20 tekens lang zijn';
|
||||
$error_account_password_match = 'Wachtwoorden zijn niet identiek';
|
||||
$error_account = 'Account aanmaken';
|
||||
|
||||
$h1_checkout = 'Bestelling Afronden';
|
||||
$total_total_note = 'BTW inbegrepen';
|
||||
$btn_emptycart = 'leegmaken';
|
||||
$btn_update = 'Bijwerken';
|
||||
$btn_checkout = 'Afrekenen';
|
||||
$navigation_back_to_store = 'terug naar collectie';
|
||||
$cart_message_empty = 'U heeft geen producten in uw winkelwagen';
|
||||
$error_account_name = 'Account bestaat al.';
|
||||
$error_account_password_rules = 'Wachtwoord moet tussen 5 en 20 tekens lang zijn.';
|
||||
$error_account_password_match = 'Wachtwoorden komen niet overeen.';
|
||||
$error_account = 'Account aanmaken vereist.';
|
||||
$h1_checkout = 'Afrekenen';
|
||||
$account_available = 'Heeft u al een account?';
|
||||
$account_log_in = 'Inloggen';
|
||||
$account_create = 'Account aanmaken';
|
||||
$account_create_optional = '(optioneel)';
|
||||
$account_create_email = 'Email';
|
||||
$account_create_email = 'E-mail';
|
||||
$account_create_password = 'Wachtwoord';
|
||||
$account_create_password_confirm = 'Bevestig wachtwoord';
|
||||
|
||||
$h2_Shipping_details = 'Verzenden';
|
||||
$h2_Shipping_details = 'Verzendgegevens';
|
||||
$h3_shipping_method = 'Verzendmethode';
|
||||
$shipping_first_name = 'Voornaam';
|
||||
$shipping_last_name = 'Achternaam';
|
||||
@@ -98,126 +66,166 @@ $shipping_state = 'Regio/Provincie';
|
||||
$shipping_zip = 'Postcode';
|
||||
$shipping_country = 'Land';
|
||||
$shipping_phone = 'Telefoon';
|
||||
|
||||
$payment_method = 'Betaalmethode';
|
||||
$payment_method_1 = 'Debit/Credit';
|
||||
$payment_method_2 = 'Achteraf betalen';
|
||||
|
||||
$payment_method_1 = 'Incasso (NL/BE klanten)';
|
||||
$payment_method_2 = 'Betaling bij levering';
|
||||
$h2_shoppingcart = 'Winkelwagen';
|
||||
$discount_label = 'Kortingscode';
|
||||
$discount_message = 'Kortingscode toegepast';
|
||||
$discount_error_1 = 'Kortingscode niet correct';
|
||||
$discount_error_2 = 'Kortingscode niet geldig';
|
||||
|
||||
$order_consent_1 = 'Ik wil graag email ontvangen over nieuws,producten en services van MorvalWatches.';
|
||||
$order_consent_2 = 'Akkoord met';
|
||||
$order_consent_3 = 'de algemene voorwaarden';
|
||||
|
||||
$btn_place_order = 'Bestellen en Betalen';
|
||||
|
||||
//Placeorder.php
|
||||
$h1_order_succes_message = 'Uw order is ontvangen';
|
||||
$order_succes_message = 'Bedankt voor uw order! We zullen u via email op de hoogte houden';
|
||||
|
||||
//Myaccount.php
|
||||
|
||||
$error_myaccount = 'Ingevoerde gegevens niet correct.';
|
||||
$error_myaccount_exists = $error_account_name;
|
||||
|
||||
$discount_message = 'Kortingscode toegepast!';
|
||||
$discount_error_1 = 'Onjuiste kortingscode!';
|
||||
$discount_error_2 = 'Kortingscode verlopen!';
|
||||
$order_consent_1 = 'Ik wil graag e-mailcommunicatie ontvangen over MorvalWatches nieuws, producten en diensten';
|
||||
$order_consent_2 = 'Ik ga akkoord met';
|
||||
$order_consent_3 = 'Algemene voorwaarden';
|
||||
$btn_place_order = 'Bestellen';
|
||||
$h1_order_succes_message = 'Uw bestelling is geplaatst';
|
||||
$order_succes_message = 'Bedankt voor uw bestelling! We nemen contact met u op via e-mail met uw bestelgegevens.';
|
||||
$error_myaccount = 'Onjuiste e-mail/wachtwoord!';
|
||||
$h1_login = 'Inloggen';
|
||||
$h1_register = 'Registeer';
|
||||
|
||||
$h1_register = 'Registreren';
|
||||
$h1_myaccount = 'Mijn account';
|
||||
$h2_menu = 'Menu';
|
||||
$menu_orders = 'Orders';
|
||||
$menu_orders = 'Bestellingen';
|
||||
$menu_downloads = 'Downloads';
|
||||
$menu_settings = 'Instellingen';
|
||||
|
||||
$h2_myorders = 'Mijn orders';
|
||||
$myorders_message = 'U heeft geen orders';
|
||||
$myorders_order = 'Order';
|
||||
$h2_myorders = 'Mijn bestellingen';
|
||||
$myorders_message = 'U heeft geen bestellingen';
|
||||
$myorders_order = 'Bestelling';
|
||||
$myorders_date = 'Datum';
|
||||
$myorders_status = 'Status';
|
||||
$myorders_shipping = 'Verzending';
|
||||
$myorders_total = 'Totaal';
|
||||
|
||||
$h2_mydownloads = 'Mijn downloads';
|
||||
$mydownloads_message = 'U heeft geen downloads';
|
||||
$mydownloads_product = 'Product';
|
||||
|
||||
$h2_settings = 'Instellingen';
|
||||
$settings_email = 'Email';
|
||||
$settings_email = 'E-mail';
|
||||
$settings_new_password = 'Nieuw wachtwoord';
|
||||
|
||||
$btn_settings_save = 'Opslaan';
|
||||
|
||||
//Functions.php
|
||||
$age_consent_h4 = 'Even uw leeftijd controleren';
|
||||
$age_consent_text = 'Om te kunnen bezoeken moet u 18 jaar of ouder zijn.';
|
||||
$age_consent_h4 = 'Laten we uw leeftijd controleren';
|
||||
$age_consent_text = 'Om MorvalWatches te bezoeken moet u 18 jaar of ouder zijn.';
|
||||
$age_consent_btn_allow = 'Akkoord';
|
||||
$age_consent_btn_deny = 'Niet akkoord';
|
||||
|
||||
$maintenanceMode_h4 = 'Onze webshop is in onderhoud';
|
||||
$maintenanceMode_text = 'Onze webshop is in onderhoud, we zien u graag snel terug.';
|
||||
$age_consent_btn_deny = 'Weigeren';
|
||||
$maintenanceMode_h4 = 'Webshop is in onderhoud';
|
||||
$maintenanceMode_text = 'Onze webshop is in onderhoud. We zien u graag snel terug';
|
||||
$maintenanceMode_btn = 'OK';
|
||||
|
||||
$subject_order_notification = 'Morval - You have received a new order!';
|
||||
$subject_new_order = 'Morval - Order Details';
|
||||
$subject_out_of_stock = 'Morval - Out of Stock';
|
||||
|
||||
//Header_template (functions.php)
|
||||
$subject_order_notification = 'MorvalWatches - U heeft een nieuwe bestelling ontvangen!';
|
||||
$subject_new_order = 'MorvalWatches - Bestelgegevens';
|
||||
$subject_out_of_stock = 'MorvalWatches - Niet op voorraad';
|
||||
$home_text = 'Home';
|
||||
$products_text = 'Winkel';
|
||||
$about_text = 'Over Ons';
|
||||
$products_text = 'Collectie';
|
||||
$about_text = 'Over ons';
|
||||
$myaccount_text = 'Account';
|
||||
|
||||
//Footer_template (functions.php)
|
||||
$social_punch_line = 'MorvalWatches op social media';
|
||||
$social_punch_line = 'Verbind met Morval via onze social media kanalen';
|
||||
$privacy_text = 'Privacy';
|
||||
$terms_text = 'Voorwaarden';
|
||||
$faq_text = 'Faq';
|
||||
|
||||
//order_details_template.php
|
||||
$order_email_title = 'MorvalWatches';
|
||||
$order_email_message_1 = 'Bedankt voor uw order';
|
||||
$order_email_message_2 = 'Wij gaan aan de slag met uw order.';
|
||||
|
||||
$terms_text = 'Algemene voorwaarden';
|
||||
$faq_text = 'Veelgestelde vragen';
|
||||
$order_email_title = 'MorvalWatches - Bestelling';
|
||||
$order_email_message_1 = 'Bedankt voor uw bestelling';
|
||||
$order_email_message_2 = 'Uw bestelling is ontvangen en wordt momenteel verwerkt. De details van uw bestelling vindt u hieronder.';
|
||||
$order_email_information = 'Uw gegevens';
|
||||
|
||||
//--------------------------------------------------------
|
||||
// Custom TEXT area
|
||||
//--------------------------------------------------------
|
||||
//ABOUT.PHP
|
||||
$h2_about_1 = 'Over Morval';
|
||||
$h2_about_1 = 'Over Morval';
|
||||
$h2_about_2 = '';
|
||||
|
||||
$about_header_1 = 'Over ons';
|
||||
$about_1_p ='Morval Watches was founded in 2023 by Ralph van Wezel. Ralph is a hospital pharmacist and has a fascination for technology. In his work he strives to make medicines available that make a difference for the patient. Producing a medicine requires knowledge, precision, accuracy, technique, quality and craftsmanship. Herein lies the similarity with the manufacture of a high-quality automatic watch. Ralph has set itself the goal of developing a watch that can compete with the renowned brands, but is sold at an acceptable price.';
|
||||
$about_header_2 = 'Onze horloges';
|
||||
$about_2_p ='A Morval Watch is inspired by the vintage models and minimalistic design of Scandinavian watches. Due to variations in the color of the dial and straps, a Morval watch can be worn on any occasion, both as sport and dress watch.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. The assemblies take place in Amsterdam by recognized watchmakers and each watch undergoes extensive quality control for functionality and aesthetics. The watch is manually adjusted and tested to minimize the deviation. Morval stands for an excellent price-quality ratio! When you purchase a Morval watch, you are assured of a timeless timepiece that will last for decades.A lot of attention has been paid to details, such as a brushed case of stainless steel 316 steel, superluminova on the hands, anti-reflective glass and infinitely adjustable leather strap. This translates into the luxurious appearance of the brand. With a Morval Watch you have a unique, robust, stylish and timeless timepiece that will last for generations!';
|
||||
$about_1_p = 'Morval Watches werd in 2023 opgericht door Ralph van Wezel. Ralph is ziekenhuisapotheker en heeft een fascinatie voor technologie. In zijn werk streeft hij ernaar om geneesmiddelen beschikbaar te maken die een verschil maken voor de patiënt. Het produceren van een geneesmiddel vereist kennis, precisie, nauwkeurigheid, techniek, kwaliteit en vakmanschap. Hierin ligt de overeenkomst met de vervaardiging van een hoogwaardige automatische horloge. Ralph heeft zich tot doel gesteld een horloge te ontwikkelen dat kan concurreren met de gerenommeerde merken, maar tegen een acceptabele prijs wordt verkocht.';
|
||||
$about_header_2 = 'Over onze horloges';
|
||||
$about_2_p = 'Een Morval horloge is geïnspireerd op de vintage modellen en het minimalistische design van Scandinavische horloges. Door de kleurvariaties van de wijzerplaat en banden kan een Morval horloge bij elke gelegenheid gedragen worden, zowel als sport- als dresshorloge. Morval horloges voldoen aan de hoogste kwaliteitseisen en kunnen wedijveren met de bekende Zwitserse merken. De onderdelen worden geleverd door gerenommeerde fabrikanten uit Europa en daarbuiten. Een Morval bevat een Swiss made kaliber (STP) dat bekend staat om zijn betrouwbare kwaliteit. De assemblage vindt plaats in Amsterdam door erkende horlogemakers en elk horloge ondergaat een uitgebreide kwaliteitscontrole op functionaliteit en esthetiek. Het horloge wordt handmatig afgesteld en getest om de afwijking te minimaliseren. Morval staat voor een uitstekende prijs-kwaliteitverhouding! Wanneer u een Morval horloge koopt, bent u verzekerd van een tijdloos uurwerk dat tientallen jaren meegaat. Er is veel aandacht besteed aan details, zoals een geborstelde kast van roestvrij staal 316, superluminova op de wijzers, ontspiegeld glas en traploos verstelbare leren band. Dit vertaalt zich in de luxe uitstraling van het merk. Met een Morval Horloge heeft u een uniek, robuust, stijlvol en tijdloos horloge dat generaties lang meegaat!';
|
||||
$about_header_3 = 'Over Morval';
|
||||
$about_3_p =' Morval takes its name from the surname of one of Ralph\'s grandparents. The logo is inspired by the monument in the town of Morval in northern France, which was built from the remains of a church and the three bells from the tower.';
|
||||
$about_morval_text = 'Lees meer over de historie van Morval';
|
||||
|
||||
//ABOUT MORVAL
|
||||
$h2_about_morval_1 = 'The history of Morval';
|
||||
$about_morval_text = 'Lees meer over de geschiedenis van Morval';
|
||||
$h2_about_morval_1 = 'De geschiedenis van Morval';
|
||||
$h2_about_morval_2 = '';
|
||||
|
||||
$about_morval_header_1 = '';
|
||||
$about_morval_1_p ='Morval, a village of 96 inhabitants, is located between 4 communes of the Somme as a peninsula of Pas-de-Calais at the end of the canton of Bapaume.
|
||||
Before 1914 it had 220 to 250 inhabitants, but it was completely destroyed during the Battle of Morval in the First World War (1914-18). The rebuilt church was the almost exact replica in style, allure and proportions (45 meters high, 40 meters long), as the previous one. The bell tower housed 3 beautiful bells, which is quite rare for a small village. It was inaugurated in October 1932.
|
||||
Unfortunately, it was not a good reconstruction and in the aftermath of the Second World War it was necessary to repair the roof, close cracks around the bell tower, replace stained glass windows, etc. Soon, successive municipalities could no longer cope with the deterioration . A complete renovation would have required at least 1,500,000 francs, while the municipality\'s annual budget was only 120,000 francs.
|
||||
In November 1973, during a funeral, part of the church collapsed during the sacrifice. The building was no longer safe and was closed for worship. In 1985, the mayor, deputies, councilors and administrators decided to destroy the church. An amount of 66,000 francs was reserved for this very sad operation, which was alleviated by a subsidy obtained from the general council.
|
||||
';
|
||||
$about_morval_header_2 = '';
|
||||
$about_morval_2_p ='The entrepreneur, Mr Bonifatius d\'Equancourt (Somme), took advantage of a nice post-season and lowered the bells on September 21, 1987.
|
||||
Mr Dromard, from the national CEFICEM center of Besançon (Doubs), had never had to carry out such work before. He first blew up the apse and transept with dynamite by drilling 600 holes. The preparations took longer than expected due to the hardness of the stones and concrete. At 7 p.m. on September 24, the 45-meter-high bell tower, so proud but so expensive to maintain, fell in a cloud of dust that had accumulated over 55 years.
|
||||
Shrapnel splintered in all directions flew up to 100 meters. A brick was found in the kitchen of the school residence: it had gone through the open window. A nearby small house had broken windows despite closed shutters and the presence of an armored screen. The roof of the barn of the nearby farm was hit and in a small corner where photographers were standing, there were two minor injuries to the legs, not to mention a broken car window.
|
||||
It was a bit like having the soul ripped out of our poor place that would never be like the others again.
|
||||
';
|
||||
$about_morval_header_3 = '';
|
||||
$about_morval_3_p ='When the rubble was cleared, this large empty square remained like a wound in the hearts of the inhabitants. Three years later the municipality built a small campanile where the three bells that were lowered for demolition were hung. Sponsored by 1930s residents, they remain alive and still ring the bell to mark every happy or unfortunate event as we once did.
|
||||
Thanks to them, Morval does not forget its missing bell tower.
|
||||
';
|
||||
|
||||
$about_morval_1_p = ' Morval, een dorp met 96 inwoners, ligt tussen 4 gemeenten van de Somme als een schiereiland van Pas-de-Calais aan het einde van het kanton Bapaume. Vóór 1914 telde het 220 tot 250 inwoners, maar het werd volledig verwoest tijdens de Slag bij Morval in de Eerste Wereldoorlog (1914-18). De herbouwde kerk was qua stijl, allure en verhoudingen (45 meter hoog, 40 meter lang) een bijna exacte kopie van de vorige. De klokkentoren herbergde 3 prachtige klokken, wat vrij zeldzaam is voor een klein dorp. Het werd ingehuldigd in oktober 1932. Helaas was het geen goede wederopbouw en na de Tweede Wereldoorlog was het noodzakelijk om het dak te repareren, scheuren rond de klokkentoren te dichten, glas-in-loodramen te vervangen, enz. Al snel konden opeenvolgende gemeenten de achteruitgang niet meer aan. Een volledige renovatie zou minstens 1.500.000 frank hebben gekost, terwijl het jaarlijkse budget van de gemeente slechts 120.000 frank bedroeg. In november 1973 stortte tijdens een begrafenis een deel van de kerk in tijdens het offer. Het gebouw was niet langer veilig en werd gesloten voor erediensten. In 1985 besloten de burgemeester, afgevaardigden, raadsleden en bestuurders de kerk te vernietigen. Voor deze zeer trieste operatie werd een bedrag van 66.000 frank gereserveerd, dat werd verlicht door een subsidie verkregen van de algemene raad.';
|
||||
$about_morval_2_p = 'Toen het puin was geruimd, bleef dit grote lege plein als een wond achter in de harten van de inwoners. Drie jaar later bouwde de gemeente een kleine klokkentoren waar de drie klokken werden opgehangen die voor de sloop waren neergelaten. Gesponsord door inwoners uit de jaren 30, leven ze nog steeds en luiden ze nog steeds de klok om elke gelukkige of ongelukkige gebeurtenis te vieren, zoals wij vroeger deden.';
|
||||
$about_morval_3_p = 'Toen het puin was geruimd, bleef dit grote lege plein als een wond achter in de harten van de inwoners. Drie jaar later bouwde de gemeente een kleine klokkentoren waar de drie klokken werden opgehangen die voor de sloop waren neergelaten. Gesponsord door inwoners uit de jaren 30, leven ze nog steeds en luiden ze nog steeds de klokken om elke gelukkige of ongelukkige gebeurtenis te vieren, zoals wij dat vroeger deden. Dankzij hen vergeet Morval zijn verdwenen klokkentoren niet.';
|
||||
$invoice_morval_subject = 'Morval horloges - factuur';
|
||||
$place_order_header = 'Bestelling plaatsen';
|
||||
$checkout_header = 'Uitchecken';
|
||||
$tax_text = 'VAT';
|
||||
$h2_cart_samples = 'Monsters';
|
||||
$products_filters_h2 = 'Filters';
|
||||
$btn_filter = 'Filter';
|
||||
$sort = 'Soort';
|
||||
$order_number_text = 'Order #';
|
||||
$order_date_text = 'Datum';
|
||||
$tr_options = 'Opties';
|
||||
$order_invoice_text = 'Factuur';
|
||||
$invoice_payment_paid_text = 'Het totaalbedrag van deze factuur is betaald';
|
||||
$highlight_1 = 'Verzameling';
|
||||
$highlight_2 = 'Collectie';
|
||||
$home_timeless = 'Tijdloos';
|
||||
$home_timeless_text = 'Morval Horloges zijn unieke, robuuste, stijlvolle en tijdloze horloges die generaties lang meegaan!';
|
||||
$shop_action = 'nu winkelen';
|
||||
$home_quality = 'Kwaliteit';
|
||||
$home_quality_text = 'Morval horloges voldoen aan de hoogste kwaliteitseisen en kunnen wedijveren met de bekende Zwitserse merken. De onderdelen worden geleverd door gerenommeerde fabrikanten uit Europa en daarbuiten. Een Morval bevat een Swiss made kaliber (STP) dat bekend staat om zijn betrouwbare kwaliteit.';
|
||||
$home_price = 'Prijs';
|
||||
$home_price_text = 'Morval staat voor een uitstekende prijs-kwaliteitverhouding';
|
||||
$shopping_cart_header = 'Winkelwagen';
|
||||
$about_3_p = 'Morval ontleent zijn naam aan de achternaam van een van Ralphs grootouders. Het logo is geïnspireerd op het monument in het Noord-Franse stadje Morval, dat gebouwd is uit de resten van een kerk en de drie klokken van de toren.';
|
||||
$newuser_subject = 'MorvalWatches - gebruiker aangemaakt';
|
||||
$newuser_header = 'Beste gebruiker';
|
||||
$newuser_text = 'Uw beheerder heeft toegang verleend tot het Klantenportaal.';
|
||||
$newuser_credential_text_1 = 'Uw account is aangemaakt met gebruikersnaam';
|
||||
$newuser_credential_text_2 = 'Klik op onderstaande knop om uw registratie te voltooien.';
|
||||
$newuser_closure = 'Om veiligheidsredenen is deze link slechts 10 minuten actief.';
|
||||
$verify_account = 'Account verifiëren';
|
||||
$newuser_signature = ' Met vriendelijke groeten,';
|
||||
$newuser_signature_name = 'MorvalWatches';
|
||||
$changeuser_subject = 'MorvalWatches - wachtwoord reset aangevraagd';
|
||||
$changeuser_header = 'Beste gebruiker';
|
||||
$changeuser_credential_text_1 = 'Klik op de onderstaande knop om het wachtwoord van uw account opnieuw in te stellen.';
|
||||
$changeuser_closure = 'Om veiligheidsredenen is deze link slechts 10 minuten actief.';
|
||||
$changeuser_signature = ' Met vriendelijke groeten,';
|
||||
$changeuser_signature_name = 'MorvalWatches';
|
||||
$bracelet_dark = 'Horlogeband Zwart';
|
||||
$bracelet_blue = 'Horlogeband Donkerblauw';
|
||||
$bracelet_dark_brown = 'Horlogeband Donkerbruin';
|
||||
$bracelet_light_brown = 'Horlogeband Lichtbruin';
|
||||
$bracelet_steel = 'Horlogeband Staal';
|
||||
$MWTH1NB_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Gepolijst roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Datum: Arabische cijfers (dag)</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH2NB_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Geborsteld roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH2IB_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Geborsteld roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH2RG_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Geborsteld roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH2DG_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Geborsteld roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH2G_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024BV met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Geborsteld roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$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 = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Gepolijst roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Datum: Arabische cijfers (dag)</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH1RG_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Gepolijst roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Datum: Arabische cijfers (dag)</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH1DG_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Gepolijst roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Datum: Arabische cijfers (dag)</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$MWTH1G_description = '<p>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.</p><h3><b>Specificaties</b></h3><ul><li>Kastgrootte: 39 mm x 10,5 mm.</li><li>Kaliber: Soprod P024 met 26 juwelen</li><li>Energiereserve: 40 u</li><li>Isocronisme: < 10 sec./dag</li><li>Lunette: Gepolijst roestvrij staal (316L)</li><li>Waterdicht: 50 meter (5 ATM)</li><li>Wijzerplaat: Zonnestraal-patroon</li><li>Datum: Arabische cijfers (dag)</li><li>Lumen: Superluminova (Blauw)</li><li>Glas: Saffierglas met antireflecterende coating</li><li>Achterkant kast: Geschroefd, geborsteld roestvrij staal met saffierglas</li><li>Band (staal): Geborsteld en gepolijst 316L roestvrij staal</li><li>Band (leer): Handgemaakt Italiaans kalfsleer</li><li>Sluiting: Vouwmechanisme voor ultiem comfort</li><li>Verpakking: Blauwe doos met certificaat en handleiding.</li></ul>';
|
||||
$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 5.0/5.0';
|
||||
$btn_readmore = 'Lees meer';
|
||||
$price_from = 'vanaf';
|
||||
$subtitle = ' Ontdek onze meest populaire en verfijnde horlogecollectie';
|
||||
$dealers_page_title = 'Onze Dealers';
|
||||
$dealers_hero_title = 'Vind een Morval Dealer';
|
||||
$dealers_hero_subtitle = 'Ontdek onze uurwerken bij geautoriseerde retailers';
|
||||
$dealers_section_title = 'Geautoriseerde Dealers';
|
||||
$dealers_section_description = 'Bezoek een van onze vertrouwde partners om Morval horloges uit de eerste hand te ervaren en deskundige begeleiding te ontvangen.';
|
||||
$btn_call = 'Bellen';
|
||||
$btn_email = 'E-mail';
|
||||
$become_dealer_title = 'Word een Morval Dealer';
|
||||
$become_dealer_description = 'Bent u een juwelier en wilt u onze horloges in uw assortiment opnemen?';
|
||||
?>
|
||||
@@ -1,77 +1,53 @@
|
||||
<?php
|
||||
|
||||
//include text files
|
||||
include_once dirname(__FILE__).'/translations_termsandconditions.php';
|
||||
include_once dirname(__FILE__).'/translations_privacy.php';
|
||||
|
||||
//Home.php
|
||||
$h2_brand_name_1 = 'MorvalWatches';
|
||||
$h2_brand_name_1 = 'Morval Watches';
|
||||
$h2_brand_name_2 = 'a brand with a story';
|
||||
$h2_brand_visit = 'Visit our collection';
|
||||
$h2_brand_wow = 'Morval brings together a unique combination of minimalistic design, Swiss quality and Dutch manufacturing. We give you a watch to wear in any occasion.';
|
||||
|
||||
//Products.php
|
||||
$h2_brand_wow = 'Morval brings together a unique combination of <span class="highlighted">Minimalistic design</span>, <span class="highlighted">Swiss quality</span> and <span class="orange-text">Dutch manufacturing</span>.<p></p><p>We give you a watch to wear in any occasion.</p>';
|
||||
$h1_content_top = 'Our watch collection';
|
||||
$product_count_1 = 'Product';
|
||||
$product_count_2 = 's';
|
||||
|
||||
$main_filter_category = 'Category';
|
||||
$main_category = 'All';
|
||||
$main_filter_sort = 'Sort';
|
||||
|
||||
$sort1 = 'A-Z';
|
||||
$sort2 = 'Z-A';
|
||||
$sort3 = 'Latest';
|
||||
$sort4 = 'Oldest';
|
||||
$sort5 = 'Price High - Low';
|
||||
$sort6 = 'Price Low - High';
|
||||
|
||||
$free_delivery = 'free delivery';
|
||||
$non_free_delivery = 'free delivery from ';
|
||||
|
||||
//Product.php
|
||||
$non_free_delivery = 'free delivery from';
|
||||
$breadcrum_products = 'Collection';
|
||||
$product_quantity = 'Quantity';
|
||||
$product_on_stock = 'In Stock';
|
||||
|
||||
$out_of_stock_notify = 'Notify Me';
|
||||
$out_of_stock_notify_2 = 'Visit us @';
|
||||
$out_of_stock = 'Out of stock';
|
||||
$add_to_basket = 'Add To Cart';
|
||||
|
||||
|
||||
//Cart.php
|
||||
$h1_cart_name = 'Shopping Cart';
|
||||
$h2_cart_suggestions = 'Suggestions';
|
||||
$h2_cart_sample_product = '';
|
||||
|
||||
$h2_cart_sample_product = 'Samples';
|
||||
$tr_product = 'Product';
|
||||
$tr_price = 'Price';
|
||||
$tr_quantity = 'Quantity';
|
||||
$tr_total = 'Total';
|
||||
|
||||
$total_subtotal = 'Subtotal';
|
||||
$total_note = '';
|
||||
$total_note = '(shipping is calculated during checkout)';
|
||||
$total_vat = 'VAT';
|
||||
$total_shipping = 'Shipping';
|
||||
$total_shipping_note = '(shipping included)';
|
||||
$total_discount = 'Discount';
|
||||
$total_total = 'Total';
|
||||
$total_total_note = 'VAT included ';
|
||||
|
||||
$btn_emptycart = '🗑';
|
||||
$total_total_note = 'VAT included';
|
||||
$btn_emptycart = 'clear';
|
||||
$btn_update = 'Update';
|
||||
$btn_checkout = 'Checkout';
|
||||
$navigation_back_to_store = 'return to collection';
|
||||
|
||||
$cart_message_empty = 'You have no products added in your Shopping Cart';
|
||||
|
||||
//Checkout.php
|
||||
$error_account_name = 'Account already exists.';
|
||||
$error_account_password_rules = 'Password must be between 5 and 20 characters long.';
|
||||
$error_account_password_match = 'Passwords do not match.';
|
||||
$error_account = 'Account creation required.';
|
||||
|
||||
$h1_checkout = 'Checkout';
|
||||
$account_available = 'Already have an account?';
|
||||
$account_log_in = 'Log In';
|
||||
@@ -80,7 +56,6 @@ $account_create_optional = '(optional)';
|
||||
$account_create_email = 'Email';
|
||||
$account_create_password = 'Password';
|
||||
$account_create_password_confirm = 'Confirm Password';
|
||||
|
||||
$h2_Shipping_details = 'Shipping Details';
|
||||
$h3_shipping_method = 'Shipping Method';
|
||||
$shipping_first_name = 'First Name';
|
||||
@@ -91,41 +66,28 @@ $shipping_state = 'Region/State';
|
||||
$shipping_zip = 'Zip';
|
||||
$shipping_country = 'Country';
|
||||
$shipping_phone = 'Phone';
|
||||
|
||||
$payment_method = 'Payment Method';
|
||||
$payment_method_1 = 'Debit (NL/BE customers)';
|
||||
$payment_method_2 = 'Pay on delivery';
|
||||
|
||||
$h2_shoppingcart = 'Shopping Cart';
|
||||
$discount_label = 'Discount Code';
|
||||
$discount_message = 'Discount code applied!';
|
||||
$discount_error_1 = 'Incorrect discount code!';
|
||||
$discount_error_2 = 'Discount code expired!';
|
||||
|
||||
$order_consent_1 = 'I would like to recieve email communication about MorvalWatches news, products and services';
|
||||
$order_consent_2 = 'I agree with';
|
||||
$order_consent_3 = 'Terms & Conditions';
|
||||
|
||||
$btn_place_order = 'Order';
|
||||
|
||||
//Placeorder.php
|
||||
$h1_order_succes_message = 'Your Order Has Been Placed';
|
||||
$order_succes_message = 'Thank you for ordering with us! We will contact you by email with your order details.';
|
||||
|
||||
//Myaccount.php
|
||||
|
||||
$error_myaccount = 'Incorrect Email/Password!';
|
||||
$error_myaccount_exists = $error_account_name;
|
||||
|
||||
$h1_login = 'Login';
|
||||
$h1_register = 'Register';
|
||||
|
||||
$h1_myaccount = 'My Account';
|
||||
$h2_menu = 'Menu';
|
||||
$menu_orders = 'Orders';
|
||||
$menu_downloads = 'Downloads';
|
||||
$menu_settings = 'Settings';
|
||||
|
||||
$h2_myorders = 'My orders';
|
||||
$myorders_message = 'You have no orders';
|
||||
$myorders_order = 'Order';
|
||||
@@ -133,82 +95,138 @@ $myorders_date = 'Date';
|
||||
$myorders_status = 'Status';
|
||||
$myorders_shipping = 'Shipping';
|
||||
$myorders_total = 'Total';
|
||||
|
||||
$h2_mydownloads = 'My downloads';
|
||||
$mydownloads_message = 'You have no downloads';
|
||||
$mydownloads_product = 'Product';
|
||||
|
||||
$h2_settings = 'Settings';
|
||||
$settings_email = 'Email';
|
||||
$settings_new_password = 'New Password';
|
||||
|
||||
$btn_settings_save = 'Save';
|
||||
|
||||
//Functions.php
|
||||
$age_consent_h4 = 'Lets check your age';
|
||||
$age_consent_text = 'To visit MorvalWatches you need to be 18 years or older.';
|
||||
$age_consent_btn_allow = 'Agree';
|
||||
$age_consent_btn_deny = 'disagree';
|
||||
|
||||
$maintenanceMode_h4 = 'Webshop is in maintenance';
|
||||
$maintenanceMode_text = 'Our webshop is in maintenance. We like to see you back soon';
|
||||
$maintenanceMode_btn = 'OK';
|
||||
$subject_order_notification = 'MorvalWatches - You have received a new order!';
|
||||
$subject_new_order = 'MorvalWatches - Order Details';
|
||||
$subject_out_of_stock = 'MorvalWatches - Out of Stock';
|
||||
|
||||
//Header_template (functions.php)
|
||||
$home_text = 'Home';
|
||||
$products_text = 'Collection';
|
||||
$about_text = 'About Us';
|
||||
$myaccount_text = 'Account';
|
||||
|
||||
//Footer_template (functions.php)
|
||||
$social_punch_line = 'Connect with Morval via our social media channels';
|
||||
$privacy_text = 'Privacy';
|
||||
$terms_text = 'Terms and Conditions';
|
||||
$faq_text = 'Frequent asked questions';
|
||||
|
||||
//order_details_template.php
|
||||
$order_email_title = 'MorvalWatches - Order';
|
||||
$order_email_message_1 = 'Thank you for your order';
|
||||
$order_email_message_2 = 'Your order has been received and is currently being processed. The details for your order are below.';
|
||||
|
||||
$order_email_information = 'Your Details';
|
||||
|
||||
//--------------------------------------------------------
|
||||
// Custom TEXT area
|
||||
//--------------------------------------------------------
|
||||
//ABOUT.PHP
|
||||
$h2_about_1 = 'About Morval';
|
||||
$h2_about_1 = 'About Morval';
|
||||
$h2_about_2 = '';
|
||||
|
||||
$about_header_1 = 'About US';
|
||||
$about_1_p ='Morval Watches was founded in 2023 by Ralph van Wezel. Ralph is a hospital pharmacist and has a fascination for technology. In his work he strives to make medicines available that make a difference for the patient. Producing a medicine requires knowledge, precision, accuracy, technique, quality and craftsmanship. Herein lies the similarity with the manufacture of a high-quality automatic watch. Ralph has set itself the goal of developing a watch that can compete with the renowned brands, but is sold at an acceptable price.';
|
||||
$about_1_p = 'Morval Watches was founded in 2023 by Ralph van Wezel. Ralph is a hospital pharmacist and has a fascination for technology. In his work he strives to make medicines available that make a difference for the patient. Producing a medicine requires knowledge, precision, accuracy, technique, quality and craftsmanship. Herein lies the similarity with the manufacture of a high-quality automatic watch. Ralph has set itself the goal of developing a watch that can compete with the renowned brands, but is sold at an acceptable price.';
|
||||
$about_header_2 = 'About our watches';
|
||||
$about_2_p ='A Morval Watch is inspired by the vintage models and minimalistic design of Scandinavian watches. Due to variations in the color of the dial and straps, a Morval watch can be worn on any occasion, both as sport and dress watch.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. The assemblies take place in Amsterdam by recognized watchmakers and each watch undergoes extensive quality control for functionality and aesthetics. The watch is manually adjusted and tested to minimize the deviation. Morval stands for an excellent price-quality ratio! When you purchase a Morval watch, you are assured of a timeless timepiece that will last for decades.A lot of attention has been paid to details, such as a brushed case of stainless steel 316 steel, superluminova on the hands, anti-reflective glass and infinitely adjustable leather strap. This translates into the luxurious appearance of the brand. With a Morval Watch you have a unique, robust, stylish and timeless timepiece that will last for generations!';
|
||||
$about_2_p = 'A Morval Watch is inspired by the vintage models and minimalistic design of Scandinavian watches. Due to variations in the color of the dial and straps, a Morval watch can be worn on any occasion, both as sport and dress watch.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. The assemblies take place in Amsterdam by recognized watchmakers and each watch undergoes extensive quality control for functionality and aesthetics. The watch is manually adjusted and tested to minimize the deviation. Morval stands for an excellent price-quality ratio! When you purchase a Morval watch, you are assured of a timeless timepiece that will last for decades.A lot of attention has been paid to details, such as a brushed case of stainless steel 316 steel, superluminova on the hands, anti-reflective glass and infinitely adjustable leather strap. This translates into the luxurious appearance of the brand. With a Morval Watch you have a unique, robust, stylish and timeless timepiece that will last for generations!';
|
||||
$about_header_3 = 'About Morval';
|
||||
$about_3_p =' Morval takes its name from the surname of one of Ralph\'s grandparents. The logo is inspired by the monument in the town of Morval in northern France, which was built from the remains of a church and the three bells from the tower.';
|
||||
$about_morval_text = 'Read more about the history of Morval';
|
||||
|
||||
//ABOUT MORVAL
|
||||
$h2_about_morval_1 = 'The history of Morval';
|
||||
$h2_about_morval_1 = 'The history of Morval';
|
||||
$h2_about_morval_2 = '';
|
||||
|
||||
$about_morval_header_1 = '';
|
||||
$about_morval_1_p ='Morval, a village of 96 inhabitants, is located between 4 communes of the Somme as a peninsula of Pas-de-Calais at the end of the canton of Bapaume.
|
||||
Before 1914 it had 220 to 250 inhabitants, but it was completely destroyed during the Battle of Morval in the First World War (1914-18). The rebuilt church was the almost exact replica in style, allure and proportions (45 meters high, 40 meters long), as the previous one. The bell tower housed 3 beautiful bells, which is quite rare for a small village. It was inaugurated in October 1932.
|
||||
Unfortunately, it was not a good reconstruction and in the aftermath of the Second World War it was necessary to repair the roof, close cracks around the bell tower, replace stained glass windows, etc. Soon, successive municipalities could no longer cope with the deterioration . A complete renovation would have required at least 1,500,000 francs, while the municipality\'s annual budget was only 120,000 francs.
|
||||
In November 1973, during a funeral, part of the church collapsed during the sacrifice. The building was no longer safe and was closed for worship. In 1985, the mayor, deputies, councilors and administrators decided to destroy the church. An amount of 66,000 francs was reserved for this very sad operation, which was alleviated by a subsidy obtained from the general council.
|
||||
';
|
||||
$about_morval_header_2 = '';
|
||||
$about_morval_2_p ='The entrepreneur, Mr Bonifatius d\'Equancourt (Somme), took advantage of a nice post-season and lowered the bells on September 21, 1987.
|
||||
Mr Dromard, from the national CEFICEM center of Besançon (Doubs), had never had to carry out such work before. He first blew up the apse and transept with dynamite by drilling 600 holes. The preparations took longer than expected due to the hardness of the stones and concrete. At 7 p.m. on September 24, the 45-meter-high bell tower, so proud but so expensive to maintain, fell in a cloud of dust that had accumulated over 55 years.
|
||||
Shrapnel splintered in all directions flew up to 100 meters. A brick was found in the kitchen of the school residence: it had gone through the open window. A nearby small house had broken windows despite closed shutters and the presence of an armored screen. The roof of the barn of the nearby farm was hit and in a small corner where photographers were standing, there were two minor injuries to the legs, not to mention a broken car window.
|
||||
It was a bit like having the soul ripped out of our poor place that would never be like the others again.
|
||||
';
|
||||
$about_morval_header_3 = '';
|
||||
$about_morval_3_p ='When the rubble was cleared, this large empty square remained like a wound in the hearts of the inhabitants. Three years later the municipality built a small campanile where the three bells that were lowered for demolition were hung. Sponsored by 1930s residents, they remain alive and still ring the bell to mark every happy or unfortunate event as we once did.
|
||||
Thanks to them, Morval does not forget its missing bell tower.
|
||||
';
|
||||
$about_morval_1_p = '"Morval, a village of 96 inhabitants, is located between 4 communes of the Somme as a peninsula of Pas-de-Calais at the end of the canton of Bapaume.';
|
||||
$about_morval_2_p = 'When the rubble was cleared, this large empty square remained like a wound in the hearts of the inhabitants. Three years later the municipality built a small campanile where the three bells that were lowered for demolition were hung. Sponsored by 1930s residents, they remain alive and still ring the bell to mark every happy or unfortunate event as we once did.';
|
||||
$about_morval_3_p = 'When the rubble was cleared, this large empty square remained like a wound in the hearts of the inhabitants. Three years later the municipality built a small campanile where the three bells that were lowered for demolition were hung. Sponsored by 1930s residents, they remain alive and still ring the bell to mark every happy or unfortunate event as we once did. Thanks to them, Morval does not forget its missing bell tower.';
|
||||
$invoice_morval_subject = 'Morval watches - invoice';
|
||||
$place_order_header = 'Place order';
|
||||
$checkout_header = 'Checkout';
|
||||
$tax_text = 'VAT';
|
||||
$h2_cart_samples = 'Samples';
|
||||
$products_filters_h2 = 'Filters';
|
||||
$btn_filter = 'Filter';
|
||||
$sort = 'Sort';
|
||||
$order_number_text = 'Order';
|
||||
$order_date_text = 'Date';
|
||||
$tr_options = 'Options';
|
||||
$order_invoice_text = 'Invoice';
|
||||
$invoice_payment_paid_text = 'The total amount of this invoice is paid';
|
||||
$highlight_1 = 'Collection';
|
||||
$highlight_2 = 'Collection';
|
||||
$highlight_2 = 'Collection';
|
||||
$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.';
|
||||
$home_price = 'Price';
|
||||
$home_price_text = 'Morval stands for an excellent price-quality ratio';
|
||||
$shopping_cart_header = 'Shopping Cart';
|
||||
$about_3_p = 'Morval takes its name from the surname of one of Ralphs grandparents. The logo is inspired by the monument in the town of Morval in northern France, which was built from the remains of a church and the three bells from the tower.';
|
||||
$newuser_subject = 'MorvalWatches - user created';
|
||||
$newuser_header = 'Dear user';
|
||||
$newuser_text = 'Your administrator has provided access to the CustomerPortal.';
|
||||
$newuser_credential_text_1 = 'Your account has been created with username';
|
||||
$newuser_credential_text_2 = 'Please click the button below to complete your registration.';
|
||||
$newuser_closure = 'For security reasons this link is only active for 10 minutes.';
|
||||
$verify_account = 'Verify account';
|
||||
$newuser_signature = 'Kind regards, ';
|
||||
$newuser_signature_name = 'MorvalWatches';
|
||||
$changeuser_subject = 'MorvalWatches - password reset requested';
|
||||
$changeuser_header = 'Dear user';
|
||||
$changeuser_credential_text_1 = 'Please click the button below to reset the password of your account.';
|
||||
$changeuser_closure = 'For security reasons this link is only active for 10 minutes.';
|
||||
$changeuser_signature = 'Kind regards, ';
|
||||
$changeuser_signature_name = 'MorvalWatches';
|
||||
$bracelet_dark = 'Bracelet Black';
|
||||
$bracelet_blue = 'Bracelet Dark Blue';
|
||||
$bracelet_dark_brown = 'Bracelet Dark brown';
|
||||
$bracelet_light_brown = 'Bracelet Light brown';
|
||||
$bracelet_steel = 'Bracelet Steel';
|
||||
$MWTH1NB_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024 with 26 jewels</li><li>Power reserve: 40 h</li><li>Isochronism: < 10 sec./day</li><li>Bezel: Polished stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Date: Arabic numbers (day)</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating</li><li>Back Case: Screwed, brushed stainless steel with sapphire crystal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH2NB_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024BV with 26 jewels</li><li>Power reserve: 40 h </li><li>Isochronism: < 10 sec./day</li><li>Bezel: Brushed stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating </li><li>Back Case: Screwed, brushed stainless steel with sapphire crytal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH2IB_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024BV with 26 jewels</li><li>Power reserve: 40 h </li><li>Isochronism: < 10 sec./day</li><li>Bezel: Brushed stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating </li><li>Back Case: Screwed, brushed stainless steel with sapphire crytal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH2RG_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024BV with 26 jewels</li><li>Power reserve: 40 h </li><li>Isochronism: < 10 sec./day</li><li>Bezel: Brushed stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating </li><li>Back Case: Screwed, brushed stainless steel with sapphire crytal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH2DG_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024BV with 26 jewels</li><li>Power reserve: 40 h </li><li>Isochronism: < 10 sec./day</li><li>Bezel: Brushed stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating </li><li>Back Case: Screwed, brushed stainless steel with sapphire crytal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH2G_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024BV with 26 jewels</li><li>Power reserve: 40 h </li><li>Isochronism: < 10 sec./day</li><li>Bezel: Brushed stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating </li><li>Back Case: Screwed, brushed stainless steel with sapphire crytal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$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 = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024 with 26 jewels</li><li>Power reserve: 40 h</li><li>Isochronism: < 10 sec./day</li><li>Bezel: Polished stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Date: Arabic numbers (day)</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating</li><li>Back Case: Screwed, brushed stainless steel with sapphire crystal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH1RG_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024 with 26 jewels</li><li>Power reserve: 40 h</li><li>Isochronism: < 10 sec./day</li><li>Bezel: Polished stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Date: Arabic numbers (day)</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating</li><li>Back Case: Screwed, brushed stainless steel with sapphire crystal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH1DG_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024 with 26 jewels</li><li>Power reserve: 40 h</li><li>Isochronism: < 10 sec./day</li><li>Bezel: Polished stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Date: Arabic numbers (day)</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating</li><li>Back Case: Screwed, brushed stainless steel with sapphire crystal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$MWTH1G_description = '<p>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.</p><h3><b>Specifications</b></h3><ul><li>Case Size: 39 mm x 10,5 mm.</li><li>Caliber: Soprod P024 with 26 jewels</li><li>Power reserve: 40 h</li><li>Isochronism: < 10 sec./day</li><li>Bezel: Polished stainless steel (316L)</li><li>Waterproof: 50 meters (5 ATM)</li><li>Dial: Sunburst dial</li><li>Date: Arabic numbers (day)</li><li>Lumen: Superluminova (Blue)</li><li>Crystal: Sapphire with anti-reflective coating</li><li>Back Case: Screwed, brushed stainless steel with sapphire crystal</li><li>Bracelet (steel): Brushed and polished 316L stainless steel</li><li>Bracelet (Leather): Handmade Italian Calf leather</li><li>Clasp: Folding mechanism for ultimate comfort</li><li>Packaging: Blue box with certificate and manual.</li></ul>';
|
||||
$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<br>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 5.0/5.0';
|
||||
$btn_readmore = 'Read more';
|
||||
$price_from = 'from';
|
||||
$subtitle = ' Explore our most popular and exquisite watch collections.';
|
||||
$dealers_page_title = 'Our Dealers';
|
||||
$dealers_hero_title = 'Find a Morval Dealer';
|
||||
$dealers_hero_subtitle = 'Discover our timepieces at authorized retailers';
|
||||
$dealers_section_title = 'Authorized Dealers';
|
||||
$dealers_section_description = 'Visit one of our trusted partners to experience Morval watches firsthand and receive expert guidance.';
|
||||
$btn_call = 'Call';
|
||||
$btn_email = 'Email';
|
||||
$become_dealer_title = 'Become a Morval Dealer';
|
||||
$become_dealer_description = 'Are you a jeweler and would you like to include our watches in your range?';
|
||||
?>
|
||||
122
functions.php
122
functions.php
@@ -311,7 +311,7 @@ function getAccessoiries($clientsecret, $categoryID){
|
||||
</form>
|
||||
<a href="'.$additional_product_url.'" id="'.$additional_product['rowID'].'A" class="product">
|
||||
<span class="add_name">'.$additional_product['productname'].'</span>
|
||||
<span class="add_price"> '.currency_code.'.'.number_format($additional_product['price'],2).'
|
||||
<span class="add_price"> '.currency_code.' '.number_format($additional_product['price'],2).'
|
||||
';
|
||||
if ($additional_product['rrp'] > 0){
|
||||
$output .='
|
||||
@@ -337,10 +337,13 @@ function getSamples($clientsecret, $categoryID){
|
||||
$additional_products = ioAPIv2('/v2/catalog/category='.$categoryID,'',$clientsecret);
|
||||
$additional_products = json_decode($additional_products,true);
|
||||
|
||||
// Generate unique ID for this samples carousel
|
||||
$samples_id = 'samples_' . $categoryID . '_' . time() . '_' . rand(1000, 9999);
|
||||
|
||||
$output ='<div class="content-wrapper">
|
||||
<h2 style="font-weight:normal;">'.($h2_cart_samples ?? 'Samples').'</h2>
|
||||
<div class="add_sample_button"><button id="slideLeft" class="scrollButton" type="button"><</button></div>
|
||||
<div id="add_samples_container" class="add_samples">
|
||||
<div class="add_sample_button"><button id="slideLeft_'.$samples_id.'" class="scrollButton" type="button" data-samples="'.$samples_id.'"><</button></div>
|
||||
<div id="add_samples_container_'.$samples_id.'" class="add_samples">
|
||||
|
||||
';
|
||||
|
||||
@@ -385,7 +388,7 @@ function getSamples($clientsecret, $categoryID){
|
||||
$output .='
|
||||
|
||||
</div>
|
||||
<div class="add_sample_button"><button id="slideRight" class="scrollButton" type="button">></button></div>
|
||||
<div class="add_sample_button"><button id="slideRight_'.$samples_id.'" class="scrollButton" type="button" data-samples="'.$samples_id.'">></button></div>
|
||||
</div>';
|
||||
|
||||
return $output;
|
||||
@@ -598,22 +601,50 @@ function getPictureID($pdo,$id,$config){
|
||||
//++++++++++++++++++++++++++++++++++++++++
|
||||
//HomePage Products
|
||||
//++++++++++++++++++++++++++++++++++++++++
|
||||
<<<<<<< HEAD
|
||||
function highlightedProducts2($clientsecret,$categoryID,$range, $subtitle){
|
||||
=======
|
||||
function sortProducts(array $products, string $field, string $direction = 'asc'): array {
|
||||
if ($field === 'random') {
|
||||
shuffle($products);
|
||||
return $products;
|
||||
}
|
||||
usort($products, function($a, $b) use ($field, $direction) {
|
||||
$result = $a[$field] <=> $b[$field];
|
||||
return $direction === 'desc' ? -$result : $result;
|
||||
});
|
||||
return $products;
|
||||
}
|
||||
|
||||
function highlightedProducts($clientsecret,$categoryID,$range, $subtitle){
|
||||
>>>>>>> development
|
||||
|
||||
include './custom/translations/translations_'.strtoupper($_SESSION['country_code']).'.php';
|
||||
|
||||
//GET CATALOG DATA
|
||||
$products = ioAPIv2('/v2/catalog/category='.$categoryID,'',$clientsecret);
|
||||
$products = json_decode($products,true);
|
||||
|
||||
//RANDOM SORT
|
||||
$products = sortProducts($products, 'random');
|
||||
|
||||
// Generate unique ID for this carousel
|
||||
$carousel_id = 'carousel_' . $categoryID . '_' . time() . '_' . rand(1000, 9999);
|
||||
|
||||
$section = '
|
||||
<section class="watches-section">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<<<<<<< HEAD
|
||||
<h2 class="section-title">'.($range ?? 'Featured Timepieces').'</h2>
|
||||
<p class="section-subtitle">'.($subtitle ?? 'Explore our most popular and exquisite watch collections.').'</p>
|
||||
</div>
|
||||
<div class="product-slider">
|
||||
=======
|
||||
<h2 class="section-title">'.(!empty($range) ? $range : 'Featured Timepieces').'</h2>
|
||||
<p class="section-subtitle">'.(!empty($subtitle) ? $subtitle: 'Explore our most popular and exquisite watch collections.').'</p>
|
||||
</div>
|
||||
<div class="product-slider" data-carousel="'.$carousel_id.'">
|
||||
<div class="product-container-slider">';
|
||||
|
||||
foreach ($products as $product){
|
||||
@@ -622,18 +653,19 @@ function highlightedProducts2($clientsecret,$categoryID,$range, $subtitle){
|
||||
|
||||
$section .= '
|
||||
<div class="product-card-slider">
|
||||
<a href="'.url('index.php?page=product&rowID=' . ($product['url_slug'] ? ($product['url_slug'] ) : $product['rowID'])).'" id="'.$product['rowID'].'A" class="product">
|
||||
<a href="'.url('index.php?page=product&rowID=' . ($product['url_slug'] ? ($product['url_slug'] ) : $product['rowID'])).(!empty($product['main_option_for_display']) ? '/'.$product['main_option_for_display']:'').'" id="'.$product['rowID'].'A" class="product">
|
||||
<img src="'.img_url.$product['full_path'].'" alt="'.(${$product['productname']} ?? $product['productname']).'" class="product-image-slider">
|
||||
<h3 class="product-name-slider">'.(${$product['productname']} ?? $product['productname']).'</h3>
|
||||
<p class="product-price-slider">'.(($product_price != 0.00) ? currency_code.number_format($product_price,2) : '').'</p>
|
||||
<p class="product-price-slider">'.(($product_price != 0.00) ? '<span class="price-from">'.$price_from.' </span>'.currency_code.number_format($product_price,2) : '').'</p>
|
||||
</a>
|
||||
</div>';
|
||||
}
|
||||
|
||||
$section .= '</div>
|
||||
<button class="slider-nav prev-btn"><i class="fas fa-chevron-left"></i></button>
|
||||
<button class="slider-nav next-btn"><i class="fas fa-chevron-right"></i></button>
|
||||
<button class="slider-nav prev-btn" data-carousel="'.$carousel_id.'"><i class="fas fa-chevron-left"></i></button>
|
||||
<button class="slider-nav next-btn" data-carousel="'.$carousel_id.'"><i class="fas fa-chevron-right"></i></button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
<div class="divider"></div>
|
||||
@@ -642,6 +674,80 @@ function highlightedProducts2($clientsecret,$categoryID,$range, $subtitle){
|
||||
return $section ;
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
//RANDOM SORT
|
||||
$products = sortProducts($products, 'random');
|
||||
|
||||
// Generate unique ID for this carousel
|
||||
$carousel_id = 'carousel_' . $categoryID . '_' . time() . '_' . rand(1000, 9999);
|
||||
|
||||
$section = '
|
||||
<section class="watches-section">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2 class="section-title">'.(!empty($range) ? $range : 'Featured Timepieces').'</h2>
|
||||
<p class="section-subtitle">'.(!empty($subtitle) ? $subtitle: 'Explore our most popular and exquisite watch collections.').'</p>
|
||||
</div>
|
||||
<div class="product-slider" data-carousel="'.$carousel_id.'">
|
||||
>>>>>>> development
|
||||
<div class="product-container-slider">';
|
||||
|
||||
foreach ($products as $product){
|
||||
|
||||
$product_price = isset($product['price']) && $product['price'] > 0 ? floatval($product['price']) : 0.00;
|
||||
|
||||
$section .= '
|
||||
<div class="product-card-slider">
|
||||
<<<<<<< HEAD
|
||||
<a href="'.url('index.php?page=product&rowID=' . ($product['url_slug'] ? ($product['url_slug'] ) : $product['rowID'])).'" id="'.$product['rowID'].'A" class="product">
|
||||
<img src="'.img_url.$product['full_path'].'" alt="'.(${$product['productname']} ?? $product['productname']).'" class="product-image-slider">
|
||||
<h3 class="product-name-slider">'.(${$product['productname']} ?? $product['productname']).'</h3>
|
||||
<p class="product-price-slider">'.(($product_price != 0.00) ? currency_code.number_format($product_price,2) : '').'</p>
|
||||
=======
|
||||
<a href="'.url('index.php?page=product&rowID=' . ($product['url_slug'] ? ($product['url_slug'] ) : $product['rowID'])).(!empty($product['main_option_for_display']) ? '/'.$product['main_option_for_display']:'').'" id="'.$product['rowID'].'A" class="product">
|
||||
<img src="'.img_url.$product['full_path'].'" alt="'.(${$product['productname']} ?? $product['productname']).'" class="product-image-slider">
|
||||
<h3 class="product-name-slider">'.(${$product['productname']} ?? $product['productname']).'</h3>
|
||||
<p class="product-price-slider">'.(($product_price != 0.00) ? '<span class="price-from">'.$price_from.' </span>'.currency_code.number_format($product_price,2) : '').'</p>
|
||||
>>>>>>> development
|
||||
</a>
|
||||
</div>';
|
||||
}
|
||||
|
||||
$section .= '</div>
|
||||
<<<<<<< HEAD
|
||||
<button class="slider-nav prev-btn"><i class="fas fa-chevron-left"></i></button>
|
||||
<button class="slider-nav next-btn"><i class="fas fa-chevron-right"></i></button>
|
||||
</div>
|
||||
=======
|
||||
<button class="slider-nav prev-btn" data-carousel="'.$carousel_id.'"><i class="fas fa-chevron-left"></i></button>
|
||||
<button class="slider-nav next-btn" data-carousel="'.$carousel_id.'"><i class="fas fa-chevron-right"></i></button>
|
||||
</div>
|
||||
<div class="section-footer">
|
||||
<a href="'.url(link_to_collection).'" class="hero-btn">
|
||||
'.($h2_brand_visit ?? 'View Collection').'
|
||||
</a>
|
||||
</div>
|
||||
|
||||
>>>>>>> development
|
||||
</div>
|
||||
</section>
|
||||
<div class="divider"></div>
|
||||
';
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
|
||||
>>>>>>> development
|
||||
return $section ;
|
||||
}
|
||||
|
||||
//---------------------------
|
||||
//debuglog
|
||||
//---------------------------
|
||||
|
||||
159
home.php
159
home.php
@@ -27,6 +27,7 @@ $view .= '
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Include highlighted Products
|
||||
// ++++++++++++++++++++++++++++++
|
||||
<<<<<<< HEAD
|
||||
$view .= highlightedProducts2($clientsecret,category_id_highlighted_products_2, ($highlight_2 ?? 'highlight 2'),'');
|
||||
|
||||
|
||||
@@ -49,6 +50,32 @@ $view .= '
|
||||
</section>';
|
||||
|
||||
|
||||
=======
|
||||
$view .= highlightedProducts2($clientsecret,category_id_highlighted_products_1, ($highlight_2 ?? 'highlight 2'),'');
|
||||
|
||||
$view .= highlightedProducts($clientsecret,category_id_highlighted_products_2, ($highlight_2 ?? 'highlight 2'),'');
|
||||
|
||||
|
||||
$view .= '
|
||||
<section class="watch-ad-section">
|
||||
<div class="top-section">
|
||||
<div class="watch-image">
|
||||
</div>
|
||||
<div class="top-content">
|
||||
<h2>'.($ad_watch_1 ?? 'Dutch design and Swiss craftsmanship').'</h2>
|
||||
<a href="'.url('index.php?page=about').'" class="btn">'.($btn_readmore ?? 'Read more').'</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-section">
|
||||
<div class="bottom-content">
|
||||
<h2>'.($ad_watch_2 ?? 'Timeless timepieces that will last for generations!').'</h2>
|
||||
<a href="'.url(link_to_collection).'" class="btn">'.$h2_brand_visit.'</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>';
|
||||
|
||||
|
||||
>>>>>>> development
|
||||
$view .= '
|
||||
<section class="features">
|
||||
<div class="container features-container">
|
||||
@@ -63,11 +90,43 @@ $view .= '
|
||||
<div class="feature-item">
|
||||
<h2>'.($home_price ?? 'Price').'</h2>
|
||||
<p>'.($home_price_text ?? 'Morval stands for an excellent price-quality ratio').'</p>
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
</div>
|
||||
</div>
|
||||
</section>';
|
||||
|
||||
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Include customer reviews
|
||||
// ++++++++++++++++++++++++++++++
|
||||
$view .= '
|
||||
<section class="reviews">
|
||||
<div class="container">
|
||||
<h2>'.($customer_reviews ?? 'Reviews').'</h2>
|
||||
<div class="reviews-container">
|
||||
<div class="review-item">
|
||||
<div class="stars">★★★★★</div>
|
||||
<p>Zeker een aanrader! Aangeschaft als cadeau voor mijn partner en we zijn er beiden erg blij mee! Het horloge heeft een prachtig design dat zowel stijlvol als tijdloos is, door de leren en stalen band. Het grootste pluspunt is dat we nooit meer een batterij hoeven te verwisselen – super handig! Bovendien loopt het horloge stipt op tijd, wat je natuurlijk van een goed horloge mag verwachten. Ralph heeft mij vriendelijk en professioneel geholpen.</p>
|
||||
<div class="reviewer">- Helma</div>
|
||||
</div>
|
||||
<div class="review-item">
|
||||
<div class="stars">★★★★★</div>
|
||||
<p>Morval is niet zomaar een horloge, Morval is een sieraad. Prachtig en uniek ontwerp en ook nog eens kwalitatief hoogstaand!</p>
|
||||
<div class="reviewer">- Paul K</div>
|
||||
</div>
|
||||
<div class="review-item">
|
||||
<div class="stars">★★★★★</div>
|
||||
<p>Eind Januari heb ik een Morval Watch gekocht. Ik heb gekozen voor het model Thomas II in de kleur navy blue met stalen band. Tevens heb ik er een extra lederen band bij gekozen. Behalve het stijlvolle ontwerp en de Zwitserse kwaliteit, sprak het kleinschalige en het verhaal achter deze horloge me enorm aan! Uniek, stijlvol en kwaliteit voor een eerlijke prijs! Wat mij betreft zeker 5 sterren waard!</p>
|
||||
<div class="reviewer">- W. Habraken</div>
|
||||
</div>
|
||||
>>>>>>> development
|
||||
</div>
|
||||
</div>
|
||||
</section>';
|
||||
|
||||
<<<<<<< HEAD
|
||||
|
||||
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Include footer
|
||||
@@ -117,6 +176,106 @@ window.addEventListener(\'resize\', () => {
|
||||
});
|
||||
</script>
|
||||
|
||||
=======
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Include footer
|
||||
// ++++++++++++++++++++++++++++++
|
||||
$view .= template_footer();
|
||||
|
||||
// ++++++++++++++++++++++++++++++
|
||||
// Additional JS scripts for page
|
||||
// ++++++++++++++++++++++++++++++
|
||||
$view .='
|
||||
<script>
|
||||
// Enhanced slider functionality for multiple carousels
|
||||
function initializeCarousels() {
|
||||
// Handle product sliders (highlightedProducts2)
|
||||
const productSliders = document.querySelectorAll(\'.product-slider\');
|
||||
|
||||
productSliders.forEach((slider) => {
|
||||
const carouselId = slider.getAttribute(\'data-carousel\');
|
||||
const prevBtn = slider.querySelector(\'.prev-btn\');
|
||||
const nextBtn = slider.querySelector(\'.next-btn\');
|
||||
const productContainer = slider.querySelector(\'.product-container-slider\');
|
||||
const products = slider.querySelectorAll(\'.product-card-slider\');
|
||||
|
||||
if (!products.length) return;
|
||||
|
||||
let currentIndex = 0;
|
||||
const productsPerView = window.innerWidth < 480 ? 1 :
|
||||
window.innerWidth < 768 ? 2 :
|
||||
window.innerWidth < 992 ? 3 : 4;
|
||||
|
||||
function updateSliderPosition() {
|
||||
const productWidth = products[0].offsetWidth;
|
||||
productContainer.style.transform = `translateX(-${currentIndex * productWidth}px)`;
|
||||
}
|
||||
|
||||
prevBtn.addEventListener(\'click\', () => {
|
||||
if (currentIndex > 0) {
|
||||
currentIndex--;
|
||||
updateSliderPosition();
|
||||
}
|
||||
});
|
||||
|
||||
nextBtn.addEventListener(\'click\', () => {
|
||||
if (currentIndex < products.length - productsPerView) {
|
||||
currentIndex++;
|
||||
updateSliderPosition();
|
||||
}
|
||||
});
|
||||
|
||||
// Update slider on window resize
|
||||
window.addEventListener(\'resize\', () => {
|
||||
// Reset position when screen size changes
|
||||
currentIndex = 0;
|
||||
updateSliderPosition();
|
||||
});
|
||||
});
|
||||
|
||||
// Handle sample sliders (getSamples)
|
||||
const sampleButtons = document.querySelectorAll(\'.scrollButton\');
|
||||
|
||||
sampleButtons.forEach((button) => {
|
||||
const samplesId = button.getAttribute(\'data-samples\');
|
||||
if (!samplesId) return;
|
||||
|
||||
const samplesContainer = document.getElementById(\'add_samples_container_\' + samplesId);
|
||||
if (!samplesContainer) return;
|
||||
|
||||
const isLeftButton = button.id.includes(\'slideLeft\');
|
||||
|
||||
button.addEventListener(\'click\', () => {
|
||||
const scrollAmount = 200; // Adjust as needed
|
||||
const currentScroll = samplesContainer.scrollLeft;
|
||||
|
||||
if (isLeftButton) {
|
||||
samplesContainer.scrollTo({
|
||||
left: currentScroll - scrollAmount,
|
||||
behavior: \'smooth\'
|
||||
});
|
||||
} else {
|
||||
samplesContainer.scrollTo({
|
||||
left: currentScroll + scrollAmount,
|
||||
behavior: \'smooth\'
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize carousels when DOM is loaded
|
||||
document.addEventListener(\'DOMContentLoaded\', initializeCarousels);
|
||||
|
||||
// Also initialize if DOM is already loaded
|
||||
if (document.readyState === \'loading\') {
|
||||
document.addEventListener(\'DOMContentLoaded\', initializeCarousels);
|
||||
} else {
|
||||
initializeCarousels();
|
||||
}
|
||||
</script>
|
||||
|
||||
>>>>>>> development
|
||||
</html>
|
||||
';
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ if (isset($_GET['language']) && $_GET['language'] !=''){
|
||||
$_SESSION['country_code'] = trim($_GET['language']);
|
||||
}
|
||||
else {
|
||||
include './custom/translations/translations_US.php';
|
||||
include './custom/translations/translations_NL.php';
|
||||
//DEFINE LANGUAGE
|
||||
$_SESSION['country_code'] = language_code;
|
||||
}
|
||||
@@ -40,10 +40,10 @@ elseif(isset($_SESSION['country_code'])){
|
||||
include $file_language; //Include the code
|
||||
}
|
||||
else {
|
||||
include './custom/translations/translations_US.php';
|
||||
include './custom/translations/translations_NL.php';
|
||||
}
|
||||
} else {
|
||||
include './custom/translations/translations_US.php';
|
||||
include './custom/translations/translations_NL.php';
|
||||
//DEFINE LANGUAGE
|
||||
$_SESSION['country_code'] = language_code;
|
||||
}
|
||||
@@ -104,6 +104,7 @@ $url = routes([
|
||||
'/termsandconditions'=> 'custom/pages/termsandconditions.php',
|
||||
'/termsandconditions/{download}'=> 'custom/pages/termsandconditions.php',
|
||||
'/faq'=> 'custom/pages/faq.php',
|
||||
'/dealers'=> 'custom/pages/dealers.php',
|
||||
'/privacy'=> 'custom/pages/privacy.php',
|
||||
'/privacy/{download}'=> 'custom/pages/privacy.php',
|
||||
'/instructions-for-use' => 'custom/pages/faq.php'
|
||||
|
||||
5660
log/log_02.txt
Normal file
5660
log/log_02.txt
Normal file
File diff suppressed because one or more lines are too long
1113
log/log_03.txt
Normal file
1113
log/log_03.txt
Normal file
File diff suppressed because it is too large
Load Diff
2699
log/log_04.txt
Normal file
2699
log/log_04.txt
Normal file
File diff suppressed because it is too large
Load Diff
247
log/log_05.txt
Normal file
247
log/log_05.txt
Normal file
@@ -0,0 +1,247 @@
|
||||
2025-05-01 13:26:30;/v2/authorization
|
||||
2025-05-01 13:26:30;/v2/catalog/category=22
|
||||
2025-05-01 13:27:06;/v2/authorization
|
||||
2025-05-01 13:27:07;/v2/authorization
|
||||
2025-05-01 13:27:07;/v2/catalog/category=22
|
||||
2025-05-01 17:33:32;/v2/authorization
|
||||
2025-05-01 17:33:32;/v2/catalog/category=22
|
||||
2025-05-01 21:17:53;/v2/authorization
|
||||
2025-05-01 21:17:53;/v2/catalog/category=22
|
||||
2025-05-04 09:58:52;/v2/authorization
|
||||
2025-05-04 09:58:52;/v2/catalog/category=22
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:17;/v2/catalog/category=22
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:17;/v2/catalog/category=22
|
||||
2025-05-04 10:04:17;/v2/authorization
|
||||
2025-05-04 10:04:18;/v2/catalog/category=22
|
||||
2025-05-04 10:04:18;/v2/authorization
|
||||
2025-05-04 10:04:18;/v2/catalog/category=22
|
||||
2025-05-04 10:04:18;/v2/authorization
|
||||
2025-05-04 10:04:18;/v2/catalog/category=22
|
||||
2025-05-07 15:11:15;/v2/authorization
|
||||
2025-05-07 15:11:15;/v2/catalog/category=22
|
||||
2025-05-07 15:12:33;/v2/authorization
|
||||
2025-05-07 15:12:33;/v2/catalog/category=22
|
||||
2025-05-08 19:41:48;/v2/authorization
|
||||
2025-05-08 19:41:48;/v2/catalog/category=22
|
||||
2025-05-08 19:42:02;/v2/authorization
|
||||
2025-05-08 19:42:02;/v2/authorization
|
||||
2025-05-08 19:42:02;/v2/catalog/category=22
|
||||
2025-05-08 19:42:10;/v2/authorization
|
||||
2025-05-08 19:42:10;/v2/categories/
|
||||
2025-05-08 19:42:10;/v2/catalog/category=17
|
||||
2025-05-08 19:42:24;/v2/authorization
|
||||
2025-05-08 19:42:28;/v2/authorization
|
||||
2025-05-08 19:42:28;/v2/identity/
|
||||
2025-05-08 19:42:28;/v2/authorization
|
||||
2025-05-08 19:42:28;/v2/transactions_items/account_id=d808773e1ba5292d7c640d04ed04c1fbc32cce74a83d334061
|
||||
2025-05-08 19:42:28;/v2/identity/userkey=d808773e1ba5292d7c640d04ed04c1fbc32cce74a83d334061
|
||||
2025-05-08 19:42:55;/v2/authorization
|
||||
2025-05-08 19:42:56;/v2/catalog/category=22
|
||||
2025-05-08 19:43:08;/v2/authorization
|
||||
2025-05-08 19:43:08;/v2/categories/
|
||||
2025-05-08 19:43:09;/v2/catalog/category=17
|
||||
2025-05-08 19:43:14;/v2/authorization
|
||||
2025-05-08 19:43:14;/v2/catalog/category=22
|
||||
2025-05-08 19:43:19;/v2/authorization
|
||||
2025-05-08 19:43:19;/v2/catalog/category=22
|
||||
2025-05-08 19:43:27;/v2/authorization
|
||||
2025-05-08 19:43:27;/v2/categories/
|
||||
2025-05-08 19:43:27;/v2/catalog/category=17
|
||||
2025-05-08 19:45:41;/v2/authorization
|
||||
2025-05-08 19:45:46;/v2/authorization
|
||||
2025-05-08 19:45:46;/v2/categories/
|
||||
2025-05-08 19:45:46;/v2/catalog/category=17
|
||||
2025-05-08 19:45:47;/v2/authorization
|
||||
2025-05-08 19:45:47;/v2/catalog/category=22
|
||||
2025-05-08 19:54:20;/v2/authorization
|
||||
2025-05-08 19:54:21;/v2/catalog/category=22
|
||||
2025-05-09 11:12:58;/v2/authorization
|
||||
2025-05-09 11:12:58;/v2/catalog/category=22
|
||||
2025-05-09 11:13:01;/v2/authorization
|
||||
2025-05-09 11:13:01;/v2/catalog/category=22
|
||||
2025-05-09 11:14:06;/v2/authorization
|
||||
2025-05-09 11:14:07;/v2/catalog/category=22
|
||||
2025-05-09 11:14:42;/v2/authorization
|
||||
2025-05-09 11:14:42;/v2/authorization
|
||||
2025-05-09 11:14:42;/v2/catalog/category=22
|
||||
2025-05-09 11:14:42;/v2/catalog/category=22
|
||||
2025-05-09 11:45:34;/v2/authorization
|
||||
2025-05-09 11:45:34;/v2/catalog/category=22
|
||||
2025-05-09 11:45:39;/v2/authorization
|
||||
2025-05-09 11:45:39;/v2/catalog/category=22
|
||||
2025-05-09 11:45:48;/v2/authorization
|
||||
2025-05-09 11:45:48;/v2/catalog/category=22
|
||||
2025-05-09 11:45:49;/v2/authorization
|
||||
2025-05-09 12:56:57;/v2/authorization
|
||||
2025-05-09 12:56:57;/v2/catalog/category=22
|
||||
2025-05-09 13:08:28;/v2/authorization
|
||||
2025-05-09 13:08:29;/v2/catalog/category=22
|
||||
2025-05-09 13:44:52;/v2/authorization
|
||||
2025-05-09 13:44:52;/v2/catalog/category=22
|
||||
2025-05-09 13:44:55;/v2/authorization
|
||||
2025-05-09 13:44:56;/v2/authorization
|
||||
2025-05-09 13:44:56;/v2/catalog/category=22
|
||||
2025-05-09 15:15:07;/v2/authorization
|
||||
2025-05-09 15:15:07;/v2/catalog/category=22
|
||||
2025-05-09 21:10:30;/v2/authorization
|
||||
2025-05-09 21:10:30;/v2/catalog/category=22
|
||||
2025-05-10 20:03:56;/v2/authorization
|
||||
2025-05-10 20:03:56;/v2/catalog/category=22
|
||||
2025-05-10 20:03:57;/v2/authorization
|
||||
2025-05-10 20:03:57;/v2/catalog/category=22
|
||||
2025-05-11 03:21:55;/v2/authorization
|
||||
2025-05-11 03:21:55;/v2/catalog/category=22
|
||||
2025-05-11 03:21:57;/v2/authorization
|
||||
2025-05-11 03:21:57;/v2/authorization
|
||||
2025-05-11 03:21:57;/v2/catalog/category=22
|
||||
2025-05-11 04:50:31;/v2/authorization
|
||||
2025-05-11 04:50:31;/v2/catalog/category=22
|
||||
2025-05-11 20:21:12;/v2/authorization
|
||||
2025-05-11 20:21:12;/v2/catalog/category=22
|
||||
2025-05-12 10:07:48;/v2/authorization
|
||||
2025-05-12 10:07:49;/v2/catalog/category=22
|
||||
2025-05-13 09:08:36;/v2/authorization
|
||||
2025-05-13 09:08:36;/v2/catalog/category=22
|
||||
2025-05-13 09:08:37;/v2/authorization
|
||||
2025-05-13 09:08:37;/v2/authorization
|
||||
2025-05-13 09:08:38;/v2/catalog/category=22
|
||||
2025-05-13 09:08:40;/v2/authorization
|
||||
2025-05-13 09:08:40;/v2/authorization
|
||||
2025-05-13 09:08:46;/v2/catalog/category=22
|
||||
2025-05-13 09:08:47;/v2/authorization
|
||||
2025-05-13 09:08:47;/v2/authorization
|
||||
2025-05-13 09:08:47;/v2/catalog/category=22
|
||||
2025-05-13 09:08:47;/v2/authorization
|
||||
2025-05-13 09:08:48;/v2/authorization
|
||||
2025-05-13 09:08:48;/v2/catalog/category=22
|
||||
2025-05-13 09:08:50;/v2/authorization
|
||||
2025-05-13 09:08:50;/v2/authorization
|
||||
2025-05-13 09:08:50;/v2/catalog/category=22
|
||||
2025-05-13 09:08:52;/v2/authorization
|
||||
2025-05-13 09:08:52;/v2/authorization
|
||||
2025-05-13 09:08:52;/v2/catalog/category=22
|
||||
2025-05-13 09:08:53;/v2/authorization
|
||||
2025-05-13 09:08:53;/v2/authorization
|
||||
2025-05-13 09:08:53;/v2/catalog/category=22
|
||||
2025-05-13 09:08:55;/v2/authorization
|
||||
2025-05-13 09:08:57;/v2/authorization
|
||||
2025-05-13 09:08:57;/v2/authorization
|
||||
2025-05-13 09:08:57;/v2/catalog/category=22
|
||||
2025-05-13 09:08:58;/v2/authorization
|
||||
2025-05-13 09:08:58;/v2/authorization
|
||||
2025-05-13 09:08:59;/v2/catalog/category=22
|
||||
2025-05-13 09:08:59;/v2/authorization
|
||||
2025-05-13 09:08:59;/v2/authorization
|
||||
2025-05-13 09:08:59;/v2/catalog/category=22
|
||||
2025-05-13 13:14:28;/v2/authorization
|
||||
2025-05-13 13:14:28;/v2/catalog/category=22
|
||||
2025-05-13 13:14:41;/v2/authorization
|
||||
2025-05-13 13:14:42;/v2/catalog/product_id=thomasII_navy_blue
|
||||
2025-05-13 13:14:42;/v2/products_media/product_id=60
|
||||
2025-05-13 13:15:02;/v2/authorization
|
||||
2025-05-13 13:15:03;/v2/catalog/category=22
|
||||
2025-05-13 13:15:42;/v2/authorization
|
||||
2025-05-13 13:15:42;/v2/catalog/product_id=thomasII_navy_blue
|
||||
2025-05-13 13:15:42;/v2/products_media/product_id=60
|
||||
2025-05-13 13:15:56;/v2/authorization
|
||||
2025-05-13 13:15:56;/v2/authorization
|
||||
2025-05-13 13:15:56;/v2/catalog/category=22
|
||||
2025-05-13 13:16:10;/v2/authorization
|
||||
2025-05-13 13:16:10;/v2/catalog/category=22
|
||||
2025-05-13 13:16:25;/v2/authorization
|
||||
2025-05-13 13:16:26;/v2/authorization
|
||||
2025-05-13 13:16:26;/v2/catalog/category=22
|
||||
2025-05-13 13:16:36;/v2/authorization
|
||||
2025-05-13 13:16:37;/v2/authorization
|
||||
2025-05-13 13:16:37;/v2/catalog/category=22
|
||||
2025-05-13 13:16:43;/v2/authorization
|
||||
2025-05-13 13:16:43;/v2/catalog/product_id=thomasII_ice_blue
|
||||
2025-05-13 13:16:43;/v2/products_media/product_id=61
|
||||
2025-05-13 13:18:40;/v2/authorization
|
||||
2025-05-13 13:18:40;/v2/catalog/category=22
|
||||
2025-05-13 14:05:58;/v2/authorization
|
||||
2025-05-13 14:05:58;/v2/authorization
|
||||
2025-05-13 14:05:58;/v2/authorization
|
||||
2025-05-13 14:05:59;/v2/catalog/category=22
|
||||
2025-05-13 14:05:59;/v2/authorization
|
||||
2025-05-13 14:05:59;/v2/authorization
|
||||
2025-05-13 14:05:59;/v2/catalog/category=22
|
||||
2025-05-13 14:59:33;/v2/authorization
|
||||
2025-05-13 14:59:33;/v2/catalog/category=22
|
||||
2025-05-13 15:00:23;/v2/authorization
|
||||
2025-05-13 15:00:23;/v2/catalog/category=22
|
||||
2025-05-13 15:01:35;/v2/authorization
|
||||
2025-05-13 15:01:36;/v2/catalog/category=22
|
||||
2025-05-13 15:49:43;/v2/authorization
|
||||
2025-05-13 15:49:43;/v2/catalog/category=22
|
||||
2025-05-13 15:56:55;/v2/authorization
|
||||
2025-05-13 15:56:56;/v2/catalog/category=22
|
||||
2025-05-13 15:57:01;/v2/authorization
|
||||
2025-05-13 15:57:01;/v2/catalog/product_id=thomasII_dolphin_gray
|
||||
2025-05-13 15:57:01;/v2/products_media/product_id=63
|
||||
2025-05-13 15:57:03;/v2/authorization
|
||||
2025-05-13 15:57:03;/v2/catalog/category=22
|
||||
2025-05-13 15:57:30;/v2/authorization
|
||||
2025-05-13 15:57:30;/v2/catalog/product_id=thomasII_racing_green
|
||||
2025-05-13 15:57:30;/v2/products_media/product_id=62
|
||||
2025-05-13 15:57:38;/v2/authorization
|
||||
2025-05-13 15:57:38;/v2/catalog/category=22
|
||||
2025-05-13 15:57:58;/v2/authorization
|
||||
2025-05-13 15:57:58;/v2/categories/
|
||||
2025-05-13 15:57:58;/v2/catalog/category=17
|
||||
2025-05-13 15:58:06;/v2/authorization
|
||||
2025-05-13 15:58:06;/v2/categories/
|
||||
2025-05-13 15:58:06;/v2/catalog/category=23
|
||||
2025-05-13 15:58:32;/v2/authorization
|
||||
2025-05-13 15:58:32;/v2/categories/
|
||||
2025-05-13 15:58:32;/v2/catalog/category=17
|
||||
2025-05-13 15:58:48;/v2/authorization
|
||||
2025-05-13 15:58:48;/v2/catalog/category=22
|
||||
2025-05-13 17:39:53;/v2/authorization
|
||||
2025-05-13 17:39:53;/v2/catalog/category=22
|
||||
2025-05-13 18:07:39;/v2/authorization
|
||||
2025-05-13 18:07:39;/v2/catalog/category=22
|
||||
2025-05-13 22:58:35;/v2/authorization
|
||||
2025-05-13 22:58:35;/v2/catalog/category=22
|
||||
2025-05-15 22:34:09;/v2/authorization
|
||||
2025-05-15 22:34:09;/v2/catalog/category=22
|
||||
2025-05-21 14:46:27;/v2/authorization
|
||||
2025-05-21 14:46:27;/v2/catalog/category=22
|
||||
2025-05-21 14:46:28;/v2/authorization
|
||||
2025-05-21 14:46:28;/v2/authorization
|
||||
2025-05-21 14:46:29;/v2/catalog/category=22
|
||||
2025-05-21 14:46:30;/v2/authorization
|
||||
2025-05-21 14:46:30;/v2/catalog/product_id=thomasII_dolphin_gray
|
||||
2025-05-21 14:46:30;/v2/products_media/product_id=63
|
||||
2025-05-21 14:46:30;/v2/authorization
|
||||
2025-05-21 14:46:30;/v2/authorization
|
||||
2025-05-21 14:46:30;/v2/catalog/category=22
|
||||
2025-05-21 14:46:31;/v2/authorization
|
||||
2025-05-21 14:46:31;/v2/authorization
|
||||
2025-05-21 14:46:31;/v2/catalog/category=22
|
||||
2025-05-21 20:44:30;/v2/authorization
|
||||
2025-05-21 20:44:30;/v2/catalog/category=22
|
||||
2025-05-22 17:16:25;/v2/authorization
|
||||
2025-05-22 17:16:25;/v2/catalog/category=22
|
||||
2025-05-22 17:16:27;/v2/authorization
|
||||
2025-05-22 17:16:27;/v2/catalog/category=22
|
||||
2025-05-22 17:16:28;/v2/authorization
|
||||
2025-05-22 17:16:28;/v2/catalog/category=22
|
||||
2025-05-22 17:16:28;/v2/authorization
|
||||
2025-05-22 17:16:29;/v2/catalog/category=22
|
||||
2025-05-23 06:16:09;/v2/authorization
|
||||
2025-05-23 06:16:09;/v2/catalog/category=22
|
||||
2025-05-23 06:16:12;/v2/authorization
|
||||
2025-05-23 06:16:13;/v2/authorization
|
||||
2025-05-23 06:16:13;/v2/catalog/category=22
|
||||
2025-05-23 22:27:40;/v2/authorization
|
||||
2025-05-23 22:27:40;/v2/catalog/category=22
|
||||
2025-05-25 20:27:10;/v2/authorization
|
||||
2025-05-25 20:27:11;/v2/catalog/category=22
|
||||
28
products.php
28
products.php
@@ -39,6 +39,14 @@ if (isset($_POST['category'])){
|
||||
$products = ioAPIv2('/v2/catalog/'.$url_input,'',$clientsecret);
|
||||
$products = json_decode($products,true);
|
||||
$total_products = count($products);
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
|
||||
//SORT BY NAME
|
||||
usort($products, function($a, $b) {
|
||||
return strcmp($a['productname'], $b['productname']);
|
||||
});
|
||||
>>>>>>> development
|
||||
|
||||
//INCLUDE THE HEADER
|
||||
$view = template_header($products_text,'');
|
||||
@@ -94,6 +102,7 @@ $view .= '</form>
|
||||
<div class="product-grid">';
|
||||
|
||||
foreach ($products as $product){
|
||||
<<<<<<< HEAD
|
||||
|
||||
// Ensure product price is a numeric value
|
||||
$product_price = isset($product['price']) && $product['price'] > 0 ? floatval($product['price']) : 0.00;
|
||||
@@ -102,13 +111,28 @@ $view .= '</form>
|
||||
$view .= '
|
||||
<div class="product-card">
|
||||
<a href="'.url('index.php?page=product&rowID=' . ($product['url_slug'] ? ($product['url_slug'] ) : $product['rowID'])).'" id="'.$product['rowID'].'A" class="product">
|
||||
=======
|
||||
|
||||
// Ensure product price is a numeric value
|
||||
$product_price = isset($product['price']) && $product['price'] > 0 ? floatval($product['price']) : 0.00;
|
||||
|
||||
|
||||
$view .= '
|
||||
<div class="product-card">
|
||||
<a href="'.url('index.php?page=product&rowID=' . ($product['url_slug'] ? ($product['url_slug'] ) : $product['rowID'])).(!empty($product['main_option_for_display']) ? '/'.$product['main_option_for_display']:'').'" id="'.$product['rowID'].'A" class="product">
|
||||
>>>>>>> development
|
||||
<img src="'.img_url.$product['full_path'].'" id="'.$product['rowID'].'" width="" height="250" alt="'.(${$product['productname']} ?? $product['productname']).'">
|
||||
</a>';
|
||||
|
||||
//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'] != ''){
|
||||
<<<<<<< HEAD
|
||||
|
||||
|
||||
=======
|
||||
|
||||
|
||||
>>>>>>> development
|
||||
//GET THE CONFIG_SETTING GROuP AND DISPLAY
|
||||
foreach ($product['configurations'] as $config){
|
||||
|
||||
@@ -171,7 +195,11 @@ $view .= '</form>
|
||||
|
||||
if (isset($product_price)){
|
||||
|
||||
<<<<<<< HEAD
|
||||
$view .= '<span class="products_price" id="'.$product['rowID'].'C">'.(($product_price != 0.00) ? currency_code.number_format($product_price,2) : '').'';
|
||||
=======
|
||||
$view .= '<span class="products_price" id="'.$product['rowID'].'C">'.(($product_price != 0.00) ? '<span class="price-from">'.$price_from.' </span>'.currency_code.number_format($product_price,2) : '').'';
|
||||
>>>>>>> development
|
||||
|
||||
if (isset($product['rrp']) && $product['rrp'] > 0){
|
||||
$view .= '<span class="products_rrp">'.currency_code.number_format($product['rrp'],2).'</span>';
|
||||
|
||||
90
script.js
90
script.js
@@ -1,4 +1,7 @@
|
||||
<<<<<<< HEAD
|
||||
|
||||
=======
|
||||
>>>>>>> development
|
||||
if (document.querySelector('.product-img-small')) {
|
||||
let imgs = document.querySelectorAll('.product-img-small img');
|
||||
let mainImg = document.querySelector('.product-img-large img');
|
||||
@@ -167,4 +170,91 @@ function changeLanguage(language, langCode, flagUrl) {
|
||||
const title = document.getElementById("title");
|
||||
title.src = flagUrl;
|
||||
title.alt = language+" Flag";
|
||||
}
|
||||
|
||||
// Enhanced slider functionality for multiple carousels
|
||||
function initializeCarousels() {
|
||||
// Handle product sliders (highlightedProducts2)
|
||||
const productSliders = document.querySelectorAll('.product-slider');
|
||||
|
||||
productSliders.forEach((slider) => {
|
||||
const carouselId = slider.getAttribute('data-carousel');
|
||||
const prevBtn = slider.querySelector('.prev-btn');
|
||||
const nextBtn = slider.querySelector('.next-btn');
|
||||
const productContainer = slider.querySelector('.product-container-slider');
|
||||
const products = slider.querySelectorAll('.product-card-slider');
|
||||
|
||||
if (!products.length) return;
|
||||
|
||||
let currentIndex = 0;
|
||||
const productsPerView = window.innerWidth < 480 ? 1 :
|
||||
window.innerWidth < 768 ? 2 :
|
||||
window.innerWidth < 992 ? 3 : 4;
|
||||
|
||||
function updateSliderPosition() {
|
||||
const productWidth = products[0].offsetWidth;
|
||||
productContainer.style.transform = `translateX(-${currentIndex * productWidth}px)`;
|
||||
}
|
||||
|
||||
prevBtn.addEventListener('click', () => {
|
||||
if (currentIndex > 0) {
|
||||
currentIndex--;
|
||||
updateSliderPosition();
|
||||
}
|
||||
});
|
||||
|
||||
nextBtn.addEventListener('click', () => {
|
||||
if (currentIndex < products.length - productsPerView) {
|
||||
currentIndex++;
|
||||
updateSliderPosition();
|
||||
}
|
||||
});
|
||||
|
||||
// Update slider on window resize
|
||||
window.addEventListener('resize', () => {
|
||||
// Reset position when screen size changes
|
||||
currentIndex = 0;
|
||||
updateSliderPosition();
|
||||
});
|
||||
});
|
||||
|
||||
// Handle sample sliders (getSamples)
|
||||
const sampleButtons = document.querySelectorAll('.scrollButton');
|
||||
|
||||
sampleButtons.forEach((button) => {
|
||||
const samplesId = button.getAttribute('data-samples');
|
||||
if (!samplesId) return;
|
||||
|
||||
const samplesContainer = document.getElementById('add_samples_container_' + samplesId);
|
||||
if (!samplesContainer) return;
|
||||
|
||||
const isLeftButton = button.id.includes('slideLeft');
|
||||
|
||||
button.addEventListener('click', () => {
|
||||
const scrollAmount = 200; // Adjust as needed
|
||||
const currentScroll = samplesContainer.scrollLeft;
|
||||
|
||||
if (isLeftButton) {
|
||||
samplesContainer.scrollTo({
|
||||
left: currentScroll - scrollAmount,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
} else {
|
||||
samplesContainer.scrollTo({
|
||||
left: currentScroll + scrollAmount,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Initialize carousels when DOM is loaded
|
||||
document.addEventListener('DOMContentLoaded', initializeCarousels);
|
||||
|
||||
// Also initialize if DOM is already loaded
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', initializeCarousels);
|
||||
} else {
|
||||
initializeCarousels();
|
||||
}
|
||||
388
variable_scan.php
Normal file
388
variable_scan.php
Normal file
@@ -0,0 +1,388 @@
|
||||
<?php
|
||||
/**
|
||||
* PHP Variable Declaration Finder - Web Interface
|
||||
* Save this file in your project root and access it through your browser
|
||||
* Regular Mode: Shows all variable declarations found in your PHP files
|
||||
* View-Only Mode: Shows only variables used in $view declarations (accessed by adding ?view_only=1 to the URL)
|
||||
* Download: Get results as JSON by adding ?download=all or ?download=view to the URL
|
||||
*/
|
||||
|
||||
class PHPVariableDeclarationFinder {
|
||||
private $variables = [];
|
||||
private $viewVariables = [];
|
||||
private $rootDir;
|
||||
private $onlyViewVars = false;
|
||||
|
||||
public function __construct($rootDir = '.', $onlyViewVars = false) {
|
||||
$this->rootDir = rtrim($rootDir, '/');
|
||||
$this->onlyViewVars = $onlyViewVars;
|
||||
}
|
||||
|
||||
public function findDeclarations() {
|
||||
$this->scanDirectory($this->rootDir);
|
||||
|
||||
if ($this->onlyViewVars) {
|
||||
return $this->viewVariables;
|
||||
}
|
||||
|
||||
return $this->variables;
|
||||
}
|
||||
|
||||
private function scanDirectory($dir) {
|
||||
$items = new RecursiveIteratorIterator(
|
||||
new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
|
||||
RecursiveIteratorIterator::SELF_FIRST
|
||||
);
|
||||
|
||||
foreach ($items as $item) {
|
||||
if ($item->isFile() && $item->getExtension() === 'php') {
|
||||
// Skip scanning this finder script itself
|
||||
if (basename($item->getPathname()) === basename($_SERVER['SCRIPT_FILENAME'])) {
|
||||
continue;
|
||||
}
|
||||
$this->extractDeclarationsFromFile($item->getPathname());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function extractDeclarationsFromFile($filePath) {
|
||||
$content = file_get_contents($filePath);
|
||||
|
||||
// Remove comments to avoid false positives
|
||||
$content = preg_replace('!/\*.*?\*/!s', '', $content);
|
||||
$content = preg_replace('#//.*#', '', $content);
|
||||
|
||||
$relativePath = str_replace($this->rootDir . '/', '', $filePath);
|
||||
|
||||
// If we're looking for view variables specifically
|
||||
if ($this->onlyViewVars) {
|
||||
$this->findViewVariables($content, $relativePath);
|
||||
return;
|
||||
}
|
||||
|
||||
// Otherwise proceed with normal variable declaration extraction
|
||||
$this->findAllVariableDeclarations($content, $relativePath);
|
||||
|
||||
// Additionally find view variables but store them separately
|
||||
$this->findViewVariables($content, $relativePath);
|
||||
}
|
||||
|
||||
private function findAllVariableDeclarations($content, $filePath) {
|
||||
// Patterns to match variable declarations
|
||||
$patterns = [
|
||||
// Variable assignments
|
||||
'/\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*=(?!=)/',
|
||||
|
||||
// Function parameters
|
||||
'/function\s+\w+\s*\(([^)]*)\)/',
|
||||
|
||||
// foreach loops
|
||||
'/foreach\s*\(\s*\$\w+\s+as\s+(\$[^=)]+)/',
|
||||
|
||||
// Class properties
|
||||
'/(?:public|private|protected|var)\s+(\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/',
|
||||
|
||||
// Global declarations
|
||||
'/global\s+(\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?:\s*,\s*\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*)/',
|
||||
|
||||
// Static declarations
|
||||
'/static\s+(\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(?:\s*,\s*\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*)/',
|
||||
|
||||
// Catch exception blocks
|
||||
'/catch\s*\(\s*\w+\s+(\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\)/'
|
||||
];
|
||||
|
||||
$declarations = [];
|
||||
|
||||
// Process regular variable assignments
|
||||
if (preg_match_all($patterns[0], $content, $matches)) {
|
||||
foreach ($matches[1] as $var) {
|
||||
$declarations[] = '$' . $var;
|
||||
}
|
||||
}
|
||||
|
||||
// Process function parameters
|
||||
if (preg_match_all($patterns[1], $content, $matches)) {
|
||||
foreach ($matches[1] as $paramList) {
|
||||
preg_match_all('/\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $paramList, $params);
|
||||
$declarations = array_merge($declarations, $params[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// Process foreach variables
|
||||
if (preg_match_all($patterns[2], $content, $matches)) {
|
||||
foreach ($matches[1] as $foreachVars) {
|
||||
preg_match_all('/\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $foreachVars, $vars);
|
||||
$declarations = array_merge($declarations, $vars[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// Process class properties
|
||||
if (preg_match_all($patterns[3], $content, $matches)) {
|
||||
$declarations = array_merge($declarations, $matches[1]);
|
||||
}
|
||||
|
||||
// Process global declarations
|
||||
if (preg_match_all($patterns[4], $content, $matches)) {
|
||||
foreach ($matches[1] as $globalVars) {
|
||||
preg_match_all('/\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $globalVars, $vars);
|
||||
$declarations = array_merge($declarations, $vars[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// Process static declarations
|
||||
if (preg_match_all($patterns[5], $content, $matches)) {
|
||||
foreach ($matches[1] as $staticVars) {
|
||||
preg_match_all('/\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/', $staticVars, $vars);
|
||||
$declarations = array_merge($declarations, $vars[0]);
|
||||
}
|
||||
}
|
||||
|
||||
// Process catch block variables
|
||||
if (preg_match_all($patterns[6], $content, $matches)) {
|
||||
$declarations = array_merge($declarations, $matches[1]);
|
||||
}
|
||||
|
||||
if (!empty($declarations)) {
|
||||
$this->variables[$filePath] = array_unique($declarations);
|
||||
}
|
||||
}
|
||||
|
||||
private function findViewVariables($content, $filePath) {
|
||||
// Patterns specifically for $view declarations
|
||||
$viewPatterns = [
|
||||
// $view = "..."
|
||||
'/\$view\s*=\s*([^;]+)/',
|
||||
|
||||
// $view .= "..."
|
||||
'/\$view\s*\.=\s*([^;]+)/'
|
||||
];
|
||||
|
||||
$viewVars = [];
|
||||
|
||||
foreach ($viewPatterns as $pattern) {
|
||||
if (preg_match_all($pattern, $content, $matches)) {
|
||||
foreach ($matches[1] as $viewContent) {
|
||||
// Find variables within the view content
|
||||
// Look for PHP variable pattern with braces like {$variable}
|
||||
if (preg_match_all('/\{\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\}/', $viewContent, $varMatches)) {
|
||||
foreach ($varMatches[1] as $var) {
|
||||
$viewVars[] = '$' . $var;
|
||||
}
|
||||
}
|
||||
|
||||
// Look for PHP variable pattern without braces in double-quoted strings
|
||||
if (strpos($viewContent, '"') !== false &&
|
||||
preg_match_all('/"\s*\.\s*\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)\s*\.\s*"/', $viewContent, $varMatches)) {
|
||||
foreach ($varMatches[1] as $var) {
|
||||
$viewVars[] = '$' . $var;
|
||||
}
|
||||
}
|
||||
|
||||
// Look for variables in double-quoted strings
|
||||
if (preg_match_all('/"[^"]*\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[^"]*"/', $viewContent, $varMatches)) {
|
||||
foreach ($varMatches[1] as $var) {
|
||||
$viewVars[] = '$' . $var;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($viewVars)) {
|
||||
$this->viewVariables[$filePath] = array_unique($viewVars);
|
||||
}
|
||||
}
|
||||
|
||||
public function getHtmlResults() {
|
||||
$resultData = $this->onlyViewVars ? $this->viewVariables : $this->variables;
|
||||
$totalVars = 0;
|
||||
$totalFiles = 0;
|
||||
|
||||
$html = '<div style="font-family: Arial, sans-serif; max-width: 1200px; margin: 0 auto; padding: 20px;">';
|
||||
|
||||
if ($this->onlyViewVars) {
|
||||
$html .= '<h1>Variables Found in $view Declarations</h1>';
|
||||
} else {
|
||||
$html .= '<h1>Variable Declarations Found in PHP Files</h1>';
|
||||
}
|
||||
|
||||
if (empty($resultData)) {
|
||||
$html .= '<div style="padding: 20px; background-color: #f8f9fa; border-radius: 5px;">No variables found.</div>';
|
||||
} else {
|
||||
foreach ($resultData as $file => $vars) {
|
||||
$totalFiles++;
|
||||
$totalVars += count($vars);
|
||||
|
||||
$html .= '<div style="margin-bottom: 20px; border: 1px solid #ddd; border-radius: 5px; overflow: hidden;">';
|
||||
$html .= '<div style="padding: 10px; background-color: #f8f9fa; border-bottom: 1px solid #ddd; font-weight: bold;">' . htmlspecialchars($file) . ' <span style="font-weight: normal; color: #666;">(' . count($vars) . ' variables)</span></div>';
|
||||
$html .= '<div style="padding: 10px; background-color: #fff;">';
|
||||
|
||||
foreach ($vars as $var) {
|
||||
$html .= '<div style="padding: 5px; margin: 2px 0; background-color: #f1f8ff; border-radius: 3px;">' . htmlspecialchars($var) . '</div>';
|
||||
}
|
||||
|
||||
$html .= '</div></div>';
|
||||
}
|
||||
|
||||
// Summary section
|
||||
$html .= '<div style="margin-top: 20px; padding: 15px; background-color: #f8f9fa; border-radius: 5px;">';
|
||||
$html .= '<h2>Summary</h2>';
|
||||
|
||||
if ($this->onlyViewVars) {
|
||||
$html .= '<p>Total files with $view variables: <strong>' . $totalFiles . '</strong></p>';
|
||||
$html .= '<p>Total variables found in $view declarations: <strong>' . $totalVars . '</strong></p>';
|
||||
} else {
|
||||
$html .= '<p>Total files with variable declarations: <strong>' . $totalFiles . '</strong></p>';
|
||||
$html .= '<p>Total variable declarations found: <strong>' . $totalVars . '</strong></p>';
|
||||
|
||||
// Show view variables summary if not in view-only mode
|
||||
if (!empty($this->viewVariables)) {
|
||||
$viewVarCount = 0;
|
||||
$viewFileCount = count($this->viewVariables);
|
||||
foreach ($this->viewVariables as $vars) {
|
||||
$viewVarCount += count($vars);
|
||||
}
|
||||
|
||||
$html .= '<div style="margin-top: 15px; padding: 10px; background-color: #e6f7ff; border-radius: 3px;">';
|
||||
$html .= '<p>Additionally found <strong>' . $viewVarCount . '</strong> variables in $view declarations across <strong>' . $viewFileCount . '</strong> files</p>';
|
||||
$html .= '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
$html .= '</div>';
|
||||
}
|
||||
|
||||
// Toggle button
|
||||
$html .= '<div style="margin-top: 20px; text-align: center;">';
|
||||
if ($this->onlyViewVars) {
|
||||
$html .= '<a href="' . $_SERVER['PHP_SELF'] . '" style="display: inline-block; padding: 10px 15px; background-color: #4CAF50; color: white; text-decoration: none; border-radius: 4px;">Show All Variable Declarations</a>';
|
||||
} else {
|
||||
$html .= '<a href="' . $_SERVER['PHP_SELF'] . '?view_only=1" style="display: inline-block; padding: 10px 15px; background-color: #2196F3; color: white; text-decoration: none; border-radius: 4px;">Show Only $view Variables</a>';
|
||||
}
|
||||
$html .= '</div>';
|
||||
|
||||
// Download button
|
||||
$html .= '<div style="margin-top: 15px; text-align: center;">';
|
||||
$html .= '<a href="' . $_SERVER['PHP_SELF'] . '?download=' . ($this->onlyViewVars ? 'view' : 'all') . '" style="display: inline-block; padding: 10px 15px; background-color: #FF9800; color: white; text-decoration: none; border-radius: 4px;">Download Results as JSON</a>';
|
||||
$html .= '</div>';
|
||||
|
||||
$html .= '</div>';
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
public function exportToJson() {
|
||||
$resultData = $this->onlyViewVars ? $this->viewVariables : $this->variables;
|
||||
return json_encode($resultData, JSON_PRETTY_PRINT);
|
||||
}
|
||||
}
|
||||
|
||||
// ------ MAIN EXECUTION ------
|
||||
|
||||
// Set execution time to a higher value to handle large codebases
|
||||
set_time_limit(300);
|
||||
|
||||
// Check for download request
|
||||
if (isset($_GET['download'])) {
|
||||
$viewOnly = ($_GET['download'] === 'view');
|
||||
$finder = new PHPVariableDeclarationFinder('.', $viewOnly);
|
||||
$finder->findDeclarations();
|
||||
|
||||
$filename = $viewOnly ? 'view_variables.json' : 'all_variables.json';
|
||||
|
||||
header('Content-Type: application/json');
|
||||
header('Content-Disposition: attachment; filename="' . $filename . '"');
|
||||
echo $finder->exportToJson();
|
||||
exit;
|
||||
}
|
||||
|
||||
// HTML header
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>PHP Variable Finder</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
line-height: 1.6;
|
||||
color: #333;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
header {
|
||||
background-color: #4a76a8;
|
||||
color: white;
|
||||
padding: 15px 20px;
|
||||
text-align: center;
|
||||
}
|
||||
header h1 {
|
||||
margin: 0;
|
||||
font-size: 24px;
|
||||
}
|
||||
.progress {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 4px;
|
||||
background-color: #f1f1f1;
|
||||
z-index: 1000;
|
||||
}
|
||||
.progress-bar {
|
||||
height: 100%;
|
||||
background-color: #4CAF50;
|
||||
width: 0%;
|
||||
transition: width 0.3s;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="progress"><div class="progress-bar" id="progressBar"></div></div>
|
||||
<header>
|
||||
<h1>PHP Variable Finder</h1>
|
||||
</header>
|
||||
|
||||
<script>
|
||||
// Simple progress animation
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const bar = document.getElementById('progressBar');
|
||||
let width = 0;
|
||||
const interval = setInterval(function() {
|
||||
if (width >= 90) {
|
||||
clearInterval(interval);
|
||||
} else {
|
||||
width += Math.random() * 10;
|
||||
if (width > 90) width = 90;
|
||||
bar.style.width = width + '%';
|
||||
}
|
||||
}, 300);
|
||||
|
||||
// When everything is loaded
|
||||
window.addEventListener('load', function() {
|
||||
bar.style.width = '100%';
|
||||
setTimeout(function() {
|
||||
document.querySelector('.progress').style.display = 'none';
|
||||
}, 500);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php
|
||||
// Process the request
|
||||
$viewOnly = isset($_GET['view_only']) && $_GET['view_only'] == '1';
|
||||
$finder = new PHPVariableDeclarationFinder('.', $viewOnly);
|
||||
|
||||
// Scan for variables with progress indicator
|
||||
$finder->findDeclarations();
|
||||
|
||||
// Output results as HTML
|
||||
echo $finder->getHtmlResults();
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
11
webhook.php
11
webhook.php
@@ -6,6 +6,7 @@ define('interface', true);
|
||||
// Includes
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
include './custom/settings/config.php';
|
||||
include './custom/settings/translations_mapping.php';
|
||||
include './functions.php';
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
@@ -76,7 +77,15 @@ try {
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
//Send the invoice when status is Paid
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
$invoice_language = strtoupper($invoice_cust['customer']['language']!= '' ? $invoice_cust['customer']['language'] : $responses['language']);
|
||||
|
||||
// Determine invoice language
|
||||
if (!empty($invoice_cust['customer']['language'])) {
|
||||
$invoice_language = strtoupper($invoice_cust['customer']['language']);
|
||||
} elseif (!empty($invoice_cust['customer']['country']) && isset($available_languages[strtoupper($invoice_cust['customer']['country'])])) {
|
||||
$invoice_language = $available_languages[strtoupper($invoice_cust['customer']['country'])];
|
||||
} else {
|
||||
$invoice_language = 'US'; // Default fallback
|
||||
}
|
||||
|
||||
list($data,$customer_email,$order_id) = generateInvoice($invoice_cust,$orderId,$invoice_language);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
// Include the configuration file, this contains settings you can change.
|
||||
// Includes
|
||||
include './custom/settings/config.php';
|
||||
// Include functions and connect to the database using PDO MySQL
|
||||
include './custom/settings/translations_mapping.php';
|
||||
include './functions.php';
|
||||
|
||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
@@ -73,7 +73,14 @@ if($token !=''){
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
//Send the invoice when status is Paid
|
||||
//++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
$invoice_language = strtoupper($invoice_cust['customer']['language']!= '' ? $invoice_cust['customer']['language'] : $responses['language']);
|
||||
// Determine invoice language
|
||||
if (!empty($invoice_cust['customer']['language'])) {
|
||||
$invoice_language = strtoupper($invoice_cust['customer']['language']);
|
||||
} elseif (!empty($invoice_cust['customer']['country']) && isset($available_languages[strtoupper($invoice_cust['customer']['country'])])) {
|
||||
$invoice_language = $available_languages[strtoupper($invoice_cust['customer']['country'])];
|
||||
} else {
|
||||
$invoice_language = 'US'; // Default fallback
|
||||
}
|
||||
|
||||
list($data,$customer_email,$order_id) = generateInvoice($invoice_cust,$orderId,$invoice_language);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user