On rajoute les derniers modules et on modifie les CSS

This commit is contained in:
2020-10-20 16:45:41 +02:00
parent 25cb197711
commit bd1927da6f
334 changed files with 39634 additions and 1825 deletions

View File

@@ -0,0 +1,287 @@
.ets_pa_item .radio {
display: inline-block;
}
@import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
.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;
}
textarea#PA_CAPTCHA_IP_BLACKLIST, textarea#PA_CAPTCHA_EMAIL_BLACKLIST {
width: 500px;
max-width: 100%;
}
.is15 .ets_pa_options li.ets_pa_item {
margin-top: 5px;
}
.is15 .ets_pa_options label {
width: auto;
float: none;
margin-bottom: 5px;
}
.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 (min-width: 768px){
.col-lg-4 {
width: 33.33333%;
}
.bootstrap .col-lg-3 {
width: 25%;
}
}
@media (max-width: 767px){
.bootstrap > .bootstrap.panel {
min-width: 550px;
}
}

View File

@@ -0,0 +1,204 @@
@import url('https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css');
.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;
}
.pa-captcha-inf span.pa_captcha_img {
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
}
.pa-captcha-inf.col-md-6 {
display: flex;
display: -webkit-flex;
}
#form_forgotpassword p.text label[for="pa_captcha"]{
float: left;
}
.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%;
}
.pa-captcha-inf input[type=text] {
padding-top: 0!important;
padding-bottom: 0!important;
}
.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):not(.ver15) .pa-captcha-inf {
clear: both;
width: 100%;
}
.ps_v_15 .pa_captcha_img_data{
float: left;
}
.ver15.captcha_pwd_recovery .pa_captcha_img + input{
clear: none;
float: left;
width: auto!important;
}
.captcha_pwd_recovery.ver15 + p.submit {
margin-top: 15px;
clear: both;
display: block;
}
p.captcha_pwd_recovery.text.pwd_recovery.page_password.ver15 .pa-captcha-inf,
p.captcha_pwd_recovery.text.pwd_recovery.page_password.ver15 .pa-captcha-inf * {
box-sizing: border-box;
}
.captcha_pwd_recovery.pwd_recovery.page_password.ver15 img.pa_captcha_img_data {
max-width: 140px;
}
.captcha_pwd_recovery.ver15 span.pa_captcha_img {
display: flex;
align-items: center;
}
.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-2020 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-2020 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;
}
}

View File

@@ -0,0 +1,31 @@
<?php
/**
* 2007-2020 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-2020 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.

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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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,44 @@
/**
* 2007-2020 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-2020 ETS-Soft
* @license Valid for 1 website (or project) for each purchase of license
* International Registered Trademark & Property of ETS-Soft
*/
var func_pa = {
init: function () {
func_pa.captchaType();
},
captchaType: function (val) {
var _sl = val || $('input[name=PA_CAPTCHA_TYPE]:checked').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();
}
}
};
$(document).ready(function () {
func_pa.init();
$('input[name="PA_CAPTCHA_TYPE"]').change(function () {
func_pa.captchaType($(this).val());
});
});

View File

@@ -0,0 +1,218 @@
/**
* 2007-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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.

Binary file not shown.

View File

@@ -0,0 +1,124 @@
{*
* 2007-2020 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-2020 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 $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="{if isset($refsLink) && $refsLink}refs_othermodules{else}link_othermodules{/if}" href="{$other_modules_link|escape:'html':'UTF-8'}"
{if isset($refsLink) && $refsLink}target="_blank" {/if}>
<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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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,25 @@
{*
* 2007-2020 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-2020 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,43 @@
{*
* 2007-2020 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-2020 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,38 @@
{*
* 2007-2020 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-2020 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,24 @@
{*
* 2007-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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-2020 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,116 @@
{*
* 2007-2020 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-2020 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,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;