first commit

This commit is contained in:
2024-11-05 12:22:50 +01:00
commit e5682a3912
19641 changed files with 2948548 additions and 0 deletions

View File

@@ -0,0 +1,178 @@
.tree-megamenu{
width:350px;
float:left;
overflow:hidden;
margin-right:40px;
}
td > i {
display:block;
font-size:11px;
}
.quickdel{
background:url(../../img/edit-delete.png) no-repeat center center;
}
.quickedit{
background:url(../../img/edit-rename.png) no-repeat center center;
}
.quickedit, .quickdel{
float:right;
width:25px;
height:16px;
display:block;
cursor:hand; cursor:pointer;
overflow:hidden;
text-indent:-999em;
margin:0 5px;
}
.hide{
display:none
}
.show{
display:block
}
#ajaxloading{
position:fixed;
top:0;
right:0;
width:100%;
z-index:1200
}
#ajaxloading > div{
margin:12px;
}
.megamenu-form{
float:left;
width: 700px;
}
.megamenu-form label {
width: 100px !important;
}
.megamenu-form .margin-form {
padding: 0 0 1em 110px !important;
}
.placeholder {
outline: 1px dashed #4183C4;
}
.mjs-nestedSortable-error {
background: #fbe3e4;
border-color: transparent;
}
ol {
margin: 0;
padding: 0;
padding-left: 30px;
}
ol.sortable, ol.sortable ol {
margin: 0 0 0 25px;
padding: 0;
list-style-type: none;
}
ol.sortable {
margin: 4em 0;
}
.sortable li {
margin: 5px 0 0 0;
padding: 0;
}
.sortable li div {
border: 1px solid #d4d4d4;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
border-color: #D4D4D4 #D4D4D4 #BCBCBC;
padding: 6px;
margin: 0;
cursor: move;
background: #f6f6f6;
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #ededed 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(47%,#f6f6f6), color-stop(100%,#ededed));
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
background: -o-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
background: -ms-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
background: linear-gradient(to bottom, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 );
}
.sortable li.mjs-nestedSortable-branch div {
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #f0ece9 100%);
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#f0ece9 100%);
}
.sortable li.mjs-nestedSortable-leaf div {
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #bcccbc 100%);
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#bcccbc 100%);
}
li.mjs-nestedSortable-collapsed.mjs-nestedSortable-hovering div {
border-color: #999;
background: #fafafa;
}
.disclose {
cursor: pointer;
width: 10px;
display: none;
}
.sortable li.mjs-nestedSortable-collapsed > ol {
display: none;
}
.sortable li.mjs-nestedSortable-branch > div > .disclose {
display: inline-block;
}
.sortable li.mjs-nestedSortable-collapsed > div > .disclose > span:before {
content: '+ ';
}
.sortable li.mjs-nestedSortable-expanded > div > .disclose > span:before {
content: '- ';
}
.leo_load {
background: url("../../img/loading.gif") no-repeat scroll 0 0 transparent;
display: none;
height: 32px;
width: 32px;
}
/************* CSS WIDGET BLOCK LINKS:: BEGIN*********************/
.link_group.new
{
background-color:#4880D2 !important;
}
.link_group
{
-moz-transition:background-color 1.5s;
-webkit-transition:background-color 1.5s;
-o-transition:background-color 1.5s;
transition:background-color 1.5s;
}
.copy_lang_value
{
margin: 5px 0 0 5px;
}
.form-group .btn.btn-primary.duplicate_link
{
margin-right: 10px;
text-transform: none;
}
.btn.btn-info.copy_lang_value
{
clear: both;
float: left;
}
/************* CSS WIDGET BLOCK LINKS:: END*********************/

View File

@@ -0,0 +1,302 @@
#myTab{
margin-left: 120px;
}
.tree-megamenu{
width:350px;
float:left;
overflow:hidden;
margin-right:40px;
}
td > i {
display:block;
font-size:11px;
}
#content .ui-widget-header{
background: none;
border-bottom: solid 1px #ECECEC;
font-weight: bold;
}
#content .ui-widget-header a{
font-weight: bold;
}
#content .ui-widget-content{
border: none;
}
.megamenu-form input, .megamenu-form select{
padding: 5px 6px;
min-width: 100px
}
.quickdel{
background:url(../../img/edit-delete.png) no-repeat center center;
}
.quickedit{
background:url(../../img/edit-rename.png) no-repeat center center;
}
table.table{
width: 99%;
}
table.table tr td{
border-bottom: dotted 1px #CCC
}
.quickedit, .quickdel, .quickduplicate, .quickselect, .quickactive, .quickdeactive{
float:right;
width:25px;
height:16px;
display:block;
cursor:hand; cursor:pointer;
overflow:hidden;
text-indent:-999em;
margin:0 5px;
}
.quickduplicate{
background:url(../../img/duplicate.png) no-repeat center center;
}
.quickactive{
background:url(../../img/disabled.gif) no-repeat center center;
}
.quickdeactive{
background:url(../../img/enabled.gif) no-repeat center center;
}
.hide{
display:none
}
.show{
display:block
}
#ajaxloading{
position:fixed;
top:0;
right:0;
width:100%;
z-index:1200
}
#ajaxloading > div{
margin:12px;
}
.megamenu-form{
float:left;
width: 700px;
}
.megamenu-form label {
width: 100px !important;
}
.megamenu-form .margin-form {
padding: 0 0 1em 110px !important;
}
.placeholder {
outline: 1px dashed #4183C4;
}
.mjs-nestedSortable-error {
background: #fbe3e4;
border-color: transparent;
}
ol {
margin: 0;
padding: 0;
padding-left: 30px;
}
ol.sortable, ol.sortable ol {
margin: 0 0 0 25px;
padding: 0;
list-style-type: none;
}
ol.sortable {
margin: 2em 0;
}
.sortable li {
margin: 5px 0 0 0;
padding: 0;
}
.sortable li div {
border: 1px solid #d4d4d4;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
border-color: #D4D4D4 #D4D4D4 #BCBCBC;
padding: 6px;
margin: 0;
cursor: move;
background: #f6f6f6;
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #ededed 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(47%,#f6f6f6), color-stop(100%,#ededed));
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
background: -o-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
background: -ms-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
background: linear-gradient(to bottom, #ffffff 0%,#f6f6f6 47%,#ededed 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ededed',GradientType=0 );
}
.sortable li.mjs-nestedSortable-branch div {
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #f0ece9 100%);
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#f0ece9 100%);
}
.sortable li.mjs-nestedSortable-leaf div {
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #bcccbc 100%);
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#bcccbc 100%);
}
li.mjs-nestedSortable-collapsed.mjs-nestedSortable-hovering div {
border-color: #999;
background: #fafafa;
}
li.selected > div {
border: solid 1px #D9534F
}
.disclose {
cursor: pointer;
width: 10px;
display: none;
}
.sortable li.mjs-nestedSortable-collapsed > ol {
display: none;
}
.sortable li.mjs-nestedSortable-branch > div > .disclose {
display: inline-block;
}
.sortable li.mjs-nestedSortable-collapsed > div > .disclose > span:before {
content: '+ ';
}
.sortable li.mjs-nestedSortable-expanded > div > .disclose > span:before {
content: '- ';
}
.leo_load {
background: url("../../img/loading.gif") no-repeat scroll 0 0 transparent;
display: none;
height: 32px;
width: 32px;
}
.table.table-green tr th{
background: #f3f3f3;
padding: 12px 6px
}
.table.table-green tr td{
padding: 9px 6px;
}
.pull-right{
float: right;
}
#image-images-thumbnails img{
max-width: 100%
}
/*************** update group BEGIN************************/
.clearfix::after {
clear: both;
content: ".";
display: block;
height: 0;
line-height: 0;
visibility: hidden;
}
.clearfix {
display: inline-block;
}
ul.leo-col-class li {
display: inline-block;
padding: 5px 10px;
}
ul.leo-col-class
{
padding-left: 0;
}
.group-wrapper
{
clear: both;
}
.group-header
{
padding-bottom: 5px;
border-bottom: 1px solid #40C9ED;
}
#groupLayer .group-footer
{
margin-top: 10px;
}
#groupLayer .group-footer.import-group
{
padding-right: 20px;
}
@media (min-width: 992px) {
#groupLayer .group-footer.import-widgets{
padding-left: 20px;
}
#groupLayer .group-footer.import-group{
border-right: 1px solid #40C9ED;
}
}
.export-widgets
{
line-height: 30px;
}
.group-wrapper ol>li
{
height: 40px;
border-radius: 5px;
margin-top: 5px;
-moz-border-bottom-colors: none;
-moz-border-left-colors: none;
-moz-border-right-colors: none;
-moz-border-top-colors: none;
background: rgba(0, 0, 0, 0) linear-gradient(to bottom, #ffffff 0%, #f6f6f6 47%, #ededed 100%) repeat scroll 0 0;
border-color: #d4d4d4 #d4d4d4 #bcbcbc;
border-image: none;
border-radius: 3px;
border-style: solid;
border-width: 1px;
cursor: move;
}
.group-wrapper .placeholder
{
border: none;
background: none;
}
.group-wrapper ol>li>div
{
line-height: 40px;
}
.group-wrapper ol, .group-header ol
{
padding-left: 0px;
list-style-type: none;
}
.group-wrapper .btn-group.pull-right
{
padding-top: 4px;
}
.tree-group li.mjs-nestedSortable-branch div {
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #f0ece9 100%);
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#f0ece9 100%);
}
.tree-group li.mjs-nestedSortable-leaf div {
background: -moz-linear-gradient(top, #ffffff 0%, #f6f6f6 47%, #bcccbc 100%);
background: -webkit-linear-gradient(top, #ffffff 0%,#f6f6f6 47%,#bcccbc 100%);
}
/*************** update group END************************/

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,15 @@
.jscom, .mix htcom { color: #4040c2; }
.com { color: green; }
.regexp { color: maroon; }
.string { color: teal; }
.keywords { color: blue; }
.global { color: #008; }
.numbers { color: #880; }
.comm { color: green; }
.tag { color: blue; }
.entity { color: blue; }
.string { color: teal; }
.aname { color: maroon; }
.avalue { color: maroon; }
.jquery { color: #00a; }
.plugin { color: red; }

View File

@@ -0,0 +1,47 @@
/**********************************
Name: cmxform Styles
***********************************/
form.cmxform {
width: 370px;
font-size: 1.0em;
color: #333;
}
form.cmxform legend {
padding-left: 0;
}
form.cmxform legend, form.cmxform label {
color: #333;
}
form.cmxform fieldset {
border: none;
border-top: 1px solid #C9DCA6;
background: url(../images/cmxform-fieldset.gif) left bottom repeat-x;
background-color: #F8FDEF;
}
form.cmxform fieldset fieldset {
background: none;
}
form.cmxform fieldset p, form.cmxform fieldset fieldset {
padding: 5px 10px 7px;
background: url(../images/cmxform-divider.gif) left bottom repeat-x;
}
form.cmxform label.error, label.error {
/* remove the next line when you have trouble in IE6 with labels in list */
color: red;
font-style: italic;
font-weight: normal;
}
div.error { display: none; }
input { border: 1px solid black; }
input.checkbox { border: none }
input:focus { border: 1px dotted black; }
input.error { border: 1px dotted red; }
form.cmxform .gray * { color: gray; }

View File

@@ -0,0 +1,55 @@
/**********************************
Use: cmxform template
***********************************/
form.cmxform fieldset {
margin-bottom: 10px;
}
form.cmxform legend {
padding: 0 2px;
font-weight: bold;
_margin: 0 -7px; /* IE Win */
}
form.cmxform label {
display: inline-block;
line-height: 1.8;
vertical-align: top;
cursor: hand;
}
form.cmxform fieldset p {
list-style: none;
padding: 5px;
margin: 0;
}
form.cmxform fieldset fieldset {
border: none;
margin: 3px 0 0;
}
form.cmxform fieldset fieldset legend {
padding: 0 0 5px;
font-weight: normal;
}
form.cmxform fieldset fieldset label {
display: block;
width: auto;
}
form.cmxform label { width: 100px; } /* Width of labels */
form.cmxform fieldset fieldset label { margin-left: 103px; } /* Width plus 3 (html space) */
form.cmxform label.error {
margin-left: 103px;
width: 220px;
}
form.cmxform input.submit {
margin-left: 103px;
}
/*\*//*/ form.cmxform legend { display: inline-block; } /* IE Mac legend fix */

View File

@@ -0,0 +1,21 @@
body, div { font-family: 'lucida grande', helvetica, verdana, arial, sans-serif }
body { margin: 0; padding: 0; font-size: small; color: #333 }
h1, h2 { font-family: 'trebuchet ms', verdana, arial; padding: 10px; margin: 0 }
h1 { font-size: large }
#main { padding: 1em; }
#banner { padding: 15px; background-color: #06b; color: white; font-size: large; border-bottom: 1px solid #ccc;
background: url(../images/bg.gif) repeat-x; text-align: center }
#banner a { color: white; }
p { margin: 10px 0; }
li { margin-left: 10px; }
h3 { margin: 1em 0 0; }
h1 { font-size: 2em; }
h2 { font-size: 1.8em; }
h3 { font-size: 1.6em; }
h4 { font-size: 1.4em; }
h5 { font-size: 1.2em; }

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2014 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,61 @@
/**********************************
Use: Reset Styles for all browsers
***********************************/
body, p, blockquote {
margin: 0;
padding: 0;
}
a img, iframe { border: none; }
/* Headers
------------------------------*/
h1, h2, h3, h4, h5, h6 {
margin: 0;
padding: 0;
font-size: 100%;
}
/* Lists
------------------------------*/
ul, ol, dl, li, dt, dd {
margin: 0;
padding: 0;
}
/* Links
------------------------------*/
a, a:link {}
a:visited {}
a:hover {}
a:active {}
/* Forms
------------------------------*/
form, fieldset {
margin: 0;
padding: 0;
}
fieldset { border: 1px solid #000; }
legend {
padding: 0;
color: #000;
}
input, textarea, select {
margin: 0;
padding: 1px;
font-size: 100%;
font-family: inherit;
}
select { padding: 0; }

View File

@@ -0,0 +1,11 @@
/**********************************
Use: Main Screen Import
***********************************/
@import "reset.css";
/*@import "core.css";*/
@import "cmxformTemplate.css";
@import "cmxform.css";

View File

@@ -0,0 +1,354 @@
.bootstrap .popover { position: absolute; top: 0; left: 0; z-index: 1010; display: none; max-width: 276px; padding: 1px; text-align: left; background-color: white; background-clip: padding-box; border: 1px solid #cccccc; border: 1px solid rgba(0, 0, 0, 0.2); border-radius: 6px; -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); white-space: normal; }
.bootstrap .popover.top { margin-top: -10px; }
.bootstrap .popover.right { margin-left: 10px; }
.bootstrap .popover.bottom { margin-top: 10px; }
.bootstrap .popover.left { margin-left: -10px; }
.bootstrap .popover-title { margin: 0; padding: 8px 14px; font-size: 12px; font-weight: normal; line-height: 18px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; }
.bootstrap .popover-content { padding: 9px 14px; }
.bootstrap .popover .arrow, .bootstrap .popover .arrow:after { position: absolute; display: block; width: 0; height: 0; border-color: transparent; border-style: solid; }
.bootstrap .popover .arrow { border-width: 11px; }
.bootstrap .popover .arrow:after { border-width: 10px; content: ""; }
.bootstrap .popover.top .arrow { left: 50%; margin-left: -11px; border-bottom-width: 0; border-top-color: #999999; border-top-color: rgba(0, 0, 0, 0.25); bottom: -11px; }
.bootstrap .popover.top .arrow:after { content: " "; bottom: 1px; margin-left: -10px; border-bottom-width: 0; border-top-color: white; }
.bootstrap .popover.right .arrow { top: 50%; left: -11px; margin-top: -11px; border-left-width: 0; border-right-color: #999999; border-right-color: rgba(0, 0, 0, 0.25); }
.bootstrap .popover.right .arrow:after { content: " "; left: 1px; bottom: -10px; border-left-width: 0; border-right-color: white; }
.bootstrap .popover.bottom .arrow { left: 50%; margin-left: -11px; border-top-width: 0; border-bottom-color: #999999; border-bottom-color: rgba(0, 0, 0, 0.25); top: -11px; }
.bootstrap .popover.bottom .arrow:after { content: " "; top: 1px; margin-left: -10px; border-top-width: 0; border-bottom-color: white; }
.bootstrap .popover.left .arrow { top: 50%; right: -11px; margin-top: -11px; border-right-width: 0; border-left-color: #999999; border-left-color: rgba(0, 0, 0, 0.25); }
.bootstrap .popover.left .arrow:after { content: " "; right: 1px; border-right-width: 0; border-left-color: white; bottom: -10px; }
#header, #footer,#nav-sidebar, .page-head, #content > .panel {
display: none;
}
body #main{
background: #FFF;
margin:0;
padding: 0
}
.page-sidebar #content{
margin-left: auto;
padding: 0!important
}
.page-content > .panel{
display: none;
}
html{
width: 100%;
height: 100%;
overflow-y:visible!important;
}
body {
background: #fff;
color: #555;
line-height: 20px;
overflow: auto!important;
height: 100%;
width:100%;
}
iframe{
border: 0;
padding: 0;
margin: 0;
}
body a{
text-decoration: none;
}
#menu-toolbars a.btn-action,#menu-toolbars a.btn-action {
color: #FFF
}
table td{
font-size: 12px;
}
.form-setting{
display: none;
}
.form-setting input[type="text"]{
width: 98%
}
.form-setting > .arrow{
left: 60px!important;
}
.form-setting h3{
cursor:hand;
cursor:grab;
cursor:-moz-grab;
cursor:-webkit-grab;
}
.form-setting h3 span{
cursor: hand;
cursor:pointer;
}
.leo-widget{
position: relative;
padding: 16px 12px;
margin: 1px 0;
border: solid 1px #FCF2F2;
}
.leo-widget:hover{
border-color:#DFB5B4;
}
.leo-widget .w-setting{
background: url(../../img/delete.png) no-repeat center center #DFB5B4;
width: 30px;
height: 30px;
z-index: 10000;
position: absolute;
top: 0px;
left:0px;
display: none;
cursor: hand;
cursor:pointer;
}
.leo-widget:hover .w-setting{
display: block;
}
.leo-widget .w-name{
z-index: 10000;
position: absolute;
top:0px;
right:0px;
display: none;
overflow: hidden;
width: 120px;
}
.leo-widget .w-name .inject_widget_name{
width: 149px;
}
.leo-widget:hover .w-name{
display: block;
}
.disable-menu .dropdown-menu, .disable-menu .caret{
display: none!important;
}
#pav-megamenu-liveedit{
position: relative;
}
.megamenu-wrap {
margin-top: 80px;
}
.megamenu .menu-desc{
display: none;
}
.megamenu li.mega-group > a .caret{
display:none;
}
.megamenu ul{
margin:0;
padding:0
}
.megamenu ul li{
list-style:none;
}
.megamenu .menu-icon{
padding-left: 30px;
}
.dropdown-submenu > .dropdown-menu {
border-radius: 0 6px 6px 6px;
left: 100%;
margin-left: -1px;
margin-top: -6px;
top: 0;
}
li.dropdown-submenu {
position:relative;
}
.nav.megamenu > li:last-child {
}
li.parent > div { }
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
}
.dropdown-submenu > a:after {
margin-right: -10px;
margin-top: -22px;
}
.megamenu .dropdown-menu{
min-width: 250px;
}
.dropdown-menu-inner .row{
margin: 2px 3px;
min-height: 40px;
padding: 5px 0px;
border: solid 1px #FFF
}
.dropdown-menu-inner .row.active, .dropdown-menu-inner .row:hover{
border: #F1E7BC solid 1px;
background: #FEFBED;
}
.megamenu .mega-col > div{
background: #F8F8F8;
border: #F7F7F9 solid 1px;
padding: 6px;
}
.megamenu .mega-col.active > div, .megamenu .mega-col:hover > div {
border: solid 1px #D6E9C6; background: #DFF0D8
}
.megamenu .mega-col.active > div .leo-widget{
border-color: #D6E9C6;
}
.megamenu .cols1{
min-width:200px;
}
.megamenu .cols2{
min-width:500px;
}
.megamenu .cols3{
min-width:740px;
}
.megamenu .mega-group > a .menu-title {
font-size: 110%;
font-weight: bold;
}
.aligned-center .dropdown-menu{
left: 50%;
transform: translate(-50%);
-webkit-transform: translate(-50%);
-moz-transform: translate(-50%);
-ms-transform: translate(-50%);
-o-transform: translate(-50%);
}
.aligned-right .dropdown-menu{
left: auto;
right: 0;
}
.aligned-left .dropdown-menu{
}
.megamenu .aligned-fullwidth {
position: inherit!important;
}
.aligned-fullwidth .dropdown-menu{
width: 100%!important;
left: 0;
}
#leo-progress .progress-bar{
background-color:#00AFF0;
}
/****************BEGIN*************************/
.megamenu li.disablewidget
{
background: #BCBCBC;
}
#megamenu-content.vertical
{
margin: 0 auto;
width: 26%;
}
#megamenu-content.vertical .megamenu>li
{
width: 100%;
border-top: 1px solid #ddd;
}
#megamenu-content.vertical.right .megamenu .dropdown-menu, #megamenu-content.vertical.auto .megamenu .dropdown-menu
{
top:0;
right:-88%;
left: auto;
}
#megamenu-content.vertical.right .megamenu .dropdown-submenu>.dropdown-menu, #megamenu-content.vertical.auto .megamenu .dropdown-submenu>.dropdown-menu
{
right:-125%;
}
#megamenu-content.vertical.left .megamenu .dropdown-menu
{
top:0;
left:-88%;
right: auto;
}
#megamenu-content.vertical.left .megamenu .dropdown-submenu>.dropdown-menu
{
left:-125%;
}
/****************END*************************/
.widget-video iframe
{
width: 100%;
}
/*******************css for loading when preview in liveeditor BEGIN *********/
.cssload-container {
width: 100%;
height: 49px;
text-align: center;
}
.cssload-speeding-wheel {
width: 49px;
height: 49px;
margin: 0 auto;
border: 3px solid rgb(0,0,0);
border-radius: 50%;
border-left-color: transparent;
border-right-color: transparent;
animation: cssload-spin 575ms infinite linear;
-o-animation: cssload-spin 575ms infinite linear;
-ms-animation: cssload-spin 575ms infinite linear;
-webkit-animation: cssload-spin 575ms infinite linear;
-moz-animation: cssload-spin 575ms infinite linear;
}
@keyframes cssload-spin {
100%{ transform: rotate(360deg); transform: rotate(360deg); }
}
@-o-keyframes cssload-spin {
100%{ -o-transform: rotate(360deg); transform: rotate(360deg); }
}
@-ms-keyframes cssload-spin {
100%{ -ms-transform: rotate(360deg); transform: rotate(360deg); }
}
@-webkit-keyframes cssload-spin {
100%{ -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
@-moz-keyframes cssload-spin {
100%{ -moz-transform: rotate(360deg); transform: rotate(360deg); }
}
#page-content{
min-height: 1200px;
width: 100%;
padding-bottom: 100px
}
.leo-widget img {
max-width: 100%;
}
/*******************css for loading when preview in liveeditor END *********/

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,316 @@
/* RIGHT TO LEFT */
.leo-verticalmenu {
position: relative;
z-index: 99;
}
.leo-verticalmenu .navbar-nav {
float: none;
}
.leo-verticalmenu .navbar-default {
border: none;
z-index: 999;
background: none;
margin-bottom: 0;
}
.leo-verticalmenu .navbar-default .navbar-collapse
{
padding: 0;
}
.leo-verticalmenu .navbar-default .navbar-nav > li > a:hover, .leo-verticalmenu .navbar-default .navbar-nav > li > a:focus {
margin-top: 0;
}
.leo-verticalmenu .disable-menu .dropdown-menu, .leo-verticalmenu .disable-menu .caret {
display: none !important;
}
.leo-verticalmenu.leo-menubackend .dropdown-menu {
left: 100%;
top: 0;
opacity: 1;
filter: alpha(opacity=100);
}
.leo-verticalmenu .megamenu > li {
height: auto;
width: 100%;
float: none;
}
.leo-verticalmenu .megamenu > li > a {
padding: 10px 30px 10px 0px;
}
.leo-verticalmenu .megamenu > li > a:before {
font-family: "Material Icons";
content: "chevron_right";
font-size: 13px;
color: #aab2bd;
padding: 0 5px 0 5px;
font-weight: normal;
float: left;
}
.leo-verticalmenu .megamenu > li > a:after {
clear: both;
content: '';
display: inherit;
}
.leo-verticalmenu .megamenu > li > a:hover {
color: #ff6346;
}
.leo-verticalmenu .megamenu > li > a.dropdown-toggle::after {
border: none;
}
.leo-verticalmenu .megamenu > li.dropdown > .caret {
border: medium none;
cursor: pointer;
height: 40px;
line-height: 40px;
margin: 0;
position: absolute;
right: 0;
top: 0;
width: 30px;
text-align: center;
}
.leo-verticalmenu .megamenu > li.dropdown > .caret:before {
content: "add";
font-family: "Material Icons";
color: black;
font-size: 20px;
font-weight: normal;
}
.leo-verticalmenu .megamenu > li.open-sub > .caret:before {
content: "remove";
}
.leo-verticalmenu .megamenu li {
width: 100%;
border-bottom: 1px solid #EBEEF2;
z-index: 1;
position: relative;
}
.leo-verticalmenu .megamenu li:last-child {
border-bottom: none;
}
.leo-verticalmenu .megamenu li:hover > .dropdown-menu {
display: block;
top: 0px;
left: 100%;
}
.leo-verticalmenu .megamenu li.dropdown .dropdown-menu li {
border: none;
}
.leo-verticalmenu .megamenu li.dropdown.active a {
color: #ff6346;
background: none;
}
.leo-verticalmenu .megamenu li.dropdown.active a:before {
color: #ff6346;
}
.leo-verticalmenu .megamenu li.dropdown.active li a {
color: #353d41;
}
.leo-verticalmenu .megamenu li.dropdown.active li a:hover {
color: #ff6346;
}
.leo-verticalmenu .megamenu li .dropdown-mega {
position: absolute;
display: block;
top: 0px;
left: 100%;
min-height: 100%;
min-width: 160px;
margin: 0;
float: none;
padding: 10px 15px;
border: 1px solid rgba(0, 0, 0, 0.15);
background: white;
}
.leo-verticalmenu .megamenu li .dropdown-mega li {
border-bottom: none;
}
.leo-verticalmenu .megamenu.left > li > a {
padding: 10px 0px 10px 30px;
}
.leo-verticalmenu .megamenu.left > li > a:before {
content: "chevron_left";
float: right;
}
.leo-verticalmenu .megamenu.left > li > a .menu-title {
float: right;
}
.leo-verticalmenu .megamenu.left > li.dropdown > .caret {
right: auto;
left: 0;
}
.leo-verticalmenu .megamenu.left li:hover > .dropdown-menu {
right: 100%;
left: auto;
}
.leo-verticalmenu .megamenu.left li .dropdown-mega {
right: 100%;
left: auto;
}
.leo-verticalmenu .megamenu.left li.parent:hover .dropdown-menu.cols1 {
left: -215px;
}
.leo-verticalmenu .megamenu.left li.parent:hover .dropdown-menu.cols2 {
left: -420px;
}
.leo-verticalmenu .megamenu.left li.parent:hover .dropdown-menu.cols3 {
left: -620px;
}
.leo-verticalmenu .megamenu.left li.parent:hover .dropdown-menu.cols4 {
left: -820px;
}
.leo-verticalmenu .dropdown-menu {
min-height: 100%;
margin: 0;
float: none;
padding: 10px 15px;
}
.leo-verticalmenu .dropdown-menu.cols1 {
width: 215px;
}
.leo-verticalmenu .dropdown-menu.cols2 {
width: 420px;
}
.leo-verticalmenu .dropdown-menu.cols3 {
width: 620px;
}
.leo-verticalmenu .dropdown-menu.cols4 {
width: 820px;
}
.leo-verticalmenu .dropdown-menu ul.links li {
border: none;
margin: 0;
}
.leo-verticalmenu .dropdown-menu ul.links li a {
padding: 5px 0 5px 14px;
}
.leo-verticalmenu .dropdown-menu .widget-heading {
color: #384044;
font-size: 16px;
text-transform: uppercase;
padding: 10px 0 10px 14px;
margin: 0;
line-height: 20px;
font-weight: 500;
border: none;
-webkit-border-radius: 0;
-moz-border-radius: 0;
-ms-border-radius: 0;
-o-border-radius: 0;
border-radius: 0;
}
.leo-verticalmenu .dropdown-menu .widget-products .product-container {
height: auto;
padding: 5px;
width: 33.3333%;
margin: 0;
}
.leo-verticalmenu .dropdown-menu .widget-products .image {
border: 1px solid #ebeef2;
display: inline-block;
}
.leo-verticalmenu .dropdown-menu .widget-products .image a {
display: inline-block;
padding: 0;
}
.leo-verticalmenu .dropdown-menu .widget-products .image a:before {
padding: 0;
}
.leo-verticalmenu .dropdown-menu .widget-products .product-name {
text-align: center;
padding: 0;
}
.leo-verticalmenu .dropdown-menu .widget-products .nb-comments {
display: none;
}
.leo-verticalmenu .dropdown-menu .widget-products .comments_note {
display: inline-block;
font-size: 13px;
}
.leo-verticalmenu .dropdown-menu .widget-products .price.product-price {
font-size: 15px;
}
.leo-verticalmenu .dropdown-menu .widget-products .price-percent-reduction {
display: none;
}
.leo-verticalmenu .dropdown-menu .html-aboutus .widget-html {
padding: 10px;
}
.leo-verticalmenu .dropdown-menu .html-aboutus .widget-html .widget-inner {
border-top: 1px dashed #ebeef2;
padding-top: 10px;
}
.leo-verticalmenu .leo-widget .menu-title {
font-weight: bold;
margin-bottom: 5px;
margin-top: 5px;
}
/********************CSS for slidebar menu BEGIN**********************************/
.verticalmenu.active-button .dropdown-menu {
display: none;
width: 100%;
left: 0;
top: 0;
position: relative;
}
.verticalmenu.active-hover .dropdown-menu {
/*display: none;*/ }
@media (max-width: 991px) {
.leo-verticalmenu > .block_content {
display: none;
}
.leo-verticalmenu.active > .block_content {
display: block;
}
.leo-verticalmenu.active .open-sub > .dropdown-menu {
background-color: white;
}
.leo-verticalmenu.active .open-sub > .dropdown-menu .dropdown-menu {
border: none;
padding: 0 10px;
}
.leo-verticalmenu.active .megamenu li .dropdown-menu, .leo-verticalmenu.active .megamenu li .dropdown-mega {
display: none;
position: initial !important;
}
.leo-verticalmenu.active .megamenu > li > a {
padding: 10px 30px 10px 0px;
}
.leo-verticalmenu.active .megamenu > li > a:before {
float: left;
content: "chevron_right";
}
.leo-verticalmenu.active .megamenu > li > a .menu-title {
float: left;
}
.leo-verticalmenu.active .megamenu > li.dropdown > .caret {
right: 0;
left: auto;
}
.leo-verticalmenu.active .dropdown-menu, .leo-verticalmenu.active .dropdown-mega {
width: 100% !important;
}
.leo-verticalmenu.active .dropdown-menu .dropdown-submenu .caret, .leo-verticalmenu.active .dropdown-mega .dropdown-submenu .caret {
position: absolute;
top: 5px;
right: 0;
}
.leo-verticalmenu.active .dropdown-menu .dropdown-submenu .caret:before, .leo-verticalmenu.active .dropdown-mega .dropdown-submenu .caret:before {
content: "add";
font-family: "Material Icons";
color: black;
font-size: 20px;
font-weight: normal;
}
.leo-verticalmenu.active .dropdown-menu .dropdown-submenu.open-sub > .caret:before, .leo-verticalmenu.active .dropdown-mega .dropdown-submenu.open-sub > .caret:before {
content: "remove";
}
.leo-verticalmenu.active .dropdown-menu .dropdown-submenu .dropdown-toggle:after, .leo-verticalmenu.active .dropdown-mega .dropdown-submenu .dropdown-toggle:after {
border: none;
}
}
/********************CSS for slidebar menu END**********************************/
/*# sourceMappingURL=leomenusidebar.css.map */

View File

@@ -0,0 +1,673 @@
/* MEGAMENU STYLE */
#header .header-top{
padding-bottom: 0px;
}
#header .header-top .position-static .header-logo{
padding-bottom: 30px;
}
.leo-top-menu .navbar-nav .nav-item + .nav-item{
margin-left: 0;
}
@media (max-width: 991px){
#header .header-top{
background: transparent;
}
}
.header-top .leo-top-menu .megamenu .has-category{
padding: 9px 20px;
line-height: 22px;
text-transform: uppercase;
}
#header .header-top .leo-top-menu .leo-widget .title_block{
font-size: 13px;
color: #313131;
padding-bottom: 16px;
text-transform: uppercase;
}
#header .header-top .leo-top-menu .horizontal .product-title a{
font-weight: normal;
color: #7c7c7c;
text-transform: none;
}
#header .header-top .leo-top-menu .horizontal .product-title{
text-align: left;
}
#header .header-top .leo-top-menu .horizontal .dropdown-menu-inner li a span{
color: #7c7c7c;
font-weight: normal;
text-transform: none;
}
@media(min-width: 544px){
.leo-top-menu .dropdown:hover > .dropdown-menu {
display: block;
padding: 20px;
top: 40px;
}
}
.leo-top-menu .dropdown-menu > .dropdown-menu-inner {
padding: 0px;
}
.leo-top-menu .mega-group .caret {
display: none;
}
.leo-top-menu .mega-group > .dropdown-toggle {
display: block;
font-weight: bold;
text-transform: uppercase;
}
.leo-top-menu .mega-group .dropdown-mega .mega-col-inner > ul > li a {
margin-left: 6px;
}
.leo-top-menu .mega-col .mega-col-inner > ul {
list-style: none outside none;
margin: 0;
padding: 0;
}
.leo-top-menu .mega-col .mega-col-inner > ul > li {
list-style: none;
margin-left: 0;
}
.leo-top-menu .mega-col .mega-col-inner > ul > li > a {
clear: both;
color: #555555;
display: block;
line-height: 20px;
}
.leo-top-menu .dropdown-submenu:hover > .dropdown-menu {
display: block;
left: 100%;
top: 0;
}
.leo-top-menu .dropdown-mega{
position: absolute;
top: 100%;
left: 0;
z-index: 1000;
float: left;
min-width: 160px;
font-size: 1rem;
color: #878787;
text-align: left;
list-style: none;
background-color: #fff;
background-clip: padding-box;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0;
}
.leo-top-menu .dropdown-mega .nav-item + .nav-item{
margin-left: 0;
}
.leo-top-menu .dropdown-mega > .dropdown-menu-inner{
padding: 10px 15px;
}
.leo-top-menu .dropdown-mega .nav-item{
position: relative;
width: 100%;
}
.leo-top-menu .dropdown-toggle{
position: relative;
padding-right: 13px;
}
.leo-top-menu .dropdown-toggle:after{
position: absolute;
top: 0;
bottom: 0;
right: 12px;
margin: auto 0;
}
.leo-top-menu .mega-group .dropdown-mega{
left: 100%;
top: 0;
}
.leo-top-menu .leo-widget .menu-title {
font-weight: bold;
margin-bottom: 15px;
color: #3b3b3b;
font-size:13px;
text-transform: uppercase;
}
.leo-top-menu .leo-widget .widget-inner p{
font-size: 12px;
}
.leo-top-menu .dropdown-menu{
margin: 0;
padding: 0;
}
.leo-top-menu .cols2 {
width: 420px;
}
.leo-top-menu .cols3 {
width: 620px;
}
.leo-top-menu .cols4 {
width: 820px;
}
.leo-top-menu .dropdown-menu .nav-item{
position: relative;
width: 100%;
}
.leo-top-menu .dropdown-menu .nav-item + .nav-item{
margin-left: 0;
}
/* WIDGET STYLES */
.leo-widget .thumbnail-container {
margin: 0;
text-align: left;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-o-box-shadow: none;
-ms-box-shadow: none;
box-shadow: none;
background: transparent;
height: auto
}
.leo-widget .thumbnail-container:hover{
box-shadow: none;
}
.leo-widget .thumbnail-container:hover .product-description{
box-shadow: none;
}
.leo-widget .thumbnail-container .product-description{
background: transparent;
text-align: left;
position: static;
}
.leo-widget .thumbnail-container .product-description .product-price-and-shipping{
text-align: left;
}
.leo-widget .widget-heading {
text-transform: uppercase;
font-weight: bold;
font-size: 110%;
padding-bottom: 5px;
margin-bottom: 5px;
border-bottom: solid 1px #f3f3f3;
}
.leo-widget .widget-inner .image-item{
padding: 0px 4px;
}
@media (min-width: 990px){
.leo-widget .widget-inner .image-item{
padding: 0px 7px;
}
}
@media (max-width: 760px){
.leo-widget .widget-inner .image-item{
padding:3px 15px;
}
}
.widget-products img {
width: 80px;
height:80px;
float: left;
margin-right: 12px;
}
.widget-banner .w-banner {
margin: 6px 10px;
float: left;
}
.widget-images .images-list {
clear: both;
}
.widget-images .images-list > div {
position: relative;
float: left;
}
.widget-images .images-list > div > div {
padding: 3px;
}
.sub-title{
display: block;
font-size: 80%;
line-height: 1.25em;
margin-bottom: 7px;
text-shadow: none ;
}
/*Manufacture*/
.widget-manufacture .widget-inner .manu-logo img{
padding: 2px 4px 6px 2px;
width: 30%;
}
/* Icon menu */
.hasicon{
padding-left: 35px;
padding-bottom: 10px;
}
.off-canvas body{ position: relative}
.off-canvas-inactive > main,
.off-canvas-inactive > .off-canvas-nav-megamenu {
transition:all 500ms ease 0s;
transform:translateX(0px);
-webkit-transform:translateX(0px);
-moz-transform:translateX(0px);
-ms-transform:translateX(0px);
-o-transform:translateX(0px);
}
.off-canvas-active > main
{
transform:translateX(234px);
-webkit-transform:translateX(234px);
-moz-transform:translateX(234px);
-ms-transform:translateX(234px);
-o-transform:translateX(234px);
transition:all 500ms ease 0s;
display: block;
}
.off-canvas-active > .off-canvas-nav-megamenu.active {
transform:translateX(234px);
-webkit-transform:translateX(234px);
-moz-transform:translateX(234px);
-ms-transform:translateX(234px);
-o-transform:translateX(234px);
transition:all 450ms ease 0s;
left: 0;
}
.off-canvas-active main {
position:fixed;
margin:0 auto}
#page-container{ position: relative;}
.off-canvas-nav-megamenu{
position: absolute; left:-400px; top: 0; width:0;background: #FFF;z-index: 999;
/*display: none;*/
}
.off-canvas-active .off-canvas-nav-megamenu {
}
.off-canvas-nav-megamenu .offcanvas-mainnav{ background: #3f3f3f; position: absolute; top: 0; left:-234px; overflow:hidden; width:234px }
.off-canvas-nav-megamenu .megamenu .mega-cols{width:100% !important; min-width:inherit; padding:10px 0; display:inline-block; margin-top:10px }
.off-canvas-nav-megamenu .megamenu .mega-cols ul li a {padding: 0 10px}
.off-canvas-nav-megamenu .dropdown-menu{
position: relative;
left: 0;
right: 0;
top: 0;
float: none;
box-shadow: none;
padding: 0;
margin: 0;
border: none;
padding-left: 5px;
}
.off-canvas-nav-megamenu .dropdown-menu .caret{
top: 8px;
}
.off-canvas-nav-megamenu .dropdown-menu .caret:before{
font-size: 18px;
}
.off-canvas-nav-megamenu ul li a:hover{color:#42A8BF}
.off-canvas-button-megamenu {color:#fff; text-align:right; margin:10px 10px 0 0; cursor:pointer}
.off-canvas-nav-megamenu .dropdown-mega,
.off-canvas-nav-megamenu li.mega-group .dropdown-menu {
padding: 0 10px;
}
.off-canvas-nav-megamenu .mega-col {
display: block;
width: 100% !important;
position: relative;
margin-left:0
}
.off-canvas-nav-megamenu .dropdown-sub{
width: 100% !important;
padding: 0;
}
.off-canvas-nav-megamenu .leo-widget .menu-title{
padding: 10px 0px;
font-weight: bold;
font-size: 14px;
color: #000;
}
.off-canvas-nav-megamenu .leo-widget{
padding: 5px;
}
.off-canvas-nav-megamenu .leo-widget p{
font-size: 13px;
}
.offcanvas-mainnav > .megamenu {padding:0 10px}
.offcanvas-mainnav > .megamenu > li:last-child a {border-bottom:0!important}
.off-canvas-nav-megamenu .megamenu .mega-group > a .menu-title {
font-size: 13px;
}
.off-canvas-nav-megamenu .off-canvas-button-megamenu span {
font-weight: bold;
margin-right: 12px ;
}
.off-canvas-nav-megamenu .dropdown .dropdown-menu li,.off-canvas-nav-megamenu .megamenu .dropdown-mega li {
background: none;
position: relative;
}
.off-canvas-nav-megamenu .nav > li:hover,
.off-canvas-nav-megamenu .nav > li > a:hover, .off-canvas-nav-megamenu .nav > li > a:focus {
background: none;
}
.off-canvas-nav-megamenu .dropdown .dropdown-menu li:hover,
.off-canvas-nav-megamenu .megamenu > a .menu-title {
color:#5C5B5B
}
.off-canvas-nav-megamenu .megamenu li.homepage a {
height: auto;
width: auto;
text-indent: inherit;
}
.off-canvas-nav-megamenu .nav li {
border:none;
padding: 0;
}
.off-canvas-nav-megamenu ul li a {
display: block;
line-height: 23px;
color: #5C5B5B;
padding-bottom: 8px;
font-size: 13px;
}
.off-canvas-nav-megamenu .has-category{
border-bottom: 1px solid #535353;
}
.off-canvas-nav-megamenu .nav-item .nav-link, .nav-item{
font-weight: normal;
font-size: 13px;
}
.off-canvas-nav-megamenu .nav > li > a {
font-size: 13px;
font-weight: normal;
line-height: 35px;
}
.off-canvas-nav-megamenu .megamenu .menu-desc {
display: none;
}
.off-canvas-nav-megamenu .megamenu .menu-icon {
padding-left: 0;
}
.off-canvas-nav-megamenu .megamenu .mega-col .margin {
margin-left: 0;
}
/* imgaes gallery product*/
.off-canvas-nav-megamenu .widget-images .images-list .image-item{
display: inline-block;
text-align: center;
}
.off-canvas-nav-megamenu .widget-images .images-list .image-item img{
width: 100%;
}
.off-canvas-nav-megamenu .widget-manufacture .widget-inner .manu-logo img{
width: 100%;
}
/*product list*/
.off-canvas-nav-megamenu .widget-products .product-image img {
width: auto;
height: auto;
float: none;
display: inline-block;
}
.off-canvas-nav-megamenu .thumbnail-container{
text-align: center;
border-bottom: 1px solid #dedede;
padding: 15px 0px;
height: auto;
width: 100%;
}
.off-canvas-nav-megamenu .thumbnail-container .product-description{
width: 100%;
}
.off-canvas-nav-megamenu .thumbnail-container .product-description .product-price-and-shipping{
text-align: center;
}
.aligned-center .dropdown-menu{
left: 50%;
transform: translate(-50%);
-webkit-transform: translate(-50%);
-moz-transform: translate(-50%);
-ms-transform: translate(-50%);
-o-transform: translate(-50%);
}
.off-canvas-nav-megamenu .aligned-fullwidth .dropdown-menu{
width: 100%!important;
left: 0;
right: 0;
}
.aligned-right .dropdown-menu{
left: auto;
right: 0;
}
.aligned-left .dropdown-menu{
}
.megamenu .aligned-fullwidth {
position: inherit!important;
}
.aligned-fullwidth .dropdown-menu{
width: calc(100% - 30px)!important;
left: 15px;
right: 15px;
}
/***************DONGND:: CSS for Canvas Menu BEGIN**********************/
.offcanvas-mainnav .navbar-nav li
{
width: 100%;
}
.offcanvas-mainnav .navbar-nav li.dropdown a.dropdown-toggle
{
padding: 5px 30px 5px 0;
}
.offcanvas-mainnav .navbar-nav li.dropdown .caret
{
cursor: pointer;
height: 20px;
margin: 0;
position: absolute;
top: 12px;
right: 0;
width: 30px;
margin: auto 0;
}
.offcanvas-mainnav .navbar-nav li.dropdown .dropdown-menu
{
display: none;
}
.offcanvas-mainnav .navbar-nav li.open-sub .dropdown-menu
{
/*display: block;*/
}
.offcanvas-mainnav .dropdown-toggle::after, .megamenu-off-canvas li.mega-group>a.dropdown-toggle::after
{
border-left: none;
border-right: none;
}
.offcanvas-mainnav .navbar-nav li.dropdown .caret:before {
content: "add";
font-family: "Material Icons";
color: white;
font-size: 16px;
font-weight: normal;
display: block;
text-align: center;
}
.offcanvas-mainnav .navbar-nav li.open-sub>.caret:before {
content: "remove";
}
.offcanvas-mainnav .navbar-nav .nav-item + .nav-item
{
margin-left: 0px;
position: relative!important;
}
.megamenu-overlay
{
cursor: pointer;
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: rgba(0,0,0,0.5);
z-index: 999;
opacity: 0;
visibility: hidden;
-webkit-transition: all 0.5s ease;
-moz-transition: all 0.5s ease;
-ms-transition: all 0.5s ease;
-o-transition: all 0.5s ease;
transition: all 0.5s ease;
}
@media (max-width: 543px){
.off-canvas-active .megamenu-overlay{
opacity: 1;
visibility: visible;
}
.navbar-toggleable-xs .navbar-nav .nav-item{
clear: both;
}
}
/***************DONGND:: CSS for Canvas Menu END**********************/
@media (max-width: 543px){
.megamenu-off-canvas{
background: white;
padding: 10px;
}
.megamenu-off-canvas .nav-item .dropdown-toggle{
padding-right: 25px;
}
.megamenu-off-canvas .nav-item .dropdown-toggle:after{
/*content: 'add';*/
font-family: "Material Icons";
font-size: 18px;
border: none;
width: auto;
line-height: 20px;
height: 20px;
}
.megamenu-off-canvas .nav-item.open > .dropdown-toggle:after{
/*content: "remove";*/
}
/***************DONGND:: CSS for caret when disable canvas menu BEGIN**********************/
.megamenu-off-canvas .nav-item .caret {
cursor: pointer;
height: 30px;
margin: auto 0;
position: absolute;
right: 0;
top: 0px;
width: 30px;
line-height: 30px;
}
.megamenu-off-canvas .nav-item .caret::before {
color: black;
content: "add";
display: block;
font-family: "Material Icons";
font-size: 20px;
font-weight: normal;
text-align: center;
}
.megamenu-off-canvas .nav-item.open-sub > .caret::before {
content: "remove";
}
.leo-top-menu .dropdown-submenu:hover > .dropdown-menu
{
display: none;
}
/***************DONGND:: CSS for caret when disable canvas menu END**********************/
.megamenu-off-canvas .dropdown-menu{
position: initial;
display: none;
width: 100%;
}
.megamenu-off-canvas .nav-item.open > .dropdown-menu{
display: block;
}
}
/***************DONGND:: CSS for Vertical Menu BEGIN**********************/
.verticalmenu .navbar-nav .nav-item + .nav-item
{
margin-left: 0;
}
/***************DONGND:: CSS for Vertical Menu END**********************/
.leo-megamenu{
padding:0px;
position: static;
margin-bottom: 35px;
}
.leo-megamenu .navbar-toggler{
font-size: 22px;
background: #000;
color: #fff;
margin-bottom: 40px;
margin-top: 20px;
}
@media (max-width: 480px){
#header .header-top:before{
display: none!important;
}
}
/*html tab*/
.widget-tab .nav-tabs .nav-item{
float: left;
width: auto;
}
#header .header-top .widget-tab .nav-tabs .nav-item .nav-link:focus,.widget-tab .nav-tabs .nav-item .nav-link:hover{
border-color: #696969;
background: #545454;
}
.widget-tab .nav-tabs {
border-bottom: 1px solid transparent;
}
.widget-tab .nav-tabs .nav-item a.active{
background: #545454;
border-color: #696969;
}
#header .header-top .widget-tab .nav-tabs .nav-item .nav-link{
color: #454545;
border-bottom: 1px solid transparent;
}
.widget-tab .tab-content{
padding: 10px;
border: 1px solid #696969;
}
.leo-megamenu {
clear: both;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 715 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 355 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 249 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,412 @@
/**
* @copyright Commercial License By LeoTheme.Com
* @email leotheme.com
* @visit http://www.leotheme.com
*/
(function($) {
$.fn.PavMegaMenuList = function(opts) {
// default configuration
var config = $.extend({}, {
action:null,
addnew:null,
confirm_del:'Are you sure delete this?',
confirm_duplicate:'Are you sure duplicate this?'
}, opts);
function checkInputHanlder(){
var _updateMenuType = function(){
$(".menu-type-group").parent().parent().hide();
if($("[id^=url_type_]").closest('.form-group').find('.translatable-field').length)
$("[id^=url_type_]").closest('.form-group').parent().parent().hide();
else
$("[id^=url_type_]").closest('.form-group').hide();
if($("[id^=content_text_]").closest('.form-group').hasClass('translatable-field'))
$("[id^=content_text_]").closest('.form-group').parent().parent().hide();
else
$("[id^=content_text_]").closest('.form-group').hide();
if ($("#menu_type").val() =='html' ){
if($("[id^=content_text_]").closest('.form-group').hasClass('translatable-field'))
$("[id^=content_text_]").closest('.form-group').parent().parent().show();
else
$("[id^=content_text_]").closest('.form-group').show();
}else if( $("#menu_type").val() =='url' ){
if($("[id^=url_type_]").closest('.form-group').find('.translatable-field').length)
$("[id^=url_type_]").closest('.form-group').parent().parent().show();
else
$("[id^=url_type_]").closest('.form-group').show();
}
else {
$("#"+$("#menu_type").val()+"_type").parent().parent().show();
if($("#menu_type").val() == 'controller')
$("#"+$("#menu_type").val()+"_type_parameter").parent().parent().show();
}
};
_updateMenuType();
$("#menu_type").change( _updateMenuType );
// var _updateSubmenuType = function(){
// if( $("#type_submenu").val() =='html' ){
// $("[for^=submenu_content_text_]").parent().show();
// }else{
// $("[for^=submenu_content_text_]").parent().hide();
// }
// };
// _updateSubmenuType();
// $("#type_submenu").change( _updateSubmenuType );
}
function manageTreeMenu(){
if($('ol').hasClass("sortable")){
$('ol.sortable').nestedSortable({
forcePlaceholderSize: true,
handle: 'div',
helper: 'clone',
items: 'li',
opacity: .6,
placeholder: 'placeholder',
revert: 250,
tabSize: 25,
tolerance: 'pointer',
toleranceElement: '> div',
maxLevels: 4,
isTree: true,
expandOnHover: 700,
startCollapsed: true,
stop: function(){
var serialized = $(this).nestedSortable('serialize');
// console.log(serialized);
$.ajax({
type: 'POST',
url: config.action+"&ajax=1&doupdatepos=1&rand="+Math.random(),
data : serialized+'&updatePosition=1',
dataType: 'json',
cache: false,
}).done( function (json) {
if (json && json.hasError == true){
alert(json.errors);
}else{
showSuccessMessage(json.errors);
}
if ($('#id_btmegamenu').val() != 0)
{
var id_btmegamenu = $('#id_btmegamenu').val();
var id_parent;
// console.log($('#list_'+id_btmegamenu).parent().parent('li'));
if ($('#list_'+id_btmegamenu).parent().parent('li').length)
{
id_parent = $('#list_'+id_btmegamenu).parent().parent('li').data('id-menu');
}
else
{
id_parent = 0;
};
$('#id_parent').find('option[selected=selected]').removeAttr("selected");
$('#id_parent').find('option[value='+id_parent+']').attr('selected','selected');
}
});
}
});
$('#addcategory').click(function(){
location.href=config.addnew;
});
}
$('.show_cavas').change(function(){
var show_cavas = $(this).val();
//var text = $(this).val();
//var $this = $(this);
//$(this).val( $(this).data('loading-text') );
$.ajax({
type: 'POST',
url: config.action+"&show_cavas=1&rand="+Math.random(),
data : 'show='+show_cavas+'&updatecavas=1'
}).done( function (msg) {
//$this.val( msg );
showSuccessMessage(msg);
});
});
}
/**
* initialize every element
*/
this.each(function() {
$(".quickedit",this).click( function(){
location.href=config.action+"&id_btmegamenu="+$(this).attr('rel').replace("id_","");
} );
$(".quickdel",this).click( function(){
if( confirm(config.confirm_del) ){
location.href=config.action+"&dodel=1&id_btmegamenu="+$(this).attr('rel').replace("id_","");
}
} );
$(".delete_many_menus",this).click( function(){
if (confirm('Delete selected items?'))
{
var list_menu = '';
$('.quickselect:checkbox:checked').each(function () {
list_menu += $(this).val() + ",";
});
if(list_menu != ''){
location.href=config.action+"&delete_many_menu=1&list="+list_menu;
}
}
});
$(".quickduplicate",this).click( function(){
if( confirm(config.confirm_duplicate) ){
location.href=config.action+"&doduplicate=1&id_btmegamenu="+$(this).attr('rel').replace("id_","");
}
} );
$(".quickdeactive",this).click( function(){
location.href=config.action+"&dostatus=0&id_btmegamenu="+$(this).attr('rel').replace("id_","");
} );
$(".quickactive",this).click( function(){
location.href=config.action+"&dostatus=1&id_btmegamenu="+$(this).attr('rel').replace("id_","");
} );
manageTreeMenu();
checkInputHanlder();
});
return this;
};
})(jQuery);
jQuery(document).ready(function(){
$("#widgetds a.btn").fancybox( {'type':'iframe'} );
$(".leo-modal-action, #widgets a.btn").fancybox({
'type':'iframe',
'width':950,
'height':500,
beforeLoad:function(){
$('.inject_widget').empty().append('<option value="">Loading...</option>').attr('disabled', 'disabled');;
},
afterLoad:function(){
hideSomeElement();
$('.fancybox-iframe').load( hideSomeElement );
},
afterClose: function (event, ui) {
// location.reload();
// console.log(ui);
if(typeof _action_loadwidget !== 'undefined')
{
$.ajax({
type: 'POST',
url: _action_loadwidget,
}).done( function (result) {
$('.inject_widget').empty().append(result).show().removeAttr('disabled');
$('#btn-inject-widget').show();
// console.log('Load widgets sucessfull');
//$this.val( msg );
//showSuccessMessage(msg);
}
);
}
// console.log(_action_loadwidget);
},
});
$(".leo-col-class input[type=radio]").click(function() {
if (!$(this).hasClass('active'))
{
// classChk = $(this).attr("name").replace("col_", "");
classChk = $(this).data("name");
elementText = $(this).closest('.well').find('.group-class').first();
if ($(elementText).val() != "")
{
var check_class_exists = false;
if ($(".leo-col-class input[type=radio]:checked").length)
{
// console.log($(".leo-col-class input[type=radio]:checked").data("name"));
// console.log($(elementText).val());
$(".leo-col-class input[type=radio]:not(:checked)").each(function(){
// console.log($(this).data("name"));
// console.log($(elementText).val());
var e_val = $(elementText).val();
// $(elementText).val(e_val.replace($(this).data("name"),""));
// console.log($(elementText).val());
// console.log(e_val.indexOf($(this).data("name")));
if (e_val.indexOf($(this).data("name")) != -1) {
$(elementText).val(e_val.replace($(this).data("name"),classChk));
check_class_exists = true;
}
})
}
if (check_class_exists == false)
{
// $(elementText).val($(elementText).val() + " " + classChk);
if ($(elementText).val() != "")
{
$(elementText).val($(elementText).val() + " " + classChk);
}
else
{
$(elementText).val(classChk);
}
}
}
else
{
$(elementText).val(classChk);
}
$(".leo-col-class input.active").removeClass('active');
$(this).addClass('active');
}
// $(elementText).val('');
// $(elementText).val(classChk);
//add
// if ($(this).is(':checked')) {
// if ($(elementText).val().indexOf(classChk) == -1) {
// if ($(elementText).val() != "") {
// $(elementText).val($(elementText).val() + " " + classChk);
// } else {
// $(elementText).val(classChk);
// }
// }
// } else {
//remove
// if ($(elementText).val().indexOf(classChk) != -1) {
// $(elementText).val($(elementText).val().replace(classChk + " ", ""));
// $(elementText).val($(elementText).val().replace(" " + classChk, ""));
// $(elementText).val($(elementText).val().replace(classChk, ""));
// }
// }
});
$(".group-class").change(function() {
elementChk = $(this).closest('.well').find('input[type=checkbox]');
classText = $(this).val();
$(elementChk).each(function() {
classChk = $(this).attr("name").replace("col_", "");
if (classText.indexOf(classChk) != -1) {
if (!$(this).is(':checked'))
$(this).prop("checked", true);
} else {
$(this).prop("checked", false);
}
});
});
$(".group-class").trigger('change');
var _updateGroupType = function(){
// console.log('test');
if( $("#group_type").val() =='horizontal' ){
$("#show_cavas").parent().parent().show();
$("#type_sub").parent().parent().hide();
}else if ( $("#group_type").val() =='vertical' ){
$("#show_cavas").parent().parent().hide();
$("#type_sub").parent().parent().show();
}
};
_updateGroupType();
$("#group_type").change( _updateGroupType );
if($('#megamenu').length)
{
$("html, body").animate({ scrollTop: $('#megamenu').offset().top - 150 }, 2000);
}
//add hook to clear cache
// $('.list_hook').change(function(){
// });
$('.clear_cache').click(function(e){
// console.log('aaa');
// e.stopPropagation();
var hook_name = $('.list_hook').val();
var href_attr = $(this).attr('href')+$('.list_hook').val();
// console.log(href_attr);
$(this).attr('href',href_attr);
// location.reload(href_attr);
// window.location.href(href_attr);
// return false;
})
//update position for group
if($('ol').hasClass("tree-group")){
$('ol.tree-group').nestedSortable({
forcePlaceholderSize: true,
// handle: 'div',
helper: 'clone',
items: 'li.nav-item',
opacity: .6,
placeholder: 'placeholder',
revert: 250,
tabSize: 600,
// tolerance: 'pointer',
// toleranceElement: '> div',
maxLevels: 1,
isTree: false,
expandOnHover: 700,
// startCollapsed: true,
stop: function(){
var serialized = $(this).nestedSortable('serialize');
// console.log(serialized);
$.ajax({
type: 'POST',
url: update_group_position_link+"&ajax=1&doupdategrouppos=1&rand="+Math.random(),
data : serialized+'&updateGroupPosition=1',
dataType: 'json',
cache: false,
}).done( function (json) {
if (json && json.hasError == true){
alert(json.errors);
}else{
showSuccessMessage(json.errors);
}
});
}
});
}
//disable click when editting group
$('.editting').click(function(){
return false;
})
});
var hideSomeElement = function(){
$('body',$('.fancybox-iframe').contents()).find("#header").hide();
$('body',$('.fancybox-iframe').contents()).find("#footer").hide();
$('body',$('.fancybox-iframe').contents()).find(".page-head, #nav-sidebar ").hide();
$('body',$('.fancybox-iframe').contents()).find("#content.bootstrap").css( 'padding',0).css('margin',0);
//remove responsive table
$('body',$('.fancybox-iframe').contents()).find('.table.btmegamenu_widgets').parent().removeClass('table-responsive-row');
};
jQuery(document).ready(function(){
if($("#image-images-thumbnails img").length){
$("#image-images-thumbnails").append('<a class="del-img btn color_danger" href="#"><i class="icon-remove-sign"></i> delete image</a>');
}
$(".del-img").click(function(){
if (confirm('Are you sure to delete this image?')) {
$(this).parent().parent().html('<input type="hidden" value="1" name="delete_icon"/>');
}
return false;
});
$(".leobootstrapmenu td").attr('onclick','').unbind('click');
});

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,36 @@
<?php
/*
* 2007-2014 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;

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,51 @@
/**
* jQuery Validation Plugin 1.9.0
*
* http://bassistance.de/jquery-plugins/jquery-plugin-validation/
* http://docs.jquery.com/Plugins/Validation
*
* Copyright (c) 2006 - 2011 Jörn Zaefferer
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/
(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;this.attr("novalidate","novalidate");b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){a=this.find("input, button");a.filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&a.filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var f=c("<input type='hidden'/>").attr("name",
b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&f.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form();
else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name];
return g}var h={};c.each(b.split(/\s/),function(j,i){h[i]=g[i];delete g[i]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a,
b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",
validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:":hidden",ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(a)).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)},
onkeyup:function(a){if(a.name in this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).addClass(b).removeClass(d):c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){a.type==="radio"?this.findByName(a.name).removeClass(b).addClass(d):c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults,
a)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."),
minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."),range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var f=c.data(this[0].form,"validator"),g="on"+e.type.replace(/^validate/,
"");f.settings[g]&&f.settings[g].call(f,this[0],e)}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,f){c.each(f.split(/\s/),function(g,h){b[h]=e})});var d=
this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).validateDelegate("[type='text'], [type='password'], [type='file'], select, textarea, [type='number'], [type='search'] ,[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'] ","focusin focusout keyup",a).validateDelegate("[type='radio'], [type='checkbox'], select, option","click",
a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(a){this.lastElement=
a=this.validationTargetFor(this.clean(a));this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList,function(d){return!(d.name in a)})}this.settings.showErrors?
this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.lastElement=null;this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==
0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&
a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},
prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.validationTargetFor(this.clean(a));var b=c(a).rules(),d=false,e;for(e in b){var f={method:e,parameters:b[e]};try{var g=c.validator.methods[e].call(this,a.value.replace(/\r/g,""),a,f.parameters);if(g=="dependency-mismatch")d=true;else{d=false;if(g=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!g){this.formatAndAdd(a,f);return false}}}catch(h){this.settings.debug&&window.console&&console.log("exception occured when checking element "+
a.id+", check the '"+f.method+"' method",h);throw h;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;a<arguments.length;a++)if(arguments[a]!==undefined)return arguments[a]},defaultMessage:function(a,
b){return this.findDefined(this.customMessage(a.name,b),this.customMetaMessage(a,b),!this.settings.ignoreTitle&&a.title||undefined,c.validator.messages[b],"<strong>Warning: No message defined for "+a.name+"</strong>")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d,element:a});this.errorMap[a.name]=d;this.submitted[a.name]=
d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);
if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a,b){var d=this.errorsFor(a);if(d.length){d.removeClass(this.settings.validClass).addClass(this.settings.errorClass);
d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text("");typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow=
this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(a){if(this.checkable(a))a=this.findByName(a.name).not(this.settings.ignore)[0];return a},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d,
e){return e.form==b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this,
c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=
false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings,
a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(var d in c.validator.methods){var e;if(e=d==="required"&&typeof c.fn.prop==="function"?a.prop(d):a.attr(d))b[d]=e;else if(a[0].getAttribute("type")===d)b[d]=true}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{};
var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]:c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}if(f)a[d]=e.param!==undefined?
e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)?e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages;
return a},normalizeRule:function(a){if(typeof a=="string"){var b={};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a,
b)>0;default:return c.trim(a).length>0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(this.pending[b.name])return"pending";if(e.old===a)return e.valid;e.old=a;var f=this;this.startRequest(b);var g={};g[b.name]=a;c.ajax(c.extend(true,{url:d,
mode:"abort",port:"validate"+b.name,dataType:"json",data:g,success:function(h){f.settings.messages[b.name].remote=e.originalMessage;var j=h===true;if(j){var i=f.formSubmitted;f.prepareElement(b);f.formSubmitted=i;f.successList.push(b);f.showErrors()}else{i={};h=h||f.defaultMessage(b,"remote");i[b.name]=e.message=c.isFunction(h)?h(a):h;f.showErrors(i)}e.valid=j;f.stopRequest(b,j)}},d));return"pending"},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a,
b,d){return this.optional(b)||this.getLength(c.trim(a),b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(a)},
url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},
date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 -]+/.test(a))return false;var d=0,e=0,f=false;a=a.replace(/\D/g,"");for(var g=a.length-1;g>=
0;g--){e=a.charAt(g);e=parseInt(e,10);if(f)if((e*=2)>9)e-=9;d+=e;f=!f}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery);
(function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(d,e,f){e=d.port;if(d.mode=="abort"){a[e]&&a[e].abort();a[e]=f}});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;if(("mode"in d?d:c.ajaxSettings).mode=="abort"){a[e]&&a[e].abort();return a[e]=b.apply(this,arguments)}return b.apply(this,arguments)}}})(jQuery);
(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a,
b,d){return this.bind(b,function(e){var f=c(e.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery);

View File

@@ -0,0 +1,422 @@
/**
* @copyright Commercial License By LeoTheme.Com
* @email leotheme.com
* @visit http://www.leotheme.com
*/
(function($) {
$.widget("mjs.nestedSortable", $.extend({}, $.ui.sortable.prototype, {
options: {
tabSize: 20,
disableNesting: 'mjs-nestedSortable-no-nesting',
errorClass: 'mjs-nestedSortable-error',
doNotClear: false,
listType: 'ol',
maxLevels: 0,
protectRoot: false,
rootID: null,
rtl: false,
isAllowed: function(item, parent) { return true; }
},
_create: function() {
this.element.data('sortable', this.element.data('nestedSortable'));
if (!this.element.is(this.options.listType))
throw new Error('nestedSortable: Please check the listType option is set to your actual list type');
return $.ui.sortable.prototype._create.apply(this, arguments);
},
destroy: function() {
this.element
.removeData("nestedSortable")
.unbind(".nestedSortable");
return $.ui.sortable.prototype.destroy.apply(this, arguments);
},
_mouseDrag: function(event) {
//Compute the helpers position
this.position = this._generatePosition(event);
this.positionAbs = this._convertPositionTo("absolute");
if (!this.lastPositionAbs) {
this.lastPositionAbs = this.positionAbs;
}
var o = this.options;
//Do scrolling
if(this.options.scroll) {
var scrolled = false;
if(this.scrollParent[0] != document && this.scrollParent[0].tagName != 'HTML') {
if((this.overflowOffset.top + this.scrollParent[0].offsetHeight) - event.pageY < o.scrollSensitivity)
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop + o.scrollSpeed;
else if(event.pageY - this.overflowOffset.top < o.scrollSensitivity)
this.scrollParent[0].scrollTop = scrolled = this.scrollParent[0].scrollTop - o.scrollSpeed;
if((this.overflowOffset.left + this.scrollParent[0].offsetWidth) - event.pageX < o.scrollSensitivity)
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft + o.scrollSpeed;
else if(event.pageX - this.overflowOffset.left < o.scrollSensitivity)
this.scrollParent[0].scrollLeft = scrolled = this.scrollParent[0].scrollLeft - o.scrollSpeed;
} else {
if(event.pageY - $(document).scrollTop() < o.scrollSensitivity)
scrolled = $(document).scrollTop($(document).scrollTop() - o.scrollSpeed);
else if($(window).height() - (event.pageY - $(document).scrollTop()) < o.scrollSensitivity)
scrolled = $(document).scrollTop($(document).scrollTop() + o.scrollSpeed);
if(event.pageX - $(document).scrollLeft() < o.scrollSensitivity)
scrolled = $(document).scrollLeft($(document).scrollLeft() - o.scrollSpeed);
else if($(window).width() - (event.pageX - $(document).scrollLeft()) < o.scrollSensitivity)
scrolled = $(document).scrollLeft($(document).scrollLeft() + o.scrollSpeed);
}
if(scrolled !== false && $.ui.ddmanager && !o.dropBehaviour)
$.ui.ddmanager.prepareOffsets(this, event);
}
//Regenerate the absolute position used for position checks
this.positionAbs = this._convertPositionTo("absolute");
// Find the top offset before rearrangement,
var previousTopOffset = this.placeholder.offset().top;
//Set the helper position
if(!this.options.axis || this.options.axis != "y") this.helper[0].style.left = this.position.left+'px';
if(!this.options.axis || this.options.axis != "x") this.helper[0].style.top = this.position.top+'px';
//Rearrange
for (var i = this.items.length - 1; i >= 0; i--) {
//Cache variables and intersection, continue if no intersection
var item = this.items[i], itemElement = item.item[0], intersection = this._intersectsWithPointer(item);
if (!intersection) continue;
if(itemElement != this.currentItem[0] //cannot intersect with itself
&& this.placeholder[intersection == 1 ? "next" : "prev"]()[0] != itemElement //no useless actions that have been done before
&& !$.contains(this.placeholder[0], itemElement) //no action if the item moved is the parent of the item checked
&& (this.options.type == 'semi-dynamic' ? !$.contains(this.element[0], itemElement) : true)
//&& itemElement.parentNode == this.placeholder[0].parentNode // only rearrange items within the same container
) {
$(itemElement).mouseenter();
this.direction = intersection == 1 ? "down" : "up";
if (this.options.tolerance == "pointer" || this._intersectsWithSides(item)) {
$(itemElement).mouseleave();
this._rearrange(event, item);
} else {
break;
}
// Clear emtpy ul's/ol's
this._clearEmpty(itemElement);
this._trigger("change", event, this._uiHash());
break;
}
}
var parentItem = (this.placeholder[0].parentNode.parentNode &&
$(this.placeholder[0].parentNode.parentNode).closest('.ui-sortable').length)
? $(this.placeholder[0].parentNode.parentNode)
: null,
level = this._getLevel(this.placeholder),
childLevels = this._getChildLevels(this.helper);
// To find the previous sibling in the list, keep backtracking until we hit a valid list item.
var previousItem = this.placeholder[0].previousSibling ? $(this.placeholder[0].previousSibling) : null;
if (previousItem != null) {
while (previousItem[0].nodeName.toLowerCase() != 'li' || previousItem[0] == this.currentItem[0] || previousItem[0] == this.helper[0]) {
if (previousItem[0].previousSibling) {
previousItem = $(previousItem[0].previousSibling);
} else {
previousItem = null;
break;
}
}
}
// To find the next sibling in the list, keep stepping forward until we hit a valid list item.
var nextItem = this.placeholder[0].nextSibling ? $(this.placeholder[0].nextSibling) : null;
if (nextItem != null) {
while (nextItem[0].nodeName.toLowerCase() != 'li' || nextItem[0] == this.currentItem[0] || nextItem[0] == this.helper[0]) {
if (nextItem[0].nextSibling) {
nextItem = $(nextItem[0].nextSibling);
} else {
nextItem = null;
break;
}
}
}
var newList = document.createElement(o.listType);
this.beyondMaxLevels = 0;
// If the item is moved to the left, send it to its parent's level unless there are siblings below it.
if (parentItem != null && nextItem == null &&
(o.rtl && (this.positionAbs.left + this.helper.outerWidth() > parentItem.offset().left + parentItem.outerWidth()) ||
!o.rtl && (this.positionAbs.left < parentItem.offset().left))) {
parentItem.after(this.placeholder[0]);
this._clearEmpty(parentItem[0]);
this._trigger("change", event, this._uiHash());
}
// If the item is below a sibling and is moved to the right, make it a child of that sibling.
else if (previousItem != null &&
(o.rtl && (this.positionAbs.left + this.helper.outerWidth() < previousItem.offset().left + previousItem.outerWidth() - o.tabSize) ||
!o.rtl && (this.positionAbs.left > previousItem.offset().left + o.tabSize))) {
this._isAllowed(previousItem, level, level+childLevels+1);
if (!previousItem.children(o.listType).length) {
previousItem[0].appendChild(newList);
}
// If this item is being moved from the top, add it to the top of the list.
if (previousTopOffset && (previousTopOffset <= previousItem.offset().top)) {
previousItem.children(o.listType).prepend(this.placeholder);
}
// Otherwise, add it to the bottom of the list.
else {
previousItem.children(o.listType)[0].appendChild(this.placeholder[0]);
}
this._trigger("change", event, this._uiHash());
}
else {
this._isAllowed(parentItem, level, level+childLevels);
}
//Post events to containers
this._contactContainers(event);
//Interconnect with droppables
if($.ui.ddmanager) $.ui.ddmanager.drag(this, event);
//Call callbacks
this._trigger('sort', event, this._uiHash());
this.lastPositionAbs = this.positionAbs;
return false;
},
_mouseStop: function(event, noPropagation) {
// If the item is in a position not allowed, send it back
if (this.beyondMaxLevels) {
this.placeholder.removeClass(this.options.errorClass);
if (this.domPosition.prev) {
$(this.domPosition.prev).after(this.placeholder);
} else {
$(this.domPosition.parent).prepend(this.placeholder);
}
this._trigger("revert", event, this._uiHash());
}
// Clean last empty ul/ol
for (var i = this.items.length - 1; i >= 0; i--) {
var item = this.items[i].item[0];
this._clearEmpty(item);
}
$.ui.sortable.prototype._mouseStop.apply(this, arguments);
},
serialize: function(options) {
var o = $.extend({}, this.options, options),
items = this._getItemsAsjQuery(o && o.connected),
str = [];
$(items).each(function() {
var res = ($(o.item || this).attr(o.attribute || 'id') || '')
.match(o.expression || (/(.+)[-=_](.+)/)),
pid = ($(o.item || this).parent(o.listType)
.parent(o.items)
.attr(o.attribute || 'id') || '')
.match(o.expression || (/(.+)[-=_](.+)/));
if (res) {
str.push(((o.key || res[1]) + '[' + (o.key && o.expression ? res[1] : res[2]) + ']')
+ '='
+ (pid ? (o.key && o.expression ? pid[1] : pid[2]) : o.rootID));
}
});
if(!str.length && o.key) {
str.push(o.key + '=');
}
return str.join('&');
},
toHierarchy: function(options) {
var o = $.extend({}, this.options, options),
sDepth = o.startDepthCount || 0,
ret = [];
$(this.element).children(o.items).each(function () {
var level = _recursiveItems(this);
ret.push(level);
});
return ret;
function _recursiveItems(item) {
var id = ($(item).attr(o.attribute || 'id') || '').match(o.expression || (/(.+)[-=_](.+)/));
if (id) {
var currentItem = {"id" : id[2]};
if ($(item).children(o.listType).children(o.items).length > 0) {
currentItem.children = [];
$(item).children(o.listType).children(o.items).each(function() {
var level = _recursiveItems(this);
currentItem.children.push(level);
});
}
return currentItem;
}
}
},
toArray: function(options) {
var o = $.extend({}, this.options, options),
sDepth = o.startDepthCount || 0,
ret = [],
left = 2;
ret.push({
"item_id": o.rootID,
"parent_id": 'none',
"depth": sDepth,
"left": '1',
"right": ($(o.items, this.element).length + 1) * 2
});
$(this.element).children(o.items).each(function () {
left = _recursiveArray(this, sDepth + 1, left);
});
ret = ret.sort(function(a,b){ return (a.left - b.left); });
return ret;
function _recursiveArray(item, depth, left) {
var right = left + 1,
id,
pid;
if ($(item).children(o.listType).children(o.items).length > 0) {
depth ++;
$(item).children(o.listType).children(o.items).each(function () {
right = _recursiveArray($(this), depth, right);
});
depth --;
}
id = ($(item).attr(o.attribute || 'id')).match(o.expression || (/(.+)[-=_](.+)/));
if (depth === sDepth + 1) {
pid = o.rootID;
} else {
var parentItem = ($(item).parent(o.listType)
.parent(o.items)
.attr(o.attribute || 'id'))
.match(o.expression || (/(.+)[-=_](.+)/));
pid = parentItem[2];
}
if (id) {
ret.push({"item_id": id[2], "parent_id": pid, "depth": depth, "left": left, "right": right});
}
left = right + 1;
return left;
}
},
_clearEmpty: function(item) {
var emptyList = $(item).children(this.options.listType);
if (emptyList.length && !emptyList.children().length && !this.options.doNotClear) {
emptyList.remove();
}
},
_getLevel: function(item) {
var level = 1;
if (this.options.listType) {
var list = item.closest(this.options.listType);
while (list && list.length > 0 &&
!list.is('.ui-sortable')) {
level++;
list = list.parent().closest(this.options.listType);
}
}
return level;
},
_getChildLevels: function(parent, depth) {
var self = this,
o = this.options,
result = 0;
depth = depth || 0;
$(parent).children(o.listType).children(o.items).each(function (index, child) {
result = Math.max(self._getChildLevels(child, depth + 1), result);
});
return depth ? result + 1 : result;
},
_isAllowed: function(parentItem, level, levels) {
var o = this.options,
isRoot = $(this.domPosition.parent).hasClass('ui-sortable') ? true : false,
maxLevels = this.placeholder.closest('.ui-sortable').nestedSortable('option', 'maxLevels'); // this takes into account the maxLevels set to the recipient list
// Is the root protected?
// Are we trying to nest under a no-nest?
// Are we nesting too deep?
if (!o.isAllowed(this.currentItem, parentItem) ||
parentItem && parentItem.hasClass(o.disableNesting) ||
o.protectRoot && (parentItem == null && !isRoot || isRoot && level > 1)) {
this.placeholder.addClass(o.errorClass);
if (maxLevels < levels && maxLevels != 0) {
this.beyondMaxLevels = levels - maxLevels;
} else {
this.beyondMaxLevels = 1;
}
} else {
if (maxLevels < levels && maxLevels != 0) {
this.placeholder.addClass(o.errorClass);
this.beyondMaxLevels = levels - maxLevels;
} else {
this.placeholder.removeClass(o.errorClass);
this.beyondMaxLevels = 0;
}
}
}
}));
$.mjs.nestedSortable.prototype.options = $.extend({}, $.ui.sortable.prototype.options, $.mjs.nestedSortable.prototype.options);
})(jQuery);

View File

@@ -0,0 +1,722 @@
/**
* @copyright Commercial License By LeoTheme.Com
* @email leotheme.com
* @visit http://www.leotheme.com
*/
(function($) {
$.fn.PavMegamenuEditor = function(opts) {
// default configuration
var config = $.extend({}, {
lang:null,
opt1: null,
action:null,
action_menu:null,
id_shop:null,
text_warning_select:'Please select One to remove?',
text_confirm_remove:'Are you sure to remove footer row?',
JSON:null
}, opts);
/**
* active menu
*/
var activeMenu = null;
/**
* fill data values for top level menu when clicked menu.
*/
function processMenu( item , _parent, _megamenu ){
$(".form-setting").hide();
$("#menu-form").show();
$.each( $("#menu-form form").serializeArray(), function(i, input ){
var val = '';
if( $(_parent).data( input.name.replace("menu_","")) ){
val = $(_parent).data( input.name.replace("menu_",""));
}
$('[name='+input.name+']',"#menu-form").val( val );
});
}
/**
* fill data values for top level menu when clicked Sub menu.
*/
function processSubMenu( item , _parent, _megamenu ){
var pos = $(item).offset();
$('#submenu-form').css('left',pos.left - 30 );
$('#submenu-form').css('top',pos.top - $('#submenu-form').height() );
$("#submenu-form").show();
$.each( $("#submenu-form form").serializeArray(), function(i, input ){
$('[name='+input.name+']',"#submenu-form").val( $(_parent).data( input.name.replace("submenu_","")) );
} ) ;
}
/**
* menu form handler
*/
function menuForm(){
$("input, select","#menu-form").change( function (){
if( activeMenu ){
if( $(this).hasClass('menu_submenu') ) {
var item = $("a",activeMenu);
if( $(this).val() && $(this).val() == 1 && !$(item).hasClass( 'dropdown-toggle' ) ) {
$(item).addClass( 'dropdown-toggle' );
$(item).attr( 'data-toggle', 'leo-dropdown' );
var div = '<div class="dropdown-sub dropdown-menu"><div class="dropdown-menu-inner"><div class="row active"></div></div></div>';
$(activeMenu).addClass('parent').addClass('dropdown');
$(activeMenu).append( div );
} else {
if($(activeMenu).find(".dropdown-menu").length != 0){
if(!confirm('Remove Sub Menu ?')) return false;
$(".dropdown-menu",activeMenu).remove();
$(".caret",activeMenu).remove();
}
}
$(activeMenu).data('submenu', $(this).val() );
}else if( $(this).hasClass('menu_subwidth') ){
var width = parseInt( $(this).val() );
if( width > 200 ){
$(".dropdown-menu", activeMenu ).width( width );
$(activeMenu).data('subwidth', width );
}
}
else if( $(this).attr('name') == 'submenu_group' ){
if( $(this).val() == 1 ){
$(activeMenu).addClass('mega-group');
$(activeMenu).children(".dropdown-menu").addClass('dropdown-sub dropdown-mega').removeClass('dropdown-menu');
}else {
$(activeMenu).removeClass('mega-group');
$(activeMenu).children(".dropdown-mega").addClass('dropdown-sub dropdown-menu').removeClass('dropdown-mega');
}
$( activeMenu ).data('group', $(this).val() );
}
}
} );
}
/**
* submenu handler.
*/
/**
* listen Events to operator Elements of MegaMenu such as link, colum, row and Process Events of buttons of setting forms.
*/
function listenEvents( $megamenu ){
/**
* Link Action Event Handler.
*/
$('.form-setting').hide();
$( 'a', $megamenu ).click( function(event){
if($(this).hasClass("has-subhtml")){
alert("Can not add widget beacause: this menu have sub menu type is html");
// event.stopPropagation();
return false;
}
if($(this).parent().data("subwith") != 'widget'){
alert("Can not add widget beacause: this menu have sub menu type with none or submenu");
// event.stopPropagation();
// console.log('aaa');
return false;
}
// console.log('test');
var $this = this;
var $parent = $(this).parent();
/* remove all current row and column are actived */
$(".row", $megamenu).removeClass('active');
$(".mega-col", $megamenu).removeClass('active');
// if( $parent.parent().hasClass('megamenu') ){
var pos = $(this).offset();
$('#menu-form').css('left',pos.left - 30 );
$('#menu-form').css('top',pos.top - $('#menu-form').height() );
// }
activeMenu = $parent;
if($parent.data("submenu") != 1){
$(".menu_submenu").val(0);
}
else{
$(".menu_submenu").val(1);
}
if($parent.data("group") != 1){
$(".submenu_group").val(0);
}
else{
$(".submenu_group").val(1);
}
if( activeMenu.data("align") ){
$(".button-alignments button").removeClass("active");
$( '[data-option="'+activeMenu.data("align") +'"]').addClass("active");
}
$(".menu_subwidth").val($parent.data("subwidth"));
if( $parent.hasClass('dropdown-submenu') ){
$( ".dropdown-submenu", $parent.parent() ).removeClass( 'open' );
// console.log('test');
$parent.addClass('open');
processSubMenu( $this, $parent, $megamenu );
}else {
if( $parent.parent().hasClass('megamenu') ){
$("ul.navbar-nav > li" ).removeClass('open');
}
// console.log('test1');
$parent.addClass('open');
processMenu ( $this, $parent, $megamenu );
}
if($(this).hasClass("has-category")){
$(".group-submenu").hide();
}
else{
$(".group-submenu").show();
}
event.stopPropagation();
return false;
});
/**
* Row action Events Handler
*/
$("#menu-form .add-row").click( function(){
var row = $( '<div class="row"></div>' );
var child = $(activeMenu).children('.dropdown-menu').children('.dropdown-menu-inner');
child.append( row );
child.children(".row").removeClass('active');
row.addClass('active');
});
$("#menu-form .remove-row").click( function(){
if( activeMenu ){
var hasMenuType = false;
$(".row.active", activeMenu).children('.mega-col').each( function(){
if( $(this).data('type') == 'menu' ){
hasMenuType = true;
}
});
if( hasMenuType == false ){
$(".row.active", activeMenu).remove();
}else {
alert( 'You can remove Row having Menu Item(s) Inside Columns' );
return true;
}
removeRowActive();
}
});
$($megamenu).delegate( '.row', 'click', function(e){
$(".row",$megamenu).removeClass('active');
$(this).addClass('active');
e.stopPropagation();
});
/**
* Column action Events Handler
*/
$("#menu-form .add-col").click( function(){
if ( activeMenu ){
var num = 6;
var col = $( '<div class="col-sm-'+num+' mega-col active"><div></div></div>' );
$(".mega-col",activeMenu).removeClass('active');
$( ".row.active", activeMenu ).append( col );
col.data( 'colwidth', num );
var cols = $(".dropdown-menu .mega-col", activeMenu ).length;
$(activeMenu).data('cols', cols);
}
} );
$(".remove-col").click( function(){
if( activeMenu ){
if( $(".mega-col.active", activeMenu).data('type') == 'menu' ) {
alert('You could not remove this column having menu item(s)');
return true;
}else {
$(".mega-col.active", activeMenu).remove();
}
}
removeColumnActive();
} );
$($megamenu).delegate('.leo-widget', 'mousemove', function(e){
if($(this).data('id_widget')){
var keywidget = $(this).data('id_widget');
if(keywidget)
$(".inject_widget_name option").each(
function(){
var value = $(this).val();
if(value && value == keywidget)
$(this).attr('selected', 'selected');
}
);
}
$(".leo-widget",$megamenu).removeClass('active');
$(this).addClass('active');
$('.inject_widget_name').prop('disabled','disabled');
});
$($megamenu).delegate('.leo-widget', 'mouseleave', function(e){
$('.inject_widget_name').removeAttr('disabled');
});
$($megamenu).delegate( '.mega-col', 'click', function(e){
$(".mega-col",$megamenu).removeClass('active');
$(this).addClass('active');
var pos = $(this).offset();
$("#column-form").css({'top':pos.top-$("#column-form").height(), 'left':pos.left}).show();
if( $(this).data('type') != 'menu' ){
$("#widget-form").css({'top':pos.top+$(this).height()-15, 'left':pos.left}).show();
$('.inject_widget').removeAttr('disabled');
}else{
$("#widget-form").hide();
}
$(".row",$megamenu).removeClass('active');
$(this).parent().addClass('active');
$.each( $(this).data(), function( i, val ){
$('[name='+i+']','#column-form').val( val );
} );
e.stopPropagation();
} );
/**
* Column Form Action Event Handler
*/
$('input, select', '#column-form').change( function(){
if( activeMenu ) {
var col = $( ".mega-col.active", activeMenu );
if( $(this).hasClass('colwidth') ){
var cls = $(col).attr('class').replace(/col-sm-\d+/,'');
$(col).attr('class', cls + ' col-sm-' + $(this).val() );
$(col).attr('data-colwidth', $(this).val() );
}
$(col).data( $(this).attr('name') ,$(this).val() );
}
} );
$(".form-setting").each( function(){
var $p = $(this);
$(".popover-title span",this).click( function(){
if( $p.attr('id') == 'menu-form' ){
removeMenuActive();
}else if( $p.attr('id') == 'column-form' ){
removeColumnActive();
}else {
$('#widget-form').hide();
}
} );
} );
$( ".form-setting" ).draggable();
/**
* inject widgets
*/
$("#btn-inject-widget").click( function(){
var wid = $('select', $(this).parent() ).val();
if( wid > 0 ){
var col = $( ".mega-col.active", activeMenu );
var a = $(col).data( 'widgets') ;
if( $(col).data( 'widgets') ){
if( $(col).data( 'widgets').indexOf("wid-"+wid ) == -1 ) {
$(col).data( 'widgets', a +"|wid-"+wid );
}
}else {
$(col).data( 'widgets', "wid-"+wid );
}
$(col).children('div').html('<div class="loading">Loading....</div>');
var allWidgets = {};
$("#megamenu-content #mainmenutop .mega-col").each( function() {
var objHook = {};
var col = $(this);
if( $(col).data( 'widgets') && $(col).data("type") != "menu" ){
objHook['id_widget'] = $(col).data( 'widgets');
objHook['id_shop'] = config.id_shop;
allWidgets[$(col).data( 'widgets')] = objHook;
}
});
$.ajax({
url: config.action_widget,
cache: false,
data: {
ajax : true,
allWidgets : 1,
dataForm : JSON.stringify(allWidgets),
},
type:'POST',
}).done(function( jsonData ) {
var jsonData = jQuery.parseJSON(jsonData);
$(col).children('div').html( jsonData[$(col).data( 'widgets')]['html'] );
runEventTabWidget();
});
}else {
alert( 'Please select a widget to inject' );
}
} );
/**
* create new widget
*/
$("#btn-create-widget").click( function(){
$(".leo-modal-action").trigger('click');
});
/**
* unset mega menu setting
*/
$("#unset-data-menu").click( function(){
if( confirm('Are you sure to reset megamenu configuration') ){
$.ajax({
url: config.action,
data: 'doreset=1&id_shop='+config.id_shop,
type:'POST',
}).done(function( data ) {
location.reload();
});
}
return false;
} );
$($megamenu).delegate( '.leo-widget', 'hover', function(){
//$(".row",$megamenu).removeClass('active');
// $(this).addClass('active');
var w = $(this);
var col = $(this).parent().parent();
if( $(this).find('.w-setting').length<= 0 ){
var _s = $('<span class="w-setting"></span>');
$(w).append(_s);
_s.click( function(){
var dws = "|" + col.data('widgets');
dws = dws.replace("|wid-" + $(w).attr('data-id_widget'),'' ).substring(1);
col.data('widgets',dws);
$(w).remove();
} );
}
});
$(".button-aligned button").click( function(){
if( activeMenu ){
$(".button-aligned button").removeClass( "active");
$(this).addClass( 'active' );
$(activeMenu).data( 'align', $(this).data("option") );
var cls = $( activeMenu ).attr("class").replace(/aligned-\w+/,"");
$( activeMenu ).attr( 'class', cls );
$( activeMenu ).addClass( $(this).data("option") );
}
} );
}
/**
* remove active status for current row.
*/
function removeRowActive(){
$('#column-form').hide();
$( "#mainmenutop .row.active" ).removeClass('active');
}
/**
* remove column active and hidden column form.
*/
function removeColumnActive(){
$('#column-form').hide();$('#widget-form').hide();
$( "#mainmenutop .mega-col.active" ).removeClass('active');
}
/**
* remove active status for current menu, row and column and hidden all setting forms.
*/
function removeMenuActive(){
$('.form-setting').hide();
$( "#mainmenutop .open" ).removeClass('open');
$( "#mainmenutop .row.active" ).removeClass('active');
$( "#mainmenutop .mega-col.active" ).removeClass('active');
if( activeMenu ) {
activeMenu = null;
}
}
/**
* process saving menu data using ajax request. Data Post is json string
*/
function saveMenuData(){
// var output = new Array();
var output = {};
$("#megamenu-content #mainmenutop li.parent.enablewidget").each( function() {
var data = $(this).data();
var id_menu = data.id;
data.rows = new Array();
//remove id property
delete data.id;
$(this).children('.dropdown-menu').children('div').children('.row').each( function(){
var row = new Object();
row.cols = new Array();
$(this).children(".mega-col" ).each( function(){
row.cols.push( $(this).data() );
} );
data.rows.push(row);
} );
// output.push( data );
output[id_menu] = data;
} );
// console.log(output);
// console.log(JSON.stringify( output ));
// return false;
var j = JSON.stringify( output );
var params = 'params='+j;
$.ajax({
url: config.action_menu,
data:params+'&id_shop='+config.id_shop,
type:'POST',
}).done(function( data ) {
location.reload();
});
}
/**
* Make Ajax request to fill widget content into column
*/
function loadWidgets(){
$("#leo-progress").hide();
var ajaxCols = new Array();
$("#megamenu-content #mainmenutop .mega-col").each( function() {
var col = $(this);
if( $(col).data( 'widgets') && $(col).data("type") != "menu" ){
ajaxCols.push( col );
}
});
var cnt = 0;
if( ajaxCols.length > 0 ){
$("#leo-progress").show();
$("#megamenu-content").hide();
}
var check_end = 0;
// ONE ALL WIDGETS ONE AJAX - BEGIN
var allWidgets = {};
$("#megamenu-content #mainmenutop .mega-col").each( function() {
var objHook = {};
var col = $(this);
if( $(col).data( 'widgets') && $(col).data("type") != "menu" ){
objHook['id_widget'] = $(col).data( 'widgets');
objHook['id_shop'] = config.id_shop;
allWidgets[$(col).data( 'widgets')] = objHook;
}
});
$.ajax({
url: config.action_widget,
cache: false,
data: {
ajax : true,
allWidgets : 1,
dataForm : JSON.stringify(allWidgets),
},
type:'POST',
}).done(function( jsonData ) {
//console.log(jsonData);
var jsonData = jQuery.parseJSON(jsonData);
$.each( ajaxCols, function (i, col) {
col.children('div').html( jsonData[$(col).data( 'widgets')]['html'] );
cnt++;
$("#leo-progress .progress-bar").css("width", (cnt*100)/ajaxCols.length+"%" );
if( ajaxCols.length == cnt ){
$("#megamenu-content").delay(1000).fadeIn();
$("#leo-progress").delay(1000).fadeOut();
}
$( "a", col ).not(".tab-link").attr( 'href', '#megamenu-content' );
if (check_end === ajaxCols.length-1)
{
runEventTabWidget();
}
check_end++;
});
});
return;
// ONE ALL WIDGETS ONE AJAX - END
// $.each( ajaxCols, function (i, col) {
// $.ajax({
// url: config.action_widget,
// data:'widgets='+$(col).data( 'widgets')+'&id_shop='+config.id_shop,
// type:'POST',
// }).done(function( data ) {
// col.children('div').html( data );
// cnt++;
// $("#leo-progress .progress-bar").css("width", (cnt*100)/ajaxCols.length+"%" );
// if( ajaxCols.length == cnt ){
// $("#megamenu-content").delay(1000).fadeIn();
// $("#leo-progress").delay(1000).fadeOut();
// }
// $( "a", col ).not(".tab-link").attr( 'href', '#megamenu-content' );
// if (check_end === ajaxCols.length-1)
// {
// runEventTabWidget();
// }
// check_end++;
// });
// });
}
/**
* reload menu data using in ajax complete and add healders to process events.
*/
function reloadMegamenu(){
var megamenu = $("#megamenu-content #mainmenutop");
$( "a", megamenu ).attr( 'href', '#' );
$( '[data-toggle="dropdown"]', megamenu ).attr('data-toggle','leo-dropdown');
listenEvents( megamenu );
//submenuForm();
menuForm();
loadWidgets();
}
/**
* initialize every element
*/
this.each(function() {
var megamenu = this;
$("#form-setting").hide();
$.ajax({
url: config.action,
}).done(function( data ) {
$("#megamenu-content").html( data );
reloadMegamenu( );
$("#save-data-menu").click( function(){
saveMenuData();
} );
});
});
return this;
};
})(jQuery);
$(document).ready(function(){
//js for widget image gallery product
$(".fancybox").fancybox({
openEffect : 'none',
closeEffect : 'none'
});
//js for widget newsletter
if ( typeof placeholder !== 'undefined')
{
$('#newsletter-input-footer').on({
focus: function() {
if ($(this).val() == placeholder) {
$(this).val('');
}
},
blur: function() {
if ($(this).val() == '') {
$(this).val(placeholder);
}
}
});
$("#newsletter_block_footer form").submit( function(){
if ( $('#newsletter-input-footer').val() == placeholder) {
$("#newsletter_block_footer .alert").removeClass("hide");
return false;
}else {
$("#newsletter_block_footer .alert").addClass("hide");
return true;
}
} );
}
//js for tab html
// if ( typeof list_tab_live_editor !== 'undefined' && list_tab_live_editor.length > 0)
// {
// $.each(list_tab_live_editor,function(key, val){
// $('#tabhtml'+val+' .nav a').click(function (e) {
// e.preventDefault();
// $(this).tab('show');
// })
// });
// }
})
//call event for tab widget at live editor
function runEventTabWidget()
{
if ( typeof list_tab_live_editor !== 'undefined' && list_tab_live_editor.length > 0)
{
$.each(list_tab_live_editor,function(key, val){
$('#tabhtml'+val+' .nav a').click(function (e) {
e.preventDefault();
$(this).tab('show');
})
});
}
//js for widget image gallery category
if ( typeof level !== 'undefined' && typeof limit !== 'undefined')
{
$('.widget-category_image ul.level0').each(function(){
$(this).find('ul').removeClass('dropdown-sub dropdown-menu');
});
$(".widget-category_image ul.level0").each(function() {
var check_level = $(this).parents('.widget-category_image').data('level');
var check_limit = $(this).parents('.widget-category_image').data('limit');
//remove .caret by check level
$(this).find("ul.level" + check_level).parent().find('.caret').remove();
//remove ul by check level
$(this).find("ul.level" + check_level + " li").remove();
var element = $(this).find("ul.level" + (check_level - 1) + " li").length;
var count = 0;
if(check_level > 0) {
$(this).find("ul.level" + (check_level - 1) + " >li").each(function(){
count = count + 1;
if(count > check_limit){
$(this).remove();
}
});
}
});
}
}

View File

@@ -0,0 +1,669 @@
/**
* @copyright Commercial License By LeoTheme.Com
* @email leotheme.com
* @visit http://www.leotheme.com
*/
$(document).ready(function(){
$("#pcategories").closest(".form-group").hide();
$("#ptype").closest(".form-group").hide();
$("#pproductids").closest(".form-group").hide();
$("#pmanufacturers").closest(".form-group").hide();
$( "#source option:selected" ).each(function() {
$("#limit").closest(".form-group").hide();
var val = $(this).val();
$("#"+val).closest(".form-group").show(500);
if( val != 'pproductids'){
$("#limit").closest(".form-group").show(500);
}
});
$("#source").change(function(){
$("#pcategories").closest(".form-group").hide();
$("#ptype").closest(".form-group").hide();
$("#pproductids").closest(".form-group").hide();
$("#pmanufacturers").closest(".form-group").hide();
$("#limit").closest(".form-group").hide();
var val = $(this).val();
$("#"+val).closest(".form-group").show(500);
if(val != 'pproductids')
$("#limit").closest(".form-group").show(500);
});
//for imageproduct widget
$("#ip_pcategories").closest(".form-group").hide();
$("#ip_pproductids").closest(".form-group").hide();
$( "#ip_source option:selected" ).each(function() {
var val = $(this).val();
$("#"+val).closest(".form-group").show();
});
$("#ip_source").change(function(){
$("#ip_pcategories").closest(".form-group").hide();
$("#ip_pproductids").closest(".form-group").hide();
var val = $(this).val();
$("#"+val).closest(".form-group").show(500);
});
//done for imageproduct widget
//for category_image widget
//hide checkbox of root node
$("input[type=checkbox]", "#image_cate_tree").first().hide();
var root_id = $("input[type=checkbox]", "#image_cate_tree").first().val();
Array.prototype.remove = function(v) { this.splice(this.indexOf(v) == -1 ? this.length : this.indexOf(v), 1); }
var selected_images = {};
if($("#category_img").val()){
selected_images = JSON.parse($("#category_img").val());
}
$("input[type=checkbox]", "#image_cate_tree").click(function(){
if($(this).is(":checked")){
//find parent category
//all parent category must be not checked
var check = checkParentNodes($(this));
if(!check){
$(this).prop("checked",false);
alert("All parent of this category must be not checked");
}
}else{
$(".list-image-"+$(this).val()).remove();
delete selected_images[$(this).val()];
}
});
$(".list-image a").click(function(){
var selText = $(this).text();
$(this).parents('.btn-group').find('.dropdown-toggle').html(selText+' <span class="caret"></span>');
$(this).parents('.btn-group').find('.dropdown-menu').hide();
if(selText != "none"){
cate_id = $(this).parents('.btn-group').find('.dropdown-toggle').closest("li").find("input[type=checkbox]").val();
selected_images[cate_id] = selText.trim();
}
return false;
});
$(".dropdown-toggle").click(function(){
$(this).parents('.btn-group').find('.dropdown-menu').show();
return false;
});
$(".list-image .dropdown-menu").mouseleave(function(){
$(".list-image .dropdown-menu").hide();
return false;
});
$('[name="saveleowidget"].sub_categories').click(
function(){
$("#category_img").val(JSON.stringify(selected_images));
});
$('[name="saveandstayleowidget"].sub_categories').click(
function(){
$("#category_img").val(JSON.stringify(selected_images));
});
// show selected_image when loaded page
$("input[type=checkbox]", $(".form-select-icon")).each(function(){
if($(this).val() != root_id){
listImage = $(".list-image","#list_image_wrapper").clone(1);
listImage.addClass("list-image-"+$(this).val());
listImage.appendTo($(this).closest("li").find("span").first());
}
for(var key in selected_images){
if(key == $(this).val()){
image_name = selected_images[key];
listImage.find(".dropdown-toggle").html(image_name+' <span class="caret"></span>');
break;
}
}
//$(this).closest("ul.tree").css("display", "none");
});
//$("ul.tree").css("display", "none");
function checkParentNodes(obj){
var flag = true;
if(parent = obj.closest("ul").closest("li").find("input[type=checkbox]")){
if(parent.val() != root_id){
if($("input[value=" + parent.val() + "]","#image_cate_tree").is(":checked")){
flag = false;
}else{
flag = checkParentNodes(parent);
}
}
}
return flag;
}
//update link type
_updateLinkType();
$("#link_type").on('change',_updateLinkType);
var array_id_lang = [];
if (typeof list_id_lang !== "undefined")
{
array_id_lang = $.parseJSON(list_id_lang);
}
//hiden tmp form
$('.tmp').each(function(){
if($(this).closest(".translatable-field").length)
{
// console.log($(this).closest(".form-group"));
// console.log($(this).closest(".form-group").closest(".form-group"));
if($(this).hasClass('element'))
{
var id = $(this).attr('id');
id = id.substring(0, id.lastIndexOf('_'));
var index = id.substring(id.lastIndexOf('_')+1);;
// console.log(index);
$(this).closest(".form-group").parents(".form-group").addClass('element-tmp hidden element-'+index);
}
else
{
$(this).closest(".form-group").parents(".form-group").addClass('parent-tmp hidden');
}
if(!$(this).closest(".form-group").find('.copy_lang_value').length)
$(this).closest(".form-group").append("<button class='btn btn-info copy_lang_value'>"+copy_lang_button_text+"</button>");
}
else
{
if($(this).hasClass('element'))
{
var id = $(this).attr('id');
if(array_id_lang.length == 1 && $(this).hasClass('element-lang'))
{
// console.log(array_id_lang.length);
id = id.substring(0, id.lastIndexOf('_'));
}
var index = id.substring(id.lastIndexOf('_')+1);;
// console.log(index);
$(this).closest(".form-group").addClass('element-tmp hidden element-'+index);
}
else
{
$(this).closest(".form-group").addClass('parent-tmp hidden');
}
}
});
//display link group when edit block link
if ($('#list_id_link').length && $('#list_id_link').val() != '')
{
var list_id_link = $('#list_id_link').val().split(',');
var button_tmp = "<div class='form-group'>";
button_tmp += "<div class='col-lg-3'></div>";
button_tmp += "<div class='col-lg-9'>";
button_tmp += "<button class='btn btn-primary duplicate_link'>"+duplicate_button_text+"</button>";
button_tmp += "<button class='btn btn-danger remove_link'>"+remove_button_text+"</button>";
button_tmp += '</div>';
button_tmp += '</div>';
button_tmp += '</div>';
$.each(list_id_link, function( index, value ) {
if (value != '')
{
//$("[id^=text_link_"+value+"]");
// if($("[id^=text_link_"+value+"]").closest('.form-group').find('.translatable-field').length)
// $("[id^=text_link_"+value+"]").closest('.form-group').parents('.element-tmp').before('<div class="link_group new"><hr>');
// else
// $("[id^=text_link_"+value+"]").closest('.element-tmp').before('<div class="link_group new"><hr>');
// if($("[id^=controller_type_parameter_"+value+"]").closest('.form-group').find('.translatable-field').length)
// $("[id^=controller_type_parameter_"+value+"]").closest('.form-group').parents('.element-tmp').after(button_tmp);
// else
// $("[id^=controller_type_parameter_"+value+"]").closest('.element-tmp').after(button_tmp);
$('.element-'+value).wrapAll('<div class="link_group new">');
$('.link_group.new').prepend('<hr>');
$('.link_group.new').append(button_tmp);
$('.link_group.new').data('index',value);
$('.link_group.new .element-tmp').removeClass('element-tmp hidden');
$('.link_group.new').removeClass('new');
_updateLinkType(value);
$("#link_type_"+value).on('change',function(){
_updateLinkType(value);
});
}
});
$(".link_group:odd").css("background-color", "#DAE4F0");
$(".link_group:even").css("background-color", "#FFFFFF");
}
//add new link
// console.log(array_id_lang[0]);
// console.log(array_id_lang[1]);
$('.add-new-link').on('click',function(e){
e.preventDefault();
// var total_link = parseInt($("#total_link").val()) + 1;
var total_link = getMaxIndex();
var i=0;
var new_link_tmp = '';
$('.parent-tmp.hidden').each(function(){
if (i == 0)
{
//$('.add-new-link').closest('.form-group').parent().append('<div class="link_group"><hr>');
new_link_tmp += '<div class="link_group new"><hr>';
}
new_link_tmp += '<div class="form-group">'+$(this).html()+'</div>';
// $('.add-new-link').closest('.form-group').parent().append('<div class="form-group new">'+$(this).html()+'</div>');
i++;
if (i == $('.parent-tmp.hidden').length)
{
// console.log('test');
// $('.add-new-link').closest('.form-group').parent().append('</div>');
new_link_tmp += "<div class='form-group'>";
new_link_tmp += "<div class='col-lg-3'></div>";
new_link_tmp += "<div class='col-lg-9'>";
new_link_tmp += "<button class='btn btn-primary duplicate_link'>"+duplicate_button_text+"</button>";
new_link_tmp += "<button class='btn btn-danger remove_link'>"+remove_button_text+"</button>";
new_link_tmp += '</div>';
new_link_tmp += '</div>';
new_link_tmp += '</div>';
}
});
$('.add-new-link').closest('.form-group').parent().append(new_link_tmp);
$('.link_group.new').data('index',total_link);
updateNewLink(total_link, true , 0);
});
//duplicate link - block link
$('.duplicate_link').live('click',function(e){
e.preventDefault();
//var html_duplicate = $(this).closest('.link_group').html();
var html_duplicate = $(this).closest('.link_group').clone().prop('class', 'link_group new');
// console.log(html_duplicate);
//html_duplicate.filter('.link_group').prop('class', 'link_group new');
//var total_link = parseInt($("#total_link").val()) + 1;
var total_link = getMaxIndex();
$(this).closest('.link_group').after(html_duplicate);
var current_index = $(this).closest('.link_group').data('index');
$('.link_group.new').data('index',total_link);
updateNewLink(total_link, false, current_index);
});
//remove link - block link
$('.remove_link').live('click',function(e){
e.preventDefault();
if (confirm('Are you sure you want to delete?')) {
//console.log($(this).find('.tmp'));
$(this).closest('.link_group').find('.tmp').each(function(){
// console.log($(this).attr('name'));
var name_val = $(this).attr('name');
if($(this).closest(".translatable-field").length)
{
name_val = name_val.substring(0, name_val.lastIndexOf('_'));
updateField('remove',name_val,true);
}
else
{
updateField('remove',name_val,false);
}
});
$(this).closest('.link_group').fadeOut(function(){
$(this).remove();
$(".link_group:odd").css( "background-color", "#DAE4F0" );
$(".link_group:even").css( "background-color", "#FFFFFF" );
var total_link = parseInt($("#total_link").val())-1;
$("#total_link").val(total_link);
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
});
}
});
//copy to other language - block link
$('.copy_lang_value').live('click',function(e){
e.preventDefault();
// console.log('test');
// console.log($(this).parent().find('.translatable-field:visible'));
var value_copy = $(this).parent().find('.translatable-field:visible input').val();
// console.log($(this).parent().find('.translatable-field:hidden'));
$(this).parent().find('.translatable-field:hidden input').val(value_copy);
$(this).text(copy_lang_button_text_done);
var ele_obj = $(this);
// console.log(value_copy);
//copy_lang_button_text_done
setTimeout(function(){
ele_obj.text(copy_lang_button_text);
}, 2000);
});
//update value of input select - block link
// $('.link_group input').live('keyup',function(){
// console.log($(this).val());
// })
$('.link_group select').live('change',function(){
if($(this).val() != $(this).find('option[selected=selected]').val())
{
$(this).find('option[selected=selected]').removeAttr("selected");
$(this).find('option[value='+$(this).val()+']').attr('selected','selected');
}
});
//done for category_image widget
// Check type of Carousel type - BEGIN
$('.form-action').change(function(){
elementName = $(this).attr('name');
$('.'+elementName+'_sub').hide(300);
$('.'+elementName+'-'+$(this).val()).show(500);
});
$('.form-action').trigger("change");
// Check type of Carousel type - END
$("#configuration_form").validate({
rules : {
owl_items : {
min : 1,
},
owl_rows : {
min : 1,
}
}
});
});
function getMaxIndex()
{
if($('.link_group').length == 0)
{
return 1;
}
else
{
var list_index = [];
$('.link_group').each(function(){
list_index.push($(this).data('index'));
})
// console.log(list_index);
return Math.max.apply(Math,list_index) + 1;
// console.log(total_link);
}
}
//update when add a new link
function updateNewLink(total_link, scroll_to_new_e, current_index)
{
// console.log(id_language);
var array_id_lang = $.parseJSON(list_id_lang);
updateField('add','text_link_'+total_link,true);
updateField('add','url_type_'+total_link,true);
updateField('add','controller_type_parameter_'+total_link,true);
// console.log($('.link_group.new .form-group .tmp').closest(".translatable-field").length);
$('.link_group.new .form-group .tmp').each(function(){
var e_obj = $(this);
if($(this).closest(".translatable-field").length)
{
// console.log('aaaa');
$.each(array_id_lang, function( index, value ) {
// if (current_index == 0)
// {
// switch(e_obj.attr('id'))
// {
// case 'text_link_'+value:
// e_obj.attr('id','text_link_'+total_link+'_'+value);
// e_obj.attr('name','text_link_'+total_link+'_'+value);
// break;
// case 'url_type_'+value:
// e_obj.attr('id','url_type_'+total_link+'_'+value);
// e_obj.attr('name','url_type_'+total_link+'_'+value);
// break;
// case 'controller_type_parameter_'+value:
// e_obj.attr('id','controller_type_parameter_'+total_link+'_'+value);
// e_obj.attr('name','controller_type_parameter_'+total_link+'_'+value);
// break;
// }
// }
// else
// {
// console.log('test');
// console.log(e_obj.attr('id'));
switch(e_obj.attr('id'))
{
case 'text_link_'+current_index+'_'+value:
e_obj.attr('id','text_link_'+total_link+'_'+value);
e_obj.attr('name','text_link_'+total_link+'_'+value);
break;
case 'url_type_'+current_index+'_'+value:
e_obj.attr('id','url_type_'+total_link+'_'+value);
e_obj.attr('name','url_type_'+total_link+'_'+value);
break;
case 'controller_type_parameter_'+current_index+'_'+value:
e_obj.attr('id','controller_type_parameter_'+total_link+'_'+value);
e_obj.attr('name','controller_type_parameter_'+total_link+'_'+value);
break;
}
// }
});
}
else
{
// console.log(array_id_lang.length);
if(array_id_lang.length == 1)
{
switch(e_obj.attr('id'))
{
case 'text_link_'+current_index+'_'+id_lang:
e_obj.attr('id','text_link_'+total_link+'_'+id_lang);
e_obj.attr('name','text_link_'+total_link+'_'+id_lang);
break;
case 'url_type_'+current_index+'_'+id_lang:
e_obj.attr('id','url_type_'+total_link+'_'+id_lang);
e_obj.attr('name','url_type_'+total_link+'_'+id_lang);
break;
case 'controller_type_parameter_'+current_index+'_'+id_lang:
e_obj.attr('id','controller_type_parameter_'+total_link+'_'+id_lang);
e_obj.attr('name','controller_type_parameter_'+total_link+'_'+id_lang);
break;
default:
var old_id = e_obj.attr('id');
var old_name = e_obj.attr('name');
old_id = old_id.substring(0, old_id.lastIndexOf('_'));
old_name = old_name.substring(0, old_name.lastIndexOf('_'));
e_obj.attr('id',old_id+'_'+total_link);
e_obj.attr('name',old_name+'_'+total_link);
updateField('add',old_name+'_'+total_link, false);
if(old_id == 'product_type' || old_id == 'cms_type' || old_id == 'category_type' || old_id == 'manufacture_type' || old_id == 'supplier_type' || old_id == 'controller_type')
{
if (e_obj.is( "input" ))
{
e_obj.attr('class','link_type_group_'+total_link+' tmp');
}
if (e_obj.is( "select" ))
{
e_obj.attr('class','link_type_group_'+total_link+' tmp fixed-width-xl');
}
}
break;
}
}
else
{
// if(scroll_to_new_e == true)
// {
// var old_id = e_obj.attr('id');
// var old_name = e_obj.attr('name');
// }
// else
// {
var old_id = e_obj.attr('id');
var old_name = e_obj.attr('name');
old_id = old_id.substring(0, old_id.lastIndexOf('_'));
old_name = old_name.substring(0, old_name.lastIndexOf('_'));
// }
e_obj.attr('id',old_id+'_'+total_link);
e_obj.attr('name',old_name+'_'+total_link);
updateField('add',old_name+'_'+total_link, false);
if(old_id == 'product_type' || old_id == 'cms_type' || old_id == 'category_type' || old_id == 'manufacture_type' || old_id == 'supplier_type' || old_id == 'controller_type')
{
if (e_obj.is( "input" ))
{
e_obj.attr('class','link_type_group_'+total_link+' tmp');
}
if (e_obj.is( "select" ))
{
e_obj.attr('class','link_type_group_'+total_link+' tmp fixed-width-xl');
}
}
}
}
});
_updateLinkType(total_link);
$("#link_type_"+total_link).on('change',function(){
_updateLinkType(total_link);
});
if(scroll_to_new_e == true)
{
$(".link_group:odd").css("background-color", "#DAE4F0");
$(".link_group:even").css("background-color", "#FFFFFF");
}
if(scroll_to_new_e == true)
{
$('html, body').animate({
scrollTop: $('.link_group.new').offset().top
}, 500, function (){
$('.link_group.new').removeClass('new');
});
}
else
{
setTimeout(function(){
$('.link_group.new').removeClass('new');
$(".link_group:odd").css("background-color", "#DAE4F0");
$(".link_group:even").css("background-color", "#FFFFFF");
}, 500);
}
$("#total_link").val(total_link);
}
//update list field
function updateField(action, value, is_lang)
{
// console.log('test');
if (action == 'add')
{
if (is_lang == true)
{
$('#list_field_lang').val($('#list_field_lang').val()+value+',');
}
else
{
$('#list_field').val($('#list_field').val()+value+',');
}
}
else
{
// console.log('test');
if (is_lang == true)
{
var old_list_field_lang = $('#list_field_lang').val();
var new_list_field_lang = old_list_field_lang.replace(value,'');
$('#list_field_lang').val(new_list_field_lang);
}
else
{
var old_list_field = $('#list_field').val();
var new_list_field = old_list_field.replace(value,'');
$('#list_field').val(new_list_field);
}
}
$('#list_id_link').val('');
$('.link_group').each(function(){
$('#list_id_link').val($('#list_id_link').val()+$(this).data('index')+',');
})
}
//update link type
function _updateLinkType(total_link)
{
if (typeof total_link === "undefined" || total_link === null) {
var total_link_new = "";
total_link = "";
}
else
{
// var total_link_old = total_link;
var total_link_new = '_'+total_link;
}
$(".link_type_group"+total_link_new).parent().parent().hide();
if($("[id^=url_type_"+total_link+"]").closest('.form-group').find('.translatable-field').length)
$("[id^=url_type_"+total_link+"]").closest('.form-group').parent().parent().hide();
else
$("[id^=url_type_"+total_link+"]").closest('.form-group').hide();
if($("[id^=controller_type_parameter_"+total_link+"]").closest('.form-group').find('.translatable-field').length)
$("[id^=controller_type_parameter_"+total_link+"]").closest('.form-group').parent().parent().hide();
else
$("[id^=controller_type_parameter_"+total_link+"]").closest('.form-group').hide();
if($("[id^=content_text_"+total_link+"]").closest('.form-group').find('.translatable-field').length)
$("[id^=content_text_"+total_link+"]").closest('.form-group').parent().parent().hide();
else
$("[id^=content_text_"+total_link+"]").closest('.form-group').hide();
// console.log(total_link);
// console.log(total_link_new);
// console.log($("#link_type"+total_link_new).val());
if( $("#link_type"+total_link_new).val() =='url' ){
if($("[id^=url_type_"+total_link+"]").closest('.form-group').find('.translatable-field').length)
$("[id^=url_type_"+total_link+"]").closest('.form-group').parent().parent().show();
else
$("[id^=url_type_"+total_link+"]").closest('.form-group').show();
}
else {
$("#"+$("#link_type"+total_link_new).val()+"_type"+total_link_new).parent().parent().show();
if($("#link_type"+total_link_new).val() == 'controller')
{
// $("#"+$("#link_type").val()+"_type_parameter").parent().parent().show();
if($("[id^=controller_type_parameter_"+total_link+"]").closest('.form-group').find('.translatable-field').length)
$("[id^=controller_type_parameter_"+total_link+"]").closest('.form-group').parent().parent().show();
else
$("[id^=controller_type_parameter_"+total_link+"]").closest('.form-group').show();
}
}
}
/*
* Owl carousel
*/
// $(document).ready(function(){
// });
$.validator.addMethod("owl_items_custom", function(value, element) {
pattern_en = /^\[\[[0-9]+, [0-9]+\](, [\[[0-9]+, [0-9]+\])*\]$/; // [[320, 1], [360, 1]]
pattern_dis = /^0?$/
//console.clear();
//console.log (pattern.test(value));
return (pattern_en.test(value) || pattern_dis.test(value));
//return false;
}, "Please enter correctly config follow under example.");

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,562 @@
/**
* @copyright Commercial License By LeoTheme.Com
* @email leotheme.com
* @visit http://www.leotheme.com
*/
$(document).ready(function() {
$.each(list_menu,function(index,value){
// console.log(value.type);
if (value.type == "horizontal")
{
var megamenu_element = $('.cavas_menu[data-megamenu-id='+value.id+']');
// console.log(megamenu_element);
//type horizontal menu
//check active link
if($("body").attr("id")=="index") isHomeMenu = 1;
megamenu_element.find(".megamenu > li > a").each(function() {
menuURL = $(this).attr("href").replace("https://","").replace("http://","").replace("www.","").replace( /#\w*/, "" );
if( (currentURL == menuURL) || (currentURL.replace(current_link,"") == menuURL) || isHomeMenu){
$(this).parent().addClass("active");
return false;
}
});
//check target
// console.log($(window).width());
if($(window).width() <= 767){
set_target_blank(false, megamenu_element); // set cavas NO
}else{
set_target_blank(true, megamenu_element); // set cavas Yes
}
// console.log('test');
// console.log(show_cavas);
//off canvas menu
if(value.show_cavas == 1)
{
// console.log('test');
$.fn.OffCavasmenu = function(opts) {
// default configuration
var config = $.extend({}, {
opt1: null,
text_warning_select: text_warning_select_txt,
text_confirm_remove: text_confirm_remove_txt,
JSON: null
}, opts);
// main function
// initialize every element
this.each(function() {
// console.log('test');
var $btn = megamenu_element.find('.navbar-toggler');
// console.log($btn);
var $nav = null;
if (!$btn.length)
return;
var $nav = $("<section class='off-canvas-nav-megamenu' data-megamenu-id="+value.id+"><nav class='offcanvas-mainnav' ><div class='off-canvas-button-megamenu'><span class='off-canvas-nav'></span>"+close_bt_txt+"</div></nav></section>");
// console.log($($btn.data('target')).find('.megamenu'));
var $menucontent = $($btn.data('target')).find('.megamenu').clone();
$("body").append($nav);
$('body main').append("<div class='megamenu-overlay' data-megamenu-id="+value.id+"></div>");
$(".megamenu-overlay[data-megamenu-id="+value.id+"]").click(function(){
$btn.trigger('click');
});
// console.log('test');
$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").append($menucontent);
$("html").addClass ("off-canvas");
$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"]").find(".off-canvas-button-megamenu").click( function(){
off_canvas_active();
} );
if($btn.is(':visible')) {
$("body").removeClass("off-canvas-active").addClass("off-canvas-inactive");
}
$btn.click(function(){
// if (!$(".off-canvas-megamenu[data-megamenu-id="+value.id+"]").hasClass('off-canvas-nav-megamenu'))
// {
// $(".off-canvas-megamenu[data-megamenu-id="+value.id+"]").addClass('off-canvas-nav-megamenu');
// }
// console.log($(window).height());
// console.log($('.offcanvas-mainnav').height());
// if($(window).height() > $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height())
// {
// $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height($(window).height());
// }
// else
// {
// $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height('auto');
// }
off_canvas_active();
$('.off-canvas-nav-megamenu').removeClass('active');
if (!$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"]").hasClass('active') && $('body').hasClass('off-canvas-active'))
{
$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"]").addClass('active');
auto_height(value.id);
}
// $(".off-canvas-megamenu[data-megamenu-id!="+value.id+"]").removeClass('off-canvas-nav-megamenu');
});
});
return this;
}
// console.log(megamenu_element);
megamenu_element.OffCavasmenu();
megamenu_element.find('.navbar-toggler').click(function() {
$('body,html').animate({
scrollTop: 0
}, 0);
return false;
});
$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"]").find('.offcanvas-mainnav .caret').click(function(){
if($(this).parent('li').hasClass('open-sub'))
{
$(this).parent('li').find('.dropdown-menu').first().slideUp('fast',function (){
// console.log($(window).height());
// console.log($(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height());
// $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height('auto');
// if($(window).height() > $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height())
// {
// $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height($(window).height());
// }
auto_height(value.id);
});
$(this).parent('li').removeClass('open-sub');
}
else
{
// $('.offcanvas-mainnav li.open-sub').find('.dropdown-menu').first().slideUp('fast');
$(this).parent('li').siblings('.open-sub').find('.dropdown-menu').first().slideUp('fast');
$(this).parent('li').siblings().removeClass('open-sub');
$(this).parent('li').find('.dropdown-menu').first().slideDown('fast',function (){
// console.log($(window).height());
// console.log($(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height());
// $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height('auto');
// if($(window).height() > $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height())
// {
// $(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").height($(window).height());
// }
auto_height(value.id);
});
$(this).parent('li').addClass('open-sub');
}
});
$(window).resize(function() {
// console.log($(window).width());
// if( $(window).width() > 523 ){
if( $(window).width() > 991 ){
$("body").removeClass("off-canvas-active").addClass("off-canvas-inactive");
}
else
{
auto_height(value.id);
}
});
}
else
{
var $bt = megamenu_element.find('.navbar-toggler');
var $menu = megamenu_element.find('.leo-top-menu');
//add class for menu element when click button to show menu at mobile, tablet
$bt.click(function(){
if ($menu.hasClass('in'))
{
megamenu_element.removeClass('active');
}
else
{
if (!megamenu_element.hasClass('active'))
{
megamenu_element.addClass('active');
}
}
});
megamenu_element.find('.leo-top-menu .dropdown-toggle').removeAttr("disabled");
megamenu_element.find(".dropdown-toggle").click(function() {
if($(window).width() <= 767){
if($(this).parent("li").find("div:first").hasClass("level2"))
return false;
else
return true;
}
});
megamenu_element.find(".leo-top-menu li a").each(function(){
// console.log($(this));
// console.log((this).hasAttribute('data-toggle'));
if((this).hasAttribute('data-toggle')){
$(this).removeAttr('data-toggle');
}
});
megamenu_element.find(".leo-top-menu li a.dropdown-toggle").click(function(){
if(!$(this).parent().hasClass('open') && this.href && this.href != '#'){
window.location.href = this.href;
}
})
// console.log('aaa');
megamenu_element.find(".leo-top-menu .caret").click(function(){
// console.log('test');
if($(this).parent('li').hasClass('open-sub'))
{
$(this).parent('li').find('.dropdown-menu').first().slideUp('fast', function(){
auto_height_off(megamenu_element);
});
$(this).parent('li').removeClass('open-sub');
}
else
{
// $('.offcanvas-mainnav li.open-sub').find('.dropdown-menu').first().slideUp('fast');
$(this).parent('li').siblings('.open-sub').find('.dropdown-menu').first().slideUp('fast');
$(this).parent('li').siblings().removeClass('open-sub');
$(this).parent('li').find('.dropdown-menu').first().slideDown('fast', function(){
auto_height_off(megamenu_element);
});
$(this).parent('li').addClass('open-sub');
}
});
if ($(document).width() >543)
{
megamenu_element.find('.leo-top-menu .dropdown-menu').css('display', '');
}
auto_height_off(megamenu_element);
$(window).resize(function(){
auto_height_off(megamenu_element);
if ($(document).width() >543)
{
megamenu_element.find('.leo-top-menu .dropdown').removeClass('open-sub');
megamenu_element.find('.leo-top-menu .dropdown-submenu').removeClass('open-sub');
megamenu_element.find('.leo-top-menu .dropdown-menu').css('display', '');
}
});
}
}
else
{
//type vertical menu
var megamenu_element = $('.leo-verticalmenu[data-megamenu-id='+value.id+']');
megamenu_element.find('.verticalmenu .dropdown-toggle').removeAttr("disabled");
megamenu_element.find(".verticalmenu .dropdown-toggle").click(function() {
if($(window).width() <= 767){
if($(this).parent("li").find("div:first").hasClass("level2"))
return false;
else
return true;
}
});
// megamenu_element.find('.verticalmenu .dropdown-toggle').prop('disabled', true);
// megamenu_element.find('.verticalmenu .dropdown-toggle').data('toggle', '');
megamenu_element.find('.verticalmenu .dropdown-toggle').removeAttr('data-toggle');
megamenu_element.find(".verticalmenu .caret").click(function(){
if($(this).parents('.verticalmenu').hasClass('active-button'))
{
// console.log('test');
var $parent = $(this).parent('li');
// console.log($parent.hasClass('open-sub'));
// $parent.toggleClass('open-sub');
if($parent.hasClass('open-sub'))
{
// console.log('test');
$parent.find('.dropdown-menu').first().slideUp('fast',function(){
$parent.removeClass('open-sub');
});
}
else
{
if($parent.siblings('.open-sub').length > 0)
{
$parent.siblings('.open-sub').find('.dropdown-menu').first().slideUp('fast',function(){
$parent.siblings('.open-sub').removeClass('open-sub');
});
$parent.find('.dropdown-menu').first().slideDown('fast',function(){
$parent.addClass('open-sub');
});
}
else
{
$parent.find('.dropdown-menu').first().slideDown('fast',function(){
$parent.addClass('open-sub');
});
}
}
return false;
}
});
if ($(window).width() >991)
{
megamenu_element.find('.verticalmenu').addClass('active-hover');
megamenu_element.find('.verticalmenu').removeClass('active-button');
megamenu_element.find('.verticalmenu .dropdown-menu').css('display', '');
megamenu_element.find('.leo-verticalmenu').removeClass('active');
}
else
{
megamenu_element.find('.verticalmenu').removeClass('active-hover');
megamenu_element.find('.verticalmenu').addClass('active-button');
}
$(window).resize(function(){
if ($(window).width() >991)
{
megamenu_element.find('.verticalmenu .dropdown').removeClass('open-sub');
megamenu_element.find('.verticalmenu .dropdown-submenu').removeClass('open-sub');
megamenu_element.find('.verticalmenu').addClass('active-hover');
megamenu_element.find('.verticalmenu').removeClass('active-button');
megamenu_element.find('.verticalmenu .dropdown-menu').css('display', '');
megamenu_element.removeClass('active');
}else{
megamenu_element.find('.verticalmenu').removeClass('active-hover');
megamenu_element.find('.verticalmenu').addClass('active-button');
}
});
scrollSliderBarMenu(megamenu_element);
}
//js for tab html
if ( typeof value.list_tab !== 'undefined' && value.list_tab.length > 0)
{
$.each(value.list_tab,function(key,val){
megamenu_element.find('#tabhtml'+val+' .nav a').click(function (e) {
e.preventDefault();
$(this).tab('show');
})
//fix for widget tab of off canvas menu on mobile
$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"]").find('#tabhtml'+val+' .nav a').click(function (e) {
e.preventDefault();
if (!$(this).hasClass('active'))
{
var wrapper_tab = $(this).closest('.panel-group');
var tab_href = $(this).attr('href');
wrapper_tab.find('.nav-link').removeClass('active');
wrapper_tab.find('.nav-item').removeClass('active');
wrapper_tab.find('.tab-pane').removeClass('active');
$(this).addClass('active');
$(this).parents('.nav-item').addClass('active');
wrapper_tab.find(tab_href).addClass('active');
}
})
});
}
//js for widget image gallery category
if ( typeof value.level !== 'undefined' && typeof value.limit !== 'undefined')
{
megamenu_element.find('.widget-category_image ul.level0').each(function(){
$(this).find('ul').removeClass('dropdown-sub dropdown-menu');
});
megamenu_element.find(".widget-category_image ul.level0").each(function() {
var check_level = $(this).parents('.widget-category_image').data('level');
var check_limit = $(this).parents('.widget-category_image').data('limit');
//remove .caret by check level
$(this).find("ul.level" + check_level).parent().find('.caret').remove();
//remove ul by check level
$(this).find("ul.level" + check_level + " li").remove();
var element = $(this).find("ul.level" + (check_level - 1) + " li").length;
var count = 0;
if(check_level > 0) {
$(this).find("ul.level" + (check_level - 1) + " >li").each(function(){
count = count + 1;
if(count > check_limit){
$(this).remove();
}
});
}
});
//add for off canvas menu
$(".off-canvas-nav-megamenu[data-megamenu-id="+value.id+"] .offcanvas-mainnav").find(".widget-category_image ul.level0").each(function() {
var check_level = $(this).parents('.widget-category_image').data('level');
var check_limit = $(this).parents('.widget-category_image').data('limit');
//remove .caret by check level
$(this).find("ul.level" + check_level).parent().find('.caret').remove();
//remove ul by check level
$(this).find("ul.level" + check_level + " li").remove();
var element = $(this).find("ul.level" + (check_level - 1) + " li").length;
var count = 0;
if(check_level > 0) {
$(this).find("ul.level" + (check_level - 1) + " >li").each(function(){
count = count + 1;
if(count > check_limit){
$(this).remove();
}
});
}
});
}
if (value.type == "horizontal")
{
$(window).resize(function() {
// console.log($(window).width());
if( $(window).width() <= 767 ){
set_target_blank(false, megamenu_element); // set cavas NO
}
else {
set_target_blank(true, megamenu_element); // set cavas Yes
}
});
}
//if (value.type == "horizontal" && value.show_cavas == 1)
if (value.type == "horizontal" && value.show_cavas == 1)
{
$(document.body).on('click', '[data-toggle="dropdown"]' ,function(){
if(!$(this).parent().hasClass('open') && this.href && this.href != '#'){
window.location.href = this.href;
}
});
}
})
$('.dropdown-menu.level1').parent().removeClass('aligned-fullwidth');
//js for widget image gallery product
$(".fancybox").fancybox({
openEffect : 'none',
closeEffect : 'none'
});
})
//auto calculate height of off canvas menu off
function auto_height_off(menu_object)
{
wrapper_height = $("#page").innerHeight();
ul_height = menu_object.find(".leo-top-menu ul").innerHeight();
ul_offset_top = menu_object.find(".leo-top-menu ul").offset().top;
// console.log('test1');
// console.log(megamenu_element.find(".leo-top-menu ul").height());
// console.log(megamenu_element.find(".leo-top-menu ul").offset().top);
// console.log($("#page").height());
// $(".off-canvas-nav-megamenu[data-megamenu-id="+menu_id+"] .offcanvas-mainnav").css('min-height', windowHeight);
if (ul_offset_top + ul_height > wrapper_height)
{
if (!$("#page").hasClass('megamenu-autoheight'))
{
$("#page").addClass('megamenu-autoheight');
}
}
else
{
$("#page").removeClass('megamenu-autoheight');
}
}
//auto calculate height of off canvas menu
function auto_height(menu_id)
{
windowHeight = $(window).innerHeight();
$(".off-canvas-nav-megamenu[data-megamenu-id="+menu_id+"] .offcanvas-mainnav").css('min-height', windowHeight);
}
function off_canvas_active()
{
// console.log($(window).height());
if($('body').hasClass('off-canvas-active'))
{
$("body").removeClass("off-canvas-active").addClass("off-canvas-inactive");
}
else if($('body').hasClass('off-canvas-inactive'))
{
$("body").removeClass("off-canvas-inactive").addClass("off-canvas-active");
}
else
{
$("body").addClass("off-canvas-active");
}
}
function set_target_blank( show, megamenu_element)
{
if (show)
{
megamenu_element.find(".leo-top-menu li a").each(function(){
if( $(this).hasClass('has-category') && (this).hasAttribute('data-toggle') && $(this).attr('target')== '_blank' ){
var value = $(this).attr('data-toggle');
$(this).removeAttr('data-toggle');
$(this).attr('remove-data-toggle', value);
}
})
}else
{
// console.log('test');
megamenu_element.find(".leo-top-menu li a").each(function(){
if( $(this).hasClass('has-category') && (this).hasAttribute('remove-data-toggle') && $(this).attr('target')== '_blank' ){
var value = $(this).attr('remove-data-toggle');
$(this).removeAttr('remove-data-toggle');
$(this).attr('data-toggle', value);
}
})
}
}
function scrollSliderBarMenu(megamenu_element){
var menuElement = megamenu_element;
var columnElement = null;
var maxWindowSize = 991;
// if($(menuElement).hasClass('float-vertical-right'))
// columnElement = $("#right_column");
// else if($(menuElement).hasClass('float-vertical-left'))
// columnElement = $("#left_column");
//auto display slider bar menu when have left or right column
if($(columnElement).length && $(window).width()>=maxWindowSize) showOrHideSliderBarMenu(columnElement, menuElement, 1);
megamenu_element.find(".verticalmenu-button").click(function(){
if($(menuElement).hasClass('active'))
{
showOrHideSliderBarMenu(columnElement, menuElement, 0);
}
else
{
showOrHideSliderBarMenu(columnElement, menuElement, 1);
}
});
var lastWidth = $(window).width();
$(window).resize(function() {
if($(window).width()!=lastWidth){
if($(window).width()<maxWindowSize) {
if($(menuElement).hasClass('active')) showOrHideSliderBarMenu(columnElement, menuElement, 0);
}else{
if($(columnElement).length && !$(menuElement).hasClass('active')) showOrHideSliderBarMenu(columnElement, menuElement, 1);
}
lastWidth = $(window).width();
}
});
}
function showOrHideSliderBarMenu(columnElement, menuElement, active){
if(active){
$(menuElement).addClass('active');
if($(columnElement).length && $(window).width()>=991)
columnElement.css('padding-top',($('.block_content',$(menuElement)).height())+'px');
}else{
$(menuElement).removeClass('active');
if($(columnElement).length) columnElement.css('padding-top','');
}
}

View File

@@ -0,0 +1,322 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{extends file="helpers/form/form.tpl"}
{block name="field"}
{if $input.type == 'img_cat'}
{assign var=tree value=$input.tree}
{assign var=imageList value=$input.imageList}
{assign var=selected_images value=$input.selected_images}
<div class="form-group form-select-icon">
<label class="control-label col-lg-3 " for="categories"> {l s='Categories' mod='leobootstrapmenu'} </label>
<div class="col-lg-9">
{$tree}{* HTML form , no escape necessary *}
</div>
<input type="hidden" name="category_img" id="category_img" value='{$selected_images|escape:'html':'UTF-8'}'/>
<div id="list_image_wrapper" style="display:none">
<div class="list-image btn-group">
<button style="background-color:#00aff0; padding:0 8px;" type="button" class="btn dropdown-toggle" data-toggle="dropdown" value="imageicon">icons
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><a href="#">none</a></li>
{foreach from=$imageList item=image}
<li><a href="#"><img height = '10px' src='{$image["path"]|escape:'html':'UTF-8'}'> {$image["name"]|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
</div>
</div>
{/if}
{if $input.type == 'file_lang'}
<div class="col-lg-9">
<div class="row">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|intval}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-9">
<div class="upload-img-form">
<img id="thumb_slider_thumbnail_{$language.id_lang|intval}" width="50" class="{if !$fields_value[$input.name][$language.id_lang]}nullimg{/if}" alt="" src="{$psBaseModuleUri|escape:'html':'UTF-8'}{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}"/>
<input id="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}" type="hidden" name="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}" class="hide" value="{$fields_value[$input.name][$language.id_lang]|escape:'html':'UTF-8'}" />
<br>
<a onclick="image_upload('{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}', 'thumb_slider_thumbnail_{$language.id_lang|intval}');" href="javascript:void(0);">{l s='Browse' mod='leobootstrapmenu'}</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a onclick="$('#thumb_slider_thumbnail_{$language.id_lang|intval}').attr('src', '');$('#thumb_slider_thumbnail_{$language.id_lang|intval}').addClass('nullimg'); $('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}').attr('value', '');" href="javascript:void(0);">{l s='Clear' mod='leobootstrapmenu'}</a>
</div>
<br/>
</div>
{if $languages|count > 1}
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code}{* HTML form , no escape necessary *}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|intval});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $languages|count > 1}
</div>
{/if}
<script>
$(document).ready(function() {
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}-selectbutton').click(function(e) {
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}').trigger('click');
});
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}').change(function(e) {
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}-name').val(file[file.length - 1]);
});
});
</script>
<input id="slider-image_{$language.id_lang|intval}" type="hidden" name="image_{$language.id_lang|intval}" class="hide" value="{$fields_value["image"][$language.id_lang]|escape:'html':'UTF-8'}" />
{/foreach}
</div>
</div>
{/if}
{if $input.type == 'group_background'}
<div class="col-lg-9">
<div class="upload-img-form">
<img id="img_{$input.id|intval}" width="50" class="{if !{$fields_value[$input.name]|escape:'html':'UTF-8'}}nullimg{/if}" alt="{l s='Group Back-ground' mod='leobootstrapmenu'}" src="{$psBaseModuleUri|escape:'html':'UTF-8'}{$fields_value[$input.name]|escape:'html':'UTF-8'}"/>
<input id="{$input.id|intval}" type="hidden" name="group[background_url]" class="hide" value="{$fields_value[$input.name]|escape:'html':'UTF-8'}" />
<br>
<a onclick="background_upload('{$input.id|intval}', 'img_{$input.id|intval}','{$ajaxfilelink}'{* HTML form , no escape necessary *}, '{$psBaseModuleUri|escape:'html':'UTF-8'}');" href="javascript:void(0);">{l s='Browse' mod='leobootstrapmenu'}</a>&nbsp;&nbsp;|&nbsp;&nbsp;
<a onclick="$('#img_{$input.id|intval}').attr('src', '');$('#img_{$input.id|intval}').addClass('nullimg'); $('#{$input.id|intval}').attr('value', '');" href="javascript:void(0);">{l s='Clear' mod='leobootstrapmenu'}</a>
</div>
<p>{l s='Click to upload or select a back-ground' mod='leobootstrapmenu'}</p>
</div>
{/if}
{if $input.type == 'group_button' && $input.id_group}
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<div class="btn-group pull-right">
<a class="btn btn-default {if $languages|count > 1}dropdown-toggle {else}group-preview {/if}color_danger" href="{$previewLink|escape:'html':'UTF-8'}&id_group={$input.id_group|intval}"><i class="icon-eye-open"></i> {l s='Preview Group' mod='leobootstrapmenu'}</a>
{if $languages|count > 1}
<span data-toggle="dropdown" class="btn btn-default dropdown-toggle">
<span class="caret"></span>&nbsp;
</span>
<ul class="dropdown-menu">
{foreach from=$languages item=language}
<li>
{$arrayParam = ['secure_key' => $msecure_key, 'id_group' => $input.id_group|intval]}
<a href="{$link->getModuleLink('leoslideshow','preview', $arrayParam, null, $language.id_lang|intval)}" class="group-preview">
<i class="icon-eye-open"></i> {l s='Preview For' mod='leobootstrapmenu'} {$language.name|escape:'html':'UTF-8'}
</a>
</li>
{/foreach}
</ul>
{/if}
</div>
<button class="btn btn-default dash_trend_right" name="submitGroup" id="module_form_submit_btn" type="submit">
<i class="icon-save"></i> {l s='Save' mod='leobootstrapmenu'}
</button>
<a class="btn btn-default color_success" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&showsliders=1&id_group={$input.id_group|intval}"><i class="icon-film"></i> {l s='Manages Sliders' mod='leobootstrapmenu'}</a>
<a class="btn btn-default" href="{$exportLink|escape:'html':'UTF-8'}&id_group={$input.id_group|intval}"><i class="icon-eye-open"></i> {l s='Export Group and sliders' mod='leobootstrapmenu'}</a>
<a class="btn btn-default" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leoslideshow&deletegroup=1&id_group={$input.id_group|intval}" onclick="if (confirm('{l s='Delete Selected Group?' mod='leobootstrapmenu'}')) {
return true;
} else {
event.stopPropagation();
event.preventDefault();
}
;" title="{l s='Delete' mod='leobootstrapmenu'}" class="delete">
<i class="icon-trash"></i> {l s='Delete' mod='leobootstrapmenu'}
</a>
</div>
</div>
{/if}
{if $input.type == 'slider_button'}
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
<a class="btn btn-default dash_trend_right" href="javascript:void(0)" onclick="return $('#module_form').submit();"><i class="icon-save"></i> {l s='Save Slider' mod='leobootstrapmenu'}</a>
</div>
</div>
{/if}
{if $input.type == 'sperator_form'}
<div class="{if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{else}alert alert-info{/if}"
{if isset($input.name)}name="{$input.name|escape:'html':'UTF-8'}"{/if}
nextClick="false">{$input.text}{* HTML form , no escape necessary *}
</div>
{/if}
{if $input.type == 'video_config'}
<div class="col-lg-9">
<div class="row">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|intval}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-9">
<div class="radiolabel">
<lable>{l s='Video Type' mod='leobootstrapmenu'}</lable>
<select name="usevideo_{$language.id_lang|intval}" class="">
<option {if isset($fields_value["usevideo"][$language.id_lang]) && $fields_value["usevideo"][$language.id_lang] && $fields_value["usevideo"][$language.id_lang] eq "0"}selected="selected"{/if} value="0">{l s='No' mod='leobootstrapmenu'}</option>
<option {if isset($fields_value["usevideo"][$language.id_lang]) && $fields_value["usevideo"][$language.id_lang] && $fields_value["usevideo"][$language.id_lang] eq "youtube"}selected="selected"{/if} value="youtube">{l s='Youtube' mod='leobootstrapmenu'}</option>
<option {if isset($fields_value["usevideo"][$language.id_lang]) && $fields_value["usevideo"][$language.id_lang] && $fields_value["usevideo"][$language.id_lang] eq "vimeo"}selected="selected"{/if} value="vimeo">{l s='Vimeo' mod='leobootstrapmenu'}</option>
</select>
</div>
<div class="radiolabel">
<lable>{l s='Video ID' mod='leobootstrapmenu'}</lable>
<input id="videoid_{$language.id_lang|intval}" name="videoid_{$language.id_lang|intval}" type="text" {if isset($fields_value["videoid"][$language.id_lang]) && $fields_value["videoid"][$language.id_lang]} value="{$fields_value["videoid"][$language.id_lang]}"{* HTML form , no escape necessary *}{/if}/>
<div class="input-group col-lg-2">
</div>
<div class="input-group col-lg-2">
<lable>{l s='Auto Play' mod='leobootstrapmenu'}</lable>
<select name="videoauto_{$language.id_lang|intval}">
<option value="1" {if isset($fields_value["videoauto"][$language.id_lang]) && $fields_value["videoauto"][$language.id_lang] == 1}selected="selected"{/if}>{l s='Yes' mod='leobootstrapmenu'}</option>
<option value="0" {if isset($fields_value["videoauto"][$language.id_lang]) && $fields_value["videoauto"][$language.id_lang] == 0}selected="selected"{/if}>{l s='No' mod='leobootstrapmenu'}</option>
</select>
</div>
</div>
</div>
{if $languages|count > 1}
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code}{* HTML form , no escape necessary *}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|intval});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $languages|count > 1}
</div>
{/if}
{/foreach}
</div>
</div>
<input type="hidden" id="current_language" name="current_language" value="{$id_language|escape:'html':'UTF-8'}"/>
{/if}
{if $input.type == 'col_width'}
<div class="col-lg-9">
<input type='hidden' class="col-val {$input.class|escape:'html':'UTF-8'}" name='{$input.name|escape:'html':'UTF-8'}' value='{$fields_value[$input.name]|escape:'html':'UTF-8'}'/>
<button type="button" class="btn btn-default leobtn-width dropdown-toggle" tabindex="-1" data-toggle="dropdown">
<span class="leo-width-val">{$fields_value[$input.name]|replace:'-':'.'}/12</span><span class="leo-width leo-w-{$fields_value[$input.name]|escape:'html':'UTF-8'}"> </span><span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$leo_width item=itemWidth}
<li>
<a class="leo-w-option" data-width="{$itemWidth|intval}" href="javascript:void(0);" tabindex="-1">
<span class="leo-width-val">{$itemWidth|replace:'-':'.'}/12</span><span class="leo-width leo-w-{$itemWidth|intval}"> </span>
</a>
</li>
{/foreach}
</ul>
</div>
{/if}
{if $input.type == 'group_class'}
<div class="col-lg-9">
<div class="well">
<p>
<input type="text" class="group-class" value="{$fields_value[$input.name]|escape:'html':'UTF-8'}" name="{$input.name|escape:'html':'UTF-8'}"/><br />
{l s='insert new or select classes for toggling content across viewport breakpoints' mod='leobootstrapmenu'}<br />
<ul class="leo-col-class">
{foreach from=$hidden_config key=keyHidden item=itemHidden}
<li>
{*
<input type="checkbox" name="col_{$keyHidden|escape:'html':'UTF-8'}" value="1">
*}
<input type="radio"{if strpos($fields_value[$input.name], $keyHidden) !== false} checked="checked"{/if} data-name="{$keyHidden|escape:'html':'UTF-8'}" name="col_class" value="1">
<label class="choise-class">{$itemHidden|escape:'html':'UTF-8'}</label>
</li>
{/foreach}
</ul>
</p>
</div>
</div>
{/if}
{if $input.type == 'color_lang'}
<div class="row">
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang|intval}" {if $language.id_lang != $defaultFormLanguage}style="display:none"{/if}>
{/if}
<div class="col-lg-6">
<div class="col-md-4">
<a href="javascript:void(0)" class="btn btn-default btn-update-slider">
<i class="icon-upload"></i> {l s='Select slider background' mod='leobootstrapmenu'}
</a>
</div>
<div class="col-md-4">
<div class="input-group">
<input type="color"
data-hex="true"
{if isset($input.class)}class="{$input.class|escape:'html':'UTF-8'}"
{else}class="color mColorPickerInput"{/if}
name="{$input.name|escape:'html':'UTF-8'}_{$language.id_lang|intval}"
value="{$fields_value[$input.name]|escape:'html':'UTF-8'}" />
</div>
</div>
</div>
{if $languages|count > 1}
<div class="col-lg-2">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
{$language.iso_code}{* HTML form , no escape necessary *}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$languages item=lang}
<li><a href="javascript:hideOtherLanguage({$lang.id_lang|intval});" tabindex="-1">{$lang.name|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
</div>
{/if}
{if $languages|count > 1}
</div>
{/if}
{/foreach}
</div>
{/if}
{if $input.type == 'leo_switch'}
<div class="col-lg-{if isset($input.col)}{$input.col|intval}{else}9{/if} {if !isset($input.label)}col-lg-offset-3{/if}">
<span class="switch prestashop-switch fixed-width-lg {if isset($input.class)}{$input.class|escape:'html':'UTF-8'}{/if}">
{foreach $input.values as $value}
<input type="radio" name="{$input.name|escape:'html':'UTF-8'}"{if $value.value == 1} id="{$input.name|escape:'html':'UTF-8'}_on"{else} id="{$input.name|escape:'html':'UTF-8'}_off"{/if} value="{$value.value}"{if $fields_value[$input.name] == $value.value} checked="checked"{/if}{if isset($input.disabled) && $input.disabled} disabled="disabled"{/if}/>
{strip}
<label {if $value.value == 1} for="{$input.name|escape:'html':'UTF-8'}_on"{else} for="{$input.name|escape:'html':'UTF-8'}_off"{/if}>
{if $value.value == 1}
{l s='Yes' mod='leobootstrapmenu'}
{else}
{l s='No' mod='leobootstrapmenu'}
{/if}
</label>
{/strip}
{/foreach}
<a class="slide-button btn"></a>
</span>
{if isset($input.leo_desc) && !empty($input.leo_desc)}
<p class="help-block">
{if is_array($input.leo_desc)}
{foreach $input.leo_desc as $p}
{if is_array($p)}
<span id="{$p.id|intval}">{$p.text}{* HTML form , no escape necessary *}</span><br />
{else}
{$p}{* HTML form , no escape necessary *}<br />
{/if}
{/foreach}
{else}
{$input.leo_desc}{* HTML form , no escape necessary *}
{/if}
</p>
{/if}
</div>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,35 @@
<?php
/**
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,35 @@
<?php
/**
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,35 @@
<?php
/**
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,16 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="navbar navbar-default">
<nav id="mainmenutop" class="megamenu" role="navigation">
<div class="navbar-header">
<div class="collapse navbar-collapse navbar-ex1-collapse">
{$tree}
</div>
</div>
</nav>
</div>

View File

@@ -0,0 +1,63 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{if $successful == 1}
<div class="bootstrap">
<div class="alert alert-success megamenu-alert">
<button data-dismiss="alert" class="close" type="button">×</button>
{l s='Successfully' mod='leobootstrapmenu'}
</div>
</div>
{/if}
<div class="col-lg-12">
<div class="" style="float: right">
<div class="pull-right">
<a href="{$live_editor_url}" class="btn btn-danger">{l s='Live Edit Tools' mod='leobootstrapmenu'}</a>
{l s='To Make Rich Content For Megamenu' mod='leobootstrapmenu'}
</div>
</div>
</div>
<div class="tab-content row">
<div class="tab-pane active" id="megamenu">
<div class="col-md-4">
<div class="panel panel-default">
<h3 class="panel-title">{l s='Tree Megamenu Management - Group: ' mod='leobootstrapmenu'}{$current_group_title}{l s=' - Type: ' mod='leobootstrapmenu'}{$current_group_type}</h3>
<div class="panel-content">{l s='To sort orders or update parent-child, you drap and drop expected menu.' mod='leobootstrapmenu'}
<hr>
<p>
<input type="button" value="{l s='New Menu Item' mod='leobootstrapmenu'}" id="addcategory" data-loading-text="{l s='Processing ...' mod='leobootstrapmenu'}" class="btn btn-danger" name="addcategory">
<a href="{$admin_widget_link}" class="leo-modal-action btn btn-modeal btn-success btn-info">{l s='List Widget' mod='leobootstrapmenu'}</a>
</p>
<p>
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&addmenuproductlayout=1&id_group={$id_group}" class="btn btn-modeal btn-success">{l s='Add Menu Item For Product Multi Layout (Only For Developers)' mod='leobootstrapmenu'}</a>
</p>
<hr>
{$tree}
<a href="javascript:void(0);" class="btn btn-danger delete_many_menus">
<i class="icon-trash"></i>&nbsp;Delete selected
</a>
</div>
</div>
</div>
<div class="col-md-8">
{$helper_form}
</div>
<script type="text/javascript">
var addnew ="{$addnew}";
var action="{$action}";
$("#content").PavMegaMenuList({
action:action,
addnew:addnew
});
</script>
</div>
</div>
<script>
$('#myTab a[href="#profile"]').tab('show');
</script>

View File

@@ -0,0 +1,30 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
<ol class="level{$level}{$t}">
{foreach from=$data item=$menu}
<li data-menu-type="{$menu.type}" id="list_{$menu.id_btmegamenu}" data-id-menu="{$menu.id_btmegamenu}" class="nav-item {if $param_id_btmegamenu == $menu.id_btmegamenu}selected{/if}">
<div>
<span class="disclose"><span></span></span>
{$menu.title} (ID:{$menu.id_btmegamenu})
<input type="checkbox" name="menubox[]" value="{$menu.id_btmegamenu}" class="quickselect" title="Select to delete">
<span title="{l s='Edit' mod='leobootstrapmenu'}" class="quickedit" rel="id_{$menu.id_btmegamenu}">E</span>
<span title="{l s='Delete' mod='leobootstrapmenu'}" class="quickdel" rel="id_{$menu.id_btmegamenu}">D</span>
<span title="{l s='Duplicate' mod='leobootstrapmenu'}" class="quickduplicate" rel="id_{$menu.id_btmegamenu}">DUP</span>
{if isset($menu.active) && $menu.active}
<span title="{l s='Click to Disabled' mod='leobootstrapmenu'}" class="quickdeactive" rel="id_{$menu.id_btmegamenu}">ACT</span>
{else}
<span title="{l s='Click to Enabled' mod='leobootstrapmenu'}" class="quickactive" rel="id_{$menu.id_btmegamenu}">DACT</span>
{/if}
</div>
{if $menu.id_btmegamenu != $parent}
{$model_cat->genTree($menu.id_btmegamenu, $level + 1)}
{/if}
</li>
{/foreach}
</ol>

View File

@@ -0,0 +1,28 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{l s='Check list of icons and class name in here ' mod='leobootstrapmenu'}
<a href="https://design.google.com/icons/" target="_blank">https://design.google.com/icons/</a>
{l s=' Material Font or ' mod='leobootstrapmenu'}
<a href="http://fontawesome.io/icons/" target="_blank">http://fontawesome.io/icons/</a>
{l s=' Awesome Font or your icon class... ' mod='leobootstrapmenu'}
<hr/>
{l s='Special example (Required) for Material Font by Google' mod='leobootstrapmenu'}
<br/>
&lt;i class="material-icons"&gt;&amp;#xE855;&lt;/i&gt;
<br/>
{l s='OR' mod='leobootstrapmenu'}
<br/>
&lt;i class="material-icons"&gt;alarm&lt;/i&gt;
<hr/>
{l s='Example for other fonts (Awesome Font...)' mod='leobootstrapmenu'}
<br/>
&lt;i class="fa fa-arrows"&gt;&lt;/i&gt;
<br/>
{l s='OR' mod='leobootstrapmenu'}
<br/>
fa fa-arrows

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,35 @@
<?php
/*
* 2007-2014 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,44 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{if $widget_selected}
{$form}{* HTML form , no escape necessary *}
<script type="text/javascript">
$('#widget_type').change( function(){
location.href = '{html_entity_decode($action|escape:'html':'UTF-8')}&wtype='+$(this).val();
} );
</script>
{else}
<div class="col-lg-12" style="padding:20px;">
{if $is_using_managewidget}
<div class="col-lg-5">
<h3>{l s='Only for Module leomanagewidgets' mod='leobootstrapmenu'}</h3>
{foreach $types as $widget => $text}
{if $text.for == 'manage'}
<div class="col-lg-6">
<h4><a href="{html_entity_decode($action|escape:'html':'UTF-8')}&wtype={$widget|escape:'html':'UTF-8'}">{$text.label|escape:'html':'UTF-8'}</a></h4>
<p><i>{$text.explain}{* HTML form , no escape necessary *}</i></p>
</div>
{/if}
{/foreach}
</div>
{/if}
<div class="col-lg-6 col-lg-offset-1">
{*
<h3>{l s='For all module (leomanagewidget,leomenubootstrap, leomenusidebar)' mod='leobootstrapmenu'}</h3>
*}
{foreach $types as $widget => $text}
{if $text.for != 'manage'}
<div class="col-lg-6">
<h4><a href="{html_entity_decode($action|escape:'html':'UTF-8')}&wtype={$widget|escape:'html':'UTF-8'}">{$text.label|escape:'html':'UTF-8'}</a></h4>
<p><i>{$text.explain}{* HTML form , no escape necessary *}</i></p>
</div>
{/if}
{/foreach}
</div>
</div>
{/if}

View File

@@ -0,0 +1,12 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<option value=""></option>
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">{$w['name']}</option>
{/foreach}

View File

@@ -0,0 +1,19 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
{if isset($menu.megaconfig->subwidth) && $menu.megaconfig->subwidth}
{if $group_type == 'horizontal'}
style="width:{$menu.megaconfig->subwidth}px;"
{else}
{if (isset($typesub) && $typesub == 'left') }
style="width:{$menu.megaconfig->subwidth}px; left: -{$menu.megaconfig->subwidth}px;"
{else}
style="width:{$menu.megaconfig->subwidth}px; left: 100%;"
{/if}
{/if}
{/if}

View File

@@ -0,0 +1,366 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<fieldset>
{*
<div class="panel">
<div class="panel-content">
<a class="btn btn-default btn-primary" onclick="javascript:return confirm('{l s='Do you want to copy CSS, JS folder to current theme folder?' mod='leobootstrapmenu'}')" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&leo_copy_lib_to_theme=1">
<i class="icon-AdminParentPreferences"></i> {l s='Copy CSS, JS to theme' mod='leobootstrapmenu'}</a>
</div>
</div>
*}
{if count($groups) > 0}
<div class="panel form-horizontal">
<h3>{l s='Megamenu Control Panel' mod='leobootstrapmenu'}</h3>
<div class="form-wrapper">
<div class="form-group">
<label class="control-label col-md-1">{l s='Select Hook' mod='leobootstrapmenu'}</label>
<div class="col-md-2">
<select class="list_hook" class=" fixed-width-xl">
<option {if $clearcache_hook == '' || $clearcache_hook == 'all'}selected="selected"{/if} value="all">{l s='All hook' mod='leobootstrapmenu'}</option>
{foreach from=$list_hook item=hook}
<option {if $clearcache_hook == $hook}selected="selected"{/if} value="{$hook}">{$hook}</option>
{/foreach}
</select>
</div>
<div class="col-md-2">
<a class="clear_cache btn btn-success" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&success=clearcache&hook=">
<i class="icon-AdminTools"></i> {l s='Clear cache' mod='leobootstrapmenu'}
</a>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3">{l s='Backup the database before run correct module to safe' mod='leobootstrapmenu'}</label>
<div class="col-md-9">
<a class="megamenu-correct-module btn btn-success" href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&success=correct&correctmodule=1">
<i class="icon-AdminParentPreferences"></i> {l s='Correct module' mod='leobootstrapmenu'}
</a>
</div>
</div>
</div>
</div>
{/if}
<div id="groupLayer" class="panel col-md-12">
<h3>{l s='Group List' mod='leobootstrapmenu'}</h3>
{*
<div class="alert alert-info"><a href="http://www.leotheme.com/guides/prestashop17/leo_slider_layer/" target="_blank">{l s='Click to see configuration guide' mod='leobootstrapmenu'}</a></div>
*}
<div class="group-header col-md-8 col-xs-12">
<ol>
<li>
<div class="col-md-1 col-xs-1 text-center">
<span class="title_box ">
{l s='ID' mod='leobootstrapmenu'}
</span>
</div>
<div class="col-md-6 col-xs-3">
<span class="title_box ">
{l s='Group Name' mod='leobootstrapmenu'}
</span>
</div>
<div class="col-md-1 col-xs-2">
<span class="title_box ">{l s='Status' mod='leobootstrapmenu'}</span>
</div>
<div class="col-md-2 col-xs-2">
<span class="title_box ">
{l s='Hook' mod='leobootstrapmenu'}
</span>
</div>
<div class="col-md-2 col-xs-4 text-right">
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&addNewGroup=1" class="btn btn-default">
<i class="icon-plus"></i> {l s='Add new Group' mod='leobootstrapmenu'}
</a>
</div>
</li>
</ol>
</div>
<div class="group-wrapper col-md-8 col-xs-12">
<ol class="tree-group">
{foreach from=$groups item=group}
<li id="list_group_{$group.id_btmegamenu_group}" class="nav-item">
<div class="col-md-1 col-xs-1 text-center"><strong>#{$group.id_btmegamenu_group|intval}</strong></div>
<div class="col-md-6 col-xs-3" class="pointer">
{$group.title|escape:'html':'UTF-8'}
</div>
<div class="col-md-1 col-xs-2">
{$group.status}{* HTML form , no escape necessary *}&nbsp;&nbsp;&nbsp;
</div>
<div class="col-md-2 col-xs-2">
{$group.hook}
</div>
<div class="col-md-2 col-xs-4">
<div class="btn-group-action">
<div class="btn-group pull-right">
{if $group.id_btmegamenu_group != $curentGroup}
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&editgroup=1&id_group={$group.id_btmegamenu_group|escape:'html':'UTF-8'}" title="{l s='Edit Group' mod='leobootstrapmenu'}" class="edit btn btn-default">
<i class="icon-pencil"></i> {l s='Edit' mod='leobootstrapmenu'}
</a>
{else}
<a href="#" title="{l s='Editting' mod='leobootstrapmenu'}" class="btn editting" style="color:#BBBBBB">
{l s='Editting' mod='leobootstrapmenu'}
</a>
{/if}
<button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>&nbsp;
</button>
<ul class="dropdown-menu">
<li>
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&deletegroup=1&id_group={$group.id_btmegamenu_group|intval}" onclick="if (confirm('{l s='Delete Selected Group?' mod='leobootstrapmenu'}')) {
return true;
} else {
event.stopPropagation();
event.preventDefault();
}
;" title="{l s='Delete' mod='leobootstrapmenu'}" class="delete">
<i class="icon-trash"></i> {l s='Delete' mod='leobootstrapmenu'}
</a>
</li>
<li>
<a href="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&duplicategroup=1&id_group={$group.id_btmegamenu_group|intval}" onclick="if (confirm('{l s='Duplicate Selected Group?' mod='leobootstrapmenu'}')) {
return true;
} else {
event.stopPropagation();
event.preventDefault();
}
;" title="{l s='Duplicate' mod='leobootstrapmenu'}" class="duplicate">
<i class="icon-copy"></i> {l s='Duplicate' mod='leobootstrapmenu'}
</a>
</li>
<li>
<a href="{$exportLink}&id_group={$group.id_btmegamenu_group|intval}&widgets=1" title="{l s='Export Group With Widgets' mod='leobootstrapmenu'}" class="export">
<i class="icon-external-link-sign"></i> {l s='Export Group With Widgets' mod='leobootstrapmenu'}
</a>
</li>
<li>
<a href="{$exportLink}&id_group={$group.id_btmegamenu_group|intval}&widgets=0" title="{l s='Export Group Without Widgets' mod='leobootstrapmenu'}" class="export">
<i class="icon-external-link"></i> {l s='Export Group Without Widgets' mod='leobootstrapmenu'}
</a>
</li>
</ul>
</div>
</div>
</div>
</li>
{/foreach}
</ol>
</div>
<div class="group-footer import-group col-md-5">
<form method="post" enctype="multipart/form-data" action="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&importgroup=1">
<div class="row">
<div class="form-group">
<input type="file" class="hide" name="import_file" id="import_file">
<div class="dummyfile input-group">
<span class="input-group-addon"><i class="icon-file"></i></span>
<input type="text" readonly="" name="filename" class="disabled" id="import_file-name">
<span class="input-group-btn">
<button class="btn btn-default" name="submitAddAttachments" type="button" id="import_file-selectbutton">
<i class="icon-folder-open"></i> {l s='Choose a file' mod='leobootstrapmenu'}
</button>
</span>
</div>
<p class="help-block color_danger">{l s='Please upload *.txt only' mod='leobootstrapmenu'}</p>
</div>
<div class="form-group">
<label class="control-label col-lg-4" for="title_group">
{l s='Overide group or not:' mod='leobootstrapmenu'}
</label>
<div class="input-group col-lg-3 col-xs-3">
<span class="switch prestashop-switch">
<input type="radio" value="1" id="override_group_on" name="override_group">
<label for="override_group_on">
<i class="icon-check-sign color_success"></i> {l s='Yes' mod='leobootstrapmenu'}
</label>
<input type="radio" checked="checked" value="0" id="override_group_off" name="override_group">
<label for="override_group_off">
<i class="icon-ban-circle color_danger"></i> {l s='No' mod='leobootstrapmenu'}
</label>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4" for="title_group">
{l s='Overide widgets or not:' mod='leobootstrapmenu'}
</label>
<div class="input-group col-lg-3 col-xs-3">
<span class="switch prestashop-switch">
<input type="radio" value="1" id="override_widget_on" name="override_widget">
<label for="override_widget_on">
<i class="icon-check-sign color_success"></i> {l s='Yes' mod='leobootstrapmenu'}
</label>
<input type="radio" checked="checked" value="0" id="override_widget_off" name="override_widget">
<label for="override_widget_off">
<i class="icon-ban-circle color_danger"></i> {l s='No' mod='leobootstrapmenu'}
</label>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-12">
<button class="btn btn-default dash_trend_right" name="importGroup" id="import_file_submit_btn" type="submit">
{l s='Import Group' mod='leobootstrapmenu'}
</button>
</div>
</div>
</div>
</form>
</div>
<div class="group-footer import-widgets col-md-5">
<form method="post" enctype="multipart/form-data" action="{$link->getAdminLink('AdminModules')|escape:'html':'UTF-8'}&configure=leobootstrapmenu&importwidgets=1">
<div class="row">
<div class="form-group">
<input type="file" class="hide" name="import_widgets_file" id="import_widgets_file">
<div class="dummyfile input-group">
<span class="input-group-addon"><i class="icon-file"></i></span>
<input type="text" readonly="" name="filename" class="disabled" id="import_widgets_file-name">
<span class="input-group-btn">
<button class="btn btn-default" name="submitAddAttachments" type="button" id="import_widgets_file-selectbutton">
<i class="icon-folder-open"></i> {l s='Choose a file' mod='leobootstrapmenu'}
</button>
</span>
</div>
<p class="help-block color_danger">{l s='Please upload *.txt only' mod='leobootstrapmenu'}</p>
</div>
<div class="form-group">
<label class="control-label col-lg-4" for="title_group">
{l s='Overide widgets or not:' mod='leobootstrapmenu'}
</label>
<div class="input-group col-lg-3 col-xs-3">
<span class="switch prestashop-switch">
<input type="radio" value="1" id="override_import_widgets_on" name="override_import_widgets">
<label for="override_import_widgets_on">
<i class="icon-check-sign color_success"></i> {l s='Yes' mod='leobootstrapmenu'}
</label>
<input type="radio" checked="checked" value="0" id="override_import_widgets_off" name="override_import_widgets">
<label for="override_import_widgets_off">
<i class="icon-ban-circle color_danger"></i> {l s='No' mod='leobootstrapmenu'}
</label>
<a class="slide-button btn btn-default"></a>
</span>
</div>
</div>
<div class="form-group">
<div class="col-lg-3">
<button class="btn btn-default dash_trend_right" name="importWidgets" id="import_widgets_file_submit_btn" type="submit">
{l s='Import Widgets' mod='leobootstrapmenu'}
</button>
</div>
<div class="col-lg-3">
{*
<button class="btn btn-default dash_trend_up" name="exportWidgets" id="export_file_submit_btn" type="submit">
{l s='Export Widgets of Shop' mod='leobootstrapmenu'}
</button>
*}
<a class="export-widgets" href="{$exportWidgetsLink}" title="Export Widgets Of Shop">
<i class="icon-external-link-sign"></i>
{l s='Export Widgets Of Shop' mod='leobootstrapmenu'}
</a>
</div>
</div>
</div>
</form>
</div>
</div>
</fieldset>
<script type="text/javascript">
var update_group_position_link = "{$update_group_position_link}";
$(document).ready(function() {
//import export fix
$('#import_file-selectbutton').click(function(e){
$('#import_file').trigger('click');
});
$('#import_file').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#import_file-name').val(file[file.length-1]);
});
$('#import_file_submit_btn').click(function(e){
if($("#import_file-name").val().indexOf(".txt") != -1){
if($("#override_group_on").is(":checked")) return confirm("{l s='Are you sure to override group?' mod='leobootstrapmenu'}");
if($("#override_widget_on").is(":checked")) return confirm("{l s='Are you sure to override widgets?' mod='leobootstrapmenu'}");
return true;
}else{
alert("{l s='Please upload txt file' mod='leobootstrapmenu'}");
$('#import_file').val("");
$('#import_file-name').val("");
return false;
}
});
//import export widgets fix
$('#import_widgets_file-selectbutton').click(function(e){
$('#import_widgets_file').trigger('click');
});
$('#import_widgets_file').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#import_widgets_file-name').val(file[file.length-1]);
});
$('#import_widgets_file_submit_btn').click(function(e){
if($("#import_widgets_file-name").val().indexOf(".txt") != -1){
if($("#override_import_widgets_on").is(":checked")) return confirm("{l s='Are you sure to override widgets?' mod='leobootstrapmenu'}");
return true;
}else{
alert("{l s='Please upload txt file' mod='leobootstrapmenu'}");
$('#import_widgets_file').val("");
$('#import_widgets_file-name').val("");
return false;
}
});
$(".group-preview").click(function() {
eleDiv = $(this).parent().parent().parent();
if ($(eleDiv).hasClass("open"))
eleDiv.removeClass("open");
var url = $(this).attr("href") + "&content_only=1";
$('#dialog').remove();
$('#content').prepend('<div id="dialog" style="padding: 3px 0px 0px 0px;"><iframe name="iframename2" src="' + url + '" style="padding:0; margin: 0; display: block; width: 100%; height: 100%;" frameborder="no" scrolling="auto"></iframe></div>');
$('#dialog').dialog({
title: 'Preview Management',
close: function(event, ui) {
},
bgiframe: true,
width: 1024,
height: 780,
resizable: false,
draggable:false,
modal: true
});
return false;
});
});
</script>

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,26 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<script type="text/javascript">
{literal}
var FancyboxI18nClose = "{/literal}{l s='Close' mod='leobootstrapmenu'}{literal}";
var FancyboxI18nNext = "{/literal}{l s='Next' mod='leobootstrapmenu'}{literal}";
var FancyboxI18nPrev = "{/literal}{l s='Previous' mod='leobootstrapmenu'}{literal}";
var current_link = "{/literal}{$current_link}{literal}";
var currentURL = window.location;
currentURL = String(currentURL);
currentURL = currentURL.replace("https://","").replace("http://","").replace("www.","").replace( /#\w*/, "" );
current_link = current_link.replace("https://","").replace("http://","").replace("www.","");
var text_warning_select_txt = "{/literal}{l s='Please select One to remove?' mod='leobootstrapmenu'}";{literal}
var text_confirm_remove_txt = "{/literal}{l s='Are you sure to remove footer row?' mod='leobootstrapmenu'}";{literal}
var close_bt_txt = "{/literal}{l s='Close' mod='leobootstrapmenu'}";{literal}
var list_menu = [];
var list_menu_tmp = {};
var list_tab = [];
var isHomeMenu = 0;
{/literal}
</script>

View File

@@ -0,0 +1,237 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div id="page-content">
<div id="menu-form" style="display: none; left: 340px; top: 15px; max-width:600px" class="popover top out form-setting">
<div class="arrow"></div>
<div style="display: block;" class="popover-title">
{l s='Sub Menu Setting' mod='leobootstrapmenu'}
<span class="badge pull-right">{l s='Close' mod='leobootstrapmenu'}</span>
</div>
<div class="popover-content">
<form method="post" action="{$liveedit_action}" enctype="multipart/form-data" >
<div class="col-lg-12">
<table class="table table-hover">
<tr>
<td>{l s='Create Submenu' mod='leobootstrapmenu'}</td>
<td>
<select name="menu_submenu" class="menu_submenu">
<option value="0">{l s='No' mod='leobootstrapmenu'}</option>
<option value="1">{l s='Yes' mod='leobootstrapmenu'}</option>
</select>
</td>
</tr>
<tr>
<td>{l s='Submenu Width' mod='leobootstrapmenu'}</td>
<td>
<input type="text" name="menu_subwidth" class="menu_subwidth">
</td>
</tr>
<tr class="group-submenu">
<td>{l s='Group Submenu' mod='leobootstrapmenu'}</td>
<td>
<div id="submenu-form" >
<input type="hidden" name="submenu_id">
<select name="submenu_group" class="submenu_group">
<option value="0">{l s='No' mod='leobootstrapmenu'}</option>
<option value="1">{l s='Yes' mod='leobootstrapmenu'}</option>
</select>
</div>
</td>
</tr>
<tr class="aligned-submenu">
<td>{l s='Align Submenu' mod='leobootstrapmenu'}</td>
<td>
<div class="btn-group button-aligned">
<button type="button" class="btn btn-default" data-option="aligned-left"><span class="icon icon-align-left"></span></button>
<button type="button" class="btn btn-default" data-option="aligned-center"><span class="icon icon-align-center"></span></button>
<button type="button" class="btn btn-default" data-option="aligned-right"><span class="icon icon-align-right"></span></button>
<button type="button" class="btn btn-default" data-option="aligned-fullwidth"><span class="icon icon-align-justify"></span></button>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<button type="button" class="add-row btn btn-success btn-sm">{l s='Add Row' mod='leobootstrapmenu'}</button>
<button type="button" class="remove-row btn btn-default btn-sm">{l s='Remove Row' mod='leobootstrapmenu'}</button>
| <button type="button" class="add-col btn btn-success btn-sm">{l s='Add Column' mod='leobootstrapmenu'}</button>
</td>
</tr>
</table>
<input type="hidden" name="menu_id">
</div>
</form>
</div>
</div>
<div id="column-form" style="display: none; left: 340px; top: 45px;" class="popover top form-setting">
<div class="arrow"></div>
<div style="display: block;" class="popover-title">
{l s='Column Setting' mod='leobootstrapmenu'}
<span class="badge pull-right">{l s='Close' mod='leobootstrapmenu'}</span>
</div>
<div class="popover-content">
<form method="post" action="{$liveedit_action}" enctype="multipart/form-data" >
<table class="table table-hover">
<tr>
<td>{l s='Addition Class' mod='leobootstrapmenu'}</td>
<td>
<input type="text" name="colclass">
</td>
</tr>
<tr>
<td>{l s='Column Width' mod='leobootstrapmenu'}</td>
<td>
<select class="colwidth" name="colwidth">
{for $i=1 to 12}
<option value="{$i|intval}">{$i|intval}</option>
{/for}
</select>
</td>
</tr>
<tr>
<td colspan="2"> <button type="button" class="remove-col btn btn-default btn-sm">{l s='Remove Column' mod='leobootstrapmenu'}</button> </td>
</tr>
</table>
</form>
</div>
</div>
<div id="widget-form" style="display: none; left: 340px; min-width:400px" class="popover bottom form-setting">
<div class="arrow"></div>
<div style="display: block;" class="popover-title">
{l s='Widget Setting' mod='leobootstrapmenu'}
<span class="badge pull-right">{l s='Close' mod='leobootstrapmenu'}</span>
</div>
<div class="popover-content">
{if !empty($widgets)}
<select name="inject_widget" class="inject_widget">
<option value="">{l s='' mod='leobootstrapmenu'}</option>
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
<button type="button" id="btn-inject-widget" class="btn btn-primary btn-sm">{l s='Insert' mod='leobootstrapmenu'}</button>
{else}
<select style="display:none" name="inject_widget" class="inject_widget">
</select>
<button style="display:none" type="button" id="btn-inject-widget" class="btn btn-primary btn-sm">{l s='Insert' mod='leobootstrapmenu'}</button>
{/if}
<button type="button" id="btn-create-widget" class="btn btn-primary btn-sm">{l s='Create New Widget' mod='leobootstrapmenu'}</button>
</div>
</div>
<div id="content-s">
<div class="container">
<div class="page-header">
<h1>{l s='Live Megamenu Editor: ' mod='leobootstrapmenu'}{$group_title} ({$group_type})</h1>
</div>
<div class="bs-example">
<div class="alert alert-danger fade in">
<button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button>
<strong>{l s='By using this tool, allow to create sub menu having multiple rows and multiple columns. You can inject widgets inside columns or group sub menus in same level of parent.Note: Some configurations as group, columns width setting will be overrided' mod='leobootstrapmenu'}</strong>
</div>
</div>
</div>
<div id="pav-megamenu-liveedit">
<div id="toolbar" class="container">
<div id="menu-toolbars">
<div>
<div class="pull-right">
<a href="{$link->getAdminLink('AdminLeoWidgets')}&widgets=1" class="leo-modal-action btn btn-modeal btn-info btn-action">
{l s='List Widget' mod='leobootstrapmenu'}</a>
-
<a href="{$link->getAdminLink('AdminLeoWidgets')}&addbtmegamenu_widgets&widgets=1" class="leo-modal-action btn btn-modeal btn-success btn-action">
{l s='Create A Widget' mod='leobootstrapmenu'}</a>
-
<a href="{$live_site_url}" class="btn btn-modal btn-primary btn-sm btn-action" >
{l s='Preview On Live Site' mod='leobootstrapmenu'}</a> |
<a id="unset-data-menu" href="#" class="btn btn-danger btn-action">{l s='Reset Configuration' mod='leobootstrapmenu'}</a>
<button id="save-data-menu" class="btn btn-warning">{l s='Save' mod='leobootstrapmenu'}</button>
</div>
<a id="save-data-back" class="btn btn-default" href="{$action_backlink}">
{l s='Back' mod='leobootstrapmenu'}
</a>
</div>
</div>
</div>
<div class="container"><div class="megamenu-wrap">
<div class="progress" id="leo-progress">
<div class="progress-bar" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width: 00%;">
<span class="sr-only">60% Complete</span>
</div>
</div>
<div id="megamenu-content" class="{if ($group_type == 'vertical')}vertical {$group_type_sub}{/if}">
</div></div>
</div>
</div>
</div>
</div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">{l s='Preview On Live Site' mod='leobootstrapmenu'}</h4>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal"></button>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(".btn-modal").click(function() {
$('#myModal .modal-dialog ').css('width', '100%');
$('#myModal .modal-dialog ').css('height', '90%');
var a = $('<span class="glyphicon glyphicon-refresh"></span><div class="cssload-container"><div class="cssload-speeding-wheel"></div></div><iframe src="' + $(this).attr('href') + '" style="width:100%;height:100%; display:none"/>');
$('#myModal .modal-body').html(a);
$('#myModal').modal();
$('#myModal').attr('rel', $(this).attr('rel'));
$(a).load(function() {
$('#myModal .modal-body .glyphicon-refresh').hide();
$('#myModal .modal-body .cssload-container').hide();
$('#myModal .modal-body iframe').show();
$('#myModal .modal-body').css('height', '85%');
$('#myModal .modal-content ').css('height', '100%');
});
return false;
});
$('#myModal').on('hidden.bs.modal', function() {
if ($(this).attr('rel') == 'refresh-page') {
location.reload();
}
})
var live_editor = true;
var list_tab_live_editor = [];
var _action = '{$ajxgenmenu|replace:'&amp;':'&'}';
var _action_menu = '{$ajxmenuinfo|replace:'&amp;':'&'}';
var _action_widget = '{$action_widget|replace:'&amp;':'&'}';
var _action_loadwidget = '{$action_loadwidget|replace:'&amp;':'&'}';
var _id_shop = '{$id_shop}';
$("#megamenu-content").PavMegamenuEditor({
"action": _action,
"action_menu": _action_menu,
"action_widget": _action_widget,
"id_shop": _id_shop,
});
</script>

View File

@@ -0,0 +1,63 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{if isset($error) && $error}
<div class="alert alert-warning leo-lib-error">{$error}</div>
{else}
{if $group_type && $group_type == 'horizontal'}
<nav data-megamenu-id="{$megamenu_id}" class="leo-megamenu cavas_menu navbar navbar-default {if $show_cavas && $show_cavas == 1}enable-canvas{else}disable-canvas{/if} {if $group_class && $group_class != ''}{$group_class}{/if}" role="navigation">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggler hidden-lg-up" data-toggle="collapse" data-target=".megamenu-off-canvas-{$megamenu_id}">
<span class="sr-only">{l s='Toggle navigation' mod='leobootstrapmenu'}</span>
&#9776;
<!--
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
-->
</button>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
{*
<div id="leo-top-menu" class="collapse navbar-collapse navbar-ex1-collapse">{$boostrapmenu|escape:'html':'UTF-8'}</div>
*}
<div class="leo-top-menu collapse navbar-toggleable-md megamenu-off-canvas megamenu-off-canvas-{$megamenu_id}">{$boostrapmenu|escape:'html':'UTF-8' nofilter}{* HTML form , no escape necessary *}</div>
</nav>
<script type="text/javascript">
list_menu_tmp.id = '{$megamenu_id}';
list_menu_tmp.type = 'horizontal';
{if $show_cavas && $show_cavas == 1}
list_menu_tmp.show_cavas =1;
{else}
list_menu_tmp.show_cavas =0;
{/if}
list_menu_tmp.list_tab = list_tab;
list_menu.push(list_menu_tmp);
list_menu_tmp = {};
list_tab = {};
</script>
{else}
<div data-megamenu-id="{$megamenu_id}" class="leo-verticalmenu {if $group_class && $group_class != ''}{$group_class}{/if}">
<h4 class="title_block verticalmenu-button">{$group_title}</h4>
<div class="box-content block_content">
<div class="verticalmenu" role="navigation">{$boostrapmenu|escape:'html':'UTF-8' nofilter}{* HTML form , no escape necessary *}</div>
</div>
</div>
<script type="text/javascript">
list_menu_tmp.id = '{$megamenu_id}';
list_menu_tmp.type = 'vertical';
list_menu_tmp.list_tab = list_tab;
list_menu.push(list_menu_tmp);
list_menu_tmp = {};
list_tab = {};
</script>
{/if}
{/if}

View File

@@ -0,0 +1,41 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
{if $menu.active == 1}
<li data-menu-type="{$menu.type}" class="nav-item parent dropdown {$menu.menu_class} {$align} {$addwidget}" {$model->renderAttrs($menu)}>
<a class="123123123 nav-link dropdown-toggle has-category" data-toggle="dropdown" href="{$model->getLink($menu)}" target="{$menu.target}">
{if $menu.icon_class}
{if $menu.icon_class != $menu.icon_class|strip_tags}
<span class="hasicon menu-icon-class">{$menu.icon_class nofilter}
{else}
<span class="hasicon menu-icon-class"><i class="{$menu.icon_class}"></i>
{/if}
{elseif $menu.image}
<span class="hasicon menu-icon" style="background:url('{$model->image_base_url}{$menu.image}') no-repeat">
{/if}
{if $menu.show_title}
<span class="menu-title">{$menu.title}</span>
{/if}
{if $menu.text}
<span class="sub-title">{$menu.text}</span>
{/if}
{if $menu.description}
<span class="menu-desc">{$menu.description}</span>
{/if}
{if $menu.image || $menu.icon_class}
</span>
{/if}
{if $model->is_live_edit && $menu.is_group == 0}<b class="caret"></b>{/if}
</a>
{if !$model->is_live_edit && $menu.is_group == 0}<b class="caret"></b>{/if}
{$model->genFrontTree($menu.megamenu_id, 1, $menu, $typesub, $group_type) nofilter}{* HTML form , no escape necessary *}
</li>
{/if}

View File

@@ -0,0 +1,37 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
{* # ONLY HTML + NOT SHOW SUBMENU *}
<li data-menu-type="{$menu.type}" class="nav-item {$menu.menu_class} {$addwidget}" {$model->renderAttrs($menu)}>
<a href="{$model->getLink($menu)}" target="{$menu.target}" class="nav-link has-category has-subhtml">
{if $menu.icon_class}
{if $menu.icon_class != $menu.icon_class|strip_tags}
<span class="hasicon menu-icon-class">{$menu.icon_class nofilter}
{else}
<span class="hasicon menu-icon-class"><i class="{$menu.icon_class}"></i>
{/if}
{elseif $menu.image}
<span class="hasicon menu-icon" style="background:url('{$model->image_base_url}{$menu.image}') no-repeat">
{/if}
{if $menu.show_title}
<span class="menu-title">{$menu.title}</span>
{/if}
{if $menu.text}
<span class="sub-title">{$menu.text}</span>
{/if}
{if $menu.description}
<span class="menu-desc">{$menu.description}</span>
{/if}
{if $menu.image || $menu.icon_class}
</span>
{/if}
</a>
{if $menu.content_text}
<div class="menu-content">{$menu.content_text nofilter}{* HTML form , no escape necessary *}</div>
{/if}
</li>

View File

@@ -0,0 +1,35 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
{if $menu.active == 1}
<li data-menu-type="{$menu.type}" class="nav-item {$menu.menu_class} {$addwidget}" {$model->renderAttrs($menu)}>
<a class="nav-link has-category" href="{$model->getLink($menu)}" target="{$menu.target}">
{if $menu.icon_class}
{if $menu.icon_class != $menu.icon_class|strip_tags}
<span class="hasicon menu-icon-class">{$menu.icon_class nofilter}
{else}
<span class="hasicon menu-icon-class"><i class="{$menu.icon_class}"></i>
{/if}
{elseif $menu.image}
<span class="hasicon menu-icon" style="background:url('{$model->image_base_url}{$menu.image}') no-repeat">
{/if}
{if $menu.show_title}
<span class="menu-title">{$menu.title}</span>
{/if}
{if $menu.text}
<span class="sub-title">{$menu.text}</span>
{/if}
{if $menu.description}
<span class="menu-desc">{$menu.description}</span>
{/if}
{if $menu.image || $menu.icon_class}
</span>
{/if}
</a>
</li>
{/if}

View File

@@ -0,0 +1,59 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
{* function genMegaMenuByConfig *}
{if $menu.active == 1}
<li data-menu-type="{$menu.type}" class="nav-item parent {$menu.menu_class} {$class} {if $hascat}{$align}{/if} {$addwidget} " {$model->renderAttrs($menu)}>
<a class="nav-link dropdown-toggle {if $hascat}has-category{/if}" data-toggle="dropdown" href="{$model->getLink($menu)}" target="{$menu.target}">
{if $menu.icon_class}
{if $menu.icon_class != $menu.icon_class|strip_tags}
<span class="hasicon menu-icon-class">{$menu.icon_class nofilter}
{else}
<span class="hasicon menu-icon-class"><i class="{$menu.icon_class}"></i>
{/if}
{elseif $menu.image}
<span class="hasicon menu-icon" style="background:url('{$model->image_base_url}{$menu.image}') no-repeat">
{/if}
{if $menu.show_title}
<span class="menu-title">{$menu.title}</span>
{/if}
{if $menu.text}
<span class="sub-title">{$menu.text}</span>
{/if}
{if $menu.description}
<span class="menu-desc">{$menu.description}</span>
{/if}
{if $menu.image || $menu.icon_class}
</span>
{/if}
{if $model->is_live_edit && $menu.is_group == 0}<b class="caret"></b>{/if}
</a>
{if !$model->is_live_edit && $menu.is_group == 0}<b class="caret"></b>{/if}
{if $menu.sub_with == 'widget'}
<div class="dropdown-sub {if $menu.is_group == 1}dropdown-mega{else}dropdown-menu{/if}" {$style nofilter}>
<div class="dropdown-menu-inner">
{foreach from=$menu.megaconfig->rows item=row}
<div class="row">
{foreach from=$row->cols item=col}
<div class="mega-col col-md-{$col->colwidth}" {$model->getColumnDataConfig($col)}>
<div class="mega-col-inner{if isset($col->colclass)} {$col->colclass}{/if}">
{$model->renderWidgetsInCol($col) nofilter}{* HTML form , no escape necessary *}
</div>
</div>
{/foreach}
</div>
{/foreach}
</div>
</div>
{/if}
</li>
{/if}

View File

@@ -0,0 +1,27 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
<div class="{$class} dropdown-sub mega-cols cols{$parent.colums}" {$attrw}>
<div class="dropdown-menu-inner">
<div class="row">
{foreach from=$cols key=i item=menus}
{assign var="colwidth" value= $o_spans.{$i + 1}}
{$colwidth|replace:'col-sm-':''}
<div class="mega-col {$o_spans.{$i + 1}} col-{$i + 1}" data-type="menu" data-colwidth="{$colwidth}">
<div class="inner">
<ul>
{foreach from=$menus item=menu}
{$mod_menu->renderMenuContent($menu, $level + 1, $typesub, $group_type) nofilter}{* HTML form , no escape necessary *}
{/foreach}
</ul>
</div>
</div>
{/foreach}
</div>
</div>
</div>

View File

@@ -0,0 +1,42 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
{if isset($colums) && $colums > 1}
<div class="{$class} level{$level}" {$attrw} >
<div class="dropdown-menu-inner">
<div class="row">
<div class="col-sm-12 mega-col" data-colwidth="12" data-type="menu" >
<div class="inner">
<div class="row">
{foreach from=$data item=menu}
<ul class="col-md-{$cols}">
{$mod_menu->renderMenuContent($menu, $level + 1, $typesub, $group_type) nofilter}
</ul>
{/foreach}
</div>
</div>
</div>
</div>
</div>
</div>
{else}
<div class="{$class} level{$level}" {$attrw} >
<div class="dropdown-menu-inner">
<div class="row">
<div class="col-sm-12 mega-col" data-colwidth="12" data-type="menu" >
<div class="inner">
<ul>
{foreach from=$data item=menu}
{$mod_menu->renderMenuContent($menu, $level + 1, $typesub, $group_type) nofilter}{* HTML form , no escape necessary *}
{/foreach}
</ul>
</div>
</div>
</div>
</div>
</div>
{/if}

View File

@@ -0,0 +1,42 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
<div class="{$class} level{$level}" {$attrw} >
<div class="dropdown-menu-inner">
{foreach from=$parent.megaconfig item=rows}
{foreach from=$rows item=rowcols}
<div class="row">
{foreach from=$rowcols item=col}
{assign var=colclass value=''}
{if isset($col->colclass) && $col.colclass}
{assign var=colclass value=$col.colclass}
{/if}
{if isset($col->type) && $col->type=='menu'}
<div class="mega-col col-md-{$col->colwidth}" data-type="menu" {$mod_menu->getColumnDataConfig($col)}>
<div class="mega-col-inner {$colclass}">
<ul>
{foreach from=$data item=menu}
{$mod_menu->renderMenuContent($menu, $level + 1, $typesub, $group_type) nofilter}{* HTML form , no escape necessary *}
{/foreach}
</ul>
</div>
</div>
{else}
<div class="mega-col col-md-{$col->colwidth}" {$mod_menu->getColumnDataConfig($col)}>
<div class="mega-col-inner {$colclass}">
{$mod_menu->renderWidgetsInCol($col)}
</div>
</div>
{/if}
{/foreach}
</div>
{/foreach}
{/foreach}
</div>
</div>

View File

@@ -0,0 +1,48 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
<div class="dropdown-sub {$class} level{$level}" {$attrw} >
<div class="dropdown-menu-inner">
{foreach from=$parent.megaconfig->rows item=rows}
{foreach from=$rows item=rowcols}
<div class="row">
{foreach from=$rowcols key=key item=col}
{assign var=colwidth value='6'}
{if isset($col->colwidth) && $col.colwidth}
{assign var=colwidth value=$col.colwidth}
{/if}
{assign var=colclass value=''}
{if isset($col->colclass) && $col.colclass}
{assign var=colclass value=$col.colclass}
{/if}
{if isset($col->type) && $col->type == 'menu' && isset($cols.$key)}
<div class="mega-col col-md-{$col->colwidth}" data-type="menu" {$mod_menu->getColumnDataConfig($col)}>
<div class="mega-col-inner {$colclass}">
<ul>
{foreach from=$cols.$key item=menu}
{$mod_menu->renderMenuContent($menu, $level + 1, $typesub, $group_type nofilter}{* HTML form , no escape necessary *}
{/foreach}
</ul>
</div>
</div>
{else}
<div class="mega-col col-md-{$col->colwidth}" {$mod_menu->getColumnDataConfig($col)}>
<div class="mega-col-inner {$colclass}">
{$mod_menu->renderWidgetsInCol($col) nofilter}{* HTML form , no escape necessary *}
</div>
</div>
{/if}
{/foreach}
</div>
{/foreach}
{/foreach}
</div>
</div>

View File

@@ -0,0 +1,42 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
<li data-menu-type="{$menu.type}" class="nav-item parent dropdown-submenu{$menu.menu_class}" {$model->renderAttrs($menu)}>
{if $menu.show_title}
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="{$model->getLink($menu)}" target="{$menu.target}">
{if $menu.icon_class}
{if $menu.icon_class != $menu.icon_class|strip_tags}
<span class="hasicon menu-icon-class">{$menu.icon_class nofilter}
{else}
<span class="hasicon menu-icon-class"><i class="{$menu.icon_class}"></i>
{/if}
{elseif $menu.image }
<span class="hasicon menu-icon" style="background:url('{$model->image_base_url}{$menu.image}') no-repeat">
{/if}
{if $menu.show_title}
<span class="menu-title">{$menu.title}</span>
{/if}
{if $menu.text}
<span class="sub-title">{$menu.text}</span>
{/if}
{if $menu.description}
<span class="menu-desc">{$menu.description}</span>
{/if}
{if $menu.image || $menu.icon_class}
</span>
{/if}
{if $model->is_live_edit && $menu.is_group == 0}<b class="caret"></b>{/if}
</a>
{if !$model->is_live_edit && $menu.is_group == 0}<b class="caret"></b>{/if}
{/if}
{$model->genFrontTree($menu.megamenu_id, $level, $menu, $typesub, $group_type) nofilter}{* HTML form , no escape necessary *}
</li>

View File

@@ -0,0 +1,39 @@
{*
* @Module Name: Leo Blog
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
* @description: Content Management
*}
<li data-menu-type="{$menu.type}" class="nav-item {$menu.menu_class}" {$model->renderAttrs($menu)}>
{if $menu.show_title}
<a class="nav-link" href="{$model->getLink($menu)}" target="{$menu.target}">
{if $menu.icon_class}
{if $menu.icon_class != $menu.icon_class|strip_tags}
<span class="hasicon menu-icon-class">{$menu.icon_class nofilter}
{else}
<span class="hasicon menu-icon-class"><i class="{$menu.icon_class}"></i>
{/if}
{elseif $menu.image }
<span class="hasicon menu-icon" style="background:url('{$model->image_base_url}{$menu.image}') no-repeat">
{/if}
{if $menu.show_title}
<span class="menu-title">{$menu.title}</span>
{/if}
{if $menu.text}
<span class="sub-title">{$menu.text}</span>
{/if}
{if $menu.description}
<span class="menu-desc">{$menu.description}</span>
{/if}
{if $menu.image || $menu.icon_class}
</span>
{/if}
</a>
{/if}
</li>

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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,49 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($accordions)}
<div class="widget-accordion">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
<div id="accordion{$id}" class="panel-group">
{foreach $accordions as $key => $ac}
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<a href="#collapseAc{$id}{$key}" data-parent="#accordion{$id}" data-toggle="collapse" class="accordion-toggle collapsed">
{$ac.header}
</a>
</h4>
</div>
<div class="panel-collapse collapse {if $key==0} in {else} out{/if}" id="collapseAc{$id}{$key}" >
<div class="panel-body">
{$ac.content nofilter}{* HTML form , no escape necessary *}
</div>
</div>
</div>
{/foreach}
</div>
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,25 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($html)&& !empty($html)}
<div class="alert {$alert_type}">
{$html nofilter}{* HTML form , no escape necessary *}
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,68 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
{function name=menu_cat_img level=0}
<ul class="level{$level}{if $level != 0} dropdown-sub dropdown-menu{/if}">
{foreach $data as $category}
{if isset($category.children) && is_array($category.children)}
<li class="cate_{$category.id_category}" ><a href="{$link->getCategoryLink($category.id_category, $category.link_rewrite)|escape:'html':'UTF-8'}"><span {if {$category.id_category} == {$id_root}} style="display:none"{/if}>{$category.name}{if isset($category.image)}<span {if {$showicons} == 0 || ({$level} gt 0 && {$showicons} == 2)} style="display:none"{/if}><img height = '20px' {if isset($aplazyload) && $aplazyload}class="lazy" data-src{else}src{/if}='{$category["image"]}' alt='{$category["name"]}'></span>{/if}</span></a>
<b class="caret"{if {$category.id_category} == {$id_root}} style="display:none"{/if}></b>
{menu_cat_img data=$category.children level=$level+1}</li>
{else}
<li class="cate_{$category.id_category}"><a href="{$link->getCategoryLink($category.id_category, $category.link_rewrite)|escape:'html':'UTF-8'}">{$category.name}{if isset($category.image)}<span {if {$showicons} == 0 || ({$level} gt 0 && {$showicons} == 2)} style="display:none"{/if}><img height = '10px' {if isset($aplazyload) && $aplazyload}class="lazy" data-src{else}src{/if}='{$category["image"]}' alt='{$category["name"]}'></span>{/if}</a></li>
{/if}
{/foreach}
</ul>
{/function}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($categories)}
{*
<div class="widget-category_image block widget-category_image_{$level}">
*}
<div class="widget-category_image block widget-category_image_{if $cate_depth}{$cate_depth}{else}0{/if}" data-level="{if $cate_depth}{$cate_depth}{else}0{/if}" data-limit="{if $limit}{$limit}{else}5{/if}">
{if isset($widget_heading)&&!empty($widget_heading)}
<h4 class="menu-title">
{$widget_heading}
</h4>
{/if}
<div class="block_content">
{foreach from = $categories key=key item=cate}
{menu_cat_img data=$cate}
{/foreach}
<div id="view_all_wapper" style="display:none">
<span class ="view_all"><a href="javascript:void(0)">{l s='View all' mod='leobootstrapmenu'}</a></span>
</div>
</div>
</div>
{/if}
<script type="text/javascript">
{literal}
if ( typeof live_editor !== 'undefined' && live_editor)
{
var limit = {/literal}{if $limit}{$limit}{else}5{/if}{literal};
var level = {/literal}{if $cate_depth}{$cate_depth}{else}0{/if}{literal};
}else
{
list_menu_tmp.limit = {/literal}{if $limit}{$limit}{else}5{/if}{literal};
list_menu_tmp.level = {/literal}{if $cate_depth}{$cate_depth}{else}0{/if}{literal};
}
{/literal}
</script>
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,42 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
<div class="facebook-wrapper" style="width:{$width}" >
{if isset($application_id)&&$application_id}
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/{$displaylanguage}/all.js#xfbml=1&appId={$application_id}";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
{else}
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/{$displaylanguage}/sdk.js#xfbml=1&version=v2.8";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
{/if}
<div class="fb-page" data-href="{$page_url}" data-tabs="{$tabdisplay}" data-height="{$height}" data-width="{$width}" data-show-facepile="{$show_faces}" data-hide-cover="{$hide_cover}" data-small-header="{$small_header}"></div>
</div>
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,32 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($html)}
<div class="widget-html">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
{$html nofilter}{* HTML form , no escape necessary *}
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,47 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($images) && $images}
<div class="widget-images">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner clearfix">
<div class="images-list clearfix">
<div>
{foreach from=$images item=image name=images}
{if $smarty.foreach.images.index == 0 || $smarty.foreach.images.index % $columns == 0}
<div class="row">
{/if}
<div class="image-item {if 12 % $columns == 0}col-md-{12/$columns}{/if} col-xs-12">
<img class="replace-2x img-fluid{if isset($aplazyload) && $aplazyload} lazy{/if}" {if isset($aplazyload) && $aplazyload}data-src{else}src{/if}="{$image}" alt=""/>
</div>
{if $smarty.foreach.images.index % $columns == $columns-1 || $smarty.foreach.images.last}
</div>
{/if}
{/foreach}
</div>
</div>
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,42 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($images)}
<div class="widget-images block">
{if isset($widget_heading)&&!empty($widget_heading)}
<h4 class="title_block">
{$widget_heading}
</h4>
{/if}
<div class="block_content clearfix">
<div class="images-list clearfix">
<div class="row">
{foreach from=$images item=image name=images}
<div class="image-item {if $columns == 5} col-md-2-4 {else} col-md-{12/$columns}{/if} col-xs-12">
<a class="fancybox" rel="leogallery{$id_btmegamenu_widgets}" href= "{$link->getImageLink($image.link_rewrite, $image.id_image, $thickimage)}">
<img class="replace-2x img-fluid{if isset($aplazyload) && $aplazyload} lazy{/if}" {if isset($aplazyload) && $aplazyload}data-src{else}src{/if}="{$link->getImageLink($image.link_rewrite, $image.id_image, $smallimage)}" alt=""/>
</a>
</div>
{/foreach}
</div>
</div>
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,38 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($links)}
<div class="widget-links">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
<div id="tabs{$id}" class="panel-group">
<ul class="nav-links">
{foreach $links as $key => $ac}
<li ><a href="{$ac.link}" >{$ac.text}</a></li>
{/foreach}
</ul>
</div>
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,38 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
<div class="widget-manufacture">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
{if manufacturers}
<div class="manu-logo">
{foreach from=$manufacturers item=manufacturer name=manufacturers}
<a href="{$link->getmanufacturerLink($manufacturer.id_manufacturer, $manufacturer.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{l s='view products' mod='leobootstrapmenu'}">
<img {if isset($aplazyload) && $aplazyload}class="lazy" data-src{else}src{/if}="{$manufacturer.image|escape:'htmlall':'UTF-8'}" alt=""> </a>
{/foreach}
</div>
{else}
<p class="alert alert-info">{l s='No image logo at this time.' mod='leobootstrapmenu'}</p>
{/if}
</div>
</div>
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,75 @@
{*
* Leo Theme for Prestashop 1.6.x
*
* @author http://www.leotheme.com
* @copyright Copyright (C) October 2013 LeoThemes.com <@emai:leotheme@gmail.com>
* <info@leotheme.com>.All rights reserved.
* @license GNU General Public License version 2
*}
<!-- Block Newsletter module-->
<div id="newsletter_block_footer" class="leo-newsletter">
<h4 class="menu-title">{l s='Newsletter' mod='leobootstrapmenu'}</h4>
<div class="block_content">
<form action="{$link->getPageLink('index')|escape:'html'}" method="post">
{if $information}
<div class="newsletter-info">{$information nofilter}</div>
{/if}
<div class="alert alert-danger hide">{l s='Newsletter: Invalid email address' mod='leobootstrapmenu'}</div>
<div class="input-group">
<input class="form-control" id="newsletter-input-footer" type="text" name="email" value="{if isset($value) && $value}{$value}{else}{l s='your e-mail' mod='leobootstrapmenu'}{/if}" />
<input type="hidden" name="action" value="0" />
<span class="input-group-btn">
<button type="submit" class="btn btn-default" name="submitNewsletter" >{l s='Go!' mod='leobootstrapmenu'}</button>
</span>
</div>
</form>
</div>
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>
<!-- /Block Newsletter module-->
<script type="text/javascript">
var placeholder = "{l s='your e-mail' mod='leobootstrapmenu' js=1}";
{literal}
$(document).ready(function() {
$('#newsletter-input-footer').on({
focus: function() {
if ($(this).val() == placeholder) {
$(this).val('');
}
},
blur: function() {
if ($(this).val() == '') {
$(this).val(placeholder);
}
}
});
$("#newsletter_block_footer form").submit( function(){
if ( $('#newsletter-input-footer').val() == placeholder) {
$("#newsletter_block_footer .alert").removeClass("hide");
return false;
}else {
$("#newsletter_block_footer .alert").addClass("hide");
return true;
}
} );
});
{/literal}
</script>

View File

@@ -0,0 +1,79 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($product)}
<div class="widget-product">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
<div class="product_block">
<div class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
<div class="thumbnail-container clearfix">
<div class="product-image">
{block name='product_thumbnail'}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img
class="img-fluid{if isset($aplazyload) && $aplazyload} lazy{/if}"
{if isset($aplazyload) && $aplazyload}data-src{else}src{/if} = "{$product.cover.bySize.cart_default.url}"
alt = "{$product.cover.legend}"
data-full-size-image-url = "{$product.cover.large.url}"
>
</a>
{/block}
</div>
<div class="product-meta">
<div class="product-description">
{block name='product_name'}
<h4 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:30:'...'}</a></h4>
{/block}
{block name='product_price_and_shipping'}
{if $product.show_price}
<div class="product-price-and-shipping">
{if $product.has_discount}
{hook h='displayProductPriceBlock' product=$product type="old_price"}
<span class="regular-price">{$product.regular_price}</span>
{if $product.discount_type === 'percentage'}
<span class="discount-percentage">{$product.discount_percentage}</span>
{/if}
{/if}
{hook h='displayProductPriceBlock' product=$product type="before_price"}
<span class="price" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="priceCurrency" content="{$currency.iso_code}"></span><span itemprop="price" content="{$product.price_amount}">{$product.price}</span>
</span>
{hook h='displayProductPriceBlock' product=$product type='unit_price'}
{hook h='displayProductPriceBlock' product=$product type='weight'}
</div>
{/if}
{/block}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,97 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($products) && !empty($products)}
<div class="widget-products">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
{if isset($products) AND $products}
<div class="product-block">
{assign var='liHeight' value=140}
{assign var='nbItemsPerLine' value=3}
{assign var='nbLi' value=$limit}
{math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines}
{math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight}
{$mproducts=array_chunk($products,$limit)}
{foreach from=$products item=product name=homeFeaturedProducts}
{math equation="(total%perLine)" total=$smarty.foreach.homeFeaturedProducts.total perLine=$nbItemsPerLine assign=totModulo}
{if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if}
<div class="product-miniature js-product-miniature" data-id-product="{$product.id_product}" data-id-product-attribute="{$product.id_product_attribute}" itemscope itemtype="http://schema.org/Product">
<div class="thumbnail-container clearfix">
<div class="product-image">
{block name='product_thumbnail'}
<a href="{$product.url}" class="thumbnail product-thumbnail">
<img
class="img-fluid{if isset($aplazyload) && $aplazyload} lazy{/if}"
{if isset($aplazyload) && $aplazyload}data-src{else}src{/if} = "{$product.cover.bySize.small_default.url}"
alt = "{$product.cover.legend}"
data-full-size-image-url = "{$product.cover.large.url}"
>
</a>
{/block}
</div>
<div class="product-meta">
<div class="product-description">
{block name='product_name'}
<h4 class="h3 product-title" itemprop="name"><a href="{$product.url}">{$product.name|truncate:30:'...'}</a></h4>
{/block}
{block name='product_price_and_shipping'}
{if $product.show_price}
<div class="product-price-and-shipping">
{if $product.has_discount}
{hook h='displayProductPriceBlock' product=$product type="old_price"}
<span class="regular-price">{$product.regular_price}</span>
{if $product.discount_type === 'percentage'}
<span class="discount-percentage">{$product.discount_percentage}</span>
{/if}
{/if}
{hook h='displayProductPriceBlock' product=$product type="before_price"}
<span class="price" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="priceCurrency" content="{$currency.iso_code}"></span><span itemprop="price" content="{$product.price_amount}">{$product.price}</span>
</span>
{hook h='displayProductPriceBlock' product=$product type='unit_price'}
{hook h='displayProductPriceBlock' product=$product type='weight'}
</div>
{/if}
{/block}
</div>
</div>
</div>
</div>
{/foreach}
</div>
{/if}
</div>
</div>
{else}
<div class="widget-products">
<p class="alert alert-info">{l s='No products found.' mod='leobootstrapmenu'}</p>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,32 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($raw_html)}
<div class="widget-raw-html">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
{$raw_html nofilter}{* HTML form , no escape necessary *}
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,51 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($subcategories)}
<div class="widget-subcategories">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="widget-heading">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
{if $cat->id_category != ''}
<div class="menu-title">
<a href="{$link->getCategoryLink($cat->id_category, $cat->link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$cat->name|escape:'htmlall':'UTF-8'}" class="img">
{$cat->name|escape:'htmlall':'UTF-8'}
</a>
</div>
<ul>
{foreach from=$subcategories item=subcategory}
<li class="clearfix">
<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}" class="img">
{$subcategory.name|escape:'htmlall':'UTF-8'}
</a>
</li>
{/foreach}
</ul>
{else}
<div class="alert alert-warning">
{l s='The ID category does not exist' mod='leobootstrapmenu'}
</div>
{/if}
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,43 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($tabs)}
<div class="widget-tab">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
<div id="tabs{$id}" class="panel-group">
<ul class="nav nav-tabs">
{foreach $tabs as $key => $ac}
<li class="{if $key==0}active{/if}"><a href="#tab{$id}{$key}" >{$ac.header}</a></li>
{/foreach}
</ul>
<div class="tab-content">
{foreach $tabs as $key => $ac}
<div class="tab-pane{if $key==0} active{/if} " id="tab{$id}{$key}">{$ac.content}</div>
{/foreach}
</div>
</div>
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,58 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($tabhtmls)}
<div id="tabhtml{$id|escape:'html':'UTF-8'}" class="widget-tab block">
{if isset($widget_heading)&&!empty($widget_heading)}
<h4 class="title_block">
{$widget_heading|escape:'html':'UTF-8'}
</h4>
{/if}
<div class="block_content">
<div id="tabhtmls{$id|escape:'html':'UTF-8'}" class="panel-group">
<ul class="nav nav-tabs">
{foreach $tabhtmls as $key => $ac}
<li class="nav-item{if $key==0} active{/if}"><a href="#tabhtml{$id|escape:'html':'UTF-8'}{$key|escape:'html':'UTF-8'}" class="nav-link tab-link" >{$ac.title|escape:'html':'UTF-8'}</a></li>
{/foreach}
</ul>
<div class="tab-content">
{foreach $tabhtmls as $key => $ac}
<div class="tab-pane{if $key==0} active{/if} " id="tabhtml{$id|escape:'html':'UTF-8'}{$key|escape:'html':'UTF-8'}">{$ac.content nofilter}{* HTML form , no escape necessary *}</div>
{/foreach}
</div>
</div>
</div>
</div>
<script type="text/javascript">
{literal}
if ( typeof live_editor !== 'undefined' && live_editor)
{
// var tabhtml_id = {/literal}{$id}{literal};
list_tab_live_editor.push({/literal}{$id}{literal});
}
else
{
// list_menu_tmp.list_tab.push({$id});
list_tab.push({/literal}{$id}{literal}) ;
}
{/literal}
</script>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,35 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($username)}
<div class="widget-twitter">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
<a class="twitter-timeline" data-dnt="true" data-theme="{$theme}" data-link-color="#FFFFFF" width="{$width}" height="{$height}" data-chrome="{$chrome}" data-border-color="#{$border_color}" lang="EN" data-tweet-limit="{$count}" data-show-replies="{$show_replies}" href="https://twitter.com/{$username}" data-widget-id="{$twidget_id}">Tweets by @{$username}</a>
</div>
</div>
{literal}
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if (!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
{/literal}
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,32 @@
{*
* @Module Name: Leo Bootstrap Menu
* @Website: leotheme.com.com - prestashop template provider
* @author Leotheme <leotheme@gmail.com>
* @copyright Leotheme
*}
<div class="leo-widget" data-id_widget="{$id_widget}">
{if isset($video_code)}
<div class="widget-video">
{if isset($widget_heading)&&!empty($widget_heading)}
<div class="menu-title">
{$widget_heading}
</div>
{/if}
<div class="widget-inner">
{$video_code nofilter}{* HTML form , no escape necessary *}
</div>
</div>
{/if}
{if $show_widget_bo == 'admin'}
<div class="w-name">
<select name="inject_widget" class="inject_widget_name">
{foreach from=$widgets item=w}
<option value="{$w['key_widget']}">
{$w['name']}
</option>
{/foreach}
</select>
</div>
{/if}
</div>

View File

@@ -0,0 +1,36 @@
<?php
/*
* 2007-2012 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 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/afl-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-2012 PrestaShop SA
* @version Release: $Revision: 13573 $
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 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;