Retour de l'ano 0000023 sur le Captcha : on remplace par un module qui fonctionne

This commit is contained in:
2020-06-01 19:39:33 +02:00
parent 7a37450953
commit 401fedea95
178 changed files with 15050 additions and 4938 deletions

View File

@@ -0,0 +1,275 @@
.ets_pa_item .radio {
display: inline-block;
}
.ets_pa_item .radio label {
display: flex;
align-items: center;
}
.ets_pa_item .radio label * {
margin-right: 10px;
}
.pa_wrapper_content.is15 .defaultForm legend {
display: none;
}
.pa_wrapper_content .panel-heading {
min-height: 56px;
margin-bottom: 30px!important;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
font-size: 18px!important;
}
#content.bootstrap .tab-content.panel {
border: 1px solid #e6e6e6;
border-radius: 0 0 3px 3px;
}
.bootstrap .help-block {
color: #777;
font-size: 13px;
}
.row_pa_captcha_type .ets_pa_options li.ets_pa_item {
margin-bottom: 10px;
}
.row_pa_captcha_type .ets_pa_options li.ets_pa_item label[for="PA_CAPTCHA_TYPE_colorful"] img,
.row_pa_captcha_type .ets_pa_options li.ets_pa_item label[for="PA_CAPTCHA_TYPE_basic"] img,
.row_pa_captcha_type .ets_pa_options li.ets_pa_item label[for="PA_CAPTCHA_TYPE_complex"] img{
border: 1px solid #eee;
}
td .hidden-google-captcha {
padding-left: 17px;
}
td > .hidden-google-captcha label {
text-align: left;
}
td > .hidden-google-captcha input {
width: 100%;
}
td > #module_form_submit_btn {
margin-top: 10px;
}
#captcha .help-block {
max-width: 510px;
}
.avc_button_help{
margin: 0 10px 0 0!important;
}
ul.ets_pa_options {
padding-left: 10px;
list-style: none;
}
.pa_captcha_log_install h4 {
text-align: center;
font-family: Arial;
font-size: 24px !important;
}
.pa_captcha_log_install {
font-size: 18px;
font-family: Arial;
color: #3a6b1f !important;
border: 1px solid #609d3f !important;
background-color: #d8eace !important;
padding-top: 30px !important;
padding-bottom: 30px !important;
margin: 30px 0 !important;
}
.pa_captcha_log_install .pa_captcha_logs.alert-warning {
margin: 30px 0 20px;
padding: 10px 30px;
line-height: 27px;
font-size: 14px;
color: #967800;
}
.pa_captcha_log_install > .pa_captcha_view_log, .pa_captcha_log_install > .pa_captcha_clear_log {
display: block;
margin-top: 5px;
text-decoration: underline;
}
.pa_captcha_log_install > .pa_captcha_view_log {
margin-top: 15px;
}
.pa_captcha_log_actions #pa_captcha_button_yes {
background-color: #3a6b1f;
border: 1px solid #3a6b1f;
font-size: 18px;
font-family: Arial;
text-transform: none;
padding: 5px 20px;
height: 40px;
display: inline-block;
border-radius: 5px;
}
.pa_captcha_log_actions #pa_captcha_button_yes:hover{
background-color: #4d9028;
}
.pa_captcha_log_install h4::before {
content: "\f058";
font-size: 30px;
font-family: Fontawesome;
margin-right: 10px;
vertical-align: -1px;
line-height: 23px;
display: inline-block;
}
.pa_captcha_log_install:before{
display: none!important;
}
.pa_captcha_log_actions #pa_captcha_clear_log {
background-color: #967800;
color: #fff;
border-radius: 5px;
height: 40px;
font-size: 18px;
padding: 5px 20px;
display: inline-block;
border: 1px solid #967800;
margin: 0 5px;
}
.pa_captcha_log_actions #pa_captcha_clear_log:hover{
background-color: #bf9a06;
}
.pa_captcha_log_actions {
text-align: center;
display: block;
margin-top: 30px;
}
.row_pa_captcha_help h3 {
margin-top: 10px!important;
text-transform: uppercase;
font-weight: 600;
font-size: 16px!important;
border-bottom: none!important;
padding-left: 0!important;
border-top: 1px solid #eee!important;
padding-top: 10px!important;
height: auto!important;
text-shadow: none!important;
font-family: Open sans;
margin-left: 0!important;
position: relative;
margin-right: 0!important;
}
.row_pa_captcha_help ul img {
display: block;
margin: 15px 0;
border: 1px solid #eee;
}
.pa_wrapper_content ul.nav.nav-tabs li:first-child a:before {
content: "\f013";
font-family: Fontawesome;
display: inline-block;
margin-right: 5px;
}
.pa_wrapper_content ul.nav.nav-tabs li:last-child a[data-toggle="tab"]:before {
content: "\f059";
font-family: Fontawesome;
display: inline-block;
margin-right: 5px;
}
.row_pa_captcha_help ul {
border: 1px solid #eee;
padding: 20px;
list-style: none;
margin: 0!important;
}
.row_pa_captcha_help {
line-height: 28px;
font-size: 13px;
}
.is15 .ets_pa_options label {
width: auto;
float: none;
margin-bottom: 5px;
display: inline-block;
}
.is15 input + label {
width: auto;
float: none;
}
.is15 input#module_form_submit_btn {
height: 35px;
padding: 0 15px;
margin-top: 15px;
}
.is15 ul.ets_pa_options {
padding-left: 0;
list-style: none;
}
.is15 .row_pa_google_captcha_site_key input,
.is15 .row_pa_google_captcha_secret_key input {
height: 22px;
width: 350px;
max-width: calc(100% - 15px);
max-width: -webkit-calc(100% - 15px);
}
.is15 label[for="PA_CAPTCHA_TYPE_colorful"] img,
.is15 label[for="PA_CAPTCHA_TYPE_basic"] img,
.is15 label[for="PA_CAPTCHA_TYPE_complex"] img,
.is15 label[for="PA_CAPTCHA_TYPE_google"] img {
vertical-align: -10px;
margin-left: 5px;
}
.is15 .tab-content.panel {
border: 1px solid #ccc;
clear: both;
background-color: #fff;
padding: 20px 15px;
display: flex;
display: -webkit-flex;
}
.is15 .tab-content.panel > div.active {
display: block!important;
}
.is15 .tab-content.panel > div {
display: none!important;
}
.is15 .tab-content.panel #help {
float: none;
border: none;
width: 1170px;
margin: 0 auto;
max-width: 100%;
padding: 0 15px;
}
.is15 ul.nav.nav-tabs a {
padding: 12px 15px;
display: block;
margin-right: 0px;
}
.is15 ul.nav.nav-tabs li {
display: inline-block;
border: 1px solid #ccc;
float: left;
margin-bottom: -1px;
margin-right: -1px;
}
.is15 ul.nav.nav-tabs li.active {
background-color: #fff;
border-bottom: 1px solid #fff;
}
@media (max-width: 767px){
.bootstrap > .bootstrap.panel {
min-width: 550px;
}
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,165 @@
.pa-captcha-field-row{
margin-bottom: 7px;
}
#pa_captcha_refesh img{
width: 20px;
height: 20px;
}
#pa_captcha_refesh{
display: inline-block;
margin-left: 5px;
cursor: pointer;
margin-right: 5px;
}
.ps_v_15 .pa-captcha-field-cell{
display: inline-block;
width: 270px;
}
.ps_v_15 .pa_captcha_img {
float: left;
margin-bottom: 10px;
width: 100%;
}
.captcha_pwd_recovery.pwd_recovery.page_password.ver17 .pa_captcha_img {
margin-left: 15px;
}
.captcha_pwd_recovery.pwd_recovery.page_password.ver17 {
margin: 0;
}
.captcha_pwd_recovery:not(.ver17) label {
width: 100%;
}
.captcha_pwd_recovery:not(.ver17) .pa-captcha-inf {
clear: both;
width: 100%;
}
.ps_v_15 .pa_captcha_img_data{
float: left;
}
.quickview .captcha_out_of_stock .pa-captcha-inf input.form-control {
width: auto;
display: inline-block;
width: 150px;
}
.ps_v_15 #pa_captcha_refesh{
float: left;
margin-top: 4px;
}
.page_registration.ps_v_15{
background: none repeat scroll 0 0 #F8F8F8;
border: 1px solid #CCCCCC;
padding: 15px 0!important;
margin-bottom: 20px!important;
}
input[name="captcha"] {
display: none;
}
div.form-group.row #pa_captcha,.pa-captcha-field-row #pa_captcha {
margin-top: 1rem;
}
.pa_captcha_img + input {
display: inline-block;
width: 100px!important;
margin-left: 0;
float: left;
max-height: 35px;
height: 35px;
min-width: 50px!important;
}
span.pa_captcha_img {
display: inline-block;
margin-bottom: 5px;
float: left;
}
.captcha_newsletter {
clear: both;
display: block;
padding-top: 10px;
margin: 0;
}
.captcha_newsletter .pa-captcha-inf {
width: 100%;
}
.captcha_newsletter > label.col-md-3 {
width: 100%;
text-align: left;
}
.captcha_out_of_stock label {
width: 100%;
text-align: left;
}
.captcha_out_of_stock .pa-captcha-inf {
width: 100%;
}
.ver15 span.pa-captcha-inf {
width: calc(100% - 115px);
width: -webkit-calc(100% - 115px);
margin-left: 5px;
}
.captcha_login.page_authentication.ver15,
p.captcha_contact.page_contact.ver15,
p.captcha_register.page_authentication.ver15 {
display: flex;
display: -webkit-flex;
}
.ver15 #pa_captcha_refesh {
margin-left: 5px;
margin-right: 5px;
}
.ver15.captcha_register span.pa-captcha-inf {
width: calc(100% - 240px);
width: -webkit-calc(100% - 240px);
margin-left: 5px;
}
.ver15.captcha_contact span.pa-captcha-inf {
width: calc(100% - 185px);
width: -webkit-calc(100% - 185px);
margin-left: 5px;
}
.ver15 .pa_captcha_img + input {
height: 35px!important;
border: 1px solid #ccc;
margin-left: 0;
box-sizing: border-box;
clear: both;
width: 148px!important;
}
.ver15.captcha_register .pa_captcha_img + input{
clear: none!important
}
.captcha_contact.form-group.page_contact.ver16 {
margin: 0;
}
.captcha_contact.form-group.page_contact.ver16 label {
width: 100%;
}
.captcha_login.form-group.ver16 label,
.captcha_register.form-group.ver16 label {
width: 100%;
padding: 0;
}
article.alert.alert-info,
article.alert.alert-danger {
margin-top: 10px;
}
.captcha_contact.form-group.page_contact.ver16 .pa-captcha-inf,
.captcha_login.form-group.ver16 .pa-captcha-inf,
.captcha_register.form-group.ver16 .pa-captcha-inf{
padding: 0;
width: 100%;
}
.page_contact.ver16 .pa_captcha_img + input,
.captcha_login.ver16 .pa_captcha_img + input,
.captcha_register.ver16 .pa_captcha_img + input {
margin-left: 0;
height: 35px;
width: 150px!important;
max-width: 100%;
}
.captcha_register.form-group.page_authentication.ver16 {
margin-left: 0!important;
margin-right: 0!important;
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,904 @@
.ets-mod{
background: #fff;
padding: 0;
}
.ets-mod.hidden,li.hidden{
display: none!important;
}
.ets-mod-cats > li.active{
font-weight: bold;
}
.ets-mod {
position: fixed!important;
bottom: 0;
overflow: auto;
}
.ets-mod, .ets-mod * {
box-sizing: border-box;
}
.ets-mod-header {
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
padding: 40px 0 30px;
margin-left: -15px;
margin-right: -15px;
}
.ets-mod-logo img {
max-width: 100%;
}
.ets-mod-cats_mobile{
display: none;
}
a.ets-mod-external-link.btn {
background: #E22B8C;
width: 100%;
display: block;
clear: both;
text-align: center;
color: #fff;
text-decoration: none!important;
font-size: 18px;
padding: 10px;
margin-bottom: 20px;
border-radius: 4px;
transition: all 0.2s;
-webkit-transition: all 0.2s;
}
a.ets-mod-external-link.btn:hover {
background: #ca3282;
}
.ets-mod-close {
position: absolute;
right: 10px;
top: 6px;
font-size: 0;
cursor: pointer;
width: 30px;
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
height: 30px;
}
.ets-mod-close:hover:after,
.ets-mod-close:hover:before{
background: #555;
}
.ets-mod-close:after {
content: "";
width: 27px;
top: 50%;
left: 50%;
height: 1px;
background: #999;
display: inline-block;
transform: translate3d(-50%,-50%,0);
-webkit-transform: translate3d(-50%,-50%,0);
position: absolute;
}
.ets-mod-close:before {
content: "";
height: 27px;
width: 1px;
background: #999;
display: inline-block;
transform: translate3d(-50%,-50%,0);
-webkit-transform: translate3d(-50%,-50%,0);
top: 50%;
position: absolute;
left: 50%;
}
.ets-mod-external {
clear: both;
padding-left: 15px;
padding-right: 15px;
}
.ets-mod-intro {
padding: 0 30px;
font-size: 14px;
line-height: 1.7;
width: 60%;
}
.ets-mod-logo {
width: 25%;
padding: 0 15px;
}
.mod-footer > .mod-price:first-child {
width: 100%;
text-align: right;
justify-content: flex-end;
-webkit-justify-content: flex-end;
}
.ets-badge-partner span,
.ets-badge-superhero span {
text-align: center;
display: block;
font-size: 14px;
}
.ets-badge-superhero {
width: 100px;
}
.ets-badge-partner {
max-width: 121px;
padding: 0 10px;
text-align: center;
}
.mod-desc {
display: block;
position: relative;
overflow: hidden;
float: left;
width: 100%;
margin-bottom: 14px;
min-height: 123px;
}
.loading-modules:before {
content: "";
background-color: rgba(255,255,255,0.9);
position: fixed;
left: 0;
width: 100%;
bottom: 0;
z-index: 90000000;
height: 100%;
}
.loading-modules:after {
content: "";
width: 60px;
height: 60px;
border-radius: 50%;
border-left: 2px solid #ff008d;
border-top: 2px solid transparent;
border-bottom: 2px solid transparent;
border-right: 2px solid #ff008d;
position: fixed;
left: 50%;
top: 50%;
visibility: visible;
opacity: 1;
margin-left: -30px;
margin-top: -30px;
z-index: 99000000;
animation: loading 0.5s infinite linear;
-webkit-animation: loading 0.5s infinite linear;
}
@keyframes loading {
0% {
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
-webkit-transform: rotate(360deg);
}
}
@-webkit-keyframes loading {
0% {
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
-webkit-transform: rotate(360deg);
}
}
.ets-mod-badges img {
margin: 0 15px;
}
.ets-mod-badges {
display: flex;
display: -webkit-flex;
}
.li_othermodules {
background: #ff2ea0!important;
color: orange!important;
position: absolute!important;
right: 0!important;
top: 0!important;
display: flex;
border-top-right-radius: 4px;
display: -webkit-flex;
align-items: center;
box-shadow: 0 0 10px 0 #999 inset;
-webkit-box-shadow: 0 0 10px 0 #888 inset;
transition: all 0.3s;
-webkit-transition: all 0.3s;
outline: none!important;
}
.li_othermodules:hover {
background: #e62790!important;
}
.li_othermodules a span {
position: relative;
display: block;
text-align: center;
}
.li_othermodules .tab-title {
display: block;
text-align: center;
text-transform: uppercase;
font-size: 16px;
font-weight: 500;
line-height: 1;
margin-bottom: 2px;
position: relative;
}
.ets-mod-left {
padding: 0 15px;
width: 25%;
}
ul.ets-mod-cats {
list-style: none;
background: #f3f3f3;
padding: 20px 25px;
border: 1px solid #ddd;
border-radius: 4px;
margin-top: 15px;
display: block;
width: 100%;
max-width: 100%;
}
.mod-badge{
background-image: url(../img/other/module-editor.png);
min-height: 30px;
background-position: 5px center;
background-repeat: no-repeat;
text-align: center;
align-items: center;
background-size: 30px;
display: flex;
display: -webkit-flex;
padding-left: 40px;
margin: -10px auto 10px;
font-size: 13px;
color: #333;
width: 195px;
max-width: 100%;
}
.ets-mod-left:not(.scroll_heading) ul.ets-mod-cats{
width: 100%!important;
}
.mod-badge.fav {
background-image: url(../img/other/awards-toconvert.png);
}
.mod-badge.elected {
background-image: url(../img/other/module-editor.png);
width: 190px;
}
.mod-download {
background-image: url(../img/other/badges-s3e73c0c3f1.png);
min-height: 30px;
display: flex;
display: -webkit-flex;
background-position: 4px -491px;
background-repeat: no-repeat;
padding-left: 38px;
align-items: center;
width: 150px;
margin: 0 auto 10px;
font-size: 13px;
}
.ets-mod-cats li {
line-height: 1.4;
font-size: 14px;
cursor: pointer;
padding: 6px 0;
}
.ets-mod-cats li:hover {
color: #E22B8C;
}
ul.ets-mod-list li.mod-item {
width: 33.33%;
padding: 0 15px;
float: left;
margin-bottom: 30px;
}
ul.ets-mod-list {
padding: 0;
list-style: none;
display: flex;
display: -webkit-flex;
flex-wrap: wrap;
-webkit-flex-wrap: wrap;
width: 100%;
float: left;
margin-top: 15px;
}
.mod-rating:before {
content: "\f006 \f006 \f006 \f006 \f006";
font-family: Fontawesome,sans-serif;
letter-spacing: 3px;
color: orange;
}
.mod-rating.mod-start-1:before{
content:"\f005 \f006 \f006 \f006 \f006";
}
.mod-rating.mod-start-15:before{
content:"\f005 \f123 \f006 \f006 \f006";
}
.mod-rating.mod-start-2:before{
content:"\f005 \f005 \f006 \f006 \f006";
}
.mod-rating.mod-start-25:before{
content:"\f005 \f005 \f123 \f006 \f006";
}
.mod-rating.mod-start-3:before{
content:"\f005 \f005 \f005 \f006 \f006";
}
.mod-rating.mod-start-35:before{
content:"\f005 \f005 \f005 \f123 \f006";
}
.mod-rating.mod-start-4:before{
content:"\f005 \f005 \f005 \f005 \f006";
}
.mod-rating.mod-start-45:before{
content:"\f005 \f005 \f005 \f005 \f123";
}
.mod-rating.mod-start-5:before{
content:"\f005 \f005 \f005 \f005 \f005";
}
span.mod-price-dec {
vertical-align: top;
}
span.mod-price-int, .mod-price-unit {
font-size: 18px;
color: #261c59;
}
span.mod-price-dec{
color: #261c59;
}
.mod-rating {
vertical-align: middle;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
}
ul.ets-mod-list li.mod-item > a {
border: 1px solid #ddd;
text-align: center;
display: block;
padding: 20px 15px 60px;
position: relative;
border-radius: 4px;
width: 100%;
color: #333;
text-decoration: none;
}
.mod-must-have {
position: absolute;
top: 25px;
right: -5px;
background: #E22B8C;
color: #fff;
padding: 5px 10px;
font-size: 12px;
}
.mod-must-have:before {
content: "";
position: absolute;
border-left: 5px solid #9a0300;
border-top: 5px solid transparent;
border-bottom: 5px solid transparent;
top: 100%;
margin-top: -5px;
right: 0;
}
.mod-price {
display: flex;
display: -webkit-flex;
}
.mod-must-have:after {
content: "";
position: absolute;
bottom: 0;
margin-top: -5px;
right: 0;
background: #E02B8C;
width: 5px;
height: 5px;
}
.mod-footer {
margin-left: 0;
border-top: 1px solid #ddd;
margin-right: 0;
display: flex;
justify-content: space-between;
padding: 15px;
margin-top: 20px;
position: absolute;
bottom: 0;
right: 0;
left: 0;
}
ul.ets-mod-list li.mod-item {
width: 33.33%;
padding: 0 15px;
float: left;
margin-bottom: 30px;
display: flex;
}
.mod-footer {
border-top: 1px solid #ddd;
display: flex;
justify-content: space-between;
padding: 8px 15px;
margin-top: 0;
}
.mod-image {
margin-bottom: 12px;
margin-top: 5px;
}
.ets-mod-inner {
max-width: 1200px;
margin: 0 auto;
padding: 0 15px;
}
.mod-title {
font-size: 16px;
left: 0;
color: #261c59;
font-weight: normal;
overflow: hidden;
margin-bottom: 15px;
min-height: 44px;
}
.other-modules-loaded {
overflow: hidden;
}
.ets-mod-right {
width: 75%;
position: relative;
}
.ets-mod-inner .ets-body {
display: flex;
display: -webkit-flex;
margin-left: -15px;
margin-right: -15px;
}
.ets-mod-contact {
position: fixed;
width: 76px;
height: 76px;
background: #E22B8C;
bottom: 60px;
z-index: 10;
border-radius: 50%;
text-align: center;
color: #fff;
right: 60px;
display: flex;
display: -webkit-flex;
justify-content: center;
-webkit-justify-content: center;
align-items: center;
-webkit-align-items: center;
}
.ets-mod-contact:hover {
background: #ca3282;
}
.ets-mod-contact a.mod-link {
color: #fff;
line-height: 1;
font-size: 10px;
clear: both;
font-weight: 600;
display: block;
text-decoration: none;
box-shadow: none;
padding: 16px 12px;
white-space: nowrap;
border: none;
position: relative;
z-index: 100;
border-radius: 50%;
}
.ets-mod-contact a.mod-link::before {
position: relative;
display: block;
margin-bottom: 4px;
content: "\f003";
font-family: Fontawesome, sans-serif;
font-size: 30px;
font-weight: normal;
-webkit-animation: alo-circle-img-anim 1s infinite ease-in-out;
-moz-animation: alo-circle-img-anim 1s infinite ease-in-out;
-o-animation: alo-circle-img-anim 1s infinite ease-in-out;
animation: alo-circle-img-anim 1s infinite ease-in-out;
margin-top: 0;
}
@-moz-keyframes alo-circle-img-anim {
0% {
transform: rotate(0) scale(1) skew(1deg)
}
10% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
20% {
transform: rotate(25deg) scale(1) skew(1deg)
}
30% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
40% {
transform: rotate(25deg) scale(1) skew(1deg)
}
50% {
transform: rotate(0) scale(1) skew(1deg)
}
100% {
transform: rotate(0) scale(1) skew(1deg)
}
}
@-webkit-keyframes alo-circle-img-anim {
0% {
transform: rotate(0) scale(1) skew(1deg)
}
10% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
20% {
transform: rotate(25deg) scale(1) skew(1deg)
}
30% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
40% {
transform: rotate(25deg) scale(1) skew(1deg)
}
50% {
transform: rotate(0) scale(1) skew(1deg)
}
100% {
transform: rotate(0) scale(1) skew(1deg)
}
}
@-o-keyframes alo-circle-img-anim {
0% {
transform: rotate(0) scale(1) skew(1deg)
}
10% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
20% {
transform: rotate(25deg) scale(1) skew(1deg)
}
30% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
40% {
transform: rotate(25deg) scale(1) skew(1deg)
}
50% {
transform: rotate(0) scale(1) skew(1deg)
}
100% {
transform: rotate(0) scale(1) skew(1deg)
}
}
@keyframes alo-circle-img-anim {
0% {
transform: rotate(0) scale(1) skew(1deg)
}
10% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
20% {
transform: rotate(25deg) scale(1) skew(1deg)
}
30% {
transform: rotate(-25deg) scale(1) skew(1deg)
}
40% {
transform: rotate(25deg) scale(1) skew(1deg)
}
50% {
transform: rotate(0) scale(1) skew(1deg)
}
100% {
transform: rotate(0) scale(1) skew(1deg)
}
}
.ets-mod-list .mod-link:hover {
box-shadow: 0 4px 8px 1px #ece9e9;
-webkit-box-shadow: 0 4px 8px 1px #ece9e9;
border: solid 1px #d2d2d2;
}
.li_othermodules a {
color: #ffdd02!important;
font-size: 13px;
padding: 10px 20px 15px 85px;
top: 0;
background-image: url(../img/other/ets-superhero-2.png);
background-position: 10px 5px;
background-repeat: no-repeat;
background-size: 70px;
font-family: Open sans,sans-serif;
height: 55px;
text-decoration: none!important;
outline: none!important;
}
.cfu-top-menu li:not(.active) a.link_othermodules:hover:before{
display:none;
}
@-moz-keyframes alo-circle-fill-anim {
0% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
50% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .2
}
100% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
}
@-webkit-keyframes alo-circle-fill-anim {
0% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
50% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .2
}
100% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
}
@-o-keyframes alo-circle-fill-anim {
0% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
50% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .2
}
100% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
}
@keyframes alo-circle-fill-anim {
0% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
50% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .2
}
100% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .2
}
}
@-moz-keyframes alo-circle-anim {
0% {
transform: rotate(0) scale(.5) skew(1deg);
opacity: .1
}
30% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .5
}
100% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .1
}
}
@-webkit-keyframes alo-circle-anim {
0% {
transform: rotate(0) scale(.5) skew(1deg);
opacity: .1
}
30% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .5
}
100% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .1
}
}
@-o-keyframes alo-circle-anim {
0% {
transform: rotate(0) scale(.5) skew(1deg);
opacity: .1
}
30% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .5
}
100% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .1
}
}
@keyframes alo-circle-anim {
0% {
transform: rotate(0) scale(.5) skew(1deg);
opacity: .1
}
30% {
transform: rotate(0) scale(.7) skew(1deg);
opacity: .5
}
100% {
transform: rotate(0) scale(1) skew(1deg);
opacity: .1
}
}
.ets-mod-contact:after {
width: 160px;
height: 160px;
left: -45px;
top: -45px;
position: absolute;
content: "";
background-color: transparent;
-webkit-border-radius: 100%;
-moz-border-radius: 100%;
border-radius: 100%;
border: 2px solid rgba(30, 30, 30, 0.4);
border: 2px solid #dc9abd;
opacity: .5;
-webkit-animation: alo-circle-anim 1.2s infinite ease-in-out;
-moz-animation: alo-circle-anim 1.2s infinite ease-in-out;
-ms-animation: alo-circle-anim 1.2s infinite ease-in-out;
-o-animation: alo-circle-anim 1.2s infinite ease-in-out;
animation: alo-circle-anim 1.2s infinite ease-in-out;
-webkit-transition: all .5s;
-moz-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
-webkit-transform-origin: 50% 50%;
-moz-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
-o-transform-origin: 50% 50%;
transform-origin: 50% 50%;
}
.ets-mod-contact::before {
position: absolute;
display: inline-block;
content: "";
font-size: 30px;
-webkit-animation: alo-circle-fill-anim 1s infinite ease-in-out;
-moz-animation: alo-circle-fill-anim 1s infinite ease-in-out;
-o-animation: alo-circle-fill-anim 1s infinite ease-in-out;
animation: alo-circle-fill-anim 1s infinite ease-in-out;
left: -10px;
top: -10px;
right: -10px;
border-radius: 50%;
bottom: -10px;
background: #E22B8C;
}
@media (min-width: 1200px){
.ets-mod-left.scroll_heading ul.ets-mod-cats {
position: fixed;
top: 0;
}
}
@media (max-width: 767px){
ul.ets-mod-list li.mod-item {
width: 50%;
}
.ets-mod-left {
width: 100%;
}
.ets-mod-inner .ets-body {
flex-wrap: wrap;
-webkit-flex-wrap: wrap;
}
.ets-mod-right {
width: 100%;
margin-top: 30px;
}
.ets-mod-header {
flex-wrap: wrap;
}
.ets-mod-intro {
width: calc(100% - 220px);
width: -webkit-calc(100% - 220px);
padding: 0 20px;
}
.ets-mod-badges {
width: 220px;
}
.ets-mod-logo {
margin-bottom: 15px;
width: 100%;
}
.ets-mod-cats_mobile {
display: block;
}
.ets-mod-cats_mobile h4 {
list-style: none;
background: #f3f3f3;
padding: 20px 25px;
border: 1px solid #ddd;
border-radius: 0;
display: block;
width: 100%;
max-width: 100%;
font-size: 14px;
margin: 0 0 -1px;
cursor: pointer;
}
ul.ets-mod-cats {
border-radius: 0;
display: none;
}
.ets-mod-cats_mobile h4:after {
content: "";
border-left: 2px solid #333;
border-bottom: 2px solid #333;
width: 6px;
height: 6px;
border-bottom-left-radius: 2px;
display: inline-block;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
margin-left: 8px;
vertical-align: 2px;
}
ul.ets-mod-cats.active {
display: block;
}
.ets-mod-cats_mobile{
display: block;
}
.li_othermodules .tab-title{
white-space: nowrap;
}
.pa_wrapper_content {
min-width: 550px;
}
}
@media (max-width: 500px){
ul.ets-mod-list li.mod-item {
width: 100%;
}
.ets-mod-left {
padding: 0 15px;
width: 100%;
}
.ets-mod-inner .ets-body {
flex-wrap: wrap;
}
.ets-mod-right {
width: 100%;
position: relative;
margin-top: 30px;
}
.ets-mod-intro {
width: 100%;
margin-bottom: 20px;
}
.ets-badge-partner {
max-width: none;
padding: 0 15px;
}
.ets-badge-superhero {
width: auto;
padding: 0 15px;
}
.ets-mod-badges {
width: 100%;
text-align: center;
}
.ets-mod-logo {
margin-bottom: 15px;
}
}

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 180 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

Binary file not shown.

After

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,104 @@
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
var func_pa = {
renderTabs: function () {
if (typeof helper_config_tabs != 'undefined' && typeof unique_config_field_id != 'undefined') {
$.each(helper_config_tabs, function (index) {
$('#' + unique_config_field_id + 'fieldset_' + index + ' .form-wrapper').prepend('<div class="tab-content panel" />');
$('#' + unique_config_field_id + 'fieldset_' + index + ' .form-wrapper').prepend('<ul class="nav nav-tabs" />');
$.each(helper_config_tabs[index], function (key, value) {
$('#' + unique_config_field_id + 'fieldset_' + index + ' .tab-content').append('<div id="' + key + '" class="tab-pane" />');
var elemts = $('#' + unique_config_field_id + 'fieldset_' + index).find("[data-tab-id='" + key + "']");
$(elemts).appendTo('#' + key);
if (elemts.length != 0)
$('#' + unique_config_field_id + 'fieldset_' + index + ' .nav-tabs').append('<li><a href="#' + key + '" data-toggle="tab">' + value + '</a></li>');
});
$('#' + unique_config_field_id + 'fieldset_' + index + ' .tab-content div').first().addClass('active');
$('#' + unique_config_field_id + 'fieldset_' + index + ' .nav-tabs li').first().addClass('active');
});
}
},
captchaType: function (val) {
if (val == 'google' || ($('#PA_CAPTCHA_TYPE_google').length > 0 && $('#PA_CAPTCHA_TYPE_google').is(':checked'))) {
$('.row_pa_google_captcha_site_key, .row_pa_google_captcha_secret_key').show();
$('.row_pa_google_v3_captcha_site_key, .row_pa_google_v3_captcha_secret_key').hide();
} else if (val == 'google' || ($('#PA_CAPTCHA_TYPE_google_v3').length > 0 && $('#PA_CAPTCHA_TYPE_google_v3').is(':checked'))) {
$('.row_pa_google_v3_captcha_site_key, .row_pa_google_v3_captcha_secret_key').show();
$('.row_pa_google_captcha_site_key, .row_pa_google_captcha_secret_key').hide();
} else {
$('.row_pa_google_captcha_site_key, .row_pa_google_captcha_secret_key,.row_pa_google_v3_captcha_site_key, .row_pa_google_v3_captcha_secret_key').hide();
}
},
disableOverride: function () {
if ($('#PA_CAPTCHA_POSITION_contact').length > 0 && $('#PA_CAPTCHA_POSITION_contact').is(':checked')) {
$('.row_pa_captcha_tmp_contact').show();
} else if ($('#PA_CAPTCHA_POSITION_contact').length > 0) {
$('.row_pa_captcha_tmp_contact').hide();
func_pa.prop('#PA_CAPTCHA_TMP_CONTACT', false, true);
}
if ($('#PA_CAPTCHA_POSITION_login').length > 0 && $('#PA_CAPTCHA_POSITION_login').is(':checked')) {
$('.row_pa_captcha_tmp_login').show();
} else if ($('#PA_CAPTCHA_POSITION_login').length > 0) {
$('.row_pa_captcha_tmp_login').hide();
func_pa.prop('#PA_CAPTCHA_TMP_LOGIN', false, true);
}
if ($('#PA_CAPTCHA_POSITION_pwd_recovery').length > 0 && $('#PA_CAPTCHA_POSITION_pwd_recovery').is(':checked')) {
$('.row_pa_captcha_tmp_re_password').show();
} else if ($('#PA_CAPTCHA_POSITION_pwd_recovery').length > 0) {
$('.row_pa_captcha_tmp_re_password').hide();
func_pa.prop('#PA_CAPTCHA_TMP_RE_PASSWORD', false, true);
}
},
prop: function (uniqueId, on, off) {
if ($(uniqueId + '_on').length > 0) {
$(uniqueId + '_on').prop('checked', on);
}
if ($(uniqueId + '_off').length > 0) {
$(uniqueId + '_off').prop('checked', off);
}
},
}
$(document).ready(function () {
//init form.
func_pa.disableOverride();
func_pa.renderTabs();
func_pa.captchaType(false);
//event form.
$('input[name="PA_CAPTCHA_TYPE"]').change(function () {
func_pa.captchaType($(this).val());
});
$('input[id^="PA_CAPTCHA_POSITION"]').change(function () {
func_pa.disableOverride();
});
//tab ver15.
if (typeof pa_is15 !== "undefined" && pa_is15 && $('#fieldset_0 .nav-tabs li').length > 0) {
$('#fieldset_0 .nav-tabs li').click(function (e) {
e.preventDefault();
if (!$(this).hasClass('active')) {
$('#fieldset_0 .nav-tabs li').removeClass('active');
$(this).addClass('active');
$('#fieldset_0 .tab-content div').removeClass('active');
$($(this).find('a').attr('href')).addClass('active');
}
});
}
});

View File

@@ -0,0 +1,218 @@
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
var PA_GOOGLE_V3_CAPTCHA_SITE_KEY = PA_GOOGLE_V3_CAPTCHA_SITE_KEY || false;
var func_pa = {
addNotification: function () {
var ids = $('div.js-mailalert > input[type=hidden]');
var captchaParams = '';
if ($('div.js-mailalert textarea[name=g-recaptcha-response]').length > 0) {
captchaParams += '&g-recaptcha-response=' + $('div.js-mailalert textarea[name=g-recaptcha-response]').val();
} else if ($('div.js-mailalert input[name=pa_captcha]').length > 0) {
captchaParams += '&pa_captcha=' + $('div.js-mailalert input[name=pa_captcha]').val();
}
if ($('div.js-mailalert input[name=posTo]').length > 0) {
captchaParams += '&posTo=' + $('div.js-mailalert input[name=posTo]').val();
}
$.ajax({
type: 'POST',
url: $('div.js-mailalert').data('url'),
data: 'id_product=' + ids[0].value + '&id_product_attribute=' + ids[1].value + '&customer_email=' + $('div.js-mailalert > input[type=email]').val() + (captchaParams ? captchaParams : ''),
success: function (resp) {
resp = JSON.parse(resp);
$('div.js-mailalert > span').html('<article class="alert alert-' + (resp.error ? 'danger' : 'success') + '" role="alert" data-alert="' + (resp.error ? 'error' : 'success') + '">' + resp.message + '</article>').show();
if (!resp.error) {
$('div.js-mailalert > button').hide();
$('div.js-mailalert > input[type=email]').hide();
$('div.js-mailalert > #gdpr_consent').hide();
$('div.js-mailalert > .captcha_out_of_stock').hide();
}
if ($('div.js-mailalert input[name=pa_captcha]').length > 0) {
$('div.js-mailalert input[name=pa_captcha]').val('');
}
}
});
if ($('div.js-mailalert img.pa_captcha_img_data').length > 0) {
func_pa.refreshCaptcha($('div.js-mailalert img.pa_captcha_img_data').removeClass('loaded'));
} else {
func_pa.resetReCaptcha();
}
return false;
},
addNotification16: function () {
if ($('#oosHook .gdpr_hook.receive').length > 0 && !$('.pa_notify input[name=gdpr_accept]').is(':checked')) {
$('#pa_mailalert_link').prop('disabled', true);
return false;
}
if ($('#pa_oos_customer_email').val() == mailalerts_placeholder || (typeof mailalerts_url_add == 'undefined')) {
return false;
}
var captchaParams = '';
if ($('.pa_notify textarea[name=g-recaptcha-response]').length > 0) {
captchaParams += '&g-recaptcha-response=' + $('.pa_notify textarea[name=g-recaptcha-response]').val();
} else if ($('.pa_notify input[name=pa_captcha]').length > 0) {
captchaParams += '&pa_captcha=' + $('.pa_notify input[name=pa_captcha]').val();
}
if ($('.pa_notify input[name=posTo]').length > 0) {
captchaParams += '&posTo=' + $('.pa_notify input[name=posTo]').val();
}
$.ajax({
type: 'POST',
url: mailalerts_url_add,
data: 'id_product=' + id_product + '&id_product_attribute=' + $('#idCombination').val() + '&customer_email=' + $('#pa_oos_customer_email').val() + (captchaParams ? captchaParams : ''),
success: function (json) {
if (json == '-1') {
$('#pa_oos_customer_email_result').html(mailalerts_captcha_error);
$('#pa_oos_customer_email_result').css('color', 'red').show();
} else if (json == '1') {
$('#pa_mailalert_link, #pa_oos_customer_email, .pa_notify .page_product').hide();
$('#oosHook').find('#gdpr_consent').hide();
$('#pa_oos_customer_email_result').html(mailalerts_registered);
$('#pa_oos_customer_email_result').css('color', 'green').show();
} else if (json == '2') {
$('#pa_oos_customer_email_result').html(mailalerts_already);
$('#pa_oos_customer_email_result').css('color', 'red').show();
} else {
$('#pa_oos_customer_email_result').html(mailalerts_invalid);
$('#pa_oos_customer_email_result').css('color', 'red').show();
}
if ($('.pa_notify input[name=pa_captcha]').length > 0) {
$('.pa_notify input[name=pa_captcha]').val('');
}
}
});
if ($('.pa_notify img.pa_captcha_img_data').length > 0) {
func_pa.refreshCaptcha($('.pa_notify img.pa_captcha_img_data').removeClass('loaded'));
} else {
func_pa.resetReCaptcha();
}
return false;
},
refreshCaptcha: function (img) {
if (img.length && !img.hasClass('loaded')) {
var orgLink = img.attr('src');
var orgCode = img.attr('data-rand');
var rand = Math.random();
img.attr('src', orgLink.replace(orgCode, rand));
img.attr('data-rand', rand);
if (!img.hasClass('loaded')) {
img.addClass('loaded');
}
}
},
resetReCaptcha: function () {
if (typeof recaptchaWidgets !== "undefined" && typeof grecaptcha !== "undefined") {
for (var i = 0; i < recaptchaWidgets.length; i++) {
grecaptcha.reset(recaptchaWidgets[i]);
}
}
},
loadCaptcha: function () {
var img = $('.pa_captcha_img_data:not(.loaded)').first();
if (img.length > 0) {
img.load(function () {
if (!img.hasClass('loaded')) {
func_pa.refreshCaptcha(img);
}
if (img[0].complete && img.hasClass('loaded')) {
func_pa.loadCaptcha();
}
}).filter(function () {
return this.complete;
}).load();
}
},
loadReCaptchaV3: function (form) {
if ($('form:not(.g-loaded)').length <= 0 || !PA_GOOGLE_V3_CAPTCHA_SITE_KEY) {
return false;
}
var g_captcha = form.find('input[name=g-recaptcha-response]');
if (g_captcha.length > 0 && $('body').attr('id')) {
grecaptcha.ready(function () {
grecaptcha.execute(PA_GOOGLE_V3_CAPTCHA_SITE_KEY, {action: $('body').attr('id').replace(/(?=[^A-Za-z\_])([^A-Za-z\_])/g, '_')}).then(function (token) {
if (token) {
g_captcha.val(token);
form.addClass('g-loaded');
func_pa.loadReCaptchaV3($('form:not(.g-loaded)'));
}
});
});
}
}
}
$(document).ready(function () {
if (PA_GOOGLE_V3_CAPTCHA_SITE_KEY) {
func_pa.loadReCaptchaV3($('form:not(.g-loaded)'));
}
$('.pa_captcha_img_data.loaded').removeClass('loaded');
$(document).on('click', '#pa_captcha_refesh', function (e) {
e.preventDefault();
func_pa.refreshCaptcha($(this).parents('.pa_captcha_img').find('.pa_captcha_img_data').removeClass('loaded'));
$(this).parents('.pa-captcha-inf').find('input[name=pa_captcha]').val('');
});
$(document).on('keypress', '#pa_oos_customer_email', function (e) {
if (e.keyCode == 13) {
e.preventDefault();
func_pa.addNotification16();
}
});
});
document.addEventListener("DOMContentLoaded", function (event) {
if ($('.forgot-password').length > 0 && $('.login.page_order').length > 0) {
$('.forgot-password').before($('.login.page_order').clone(true).addClass('copy'));
$('.login.page_order:not(.copy)').detach();
} else
$('.login.page_order').detach();
if ($('.pa_captcha_img_data').length > 1) {
func_pa.loadCaptcha();
}
});
$(document).ajaxComplete(function (event, xhr, options) {
if ($('.quickview').length > 0 && typeof ets_captcha_load !== "undefined") {
ets_captcha_load($('.quickview'));
} else if ($('body#authentication').length > 0 && typeof options.data !== "undefined" && options.data.indexOf('SubmitCreate') != -1) {
var time_secs = 0, sec = 150;
var intervalSet = setInterval(function () {
time_secs += sec;
if ($('#account-creation_form.g-loaded').length <= 0) {
if (PA_GOOGLE_V3_CAPTCHA_SITE_KEY) {
func_pa.loadReCaptchaV3($('form:not(.g-loaded)'));
} else if (typeof ets_captcha_load !== "undefined") {
ets_captcha_load($('#account-creation_form').addClass('g-loaded'));
}
} else if (time_secs > sec * 10) {
clearInterval(intervalSet);
}
}, sec);
} else if (($('body#order-opc').length > 0 || $('body#orderopc').length > 0) && $('[name=g-recaptcha-response]').length > 0 && typeof options.data !== "undefined" && options.data.indexOf('submitAccount') != -1) {
if (PA_GOOGLE_V3_CAPTCHA_SITE_KEY) {
func_pa.loadReCaptchaV3($('form#new_account_form').removeClass('g-loaded'));
} else if (typeof grecaptcha !== "undefined") {
grecaptcha.reset();
}
}
});
$(document).ready(function () {
if ($('input[name="captcha"]').parent().parent().length && $('.captcha_register').length) {
var div_clone = $('input[name="captcha"]').parent().parent().clone();
$('input[name="captcha"]').parent().parent().hide();
$('.captcha_register.register').after(div_clone);
}
});

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,109 @@
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <contact@etssoft.net>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
$(document).on('click','.link_othermodules',function(){
if($('.ets-mod').length > 0)
{
$('.ets-mod').removeClass('hidden');
$('body').addClass('other-modules-loaded');
}
else
if(!$(this).hasClass('active'))
{
$(this).addClass('active');
$('body').addClass('loading-modules');
$.ajax({
url: $(this).attr('href'),
type: 'post',
success: function(html){
$('body').append(html);
$('.link_othermodules').removeClass('active');
$('.ets-mod').removeClass('hidden');
$('body').addClass('other-modules-loaded').removeClass('loading-modules');
var cat_text_first = $('.ets-mod-cats > li:first').html();
$('.ets-mod-cats_mobile h4').html(cat_text_first);
stickytableft();
},
error: function()
{
$('body').removeClass('loading-modules');
$('.link_othermodules').removeClass('active');
window.open("https://addons.prestashop.com/en/207_ets-soft");
}
});
}
return false;
});
$(document).on('click','.ets-mod-close',function(){
$('.ets-mod').addClass('hidden');
$('body').removeClass('other-modules-loaded');
});
$(document).on('click','.ets-mod-cats > li',function(){
if(!$(this).hasClass('active'))
{
$('.ets-mod-cats > li').removeClass('active');
$(this).addClass('active');
$('.ets-mod-list > li').addClass('hidden');
$('.ets-mod-list > li.cat-'+$(this).attr('data-id')).removeClass('hidden');
var cattext = $(this).html();
$('.ets-mod-cats_mobile h4').html(cattext);
$(this).parent('.ets-mod-cats').removeClass('active');
}
});
$(document).on('click','.ets-mod-cats_mobile h4',function(){
$('.ets-mod-cats').toggleClass('active');
});
$(document).ready(function(){
$(document).keyup(function(e) {
if (e.key === "Escape") {
$('.ets-mod').addClass('hidden');
$('body').removeClass('other-modules-loaded');
}
});
menuheaderheight();
$(window).resize(function(){
menuheaderheight();
});
$(window).load(function(){
menuheaderheight();
});
});
function menuheaderheight(){
var menuheight = $('.cfu-top-menu').height();
$('.cfu-top-menu-height').css('height',menuheight);
}
function stickytableft(){
var sticky_navigation_offset_top = $('.ets-body').offset().top;
var sticky_navigation = function(){
var scroll_top = $('.ets-mod').scrollTop();
var tab_width = $('.ets-mod-cats').width();
$('.ets-mod-cats').width(tab_width);
if (scroll_top > sticky_navigation_offset_top) {
$('.ets-mod-left').addClass('scroll_heading');
} else {
$('.ets-mod-left').removeClass('scroll_heading');
}
};
sticky_navigation();
$('.ets-mod').scroll(function() {
sticky_navigation();
});
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,130 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please, contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{extends file="helpers/form/form.tpl"}
{block name="defaultForm"}
{if isset($configTabs) && $configTabs|count}
<script type="text/javascript">
var pa_is15 = {$is15|intval};
var helper_config_tabs = {$configTabs|json_encode};
var unique_config_field_id = '';
</script>
{/if}
{if $old_version && !(isset($ik))}{assign var="ik" value=0}{/if}
{$smarty.block.parent}
{/block}
{block name="legend"}
{if $field.title}
<div class="form-heading-wrapper">
{$smarty.block.parent}
{if isset($intro) && $intro}
<div class="li_othermodules">
<a class="link_othermodules" href="{$other_modules_link|escape:'html':'UTF-8'}">
<span class="tab-title">{l s='Other modules' mod='ets_advancedcaptcha'}</span>
<span class="tab-sub-title">{l s='Made by ETS-Soft' mod='ets_advancedcaptcha'}</span>
</a>
</div>
{/if}
</div>
{/if}
{/block}
{block name="label"}
{if $is15}{if isset($ik) && $ik == 0}<div class="form-wrapper">{/if}
<div class="form-group-wrapper row_{$input.name|lower|escape:'html':'UTF-8'}" {if isset($configTabs) && isset($input.tab)} data-tab-id="{$input.tab}"{/if}>
{/if}
{if $input.type == 'pa_help'}{$input.html nofilter}{else}{$smarty.block.parent}{/if}
{/block}
{block name="field"}
{if $input.type != 'pa_help'}{$smarty.block.parent}{/if}
{if $is15}</div>{if isset($ik)}{assign var="ik" value=$ik+1}{if $ik == $field|count}</div>{/if}{/if}{/if}
{/block}
{block name="input"}
{if $input.type == 'pa_img_radio'}
{if isset($input.values) && $input.values}
<ul class="ets_pa_options">
{foreach from=$input.values item='option'}
<li class="ets_pa_item">
<div class="radio">
<label for="{$input.name|escape:'html':'utf-8'}_{$option.id_option|escape:'quotes'}">
<input type="radio" style="outline: none;" id="{$input.name|escape:'html':'utf-8'}_{$option.id_option|escape:'quotes'}" name="{$input.name|escape:'html':'utf-8'}" value="{$option.id_option|escape:'quotes'}" {if !empty($fields_value[$input.name]) && $fields_value[$input.name] == $option.id_option}checked{/if}>
<img src="{$path|cat: 'views/img/'|cat: $option.img|escape:'html':'utf-8'}">
{$option.name|escape:'html':'utf-8'}
</label>
</div>
</li>
{/foreach}
</ul>
{/if}
{elseif $input.type == 'pa_checkbox'}
{if isset($input.values) && $input.values}
<ul class="ets_pa_options">
{foreach from=$input.values item='option'}
<li class="ets_pa_item">
<div class="checkbox">
<label for="{$input.name|escape:'html':'utf-8'}_{$option.id_option|escape:'quotes'}">
<input type="checkbox" id="{$input.name|escape:'html':'utf-8'}_{$option.id_option|escape:'quotes'}" name="{$input.name|escape:'html':'utf-8'}[]" value="{$option.id_option|escape:'quotes'}" {if !empty($fields_value[$input.name]) && ( $fields_value[$input.name] == 'ALL' || (is_array($fields_value[$input.name]) && in_array($option.id_option, $fields_value[$input.name])) )}checked{/if} {if !empty($fields_value[$input.name]) && $fields_value[$input.name] == 'ALL' && $option.id_option != 'ALL'}disabled{/if}>
{$option.name nofilter}
</label>
</div>
</li>
{/foreach}
</ul>
{/if}
{elseif $input.type == 'switch'}
{if $is15}
<span class="switch prestashop-switch fixed-width-lg">
{foreach $input.values as $value}
<input type="radio" name="{$input.name|escape:'quotes'}"{if $value.value == 1} id="{$input.name|escape:'quotes'}_on"{else} id="{$input.name|escape:'quotes'}_off"{/if} value="{$value.value|intval}"{if $fields_value[$input.name] == $value.value} checked="checked"{/if}/>
{strip}
<label {if $value.value == 1} for="{$input.name|escape:'quotes'}_on"{else} for="{$input.name|escape:'quotes'}_off"{/if}>
{if $value.value == 1}{l s='Yes' mod='ets_advancedcaptcha'}{else}{l s='No' mod='ets_advancedcaptcha'}{/if}
</label>
{/strip}
{/foreach}
<a class="slide-button btn"></a>
</span>
{else}
{$smarty.block.parent}
{/if}
{elseif $input.name == 'PA_GOOGLE_CAPTCHA_SECRET_KEY'}
{$smarty.block.parent}
<p class="help-block">
<a target="_blank" href="{if isset($root_dir) && $root_dir }{$root_dir nofilter}views/pdf/recaptcha_v2.pdf{/if}" title="{l s='How to get Site key and Secret key?' mod='ets_advancedcaptcha'}">{l s='How to get Site key and Secret key?' mod='ets_advancedcaptcha'}</a>
</p>
{elseif $input.name == 'PA_GOOGLE_V3_CAPTCHA_SECRET_KEY'}
{$smarty.block.parent}
<p class="help-block">
<a target="_blank" href="{if isset($root_dir) && $root_dir }{$root_dir nofilter}views/pdf/recaptcha_v3.pdf{/if}" title="{l s='How to get Site key and Secret key?' mod='ets_advancedcaptcha'}">{l s='How to get Site key and Secret key?' mod='ets_advancedcaptcha'}</a>
</p>
{else}
{$smarty.block.parent}
{/if}
{/block}
{block name="input_row"}
{if $old_version && isset($ik) && $ik == 0}<div class="form-wrapper">{/if}
<div class="form-group-wrapper row_{$input.name|lower|escape:'html':'UTF-8'}" {if isset($configTabs) && isset($input.tab)} data-tab-id="{$input.tab}"{/if}>
{if $input.type != 'pa_help'}{$smarty.block.parent}{else}{$input.html nofilter}{/if}
</div>
{if $old_version && isset($ik)}{assign var="ik" value=$ik+1}{if $ik == $field|count}</div>{/if}{/if}
{/block}
{block name="footer"}
{if isset($log_install) && $log_install}{$log_install nofilter}{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,550 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{capture name=path}{l s='Login' mod='ets_advancedcaptcha'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
<script type="text/javascript">
// <![CDATA[
var idSelectedCountry = {if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}false{/if};
var countries = new Array();
var countriesNeedIDNumber = new Array();
var countriesNeedZipCode = new Array();
{if isset($countries)}
{foreach from=$countries item='country'}
{if isset($country.states) && $country.contains_states}
countries[{$country.id_country|intval}] = new Array();
{foreach from=$country.states item='state' name='states'}
countries[{$country.id_country|intval}].push({ldelim}'id' : '{$state.id_state|intval}', 'name' : '{$state.name|addslashes}'{rdelim});
{/foreach}
{/if}
{if $country.need_identification_number}
countriesNeedIDNumber.push({$country.id_country|intval});
{/if}
{if isset($country.need_zip_code)}
countriesNeedZipCode[{$country.id_country|intval}] = {$country.need_zip_code|escape:'html':'utf-8'};
{/if}
{/foreach}
{/if}
$(function(){ldelim}
$('.id_state option[value={if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}{if isset($address)}{$address->id_state|intval}{/if}{/if}]').attr('selected', true);
{rdelim});
//]]>
{literal}
$(document).ready(function() {
$('#company').blur(function(){
vat_number();
});
vat_number();
function vat_number()
{
if ($('#company').val() != '')
$('#vat_number').show();
else
$('#vat_number').hide();
}
});
{/literal}
</script>
<h1>{if !isset($email_create)}{l s='Log in' mod='ets_advancedcaptcha'}{else}{l s='Create an account' mod='ets_advancedcaptcha'}{/if}</h1>
{if !isset($back) || $back != 'my-account'}{assign var='current_step' value='login'}{include file="$tpl_dir./order-steps.tpl"}{/if}
{include file="$tpl_dir./errors.tpl"}
{assign var='stateExist' value=false}
{if !isset($email_create)}
<script type="text/javascript">
{literal}
$(document).ready(function(){
// Retrocompatibility with 1.4
if (typeof baseUri === "undefined" && typeof baseDir !== "undefined")
baseUri = baseDir;
$('#create-account_form').submit(function(){
submitFunction();
return false;
});
});
function submitFunction()
{
$('#create_account_error').html('').hide();
//send the ajax request to the server
$.ajax({
type: 'POST',
url: baseUri,
async: true,
cache: false,
dataType : "json",
data: {
controller: 'authentication',
SubmitCreate: 1,
ajax: true,
email_create: $('#email_create').val(),
back: $('input[name=back]').val(),
token: token
},
success: function(jsonData)
{
if (jsonData.hasError)
{
var errors = '';
for(error in jsonData.errors)
//IE6 bug fix
if(error != 'indexOf')
errors += '<li>'+jsonData.errors[error]+'</li>';
$('#create_account_error').html('<ol>'+errors+'</ol>').show();
}
else
{
// adding a div to display a transition
$('#center_column').html('<div id="noSlide">'+$('#center_column').html()+'</div>');
$('#noSlide').fadeOut('slow', function(){
$('#noSlide').html(jsonData.page);
// update the state (when this file is called from AJAX you still need to update the state)
bindStateInputAndUpdate();
$(this).fadeIn('slow', function(){
document.location = '#account-creation';
});
});
}
},
error: function(XMLHttpRequest, textStatus, errorThrown)
{
alert("TECHNICAL ERROR: unable to load form.\n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus);
}
});
}
{/literal}
</script>
<!--{if isset($authentification_error)}
<div class="error">
{if {$authentification_error|@count} == 1}
<p>{l s='There\'s at least one error' mod='ets_advancedcaptcha'} :</p>
{else}
<p>{l s='There are %s errors' sprintf=[$account_error|@count] mod='ets_advancedcaptcha'} :</p>
{/if}
<ol>
{foreach from=$authentification_error item=v}
<li>{$v nofilter}</li>
{/foreach}
</ol>
</div>
{/if}-->
<form action="{$link->getPageLink('authentication', true)|escape:'html':'utf-8'}" method="post" id="create-account_form" class="std">
<fieldset>
<h3>{l s='Create an account' mod='ets_advancedcaptcha'}</h3>
<div class="form_content clearfix">
<p class="title_block">{l s='Please enter your email address to create an account.' mod='ets_advancedcaptcha'}.</p>
<div class="error" id="create_account_error" style="display:none"></div>
<p class="text">
<label for="email_create">{l s='Email address' mod='ets_advancedcaptcha'}</label>
<span><input type="text" id="email_create" name="email_create" value="{if isset($smarty.post.email_create)}{$smarty.post.email_create|stripslashes|escape:'html':'utf-8'}{/if}" class="account_input" /></span>
</p>
<p class="submit">
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if}
<input type="submit" id="SubmitCreate" name="SubmitCreate" class="button_large" value="{l s='Create an account' mod='ets_advancedcaptcha'}" />
<input type="hidden" class="hidden" name="SubmitCreate" value="{l s='Create an account' mod='ets_advancedcaptcha'}" />
</p>
</div>
</fieldset>
</form>
<form action="{$link->getPageLink('authentication', true)|escape:'html':'utf-8'}" method="post" id="login_form" class="std">
<fieldset>
<h3>{l s='Already registered?' mod='ets_advancedcaptcha'}</h3>
<div class="form_content clearfix">
<p class="text">
<label for="email">{l s='Email address' mod='ets_advancedcaptcha'}</label>
<span><input type="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|stripslashes|escape:'html':'utf-8'}{/if}" class="account_input" /></span>
</p>
<p class="text">
<label for="passwd">{l s='Password' mod='ets_advancedcaptcha'}</label>
<span><input type="password" id="passwd" name="passwd" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|stripslashes|escape:'html':'utf-8'}{/if}" class="account_input" /></span>
</p>
{hook h='displayPaCaptcha' posTo='login'}
<p class="lost_password"><a href="{$link->getPageLink('password')|escape:'html':'utf-8'}">{l s='Forgot your password?' mod='ets_advancedcaptcha'}</a></p>
<p class="submit">
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if}
<input type="submit" id="SubmitLogin" name="SubmitLogin" class="button" value="{l s='Log in' mod='ets_advancedcaptcha'}" />
</p>
</div>
</fieldset>
</form>
{if isset($inOrderProcess) && $inOrderProcess && $PS_GUEST_CHECKOUT_ENABLED}
<form action="{$link->getPageLink('authentication', true, NULL, "back=$back")|escape:'quotes'}" method="post" id="new_account_form" class="std clearfix">
<fieldset>
<h3>{l s='Instant checkout' mod='ets_advancedcaptcha'}</h3>
<div id="opc_account_form" style="display: block; ">
<!-- Account -->
<p class="required text">
<label for="guest_email">{l s='Email address' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" id="guest_email" name="guest_email" value="{if isset($smarty.post.guest_email)}{$smarty.post.guest_email|escape:'html':'utf-8'}{/if}" />
</p>
<p class="radio required">
<span>{l s='Title' mod='ets_advancedcaptcha'}</span>
{foreach from=$genders key=k item=gender}
<input type="radio" name="id_gender" id="id_gender{$gender->id|intval}" value="{$gender->id|intval}"{if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id} checked="checked"{/if} />
<label for="id_gender{$gender->id|intval}" class="top">{$gender->name|escape:'html':'utf-8'}</label>
{/foreach}
</p>
<p class="required text">
<label for="firstname">{l s='First name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" id="firstname" name="firstname" onblur="$('#customer_firstname').val($(this).val());" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname|escape:'html':'utf-8'}{/if}" />
<input type="hidden" class="text" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname|escape:'html':'utf-8'}{/if}" />
</p>
<p class="required text">
<label for="lastname">{l s='Last name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" id="lastname" name="lastname" onblur="$('#customer_lastname').val($(this).val());" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname|escape:'html':'utf-8'}{/if}" />
<input type="hidden" class="text" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname|escape:'html':'utf-8'}{/if}" />
</p>
<p class="select">
<span>{l s='Date of Birth' mod='ets_advancedcaptcha'}</span>
<select id="days" name="days">
<option value="">-</option>
{foreach from=$days item=day}
<option value="{$day|intval}" {if ($sl_day == $day)} selected="selected"{/if}>{$day|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
<select id="months" name="months">
<option value="">-</option>
{foreach from=$months key=k item=month}
<option value="{$k|intval}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month mod='ets_advancedcaptcha'}&nbsp;</option>
{/foreach}
</select>
<select id="years" name="years">
<option value="">-</option>
{foreach from=$years item=year}
<option value="{$year|intval}" {if ($sl_year == $year)} selected="selected"{/if}>{$year|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</p>
{if isset($newsletter) && $newsletter}
<p class="checkbox">
<input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == '1'}checked="checked"{/if} />
<label for="newsletter">{l s='Sign up for our newsletter!' mod='ets_advancedcaptcha'}</label>
</p>
<p class="checkbox">
<input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == '1'}checked="checked"{/if} />
<label for="optin">{l s='Receive special offers from our partners!' mod='ets_advancedcaptcha'}</label>
</p>
{/if}
<h3>{l s='Delivery address' mod='ets_advancedcaptcha'}</h3>
{foreach from=$dlv_all_fields item=field_name}
{if $field_name eq "company"}
<p class="text">
<label for="company">{l s='Company' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company|escape:'html':'utf-8'}{/if}" />
</p>
{elseif $field_name eq "vat_number"}
<div id="vat_number" style="display:none;">
<p class="text">
<label for="vat_number">{l s='VAT number' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number|escape:'html':'utf-8'}{/if}" />
</p>
</div>
{elseif $field_name eq "address1"}
<p class="required text">
<label for="address1">{l s='Address' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1|escape:'html':'utf-8'}{/if}" />
</p>
{elseif $field_name eq "postcode"}
<p class="required postcode text">
<label for="postcode">{l s='Zip / Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode|escape:'html':'utf-8'}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{elseif $field_name eq "city"}
<p class="required text">
<label for="city">{l s='City' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city|escape:'html':'utf-8'}{/if}" />
</p>
<!--
if customer hasn't update his layout address, country has to be verified
but it's deprecated
-->
{elseif $field_name eq "Country:name" || $field_name eq "country"}
<p class="required select">
<label for="id_country">{l s='Country' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_country" id="id_country">
<option value="">-</option>
{foreach from=$countries item=v}
<option value="{$v.id_country|intval}" {if ($sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'html':'utf-8'}</option>
{/foreach}
</select>
</p>
{elseif $field_name eq "State:name"}
{assign var='stateExist' value=true}
<p class="required id_state select">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state">
<option value="">-</option>
</select>
</p>
{elseif $field_name eq "phone"}
<p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text">
<label for="phone">{l s='Phone' mod='ets_advancedcaptcha'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone|escape:'html':'utf-8'}{/if}"/>
</p>
{/if}
{/foreach}
{if $stateExist eq false}
<p class="required id_state select">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state">
<option value="">-</option>
</select>
</p>
{/if}
<input type="hidden" name="alias" id="alias" value="{l s='My address' mod='ets_advancedcaptcha'}" />
<input type="hidden" name="is_new_customer" id="is_new_customer" value="0" />
<!-- END Account -->
</div>
</fieldset>
<fieldset class="account_creation dni">
<h3>{l s='Tax identification' mod='ets_advancedcaptcha'}</h3>
<p class="required text">
<label for="dni">{l s='Identification number' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni|escape:'html':'utf-8'}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE' mod='ets_advancedcaptcha'}</span>
</p>
</fieldset>
{$HOOK_CREATE_ACCOUNT_FORM nofilter}
<p class="cart_navigation required submit">
<span><sup>*</sup>{l s='Required field' mod='ets_advancedcaptcha'}</span>
<input type="hidden" name="display_guest_checkout" value="1" />
<input type="submit" class="exclusive" name="submitGuestAccount" id="submitGuestAccount" value="{l s='Continue' mod='ets_advancedcaptcha'}" />
</p>
</form>
{/if}
{else}
<!--{if isset($account_error)}
<div class="error">
{if {$account_error|@count} == 1}
<p>{l s='There\'s at least one error' mod='ets_advancedcaptcha'} :</p>
{else}
<p>{l s='There are %s errors' sprintf=[$account_error|@count] mod='ets_advancedcaptcha'} :</p>
{/if}
<ol>
{foreach from=$account_error item=v}
<li>{$v nofilter}</li>
{/foreach}
</ol>
</div>
{/if}-->
<form action="{$link->getPageLink('authentication', true)|escape:'html':'utf-8'}" method="post" id="account-creation_form" class="std">
{$HOOK_CREATE_ACCOUNT_TOP nofilter}
<fieldset class="account_creation">
<h3>{l s='Your personal information' mod='ets_advancedcaptcha'}</h3>
<p class="radio required">
<span>{l s='Title' mod='ets_advancedcaptcha'}</span>
{foreach from=$genders key=k item=gender}
<input type="radio" name="id_gender" id="id_gender{$gender->id|intval}" value="{$gender->id|intval}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} />
<label for="id_gender{$gender->id|intval}" class="top">{$gender->name|escape:'html':'utf-8'}</label>
{/foreach}
</p>
<p class="required text">
<label for="customer_firstname">{l s='First name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input onkeyup="$('#firstname').val(this.value);" type="text" class="text" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname|escape:'html':'utf-8'}{/if}" />
</p>
<p class="required text">
<label for="customer_lastname">{l s='Last name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input onkeyup="$('#lastname').val(this.value);" type="text" class="text" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname|escape:'html':'utf-8'}{/if}" />
</p>
<p class="required text">
<label for="email">{l s='Email' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|escape:'html':'utf-8'}{/if}" />
</p>
<p class="required password">
<label for="passwd">{l s='Password' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="password" class="text" name="passwd" id="passwd" />
<span class="form_info">{l s='(Five characters minimum)' mod='ets_advancedcaptcha'}</span>
</p>
<p class="select">
<span>{l s='Date of Birth' mod='ets_advancedcaptcha'}</span>
<select id="days" name="days">
<option value="">-</option>
{foreach from=$days item=day}
<option value="{$day|intval}" {if ($sl_day == $day)} selected="selected"{/if}>{$day|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
<select id="months" name="months">
<option value="">-</option>
{foreach from=$months key=k item=month}
<option value="{$k|intval}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month mod='ets_advancedcaptcha'}&nbsp;</option>
{/foreach}
</select>
<select id="years" name="years">
<option value="">-</option>
{foreach from=$years item=year}
<option value="{$year|intval}" {if ($sl_year == $year)} selected="selected"{/if}>{$year|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</p>
{if $newsletter}
<p class="checkbox" >
<input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) AND $smarty.post.newsletter == 1} checked="checked"{/if} />
<label for="newsletter">{l s='Sign up for our newsletter!' mod='ets_advancedcaptcha'}</label>
</p>
<p class="checkbox" >
<input type="checkbox"name="optin" id="optin" value="1" {if isset($smarty.post.optin) AND $smarty.post.optin == 1} checked="checked"{/if} />
<label for="optin">{l s='Receive special offers from our partners!' mod='ets_advancedcaptcha'}</label>
</p>
{/if}
</fieldset>
{if $b2b_enable}
<fieldset class="account_creation">
<h3>{l s='Your company information' mod='ets_advancedcaptcha'}</h3>
<p class="text">
<label for="">{l s='Company' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company|escape:'html':'utf-8'}{/if}" />
</p>
<p class="text">
<label for="siret">{l s='SIRET' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" id="siret" name="siret" value="{if isset($smarty.post.siret)}{$smarty.post.siret|escape:'html':'utf-8'}{/if}" />
</p>
<p class="text">
<label for="ape">{l s='APE' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" id="ape" name="ape" value="{if isset($smarty.post.ape)}{$smarty.post.ape|escape:'html':'utf-8'}{/if}" />
</p>
<p class="text">
<label for="website">{l s='Website' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" id="website" name="website" value="{if isset($smarty.post.website)}{$smarty.post.website|escape:'html':'utf-8'}{/if}" />
</p>
</fieldset>
{/if}
{if isset($PS_REGISTRATION_PROCESS_TYPE) && $PS_REGISTRATION_PROCESS_TYPE}
<fieldset class="account_creation">
<h3>{l s='Your address' mod='ets_advancedcaptcha'}</h3>
{foreach from=$dlv_all_fields item=field_name}
{if $field_name eq "company"}
<p class="text">
<label for="company">{l s='Company' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company|escape:'html':'utf-8'}{/if}" />
</p>
{elseif $field_name eq "vat_number"}
<div id="vat_number" style="display:none;">
<p class="text">
<label for="vat_number">{l s='VAT number' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number|escape:'html':'utf-8'}{/if}" />
</p>
</div>
{elseif $field_name eq "firstname"}
<p class="required text">
<label for="firstname">{l s='First name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname|escape:'html':'utf-8'}{/if}" />
</p>
{elseif $field_name eq "lastname"}
<p class="required text">
<label for="lastname">{l s='Last name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname|escape:'html':'utf-8'}{/if}" />
</p>
{elseif $field_name eq "address1"}
<p class="required text">
<label for="address1">{l s='Address' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1|escape:'html':'utf-8'}{/if}" />
<span class="inline-infos">{l s='Street address, P.O. Box, Company name, etc.' mod='ets_advancedcaptcha'}</span>
</p>
{elseif $field_name eq "address2"}
<p class="text">
<label for="address2">{l s='Address (Line 2)' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2|escape:'html':'utf-8'}{/if}" />
<span class="inline-infos">{l s='Apartment, suite, unit, building, floor, etc...' mod='ets_advancedcaptcha'}</span>
</p>
{elseif $field_name eq "postcode"}
<p class="required postcode text">
<label for="postcode">{l s='Zip / Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode|escape:'html':'utf-8'}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{elseif $field_name eq "city"}
<p class="required text">
<label for="city">{l s='City' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city|escape:'html':'utf-8'}{/if}" />
</p>
<!--
if customer hasn't update his layout address, country has to be verified
but it's deprecated
-->
{elseif $field_name eq "Country:name" || $field_name eq "country"}
<p class="required select">
<label for="id_country">{l s='Country' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_country" id="id_country">
<option value="">-</option>
{foreach from=$countries item=v}
<option value="{$v.id_country|intval}" {if ($sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'html':'utf-8'}</option>
{/foreach}
</select>
</p>
{elseif $field_name eq "State:name" || $field_name eq 'state'}
{assign var='stateExist' value=true}
<p class="required id_state select">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state">
<option value="">-</option>
</select>
</p>
{/if}
{/foreach}
{if $stateExist eq false}
<p class="required id_state select">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state">
<option value="">-</option>
</select>
</p>
{/if}
<p class="textarea">
<label for="other">{l s='Additional information' mod='ets_advancedcaptcha'}</label>
<textarea name="other" id="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other|escape:'html':'utf-8'}{/if}</textarea>
</p>
{if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos">{l s='You must register at least one phone number.' mod='ets_advancedcaptcha'}</p>
{/if}
<p class="text">
<label for="phone">{l s='Home phone' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone|escape:'html':'utf-8'}{/if}" />
</p>
<p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if} text">
<label for="phone_mobile">{l s='Mobile phone' mod='ets_advancedcaptcha'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" class="text" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile|escape:'html':'utf-8'}{/if}" />
</p>
<p class="required text" id="address_alias">
<label for="alias">{l s='Assign an address alias for future reference.' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="alias" id="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias|escape:'html':'utf-8'}{else}{l s='My address' mod='ets_advancedcaptcha'}{/if}" />
</p>
</fieldset>
<fieldset class="account_creation dni">
<h3>{l s='Tax identification' mod='ets_advancedcaptcha'}</h3>
<p class="required text">
<label for="dni">{l s='Identification number' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni|escape:'html':'utf-8'}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE' mod='ets_advancedcaptcha'}</span>
</p>
</fieldset>
{/if}
{$HOOK_CREATE_ACCOUNT_FORM nofilter}
<p class="cart_navigation required submit">
<input type="hidden" name="email_create" value="1" />
<input type="hidden" name="is_new_customer" value="1" />
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if}
<input type="submit" name="submitAccount" id="submitAccount" value="{l s='Register' mod='ets_advancedcaptcha'}" class="exclusive" />
<span><sup>*</sup>{l s='Required field' mod='ets_advancedcaptcha'}</span>
</p>
</form>
{/if}

View File

@@ -0,0 +1,649 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{capture name=path}
{if !isset($email_create)}{l s='Authentication' mod='ets_advancedcaptcha'}{else}
<a href="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Authentication' mod='ets_advancedcaptcha'}">{l s='Authentication' mod='ets_advancedcaptcha'}</a>
<span class="navigation-pipe">{$navigationPipe|escape:'html':'utf-8'}</span>{l s='Create your account' mod='ets_advancedcaptcha'}
{/if}
{/capture}
<h1 class="page-heading">{if !isset($email_create)}{l s='Authentication' mod='ets_advancedcaptcha'}{else}{l s='Create an account' mod='ets_advancedcaptcha'}{/if}</h1>
{if !isset($back) || $back != 'my-account'}{assign var='current_step' value='login'}{include file="$tpl_dir./order-steps.tpl"}{/if}
{include file="$tpl_dir./errors.tpl"}
{assign var='stateExist' value=false}
{assign var="postCodeExist" value=false}
{assign var="dniExist" value=false}
{if !isset($email_create)}
<!--{if isset($authentification_error)}
<div class="alert alert-danger">
{if {$authentification_error|@count} == 1}
<p>{l s='There\'s at least one error' mod='ets_advancedcaptcha'} :</p>
{else}
<p>{l s='There are %s errors' sprintf=[$account_error|@count] mod='ets_advancedcaptcha'} :</p>
{/if}
<ol>
{foreach from=$authentification_error item=v}
<li>{$v nofilter}</li>
{/foreach}
</ol>
</div>
{/if}-->
<div class="row">
<div class="col-xs-12 col-sm-6">
<form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="create-account_form" class="box">
<h3 class="page-subheading">{l s='Create an account' mod='ets_advancedcaptcha'}</h3>
<div class="form_content clearfix">
<p>{l s='Please enter your email address to create an account.' mod='ets_advancedcaptcha'}</p>
<div class="alert alert-danger" id="create_account_error" style="display:none"></div>
<div class="form-group">
<label for="email_create">{l s='Email address' mod='ets_advancedcaptcha'}</label>
<input type="text" class="is_required validate account_input form-control" data-validate="isEmail" id="email_create" name="email_create" value="{if isset($smarty.post.email_create)}{$smarty.post.email_create|stripslashes|escape:'html':'utf-8'}{/if}" />
</div>
<div class="submit">
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if}
<button class="btn btn-default button button-medium exclusive" type="submit" id="SubmitCreate" name="SubmitCreate">
<span>
<i class="icon-user left"></i>
{l s='Create an account' mod='ets_advancedcaptcha'}
</span>
</button>
<input type="hidden" class="hidden" name="SubmitCreate" value="{l s='Create an account' mod='ets_advancedcaptcha'}" />
</div>
</div>
</form>
</div>
<div class="col-xs-12 col-sm-6">
<form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="login_form" class="box">
<h3 class="page-subheading">{l s='Already registered?' mod='ets_advancedcaptcha'}</h3>
<div class="form_content clearfix">
<div class="form-group">
<label for="email">{l s='Email address' mod='ets_advancedcaptcha'}</label>
<input class="is_required validate account_input form-control" data-validate="isEmail" type="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|stripslashes|escape:'html':'utf-8'}{/if}" />
</div>
<div class="form-group">
<label for="passwd">{l s='Password' mod='ets_advancedcaptcha'}</label>
<span><input class="is_required validate account_input form-control" type="password" data-validate="isPasswd" id="passwd" name="passwd" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|stripslashes|escape:'html':'utf-8'}{/if}" /></span>
</div>
{hook h='displayPaCaptcha' posTo='login'}
<p class="lost_password form-group"><a href="{$link->getPageLink('password')|escape:'html':'UTF-8'}" title="{l s='Recover your forgotten password' mod='ets_advancedcaptcha'}" rel="nofollow">{l s='Forgot your password?' mod='ets_advancedcaptcha'}</a></p>
<p class="submit">
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if}
<button type="submit" id="SubmitLogin" name="SubmitLogin" class="button btn btn-default button-medium">
<span>
<i class="icon-lock left"></i>
{l s='Sign in' mod='ets_advancedcaptcha'}
</span>
</button>
</p>
</div>
</form>
</div>
</div>
{if isset($inOrderProcess) && $inOrderProcess && $PS_GUEST_CHECKOUT_ENABLED}
<form action="{$link->getPageLink('authentication', true, NULL, "back=$back")|escape:'html':'UTF-8'}" method="post" id="new_account_form" class="std clearfix">
<div class="box">
<div id="opc_account_form" style="display: block; ">
<h3 class="page-heading bottom-indent">{l s='Instant checkout' mod='ets_advancedcaptcha'}</h3>
<!-- Account -->
<div class="required form-group">
<label for="guest_email">{l s='Email address' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="is_required validate form-control" data-validate="isEmail" id="guest_email" name="guest_email" value="{if isset($smarty.post.guest_email)}{$smarty.post.guest_email|escape:'html':'utf-8'}{/if}" />
</div>
<div class="cleafix gender-line">
<label>{l s='Title' mod='ets_advancedcaptcha'}</label>
{foreach from=$genders key=k item=gender}
<div class="radio-inline">
<label for="id_gender{$gender->id|intval}" class="top">
<input type="radio" name="id_gender" id="id_gender{$gender->id|intval}" value="{$gender->id|intval}"{if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id} checked="checked"{/if} />
{$gender->name|escape:'html':'utf-8'}
</label>
</div>
{/foreach}
</div>
<div class="required form-group">
<label for="firstname">{l s='First name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="is_required validate form-control" data-validate="isName" id="firstname" name="firstname" onblur="$('#customer_firstname').val($(this).val());" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname|escape:'html':'utf-8'}{/if}" />
<input type="hidden" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname|escape:'html':'utf-8'}{/if}" />
</div>
<div class="required form-group">
<label for="lastname">{l s='Last name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="is_required validate form-control" data-validate="isName" id="lastname" name="lastname" onblur="$('#customer_lastname').val($(this).val());" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname|escape:'html':'utf-8'}{/if}" />
<input type="hidden" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname|escape:'html':'utf-8'}{/if}" />
</div>
<div class="form-group date-select">
<label>{l s='Date of Birth' mod='ets_advancedcaptcha'}</label>
<div class="row">
<div class="col-xs-4">
<select id="days" name="days" class="form-control">
<option value="">-</option>
{foreach from=$days item=day}
<option value="{$day|intval}" {if ($sl_day == $day)} selected="selected"{/if}>{$day|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</div>
<div class="col-xs-4">
<select id="months" name="months" class="form-control">
<option value="">-</option>
{foreach from=$months key=k item=month}
<option value="{$k|intval}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month mod='ets_advancedcaptcha'}&nbsp;</option>
{/foreach}
</select>
</div>
<div class="col-xs-4">
<select id="years" name="years" class="form-control">
<option value="">-</option>
{foreach from=$years item=year}
<option value="{$year|intval}" {if ($sl_year == $year)} selected="selected"{/if}>{$year|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</div>
</div>
</div>
{if isset($newsletter) && $newsletter}
<div class="checkbox">
<label for="newsletter">
<input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == '1'}checked="checked"{/if} />
{l s='Sign up for our newsletter!' mod='ets_advancedcaptcha'}</label>
</div>
<div class="checkbox">
<label for="optin">
<input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == '1'}checked="checked"{/if} />
{l s='Receive special offers from our partners!' mod='ets_advancedcaptcha'}</label>
</div>
{/if}
<h3 class="page-heading bottom-indent top-indent">{l s='Delivery address' mod='ets_advancedcaptcha'}</h3>
{foreach from=$dlv_all_fields item=field_name}
{if $field_name eq "company" && $b2b_enable}
<div class="form-group">
<label for="company">{l s='Company' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "vat_number"}
<div id="vat_number" style="display:none;">
<div class="form-group">
<label for="vat-number">{l s='VAT number' mod='ets_advancedcaptcha'}</label>
<input id="vat-number" type="text" class="form-control" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number|escape:'html':'utf-8'}{/if}" />
</div>
</div>
{elseif $field_name eq "dni"}
{assign var='dniExist' value=true}
<div class="required dni form-group">
<label for="dni">{l s='Identification number' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni|escape:'html':'utf-8'}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE' mod='ets_advancedcaptcha'}</span>
</div>
{elseif $field_name eq "address1"}
<div class="required form-group">
<label for="address1">{l s='Address' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "address2"}
<div class="form-group is_customer_param">
<label for="address2">{l s='Address (Line 2)' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "postcode"}
{assign var='postCodeExist' value=true}
<div class="required postcode form-group">
<label for="postcode">{l s='Zip/Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode|escape:'html':'utf-8'}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" />
</div>
{elseif $field_name eq "city"}
<div class="required form-group">
<label for="city">{l s='City' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city|escape:'html':'utf-8'}{/if}" />
</div>
<!-- if customer hasn't update his layout address, country has to be verified but it's deprecated -->
{elseif $field_name eq "Country:name" || $field_name eq "country"}
<div class="required select form-group">
<label for="id_country">{l s='Country' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_country" id="id_country" class="form-control">
{foreach from=$countries item=v}
<option value="{$v.id_country|intval}"{if (isset($smarty.post.id_country) AND $smarty.post.id_country == $v.id_country) OR (!isset($smarty.post.id_country) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'html':'utf-8'}</option>
{/foreach}
</select>
</div>
{elseif $field_name eq "State:name"}
{assign var='stateExist' value=true}
<div class="required id_state select form-group">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state" class="form-control">
<option value="">-</option>
</select>
</div>
{/if}
{/foreach}
{if $stateExist eq false}
<div class="required id_state select unvisible form-group">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state" class="form-control">
<option value="">-</option>
</select>
</div>
{/if}
{if $postCodeExist eq false}
<div class="required postcode unvisible form-group">
<label for="postcode">{l s='Zip/Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode|escape:'html':'utf-8'}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" />
</div>
{/if}
{if $dniExist eq false}
<div class="required form-group dni_invoice">
<label for="dni">{l s='Identification number' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text form-control" name="dni_invoice" id="dni_invoice" value="{if isset($guestInformations) && $guestInformations.dni_invoice}{$guestInformations.dni_invoice|escape:'html':'utf-8'}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE' mod='ets_advancedcaptcha'}</span>
</div>
{/if}
<div class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group">
<label for="phone_mobile">{l s='Mobile phone' mod='ets_advancedcaptcha'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" class="form-control" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile|escape:'html':'utf-8'}{/if}" />
</div>
<input type="hidden" name="alias" id="alias" value="{l s='My address' mod='ets_advancedcaptcha'}" />
<input type="hidden" name="is_new_customer" id="is_new_customer" value="0" />
<div class="checkbox">
<label for="invoice_address">
<input type="checkbox" name="invoice_address" id="invoice_address"{if (isset($smarty.post.invoice_address) && $smarty.post.invoice_address) || (isset($guestInformations) && $guestInformations.invoice_address)} checked="checked"{/if} autocomplete="off"/>
{l s='Please use another address for invoice' mod='ets_advancedcaptcha'}</label>
</div>
<div id="opc_invoice_address" class="unvisible">
{assign var=stateExist value=false}
{assign var=postCodeExist value=false}
<h3 class="page-subheading top-indent">{l s='Invoice address' mod='ets_advancedcaptcha'}</h3>
{foreach from=$inv_all_fields item=field_name}
{if $field_name eq "company" && $b2b_enable}
<div class="form-group">
<label for="company_invoice">{l s='Company' mod='ets_advancedcaptcha'}</label>
<input type="text" class="text form-control" id="company_invoice" name="company_invoice" value="" />
</div>
{elseif $field_name eq "vat_number"}
<div id="vat_number_block_invoice" class="is_customer_param" style="display:none;">
<div class="form-group">
<label for="vat_number_invoice">{l s='VAT number' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" id="vat_number_invoice" name="vat_number_invoice" value="" />
</div>
</div>
{elseif $field_name eq "dni"}
{assign var=dniExist value=true}
<div class="required form-group dni_invoice">
<label for="dni">{l s='Identification number' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="text form-control" name="dni_invoice" id="dni_invoice" value="{if isset($guestInformations) && $guestInformations.dni_invoice}{$guestInformations.dni_invoice|escape:'html':'utf-8'}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE' mod='ets_advancedcaptcha'}</span>
</div>
{elseif $field_name eq "firstname"}
<div class="required form-group">
<label for="firstname_invoice">{l s='First name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" id="firstname_invoice" name="firstname_invoice" value="{if isset($guestInformations) && $guestInformations.firstname_invoice}{$guestInformations.firstname_invoice|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "lastname"}
<div class="required form-group">
<label for="lastname_invoice">{l s='Last name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" id="lastname_invoice" name="lastname_invoice" value="{if isset($guestInformations) && $guestInformations.lastname_invoice}{$guestInformations.lastname_invoice|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "address1"}
<div class="required form-group">
<label for="address1_invoice">{l s='Address' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="address1_invoice" id="address1_invoice" value="{if isset($guestInformations) && $guestInformations.address1_invoice}{$guestInformations.address1_invoice|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "address2"}
<div class="form-group is_customer_param">
<label for="address2_invoice">{l s='Address (Line 2)' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" name="address2_invoice" id="address2_invoice" value="{if isset($guestInformations) && $guestInformations.address2_invoice}{$guestInformations.address2_invoice|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "postcode"}
{$postCodeExist = true}
<div class="required postcode_invoice form-group">
<label for="postcode_invoice">{l s='Zip/Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="postcode_invoice" id="postcode_invoice" value="{if isset($guestInformations) && $guestInformations.postcode_invoice}{$guestInformations.postcode_invoice|escape:'html':'utf-8'}{/if}" onkeyup="$('#postcode_invoice').val($('#postcode_invoice').val().toUpperCase());" />
</div>
{elseif $field_name eq "city"}
<div class="required form-group">
<label for="city_invoice">{l s='City' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="city_invoice" id="city_invoice" value="{if isset($guestInformations) && $guestInformations.city_invoice}{$guestInformations.city_invoice|escape:'html':'utf-8'}{/if}" />
</div>
{elseif $field_name eq "country" || $field_name eq "Country:name"}
<div class="required form-group">
<label for="id_country_invoice">{l s='Country' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_country_invoice" id="id_country_invoice" class="form-control">
<option value="">-</option>
{foreach from=$countries item=v}
<option value="{$v.id_country|intval}"{if (isset($guestInformations) AND $guestInformations.id_country_invoice == $v.id_country) OR (!isset($guestInformations) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
{elseif $field_name eq "state" || $field_name eq 'State:name'}
{$stateExist = true}
<div class="required id_state_invoice form-group" style="display:none;">
<label for="id_state_invoice">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state_invoice" id="id_state_invoice" class="form-control">
<option value="">-</option>
</select>
</div>
{/if}
{/foreach}
{if !$postCodeExist}
<div class="required postcode_invoice form-group unvisible">
<label for="postcode_invoice">{l s='Zip/Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="postcode_invoice" id="postcode_invoice" value="" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
</div>
{/if}
{if !$stateExist}
<div class="required id_state_invoice form-group unvisible">
<label for="id_state_invoice">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state_invoice" id="id_state_invoice" class="form-control">
<option value="">-</option>
</select>
</div>
{/if}
<div class="form-group is_customer_param">
<label for="other_invoice">{l s='Additional information' mod='ets_advancedcaptcha'}</label>
<textarea class="form-control" name="other_invoice" id="other_invoice" cols="26" rows="3"></textarea>
</div>
{if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos required is_customer_param">{l s='You must register at least one phone number.' mod='ets_advancedcaptcha'}</p>
{/if}
<div class="form-group is_customer_param">
<label for="phone_invoice">{l s='Home phone' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" name="phone_invoice" id="phone_invoice" value="{if isset($guestInformations) && $guestInformations.phone_invoice}{$guestInformations.phone_invoice|escape:'html':'utf-8'}{/if}" />
</div>
<div class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group">
<label for="phone_mobile_invoice">{l s='Mobile phone' mod='ets_advancedcaptcha'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" class="form-control" name="phone_mobile_invoice" id="phone_mobile_invoice" value="{if isset($guestInformations) && $guestInformations.phone_mobile_invoice}{$guestInformations.phone_mobile_invoice|escape:'html':'utf-8'}{/if}" />
</div>
<input type="hidden" name="alias_invoice" id="alias_invoice" value="{l s='My Invoice address' mod='ets_advancedcaptcha'}" />
</div>
<!-- END Account -->
</div>
{$HOOK_CREATE_ACCOUNT_FORM nofilter}
</div>
<p class="cart_navigation required submit clearfix">
<span><sup>*</sup>{l s='Required field' mod='ets_advancedcaptcha'}</span>
<input type="hidden" name="display_guest_checkout" value="1" />
<button type="submit" class="button btn btn-default button-medium" name="submitGuestAccount" id="submitGuestAccount">
<span>
{l s='Proceed to checkout' mod='ets_advancedcaptcha'}
<i class="icon-chevron-right right"></i>
</span>
</button>
</p>
</form>
{/if}
{else}
<!--{if isset($account_error)}
<div class="error">
{if {$account_error|@count} == 1}
<p>{l s='There\'s at least one error' mod='ets_advancedcaptcha'} :</p>
{else}
<p>{l s='There are %s errors' sprintf=[$account_error|@count] mod='ets_advancedcaptcha'} :</p>
{/if}
<ol>
{foreach from=$account_error item=v}
<li>{$v nofilter}</li>
{/foreach}
</ol>
</div>
{/if}-->
<form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="account-creation_form" class="std box">
{$HOOK_CREATE_ACCOUNT_TOP nofilter}
<div class="account_creation">
<h3 class="page-subheading">{l s='Your personal information' mod='ets_advancedcaptcha'}</h3>
<div class="clearfix">
<label>{l s='Title' mod='ets_advancedcaptcha'}</label>
<br />
{foreach from=$genders key=k item=gender}
<div class="radio-inline">
<label for="id_gender{$gender->id|intval}" class="top">
<input type="radio" name="id_gender" id="id_gender{$gender->id|intval}" value="{$gender->id|intval}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} />
{$gender->name|escape:'html':'utf-8'}
</label>
</div>
{/foreach}
</div>
<div class="required form-group">
<label for="customer_firstname">{l s='First name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input onkeyup="$('#firstname').val(this.value);" type="text" class="is_required validate form-control" data-validate="isName" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname|escape:'html':'utf-8'}{/if}" />
</div>
<div class="required form-group">
<label for="customer_lastname">{l s='Last name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input onkeyup="$('#lastname').val(this.value);" type="text" class="is_required validate form-control" data-validate="isName" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname|escape:'html':'utf-8'}{/if}" />
</div>
<div class="required form-group">
<label for="email">{l s='Email' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="is_required validate form-control" data-validate="isEmail" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|escape:'html':'utf-8'}{/if}" />
</div>
<div class="required password form-group">
<label for="passwd">{l s='Password' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="password" class="is_required validate form-control" data-validate="isPasswd" name="passwd" id="passwd" />
<span class="form_info">{l s='(Five characters minimum)' mod='ets_advancedcaptcha'}</span>
</div>
<div class="form-group">
<label>{l s='Date of Birth' mod='ets_advancedcaptcha'}</label>
<div class="row">
<div class="col-xs-4">
<select id="days" name="days" class="form-control">
<option value="">-</option>
{foreach from=$days item=day}
<option value="{$day|intval}" {if ($sl_day == $day)} selected="selected"{/if}>{$day|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</div>
<div class="col-xs-4">
<select id="months" name="months" class="form-control">
<option value="">-</option>
{foreach from=$months key=k item=month}
<option value="{$k|intval}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month mod='ets_advancedcaptcha'}&nbsp;</option>
{/foreach}
</select>
</div>
<div class="col-xs-4">
<select id="years" name="years" class="form-control">
<option value="">-</option>
{foreach from=$years item=year}
<option value="{$year|intval}" {if ($sl_year == $year)} selected="selected"{/if}>{$year|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</div>
</div>
</div>
{if $newsletter}
<div class="checkbox">
<input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) AND $smarty.post.newsletter == 1} checked="checked"{/if} />
<label for="newsletter">{l s='Sign up for our newsletter!' mod='ets_advancedcaptcha'}</label>
</div>
<div class="checkbox">
<input type="checkbox"name="optin" id="optin" value="1" {if isset($smarty.post.optin) AND $smarty.post.optin == 1} checked="checked"{/if} />
<label for="optin">{l s='Receive special offers from our partners!' mod='ets_advancedcaptcha'}</label>
</div>
{/if}
</div>
{if $b2b_enable}
<div class="account_creation">
<h3 class="page-subheading">{l s='Your company information' mod='ets_advancedcaptcha'}</h3>
<p class="form-group">
<label for="">{l s='Company' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company|escape:'html':'utf-8'}{/if}" />
</p>
<p class="form-group">
<label for="siret">{l s='SIRET' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" id="siret" name="siret" value="{if isset($smarty.post.siret)}{$smarty.post.siret|escape:'html':'utf-8'}{/if}" />
</p>
<p class="form-group">
<label for="ape">{l s='APE' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" id="ape" name="ape" value="{if isset($smarty.post.ape)}{$smarty.post.ape|escape:'html':'utf-8'}{/if}" />
</p>
<p class="form-group">
<label for="website">{l s='Website' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" id="website" name="website" value="{if isset($smarty.post.website)}{$smarty.post.website|escape:'html':'utf-8'}{/if}" />
</p>
</div>
{/if}
{if isset($PS_REGISTRATION_PROCESS_TYPE) && $PS_REGISTRATION_PROCESS_TYPE}
<div class="account_creation">
<h3 class="page-subheading">{l s='Your address' mod='ets_advancedcaptcha'}</h3>
{foreach from=$dlv_all_fields item=field_name}
{if $field_name eq "company"}
{if !$b2b_enable}
<p class="form-group">
<label for="company">{l s='Company' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company|escape:'html':'utf-8'}{/if}" />
</p>
{/if}
{elseif $field_name eq "vat_number"}
<div id="vat_number" style="display:none;">
<p class="form-group">
<label for="vat_number">{l s='VAT number' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number|escape:'html':'utf-8'}{/if}" />
</p>
</div>
{elseif $field_name eq "firstname"}
<p class="required form-group">
<label for="firstname">{l s='First name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname|escape:'html':'utf-8'}{/if}" />
</p>
{elseif $field_name eq "lastname"}
<p class="required form-group">
<label for="lastname">{l s='Last name' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname|escape:'html':'utf-8'}{/if}" />
</p>
{elseif $field_name eq "address1"}
<p class="required form-group">
<label for="address1">{l s='Address' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1|escape:'html':'utf-8'}{/if}" />
<span class="inline-infos">{l s='Street address, P.O. Box, Company name, etc.' mod='ets_advancedcaptcha'}</span>
</p>
{elseif $field_name eq "address2"}
<p class="form-group is_customer_param">
<label for="address2">{l s='Address (Line 2)' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2|escape:'html':'utf-8'}{/if}" />
<span class="inline-infos">{l s='Apartment, suite, unit, building, floor, etc...' mod='ets_advancedcaptcha'}</span>
</p>
{elseif $field_name eq "postcode"}
{assign var='postCodeExist' value=true}
<p class="required postcode form-group">
<label for="postcode">{l s='Zip/Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode|escape:'html':'utf-8'}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{elseif $field_name eq "city"}
<p class="required form-group">
<label for="city">{l s='City' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city|escape:'html':'utf-8'}{/if}" />
</p>
<!-- if customer hasn't update his layout address, country has to be verified but it's deprecated -->
{elseif $field_name eq "Country:name" || $field_name eq "country"}
<p class="required select form-group">
<label for="id_country">{l s='Country' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_country" id="id_country" class="form-control">
<option value="">-</option>
{foreach from=$countries item=v}
<option value="{$v.id_country|intval}"{if (isset($smarty.post.id_country) AND $smarty.post.id_country == $v.id_country) OR (!isset($smarty.post.id_country) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'html':'utf-8'}</option>
{/foreach}
</select>
</p>
{elseif $field_name eq "State:name" || $field_name eq 'state'}
{assign var='stateExist' value=true}
<p class="required id_state select form-group">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state" class="form-control">
<option value="">-</option>
</select>
</p>
{/if}
{/foreach}
{if $postCodeExist eq false}
<p class="required postcode form-group unvisible">
<label for="postcode">{l s='Zip/Postal Code' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode|escape:'html':'utf-8'}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" />
</p>
{/if}
{if $stateExist eq false}
<p class="required id_state select unvisible form-group">
<label for="id_state">{l s='State' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<select name="id_state" id="id_state" class="form-control">
<option value="">-</option>
</select>
</p>
{/if}
<p class="textarea form-group">
<label for="other">{l s='Additional information' mod='ets_advancedcaptcha'}</label>
<textarea class="form-control" name="other" id="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other|escape:'html':'utf-8'}{/if}</textarea>
</p>
{if isset($one_phone_at_least) && $one_phone_at_least}
<p class="inline-infos">{l s='You must register at least one phone number.' mod='ets_advancedcaptcha'}</p>
{/if}
<p class="form-group">
<label for="phone">{l s='Home phone' mod='ets_advancedcaptcha'}</label>
<input type="text" class="form-control" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone|escape:'html':'utf-8'}{/if}" />
</p>
<p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group">
<label for="phone_mobile">{l s='Mobile phone' mod='ets_advancedcaptcha'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label>
<input type="text" class="form-control" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile|escape:'html':'utf-8'}{/if}" />
</p>
<p class="required form-group" id="address_alias">
<label for="alias">{l s='Assign an address alias for future reference.' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="alias" id="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias|escape:'html':'utf-8'}{else}{l s='My address' mod='ets_advancedcaptcha'}{/if}" />
</p>
</div>
<div class="account_creation dni">
<h3 class="page-subheading">{l s='Tax identification' mod='ets_advancedcaptcha'}</h3>
<p class="required form-group">
<label for="dni">{l s='Identification number' mod='ets_advancedcaptcha'} <sup>*</sup></label>
<input type="text" class="form-control" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni|escape:'html':'utf-8'}{/if}" />
<span class="form_info">{l s='DNI / NIF / NIE' mod='ets_advancedcaptcha'}</span>
</p>
</div>
{/if}
{$HOOK_CREATE_ACCOUNT_FORM nofilter}
<div class="submit clearfix">
<input type="hidden" name="email_create" value="1" />
<input type="hidden" name="is_new_customer" value="1" />
{if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if}
<button type="submit" name="submitAccount" id="submitAccount" class="btn btn-default button button-medium">
<span>{l s='Register' mod='ets_advancedcaptcha'}<i class="icon-chevron-right right"></i></span>
</button>
<p class="pull-right required"><span><sup>*</sup>{l s='Required field' mod='ets_advancedcaptcha'}</span></p>
</div>
</form>
{/if}
{strip}
{if isset($smarty.post.id_state) && $smarty.post.id_state}
{addJsDef idSelectedState=$smarty.post.id_state|intval}
{else if isset($address->id_state) && $address->id_state}
{addJsDef idSelectedState=$address->id_state|intval}
{else}
{addJsDef idSelectedState=false}
{/if}
{if isset($smarty.post.id_country) && $smarty.post.id_country}
{addJsDef idSelectedCountry=$smarty.post.id_country|intval}
{else if isset($address->id_country) && $address->id_country}
{addJsDef idSelectedCountry=$address->id_country|intval}
{else}
{addJsDef idSelectedCountry=false}
{/if}
{if isset($countries)}
{addJsDef countries=$countries}
{/if}
{if isset($vatnumber_ajax_call) && $vatnumber_ajax_call}
{addJsDef vatnumber_ajax_call=$vatnumber_ajax_call}
{/if}
{if isset($email_create) && $email_create}
{addJsDef email_create=$email_create|boolval}
{else}
{addJsDef email_create=false}
{/if}
{/strip}

View File

@@ -0,0 +1,128 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{capture name=path}{l s='Contact' mod='ets_advancedcaptcha'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
<h1>{l s='Customer service' mod='ets_advancedcaptcha'} - {if isset($customerThread) && $customerThread}{l s='Your reply' mod='ets_advancedcaptcha'}{else}{l s='Contact us' mod='ets_advancedcaptcha'}{/if}</h1>
{if isset($confirmation)}
<p>{l s='Your message has been successfully sent to our team.' mod='ets_advancedcaptcha'}</p>
<ul class="footer_links">
<li><a href="{$base_dir|escape:'html':'UTF-8'}"><img class="icon" alt="" src="{$img_dir|escape:'html':'UTF-8'}icon/home.gif"/></a><a href="{$base_dir|escape:'html':'UTF-8'}">{l s='Home' mod='ets_advancedcaptcha'}</a></li>
</ul>
{elseif isset($alreadySent)}
<p>{l s='Your message has already been sent.' mod='ets_advancedcaptcha'}</p>
<ul class="footer_links">
<li><a href="{$base_dir|escape:'html':'UTF-8'}"><img class="icon" alt="" src="{$img_dir|escape:'html':'UTF-8'}icon/home.gif"/></a><a href="{$base_dir|escape:'html':'UTF-8'}">{l s='Home' mod='ets_advancedcaptcha'}</a></li>
</ul>
{else}
<p class="bold">{l s='For questions about an order or for more information about our products' mod='ets_advancedcaptcha'}.</p>
{include file="$tpl_dir./errors.tpl"}
<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" enctype="multipart/form-data">
<fieldset>
<h3>{l s='send a message' mod='ets_advancedcaptcha'}</h3>
<p class="select">
<label for="id_contact">{l s='Subject Heading' mod='ets_advancedcaptcha'}</label>
{if isset($customerThread.id_contact)}
{foreach from=$contacts item=contact}
{if $contact.id_contact == $customerThread.id_contact}
<input type="text" id="contact_name" name="contact_name" value="{$contact.name|escape:'htmlall':'UTF-8'}" readonly="readonly" />
<input type="hidden" name="id_contact" value="{$contact.id_contact|intval}" />
{/if}
{/foreach}
</p>
{else}
<select id="id_contact" name="id_contact" onchange="showElemFromSelect('id_contact', 'desc_contact')">
<option value="0">{l s='-- Choose --' mod='ets_advancedcaptcha'}</option>
{foreach from=$contacts item=contact}
<option value="{$contact.id_contact|intval}" {if isset($smarty.request.id_contact) && $smarty.request.id_contact == $contact.id_contact}selected="selected"{/if}>{$contact.name|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</p>
<p id="desc_contact0" class="desc_contact">&nbsp;</p>
{foreach from=$contacts item=contact}
<p id="desc_contact{$contact.id_contact|intval}" class="desc_contact" style="display:none;">
{$contact.description|escape:'htmlall':'UTF-8'}
</p>
{/foreach}
{/if}
<p class="text">
<label for="email">{l s='Email address' mod='ets_advancedcaptcha'}</label>
{if isset($customerThread.email)}
<input type="text" id="email" name="from" value="{$customerThread.email|escape:'htmlall':'UTF-8'}" readonly="readonly" />
{else}
<input type="text" id="email" name="from" value="{$email|escape:'htmlall':'UTF-8'}" />
{/if}
</p>
{if !$PS_CATALOG_MODE}
{if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}
<p class="text select">
<label for="id_order">{l s='Order reference' mod='ets_advancedcaptcha'}</label>
{if !isset($customerThread.id_order) && isset($isLogged) && $isLogged == 1}
<select name="id_order" >
<option value="0">{l s='-- Choose --' mod='ets_advancedcaptcha'}</option>
{foreach from=$orderList item=order}
<option value="{$order.value|intval}" {if $order.selected|intval}selected="selected"{/if}>{$order.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
{elseif !isset($customerThread.id_order) && empty($isLogged)}
<input type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order|intval > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order) && !empty($smarty.post.id_order)}{$smarty.post.id_order|intval}{/if}{/if}" />
{elseif $customerThread.id_order|intval > 0}
<input type="text" name="id_order" id="id_order" value="{$customerThread.id_order|intval}" readonly="readonly" />
{/if}
</p>
{/if}
{if isset($isLogged) && $isLogged}
<p class="text select">
<label for="id_product">{l s='Product' mod='ets_advancedcaptcha'}</label>
{if !isset($customerThread.id_product)}
{foreach from=$orderedProductList key=id_order item=products name=products}
<select name="id_product" id="{$id_order|intval}_order_products" class="product_select" style="width:300px;{if !$smarty.foreach.products.first} display:none; {/if}" {if !$smarty.foreach.products.first}disabled="disabled" {/if}>
<option value="0">{l s='-- Choose --' mod='ets_advancedcaptcha'}</option>
{foreach from=$products item=product}
<option value="{$product.value|intval}">{$product.label|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
{/foreach}
{elseif $customerThread.id_product > 0}
<input type="text" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />
{/if}
</p>
{/if}
{/if}
{if $fileupload == 1}
<p class="text">
<label for="fileUpload">{l s='Attach File' mod='ets_advancedcaptcha'}</label>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000" />
<input type="file" name="fileUpload" id="fileUpload" />
</p>
{/if}
<p class="textarea">
<label for="message">{l s='Message' mod='ets_advancedcaptcha'}</label>
<textarea id="message" name="message" rows="15" cols="10">{if isset($message)}{$message|escape:'htmlall':'UTF-8'|stripslashes}{/if}</textarea>
</p>
{hook h='displayPaCaptcha' posTo='contact'}
<p class="submit">
<input type="submit" name="submitMessage" id="submitMessage" value="{l s='Send' mod='ets_advancedcaptcha'}" class="button_large" />
</p>
</fieldset>
</form>
{/if}

View File

@@ -0,0 +1,154 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{capture name=path}{l s='Contact' mod='ets_advancedcaptcha'}{/capture}
<h1 class="page-heading bottom-indent">
{l s='Customer service' mod='ets_advancedcaptcha'} - {if isset($customerThread) && $customerThread}{l s='Your reply' mod='ets_advancedcaptcha'}{else}{l s='Contact us' mod='ets_advancedcaptcha'}{/if}
</h1>
{if isset($confirmation)}
<p class="alert alert-success">{l s='Your message has been successfully sent to our team.' mod='ets_advancedcaptcha'}</p>
<ul class="footer_links clearfix">
<li>
<a class="btn btn-default button button-small" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl|escape:'html':'UTF-8'}{else}{$base_dir|escape:'html':'UTF-8'}{/if}">
<span>
<i class="icon-chevron-left"></i>{l s='Home' mod='ets_advancedcaptcha'}
</span>
</a>
</li>
</ul>
{elseif isset($alreadySent)}
<p class="alert alert-warning">{l s='Your message has already been sent.' mod='ets_advancedcaptcha'}</p>
<ul class="footer_links clearfix">
<li>
<a class="btn btn-default button button-small" href="{if isset($force_ssl) && $force_ssl}{$base_dir_ssl|escape:'html':'UTF-8'}{else}{$base_dir|escape:'html':'UTF-8'}{/if}">
<span>
<i class="icon-chevron-left"></i>{l s='Home' mod='ets_advancedcaptcha'}
</span>
</a>
</li>
</ul>
{else}
{include file="$tpl_dir./errors.tpl"}
<form action="{$request_uri|escape:'html':'UTF-8'}" method="post" class="contact-form-box" enctype="multipart/form-data">
<fieldset>
<h3 class="page-subheading">{l s='send a message' mod='ets_advancedcaptcha'}</h3>
<div class="clearfix">
<div class="col-xs-12 col-md-3">
<div class="form-group selector1">
<label for="id_contact">{l s='Subject Heading' mod='ets_advancedcaptcha'}</label>
{if isset($customerThread.id_contact) && $customerThread.id_contact && $contacts|count}
{assign var=flag value=true}
{foreach from=$contacts item=contact}
{if $contact.id_contact == $customerThread.id_contact}
<input type="text" class="form-control" id="contact_name" name="contact_name" value="{$contact.name|escape:'html':'UTF-8'}" readonly="readonly" />
<input type="hidden" name="id_contact" value="{$contact.id_contact|intval}" />
{$flag=false}
{/if}
{/foreach}
{if $flag && isset($contacts.0.id_contact)}
<input type="text" class="form-control" id="contact_name" name="contact_name" value="{$contacts.0.name|escape:'html':'UTF-8'}" readonly="readonly" />
<input type="hidden" name="id_contact" value="{$contacts.0.id_contact|intval}" />
{/if}
</div>
{else}
<select id="id_contact" class="form-control" name="id_contact">
<option value="0">{l s='-- Choose --' mod='ets_advancedcaptcha'}</option>
{foreach from=$contacts item=contact}
<option value="{$contact.id_contact|intval}"{if isset($smarty.request.id_contact) && $smarty.request.id_contact == $contact.id_contact} selected="selected"{/if}>{$contact.name|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
<p id="desc_contact0" class="desc_contact{if isset($smarty.request.id_contact)} unvisible{/if}">&nbsp;</p>
{foreach from=$contacts item=contact}
<p id="desc_contact{$contact.id_contact|intval}" class="desc_contact contact-title{if !isset($smarty.request.id_contact) || $smarty.request.id_contact|intval != $contact.id_contact|intval} unvisible{/if}">
<i class="icon-comment-alt"></i>{$contact.description|escape:'html':'UTF-8'}
</p>
{/foreach}
{/if}
<p class="form-group">
<label for="email">{l s='Email address' mod='ets_advancedcaptcha'}</label>
{if isset($customerThread.email)}
<input class="form-control grey" type="text" id="email" name="from" value="{$customerThread.email|escape:'html':'UTF-8'}" readonly="readonly" />
{else}
<input class="form-control grey validate" type="text" id="email" name="from" data-validate="isEmail" value="{$email|escape:'html':'UTF-8'}" />
{/if}
</p>
{if !$PS_CATALOG_MODE}
{if (!isset($customerThread.id_order) || $customerThread.id_order > 0)}
<div class="form-group selector1">
<label>{l s='Order reference' mod='ets_advancedcaptcha'}</label>
{if !isset($customerThread.id_order) && isset($is_logged) && $is_logged}
<select name="id_order" class="form-control">
<option value="0">{l s='-- Choose --' mod='ets_advancedcaptcha'}</option>
{foreach from=$orderList item=order}
<option value="{$order.value|intval}"{if $order.selected|intval} selected="selected"{/if}>{$order.label|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
{elseif !isset($customerThread.id_order) && empty($is_logged)}
<input class="form-control grey" type="text" name="id_order" id="id_order" value="{if isset($customerThread.id_order) && $customerThread.id_order|intval > 0}{$customerThread.id_order|intval}{else}{if isset($smarty.post.id_order) && !empty($smarty.post.id_order)}{$smarty.post.id_order|escape:'html':'UTF-8'}{/if}{/if}" />
{elseif $customerThread.id_order|intval > 0}
<input class="form-control grey" type="text" name="id_order" id="id_order" value="{if isset($customerThread.reference) && $customerThread.reference}{$customerThread.reference|escape:'html':'UTF-8'}{else}{$customerThread.id_order|intval}{/if}" readonly="readonly" />
{/if}
</div>
{/if}
{if isset($is_logged) && $is_logged}
<div class="form-group selector1">
<label class="unvisible">{l s='Product' mod='ets_advancedcaptcha'}</label>
{if !isset($customerThread.id_product)}
{foreach from=$orderedProductList key=id_order item=products name=products}
<select name="id_product" id="{$id_order|intval}_order_products" class="unvisible product_select form-control"{if !$smarty.foreach.products.first} style="display:none;"{/if}{if !$smarty.foreach.products.first} disabled="disabled"{/if}>
<option value="0">{l s='-- Choose --' mod='ets_advancedcaptcha'}</option>
{foreach from=$products item=product}
<option value="{$product.value|intval}">{$product.label|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
{/foreach}
{elseif $customerThread.id_product > 0}
<input type="hidden" name="id_product" id="id_product" value="{$customerThread.id_product|intval}" readonly="readonly" />
{/if}
</div>
{/if}
{/if}
{if $fileupload == 1}
<p class="form-group">
<label for="fileUpload">{l s='Attach File' mod='ets_advancedcaptcha'}</label>
<input type="hidden" name="MAX_FILE_SIZE" value="{if isset($max_upload_size) && $max_upload_size}{$max_upload_size|intval}{else}2000000{/if}" />
<input type="file" name="fileUpload" id="fileUpload" class="form-control" />
</p>
{/if}
{hook h='displayPaCaptcha' posTo='contact'}
</div>
<div class="col-xs-12 col-md-9">
<div class="form-group">
<label for="message">{l s='Message' mod='ets_advancedcaptcha'}</label>
<textarea class="form-control" id="message" name="message">{if isset($message)}{$message|escape:'html':'UTF-8'|stripslashes}{/if}</textarea>
</div>
</div>
</div>
<div class="submit">
<input type="text" name="url" value="" class="hidden" />
<input type="hidden" name="contactKey" value="{if isset($contactKey)}{$contactKey|escape:'html':'UTF-8'}{/if}" />
<button type="submit" name="submitMessage" id="submitMessage" class="button btn btn-default button-medium"><span>{l s='Send' mod='ets_advancedcaptcha'}<i class="icon-chevron-right right"></i></span></button>
</div>
</fieldset>
</form>
{/if}
{addJsDefL name='contact_fileDefaultHtml'}{l s='No file selected' mod='ets_advancedcaptcha' js=1}{/addJsDefL}
{addJsDefL name='contact_fileButtonHtml'}{l s='Choose File' mod='ets_advancedcaptcha' js=1}{/addJsDefL}

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,49 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{capture name=path}<a href="{$link->getPageLink('authentication', true)|escape:'quotes'}" title="{l s='Authentication' mod='ets_advancedcaptcha'}" rel="nofollow">{l s='Authentication' mod='ets_advancedcaptcha'}</a><span class="navigation-pipe">{$navigationPipe|escape:'html':'utf-8'}</span>{l s='Forgot your password' mod='ets_advancedcaptcha'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
<h1>{l s='Forgot your password?' mod='ets_advancedcaptcha'}</h1>
{include file="$tpl_dir./errors.tpl"}
{if isset($confirmation) && $confirmation == 1}
<p class="success">{l s='Your password has been successfully reset and a confirmation has been sent to your email address:' mod='ets_advancedcaptcha'} {if isset($email)}{$email|escape:'htmlall':'UTF-8'|stripslashes}{/if}</p>
{elseif isset($confirmation) && $confirmation == 2}
<p class="success">{l s='A confirmation email has been sent to your address:' mod='ets_advancedcaptcha'} {if isset($email)}{$email|escape:'htmlall':'UTF-8'|stripslashes}{/if}</p>
{else}
<p>{l s='Please enter the email address you used to register. We will then send you a new password. ' mod='ets_advancedcaptcha'}</p>
<form action="{$request_uri|escape:'htmlall':'UTF-8'}" method="post" class="std" id="form_forgotpassword">
<fieldset>
<p class="text">
<label for="email">{l s='Email' mod='ets_advancedcaptcha'}</label>
<input type="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|escape:'htmlall':'UTF-8'|stripslashes}{/if}" />
</p>
{hook h='displayPaCaptcha' posTo='pwd_recovery'}
<p class="submit">
<input type="submit" class="button" value="{l s='Retrieve Password' mod='ets_advancedcaptcha'}" />
</p>
</fieldset>
</form>
{/if}
<p class="clear">
<a href="{$link->getPageLink('authentication', true)|escape:'html':'utf-8'}" title="{l s='Return to Login' mod='ets_advancedcaptcha'}" rel="nofollow"><img src="{$img_dir|escape:'quotes'}icon/my-account.gif" alt="{l s='Return to Login' mod='ets_advancedcaptcha'}" class="icon" /></a><a href="{$link->getPageLink('authentication')|escape:'quotes'}" title="{l s='Back to Login' mod='ets_advancedcaptcha'}" rel="nofollow">{l s='Back to Login' mod='ets_advancedcaptcha'}</a>
</p>

View File

@@ -0,0 +1,49 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{capture name=path}<a href="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" title="{l s='Authentication' mod='ets_advancedcaptcha'}" rel="nofollow">{l s='Authentication' mod='ets_advancedcaptcha'}</a><span class="navigation-pipe">{$navigationPipe|escape:'html':'utf-8'}</span>{l s='Forgot your password' mod='ets_advancedcaptcha'}{/capture}
<div class="box">
<h1 class="page-subheading">{l s='Forgot your password?' mod='ets_advancedcaptcha'}</h1>
{include file="$tpl_dir./errors.tpl"}
{if isset($confirmation) && $confirmation == 1}
<p class="alert alert-success">{l s='Your password has been successfully reset and a confirmation has been sent to your email address:' mod='ets_advancedcaptcha'} {if isset($customer_email)}{$customer_email|escape:'html':'UTF-8'|stripslashes}{/if}</p>
{elseif isset($confirmation) && $confirmation == 2}
<p class="alert alert-success">{l s='A confirmation email has been sent to your address:' mod='ets_advancedcaptcha'} {if isset($customer_email)}{$customer_email|escape:'html':'UTF-8'|stripslashes}{/if}</p>
{else}
<p>{l s='Please enter the email address you used to register. We will then send you a new password. ' mod='ets_advancedcaptcha'}</p>
<form action="{$request_uri|escape:'html':'UTF-8'}" method="post" class="std" id="form_forgotpassword">
<fieldset>
<div class="form-group">
<label for="email">{l s='Email address' mod='ets_advancedcaptcha'}</label>
<input class="form-control" type="email" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|escape:'html':'UTF-8'|stripslashes}{/if}" />
</div>
{hook h='displayPaCaptcha' posTo='pwd_recovery'}
<p class="submit">
<button type="submit" class="btn btn-default button button-medium"><span>{l s='Retrieve Password' mod='ets_advancedcaptcha'}<i class="icon-chevron-right right"></i></span></button>
</p>
</fieldset>
</form>
{/if}
</div>
<ul class="clearfix footer_links">
<li><a class="btn btn-default button button-small" href="{$link->getPageLink('authentication')|escape:'html':'UTF-8'}" title="{l s='Back to Login' mod='ets_advancedcaptcha'}" rel="nofollow"><span><i class="icon-chevron-left"></i>{l s='Back to Login' mod='ets_advancedcaptcha'}</span></a></li>
</ul>

View File

@@ -0,0 +1,25 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<script type="text/javascript" src="{$base_dir|escape:'quotes'}views/js/admin.js"></script>
<script type="text/javascript" src="{$base_dir|escape:'quotes'}views/js/other.js"></script>
<div class="pa_wrapper_content {if !$is16}is15{/if}">
{$html nofilter}
</div>

View File

@@ -0,0 +1,35 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{extends file='customer/authentication.tpl'}
{block name='login_form_container'}
<section class="login-form">
{render file='modules/ets_advancedcaptcha/views/templates/hook/login-form.tpl' ui=$login_form}
</section>
<hr/>
{block name='display_after_login_form'}
{hook h='displayCustomerLoginFormAfter'}
{/block}
<div class="no-account">
<a href="{$urls.pages.register|escape:'quotes'}" data-link-action="display-register-form">
{l s='No account? Create one here' mod='ets_advancedcaptcha'}
</a>
</div>
{/block}

View File

@@ -0,0 +1,49 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<!-- Block Newsletter module-->
<div id="newsletter_block_left" class="block">
<h4>{l s='Newsletter' mod='ets_advancedcaptcha'}</h4>
<div class="block_content">
<form id="newsletter_form" action="{$link->getPageLink('index')|escape:'html':'UTF-8'}" method="post">
<div class="form-group{if isset($msg) && $msg } {if $nw_error}form-error{else}form-ok{/if}{/if}" >
<input class="inputNew form-control grey newsletter-input" id="newsletter-input" type="text" name="email" size="18" value="{if isset($msg) && $msg}{$msg|escape:'html':'utf-8'}{elseif isset($value) && $value}{$value|escape:'html':'utf-8'}{else}{l s='Enter your e-mail' mod='ets_advancedcaptcha'}{/if}" />
<button id="submitNewsletter" type="submit" name="submitNewsletter" class="btn btn-default button button-small">
<span>{l s='Ok' mod='ets_advancedcaptcha'}</span>
</button>
{hook h='displayPaCaptcha' posTo='newsletter'}
<input type="hidden" name="action" value="0" />
</div>
</form>
</div>
</div>
<!-- /Block Newsletter module-->
{strip}
{if isset($msg) && $msg}
{addJsDef msg_newsl=$msg|@addcslashes:'\''}
{/if}
{if isset($nw_error)}
{addJsDef nw_error=$nw_error}
{/if}
{addJsDefL name=placeholder_blocknewsletter}{l s='Enter your e-mail' mod='ets_advancedcaptcha' js=1}{/addJsDefL}
{if isset($msg) && $msg}
{addJsDefL name=alert_blocknewsletter}{l s='Newsletter : %1$s' sprintf=$msg js=1 mod='ets_advancedcaptcha'}{/addJsDefL}
{/if}
{/strip}

View File

@@ -0,0 +1,38 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<{if $is16}div{else}p{/if} class="captcha_{$posTo|escape:'html':'utf-8'} {if $is16}form-group row required{else}text{/if} {if isset($posTo) && $posTo}{$posTo|escape:'quotes'}{/if} page_{$captcha_page|escape:'html':'UTF-8'} ver1{if $is17}7{elseif $is16}6{else}5{/if}">
{if $PA_CAPTCHA_TYPE != 'google_v3'}<label for="pa_captcha" {if $is16}class="col-md-3"{/if}>{if isset($PA_CAPTCHA_TYPE) && $PA_CAPTCHA_TYPE != 'google'}{l s='Enter security code' mod='ets_advancedcaptcha'}{else}{l s='Security check' mod='ets_advancedcaptcha'}{/if} {if $captcha_page=='registration'}<sub>*</sub>{/if}</label>{/if}
<{if $is16}div{else}span{/if} class="pa-captcha-inf {if $is16}col-md-6{else}pa-captcha-field-cell{/if}">
{if $PA_CAPTCHA_TYPE != 'google' && $PA_CAPTCHA_TYPE != 'google_v3'}
<input type="hidden" name="posTo" value="{$posTo|escape:'html':'utf-8'}">
<span class="pa_captcha_img">
<img class="pa_captcha_img_data" src="{$captcha_image|escape:'html':'UTF-8'}" data-rand="{$rand|escape:'html':'UTF-8'}" alt="{l s='Security code' mod='ets_advancedcaptcha'}" title="{l s='Security code' mod='ets_advancedcaptcha'}" />
<span id="pa_captcha_refesh"><img title="{l s='Refresh the code' mod='ets_advancedcaptcha'}" alt="{l s='Refresh the code' mod='ets_advancedcaptcha'}" src="{$modules_dir|escape:'html':'UTF-8'}ets_advancedcaptcha/views/img/refresh.png" /></span>
</span>
<input type="text" name="pa_captcha" {if $is16}class="form-control grey"{/if}/>
{elseif $PA_CAPTCHA_TYPE == 'google_v3'}
<input type="hidden" name="g-recaptcha-response" value=""/>
{elseif $PA_CAPTCHA_TYPE == 'google'}
<div class="g-recaptcha"></div>
{/if}
</{if $is16}div{else}span{/if}>
{if $is16}<div class="col-md-3 form-control-comment"></div>{/if}
</{if $is16}div{else}p{/if}>

View File

@@ -0,0 +1,120 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<section class="contact-form">
<form action="{$urls.pages.contact|escape:'html':'UTF-8'}" method="post"
{if $contact.allow_file_upload}enctype="multipart/form-data"{/if}>
{if $notifications}
<div class="col-xs-12 alert {if $notifications.nw_error}alert-danger{else}alert-success{/if}">
<ul>
{foreach $notifications.messages as $notif}
<li>{$notif|escape:'html':'UTF-8'}</li>
{/foreach}
</ul>
</div>
{/if}
<section class="form-fields">
<div class="form-group row">
<div class="col-md-9 col-md-offset-3">
<h3>{l s='Contact us' mod='ets_advancedcaptcha'}</h3>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 form-control-label">{l s='Subject' mod='ets_advancedcaptcha'}</label>
<div class="col-md-6">
<select name="id_contact" class="form-control form-control-select">
{foreach from=$contact.contacts item=contact_elt}
<option value="{$contact_elt.id_contact|intval}">{$contact_elt.name|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group row">
<label class="col-md-3 form-control-label">{l s='Email address' mod='ets_advancedcaptcha'}</label>
<div class="col-md-6">
<input
class="form-control"
name="from"
type="email"
value="{$contact.email|escape:'html':'UTF-8'}"
placeholder="{l s='your@email.com' mod='ets_advancedcaptcha'}"
>
</div>
</div>
{if $contact.orders}
<div class="form-group row">
<label class="col-md-3 form-control-label">{l s='Order reference' mod='ets_advancedcaptcha'}</label>
<div class="col-md-6">
<select name="id_order" class="form-control form-control-select">
<option value="">{l s='Select reference' mod='ets_advancedcaptcha'}</option>
{foreach from=$contact.orders item=order}
<option value="{$order.id_order|intval}">{$order.reference|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
<span class="col-md-3 form-control-comment">
{l s='optional' mod='ets_advancedcaptcha'}
</span>
</div>
{/if}
{if $contact.allow_file_upload}
<div class="form-group row">
<label class="col-md-3 form-control-label">{l s='Attachment' mod='ets_advancedcaptcha'}</label>
<div class="col-md-6">
<input type="file" name="fileUpload" class="filestyle">
</div>
<span class="col-md-3 form-control-comment">
{l s='optional' mod='ets_advancedcaptcha'}
</span>
</div>
{/if}
<div class="form-group row">
<label class="col-md-3 form-control-label">{l s='Message' mod='ets_advancedcaptcha'}</label>
<div class="col-md-9">
<textarea
class="form-control"
name="message"
placeholder="{l s='How can we help?' mod='ets_advancedcaptcha'}"
rows="3"
>{if $contact.message}{$contact.message|escape:'html':'UTF-8'}{/if}</textarea>
</div>
</div>
{if isset($id_module)}
<div class="form-group row">
<div class="offset-md-3">
{hook h='displayGDPRConsent' id_module=$id_module}
</div>
</div>
{/if}
{hook h='displayPaCaptcha' posTo='contact'}
</section>
<footer class="form-footer text-xs-right">
<style>
input[name=url] {
display: none !important;
}
</style>
<input type="text" name="url" value=""/>
<input type="hidden" name="token" value="{$token|escape:'html':'UTF-8'}" />
<input class="btn btn-primary" type="submit" name="submitMessage"
value="{l s='Send' mod='ets_advancedcaptcha'}">
</footer>
</form>
</section>

View File

@@ -0,0 +1,24 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{extends file='contact.tpl'}
{block name='page_content'}
{widget name="ets_advancedcaptcha"}
{/block}

View File

@@ -0,0 +1,178 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{if isset($key) && $key}{if $key == 'PA_CAPTCHA_HELP'}
{if $is17}
<div class="container">
<div class="group-0">
<h2>Quick Help - Prestashop 1.7.x</h2>
<div class="note">
This module should work perfectly on most Prestashop websites without any code modification, however if you
website is installed with a custom theme or custom modules you may (rarely) get into some problems when
installing the module to your website. <br />
This quick help will guide you how to quickly fix the problems by modifying some code so you can fix the problems
yourself but we recommend you to ,<a href="https://addons.prestashop.com/en/contact-us?pab=1&id_product=26997"
target="_blank">contact us via Prestashop Addons</a>, We're happy to support you and we'll help you solve the
issues for free!
<br />
For more information of how to install, use and troubleshoot problems (rarely happen), please refer to user-guide
document that is attached to your download.
</div>
<div class="line"></div>
<p>If you see an error that says method <strong>validate</strong> and <strong>getFormat</strong> are overriden
already by another module,
it means some other modules have overridden the method that causes blocking the CAPTCHA module to implement its
overriding code<br />
To solve the problem, You need to manually edit the methods (in overriding files) with overriding code of the
CAPTCHA module
</p>
</div>
<div class="group-1">
<h3>Error: "Method validate() is overriden already"</h3>
Follow steps below to fix the problem: <br />
<ul>
<li>1. Open this file: <i>root/YOUR-SITE/modules/ets_advancedcaptcha/override/classes/form/CustomerForm.php</i></li>
<li>2. Copy the code highlighted on the photo below<br />
<img src="{$path|escape:'quotes'}views/img/help/validate.jpg" style="width:100%" />
</li>
<li>3. Open this file: <i>root/YOUR-SITE/override/classes/form/CustomerForm.php</i></li>
<li>4. Find a method (function) named <strong>"validate"</strong>, paste the code you copied at step 2 into the
method just at the <strong>START</strong> of the method then save your changes</li>
</ul>
</div>
<div class="group-2">
<h3>Error: "Method getFormat() is overriden already"</h3>
Follow steps below to fix the problem: <br />
<ul>
<li>1. Open this file: <i>root/YOUR-SITE/modules/ets_advancedcaptcha/override/classes/form/CustomerFormatter.php</i></li>
<li>2. Copy the code highlighted on the photo below<br />
<img src="{$path|escape:'quotes'}views/img/help/getFormat.jpg" style="width:100%" />
</li>
<li>3. Open this file: <i>root/YOUR-SITE/override/classes/form/CustomerFormatter.php</i></li>
<li>4. Find a method (function) named <strong>"getFormat"</strong>, paste the code you copied at step 2 into the
method just at the <strong>START</strong> of the method then save your changes</li>
</ul>
<h3>Error: "Method submit() is overriden already"</h3>
Follow steps below to fix the problem: <br />
<ul>
<li>1. Open this file: <i>root/YOUR-SITE/modules/ets_advancedcaptcha/override/classes/form/CustomerLoginForm.php</i></li>
<li>2. Copy the code highlighted on the photo below<br />
<img src="{$path|escape:'quotes'}views/img/help/submit.jpg" style="width:100%" />
</li>
<li>3. Open this file: <i>root/YOUR-SITE/override/classes/form/CustomerLoginForm.php</i></li>
<li>4. Find a method (function) named <strong>"submit"</strong>, paste the code you copied at step 2 into the
method just at the <strong>START</strong> of the method then save your changes</li>
</ul>
</div>
</div>
{else}
<div class="container">
<div class="group-0">
<h2>Quick Help - Prestashop 1.5.x - 1.6.x</h2>
<br />
<div class="note">
This module should work perfectly on most Prestashop websites without any code modification, however if you
website is installed with a custom theme or custom modules you may (rarely) get into some problems when
installing the module to your website. <br />
This quick help will guide you how to quickly fix the problems by modifying some code so you can fix the problems
yourself but we recommend you to ,<a href="https://addons.prestashop.com/en/contact-us?pab=1&id_product=26997"
target="_blank">contact us via Prestashop Addons</a>, We're happy to support you and we'll help you solve the
issues for free!
<br />
For more information of how to install, use and troubleshoot problems (rarely happen), please refer to user-guide
document that is attached to your download.
</div>
<div class="line"></div>
If you install CAPTCHA on a Prestashop website that has custom theme or custom modules (that override to the same
classes/methods that CAPTCHA does), you may see following problems after installing CAPTCHA to your website.<br />
- On frontend, you may see your website contact form misses translations or CSS styles.<br />
- In backend, you may see an error saying <strong>"Method processSubmitAccount is overriden already"</strong> or
<strong>"Method postProcess is overriden already"</strong>.<br />
This document will quickly guide you how to solve the problems.<br />
</div>
<div class="group-1">
<h3>Problem: Missing contact form is translations or styles</h3>
<span>Follow steps below to fix the problem:</span><br />
<ul>
<li>1. In your backend, open CAPTCHA configuration panel</li>
<li>2. Enable this option <strong>"Disable template overrides contact form"</strong>
<img src="{$path|escape:'quotes'}views/img/help/contact-form-config.jpg" style="width:100%" />
</li>
<li>3. Copy this code: <i>{literal}{hook h='displayPaCaptcha' posTo='contact'}{/literal}</i></li>
<li>4. Open this file: <i>root/YOUR-SITE/themes/YOUR-THEME/contact-form.tpl </i></li>
<li>5. Paste the code you copied at step 3 into the contact-form.tpl just below the file upload field then save your changes
<img src="{$path|escape:'quotes'}views/img/help/contact-form-code.jpg" style="width:100%" />
</li>
</ul>
</div>
<div class="group-2">
<h3>Problem: Missing login form is translations or styles</h3>
Follow steps below to fix the problem:<br />
<ul>
<li>1. In your backend, open CAPTCHA configuration panel</li>
<li>2. Enable this option <strong>"Disable template override login form"</strong>
<img src="{$path|escape:'quotes'}views/img/help/login-form-config.jpg" style="width:100%" />
</li>
<li>3. Copy this code: <i>{literal}{hook h='displayPaCaptcha' posTo='login'}{/literal}</i></li>
<li>4. Open this file: <i>root/YOUR-SITE/themes/YOUR-THEME/authentication.tpl </i></li>
<li>5. Paste the code you copied at step 3 into the authentication.tpl just below the file upload field then save your changes
<img src="{$path|escape:'quotes'}views/img/help/login-form-code.jpg" style="width:100%" />
</li>
</ul>
</div>
<div class="group-3">
<h3>Problem: Missing forgot your password form's translations or styles</h3>
Follow steps below to fix the problem:<br />
<ul>
<li>1. In your backend, open CAPTCHA configuration panel</li>
<li>2. Enable this option <strong>"Disable template override forgot your password form"</strong>
<img src="{$path|escape:'quotes'}views/img/help/forgot-password-config.jpg" style="width:100%" />
</li>
<li>3. Copy this code: <i>{literal}{hook h='displayPaCaptcha' posTo='pwd_recovery'}{/literal}</i></li>
<li>4. Open this file: <i>root/YOUR-SITE/themes/YOUR-THEME/password.tpl </i></li>
<li>5. Paste the code you copied at step 3 into the password.tpl just below the file upload field then save your changes
<img src="{$path|escape:'quotes'}views/img/help/forgot-password-code.jpg" style="width:100%" />
</li>
</ul>
</div>
<div class="group-4">
<h3>Problem: Error override controller</h3>
<span>- Method <strong>processSubmitAccount</strong>, <strong>processSubmitLogin</strong>, <strong>sendRenewPasswordLink</strong>, <strong>postProcess</strong>, <strong>initContent</strong> is overriden already</span>
Follow steps below to fix the problem:<br />
<ul>
<li>1. Open 2 files: <strong>AuthController.php</strong>, <strong>ContactController.php</strong>, <strong>PasswordController.php</strong> that are
located in <i>"root/YOUR-SITE/modules/ets_advancedcaptcha/override/controllers/front/"</i> folder</li>
<li>2. Copy methods (functions) that're defined on the files<br /></li>
<li>3. Open this respective overriding files (<strong>AuthController.php</strong>, <strong>ContactController.php</strong>, <strong>PasswordController.php</strong>)
in overriding folder of your website at <i>"root/YOUR-SITE/override/controllers/front/"</i><br /></li>
<li>4. Find and replace the methods defined in those files by the methods you copied at step 2 then save your changes</li>
</ul>
<div style="font-style: italic; border: 1px solid #eee; font-size: 14px;padding: 10px;margin-top: 10px;">
*Note: if you replace the whole methods that are overriden by other modules, the other modules may not work
properly anymore (but the CAPTCHA module will surely work).<br />
So if you have programming knowledge, you should check the existing overriden methods and only insert necessary
code that are defined on overriding files of the CAPTCHA MODULE.<br />
We recommend you to contact us for a quick and free fix of the problem (as it requires coding work), We're happy
to support you.
</div>
</div>
</div>
{/if}
{/if}{/if}

View File

@@ -0,0 +1,48 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<script src="https://www.google.com/recaptcha/api.js?{if $PA_CAPTCHA_TYPE == 'google'}onload=onloadCallback&render=explicit{else}render={$PA_GOOGLE_V3_CAPTCHA_SITE_KEY|escape:'html':'UTF-8'}{/if}{if isset($hl) && $hl}&hl={$hl|escape:'quotes'}{/if}" {if $PA_CAPTCHA_TYPE == 'google'}async defer{/if}></script>
<script type="text/javascript">
{if $PA_CAPTCHA_TYPE == 'google'}
var PA_GOOGLE_CAPTCHA_SITE_KEY = '{$PA_GOOGLE_CAPTCHA_SITE_KEY|escape:'html':'UTF-8'}';{literal}
var recaptchaWidgets = [];
var onloadCallback = function () {
ets_captcha_load(document.getElementsByTagName('form'));
};
var ets_captcha_load = function (forms) {
var pattern = /(^|\s)g-recaptcha(\s|$)/;
for (var i = 0; i < forms.length; i++) {
var items = forms[i].getElementsByTagName('div');
for (var k = 0; k < items.length; k++) {
if (items[k].className && items[k].className.match(pattern) && PA_GOOGLE_CAPTCHA_SITE_KEY) {
var widget_id = grecaptcha.render(items[k], {
'sitekey': PA_GOOGLE_CAPTCHA_SITE_KEY,
'theme': 'light',
});
recaptchaWidgets.push(widget_id);
break;
}
}
}
};{/literal}{else}
var PA_GOOGLE_V3_CAPTCHA_SITE_KEY = '{$PA_GOOGLE_V3_CAPTCHA_SITE_KEY|escape:'html':'UTF-8'}';
{/if}
</script>

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;

View File

@@ -0,0 +1,31 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{if isset($configs) && $configs}
<script type="text/javascript">
{foreach from=$configs key='key' item='config'}
{if $config['type'] == 'int'}
var {$key|escape:'quotes'} = {$config['value']|intval};
{elseif $config['type'] != 'int'}
var {$key|escape:'quotes'} = '{$config['value']|escape:'html':'utf-8'}';
{/if}
{/foreach}
</script>
{/if}

View File

@@ -0,0 +1,43 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{if isset($errors) && $errors && !$PA_CAPTCHA_ERROR_IS_FIXED}
<div class="pa_captcha_log_install alert alert-success">
<h4>{l s='Congratulations! You have installed CAPTCHA successfully.' mod='ets_advancedcaptcha'}</h4>
<p>{l s='However, there are a few files/functions could not be overridden during the installation process (they might have been already overridden by another module).' mod='ets_advancedcaptcha'}</p>
<p>{l s='Please check the installation log below and manually copy the files/functions from directory "root/modules/ets_advancedcaptcha/override/" to "root/override"' mod='ets_advancedcaptcha'}</p>
<p>{l s='to make sure all features of the CAPTCHA works properly' mod='ets_advancedcaptcha'}</p>
<ul class="pa_captcha_logs alert-warning">
{foreach from=$errors item='log'}
{if $log}{foreach from=$log item='lg'}<li class="ybc_ins_item_log">{$lg|escape:'html':'UTF-8'}</li>{/foreach}{/if}
{/foreach}
</ul>
<div class="pa_captcha_log_actions">
<button id="pa_captcha_button_yes" class="btn btn-primary" name="pa_captcha_button_yes">{l s='Yes, I have fixed all these issues' mod='ets_advancedcaptcha'}</button>
<button id="pa_captcha_clear_log" class="btn btn-default" name="pa_captcha_clear_log">{l s='Clear installation logs' mod='ets_advancedcaptcha'}</button>
</div>
</div>
{elseif $PA_CAPTCHA_ERROR_IS_FIXED}
<div class="pa_captcha_log_install alert alert-info">
<p>{l s='Module was successfully installed with warnings.' mod='ets_advancedcaptcha'}</p>
<a class="pa_captcha_view_log" href="{$link|escape:'html':'UTF-8'}" target="_blank">{l s='View installation log' mod='ets_advancedcaptcha'}</a>
<a class="pa_captcha_clear_log" href="{$smarty.server.REQUEST_URI|escape:'quotes'}&pa_captcha_clear_log=1">{l s='Clear installation log' mod='ets_advancedcaptcha'}</a>
</div>
{/if}

View File

@@ -0,0 +1,25 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{extends file='customer/_partials/login-form.tpl'}
{block name='login_form_fields'}
{$smarty.block.parent}
{hook h='displayPaCaptcha' posTo='login'}
{/block}

View File

@@ -0,0 +1,43 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<!-- MODULE MailAlerts -->
<form class="pa_notify" action="#" enctype="multipart/form-data">
{if isset($email) AND $email}
<p class="form-group">
<input type="text" id="pa_oos_customer_email" name="customer_email" size="20" value="{l s='your@email.com' mod='ets_advancedcaptcha'}" class="mailalerts_oos_email form-control" />
</p>
{/if}
{hook h='displayPaCaptcha' posTo='out_of_stock'}
<a id="pa_mailalert_link" name="mailalert_link" onclick="func_pa.addNotification16();" href="javascript:void(0)" title="{l s='Notify me when available' mod='ets_advancedcaptcha'}" rel="nofollow">{l s='Notify me when available' mod='ets_advancedcaptcha'}</a>
<span id="pa_oos_customer_email_result" style="display:none; display: block;"></span>
</form>
{strip}
{addJsDef oosHookJsCodeFunctions=array('oosHookJsCodeMailAlert')}
{addJsDef mailalerts_url_check=$link->getModuleLink('mailalerts', 'actions', ['process' => 'check'])}
{addJsDef mailalerts_url_add=$link->getModuleLink('mailalerts', 'actions', ['process' => 'add'])}
{addJsDefL name='mailalerts_placeholder'}{l s='your@email.com' mod='ets_advancedcaptcha' js=1}{/addJsDefL}
{addJsDefL name='mailalerts_registered'}{l s='Request notification registered' mod='ets_advancedcaptcha' js=1}{/addJsDefL}
{addJsDefL name='mailalerts_already'}{l s='You already have an alert for this product' mod='ets_advancedcaptcha' js=1}{/addJsDefL}
{addJsDefL name='mailalerts_invalid'}{l s='Your e-mail address is invalid' mod='ets_advancedcaptcha' js=1}{/addJsDefL}
{addJsDefL name='mailalerts_captcha_error'}{l s='Security code does not match' mod='ets_advancedcaptcha' js=1}{/addJsDefL}
{/strip}
<!-- END : MODULE MailAlerts -->

View File

@@ -0,0 +1,116 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please, contact us for extra customization service at an affordable price
*
* @author ETS-Soft <contact@etssoft.net>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<div class="ets-mod hidden" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;z-index: 9999999;">
<div class="ets-mod-inner">
<div class="ets-mod-header">
<div class="ets-mod-logo">
<a href="{$ets_profile_url|escape:'html':'UTF-8'}" target="_blank" class="mod-link">
<img src="{$shortlink|escape:'html':'UTF-8'}logo.jpg" alt="ETS-Soft" /></a>
</div>
<div class="ets-mod-intro">
{if isset($intro) && $intro}
{assign var='intro' value=sprintf($intro,$module_name)}
{$intro nofilter}
{/if}
</div>
<div class="ets-mod-badges">
<div class="ets-badge-superhero">
<img src="{$img_dir|escape:'html':'UTF-8'}other/ets-superhero-1.png"/>
<span>{$trans.txt_superhero|escape:'html':'UTF-8'}</span>
</div>
<div class="ets-badge-partner">
<img src="{$img_dir|escape:'html':'UTF-8'}other/ets-partner-badge.png"/>
<span>{$trans.txt_partner|escape:'html':'UTF-8'}</span>
</div>
</div>
</div>
<div class="ets-body">
<div class="ets-mod-left">
{if $categories}
<div class="ets-mod-cats_mobile">
<h4>&nbsp;</h4>
</div>
<ul class="ets-mod-cats">
{foreach from=$categories item='cat'}
<li {if $cat.id==0}class="active"{/if} data-id="{$cat.id|intval}">{$cat.title|escape:'html':'UTF-8'}</li>
{/foreach}
</ul>
{/if}
</div>
<div class="ets-mod-right">
{if $modules && $enabled}
<ul class="ets-mod-list">
{foreach from=$modules item='mod'}
{if isset($mod.link) && $mod.link && isset($mod.title) && $mod.title}
{assign var='modcats' value=array_unique(array_map('intval',explode(',',$mod.categories)))}
<li class="mod-item cat-0 {if $modcats}{foreach from=$modcats item='catid'}cat-{$catid|intval} {/foreach}{/if}">
<a target="_blank" href="{$mod.link nofilter}" class="mod-link">
{if isset($mod.icon) && $mod.icon}
<div class="mod-image">
<img src="{$mod.icon|escape:'html':'UTF-8'}" title="{$mod.title nofilter}">
</div>
{/if}
<div class="mod-title">{$mod.title nofilter}</div>
{if isset($mod.promo) && $mod.promo}<div class="mod-promo">{$mod.promo|escape:'html':'UTF-8'}</div>{/if}
{if isset($mod.must_have) && $mod.must_have}<div class="mod-must-have">{$trans.txt_must_have|escape:'html':'UTF-8'}</div>{/if}
{if isset($mod.desc) && $mod.desc}
<div class="mod-desc">{$mod.desc nofilter}</div>
{/if}
{if isset($mod.badge) && $mod.badge}
<div class="mod-badge {$mod.badge|escape:'html':'UTF-8'}">
{if $mod.badge=='fav'}
{$trans.txt_fav|escape:'html':'UTF-8'}
{else}
{$trans.txt_elected|escape:'html':'UTF-8'}
{/if}
</div>
{elseif isset($mod.download) && $mod.download >= 500}
<div class="mod-download">{$mod.download|intval}+ {$trans.txt_downloads|escape:'html':'UTF-8'}</div>
{/if}
{if isset($mod.rating) && $mod.rating || isset($mod.price) && $mod.price}
<div class="mod-footer">
{if isset($mod.ratingClass) && $mod.ratingClass && isset($mod.rating_count) && $mod.rating_count}
<div class="mod-rating {$mod.ratingClass|escape:'html':'UTF-8'}">({$mod.rating_count|intval})</div>
{/if}
{if isset($mod.price) && $mod.price}
<div class="mod-price">
<span class="mod-price-int">{$mod.price|intval}</span>
<span class="mod-price-unit">&euro;</span>
<span class="mod-price-dec">99</span>
</div>
{/if}
</div>
{/if}
</a>
</li>
{/if}
{/foreach}
</ul>
<div class="ets-mod-external">
<a href="{$ets_profile_url|escape:'html':'UTF-8'}" target="_blank" class="ets-mod-external-link btn btn-default mod-link">{$trans.txt_view_all|escape:'html':'UTF-8'}</a>
</div>
{/if}
</div>
</div>
{if $contactUrl}<div class="ets-mod-contact"><a class="mod-link" href="{$contactUrl|escape:'html':'UTF-8'}" target="_blank" title="{$trans.txt_contact|escape:'html':'UTF-8'}"><span>{$trans.txt_contact|escape:'html':'UTF-8'}</span></a></div>{/if}
<div class="ets-mod-close">{$trans.txt_close|escape:'html':'UTF-8'}</div>
</div>
</div>

View File

@@ -0,0 +1,59 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
{extends file='customer/password-email.tpl'}
{block name='page_content'}
<form action="{$urls.pages.password|escape:'quotes'}" class="forgotten-password" method="post">
{if isset($errors) && $errors}
<ul class="ps-alert-error">
{foreach $errors as $error}
<li class="item">
<i>
<svg viewBox="0 0 24 24">
<path fill="#fff" d="M11,15H13V17H11V15M11,7H13V13H11V7M12,2C6.47,2 2,6.5 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4A8,8 0 0,1 20,12A8,8 0 0,1 12,20Z"></path>
</svg>
</i>
<p>{$error nofilter}</p>
</li>
{/foreach}
</ul>
{/if}
<header>
<p class="send-renew-password-link">{l s='Please enter the email address you used to register. You will receive a temporary link to reset your password.' mod='ets_advancedcaptcha'}</p>
</header>
<section class="form-fields">
<div class="form-group center-email-fields">
<label class="col-md-3 form-control-label required">{l s='Email address' mod='ets_advancedcaptcha'}</label>
<div class="col-md-5 email">
<input type="email" name="email" id="email" value="{if isset($smarty.post.email)}{$smarty.post.email|stripslashes|escape:'html':'utf-8'}{/if}" class="form-control" required>
</div>
<button class="form-control-submit btn btn-primary hidden-xs-down" name="submit" type="submit">
{l s='Send reset link' mod='ets_advancedcaptcha'}
</button>
<button class="form-control-submit btn btn-primary hidden-sm-up" name="submit" type="submit">
{l s='Send' mod='ets_advancedcaptcha'}
</button>
</div>
<div class="form-group captcha-fields">
{hook h='displayPaCaptcha' posTo='pwd_recovery'}
</div>
</section>
</form>
{/block}

View File

@@ -0,0 +1,37 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<div class="tabs">
<form>
<div class="js-mailalert" style="text-align:center;" data-url="{url entity='module' name='ps_emailalerts' controller='actions' params=['process' => 'add']}">
{if isset($email) AND $email}
<input class="form-control" type="email" placeholder="{l s='your@email.com' mod='ets_advancedcaptcha'}"/><br />
{/if}
{hook h='displayPaCaptcha' posTo='out_of_stock'}
{if isset($id_module)}
{hook h='displayGDPRConsent' id_module=$id_module}
{/if}
<input type="hidden" value="{if isset($id_product)}{$id_product|intval}{/if}"/>
<input type="hidden" value="{if isset($id_product_attribute)}{$id_product_attribute|intval}{/if}"/>
<button class="btn btn-primary" type="submit" rel="nofollow" onclick="return func_pa.addNotification();">{l s='Notify me when available' mod='ets_advancedcaptcha'}</button>
<span style="display:none;padding:5px"></span>
</div>
</form>
</div>

View File

@@ -0,0 +1,70 @@
{*
* 2007-2019 ETS-Soft
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 wesite only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs, please contact us for extra customization service at an affordable price
*
* @author ETS-Soft <etssoft.jsc@gmail.com>
* @copyright 2007-2019 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*}
<div class="block_newsletter col-lg-8 col-md-12 col-sm-12">
<div class="row">
<p id="block-newsletter-label" class="col-md-5 col-xs-12">{l s='Get our latest news and special sales' mod='ets_advancedcaptcha'}</p>
<div class="col-md-7 col-xs-12">
<form action="{if isset($urls.pages.index)}{$urls.pages.index|escape:'quotes'}{/if}#footer" method="post">
<div class="row">
<div class="col-xs-12">
<input
class="btn btn-primary float-xs-right hidden-xs-down"
name="submitNewsletter"
type="submit"
value="{l s='Subscribe' mod='ets_advancedcaptcha'}"
>
<input
class="btn btn-primary float-xs-right hidden-sm-up"
name="submitNewsletter"
type="submit"
value="{l s='OK' mod='ets_advancedcaptcha'}"
>
<div class="input-wrapper">
<input
name="email"
type="email"
value="{if isset($value)}{$value|escape:'html':'utf-8'}{/if}"
placeholder="{l s='Your email address' mod='ets_advancedcaptcha'}"
aria-labelledby="block-newsletter-label"
>
</div>
<input type="hidden" name="action" value="0">
<div class="clearfix"></div>
</div>
{hook h='displayPaCaptcha' posTo='newsletter'}
<div class="col-xs-12">
{if isset($conditions) && $conditions}
<p>{$conditions nofilter}</p>
{/if}
{if isset($msg) && $msg}
<p class="alert {if $nw_error}alert-danger{else}alert-success{/if}">
{$msg nofilter}
</p>
{/if}
{if isset($id_module)}
{hook h='displayGDPRConsent' id_module=$id_module}
{/if}
</div>
</div>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2015 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2014 PrestaShop SA
* @version Release: $Revision$
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
header("Location: ../");
exit;