Merge branch 'bootstrap' of https://github.com/PrestaShop/PrestaShop into bootstrap

This commit is contained in:
Jerome Nadaud
2013-11-04 18:34:51 +01:00
444 changed files with 13555 additions and 9035 deletions
+6 -14
View File
@@ -22,26 +22,18 @@
$upload->setInvalidFileExt(explode(",", CONFIG_UPLOAD_INVALID_EXTS));
if(CONFIG_SYS_VIEW_ONLY || !CONFIG_OPTIONS_UPLOAD)
{
$error = SYS_DISABLED;
}
elseif(empty($_GET['folder']) || !isUnderRoot($_GET['folder']))
{
$error = ERR_FOLDER_PATH_NOT_ALLOWED;
}else if(!$upload->isFileUploaded('file'))
{
elseif (!$upload->isFileUploaded('file'))
$error = ERR_FILE_NOT_UPLOADED;
}else if(!$upload->moveUploadedFile($_GET['folder']))
{
$error = ERR_FILE_MOVE_FAILED;
}
elseif(!$upload->isPermittedFileExt(explode(",", CONFIG_UPLOAD_VALID_EXTS)))
{
elseif (!$upload->isPermittedFileExt(explode(",", CONFIG_UPLOAD_VALID_EXTS)))
$error = ERR_FILE_TYPE_NOT_ALLOWED;
}elseif(defined('CONFIG_UPLOAD_MAXSIZE') && CONFIG_UPLOAD_MAXSIZE && $upload->isSizeTooBig(CONFIG_UPLOAD_MAXSIZE))
{
elseif (defined('CONFIG_UPLOAD_MAXSIZE') && CONFIG_UPLOAD_MAXSIZE && $upload->isSizeTooBig(CONFIG_UPLOAD_MAXSIZE))
$error = sprintf(ERROR_FILE_TOO_BID, transformFileSize(CONFIG_UPLOAD_MAXSIZE));
}else
elseif (!$upload->moveUploadedFile($_GET['folder']))
$error = ERR_FILE_MOVE_FAILED;
else
{
include_once(CLASS_FILE);
$path = $upload->getFilePath();
@@ -24,7 +24,8 @@
if(!empty($_GET['search']))
{
include_once(CLASS_SEARCH);
if (!preg_match('/^'.Tools::pRegexp(realpath(dirname(__FILE__).'/'.$_GET['search_folder']), '/').'/i', _PS_ROOT_DIR_.'/img/cms'))
exit;
$search = new Search($_GET['search_folder']);
$search->addSearchKeyword('recursive', @$_GET['search_recursively']);
$search->addSearchKeyword('mtime_from', @$_GET['search_mtime_from']);
-1
View File
@@ -32,7 +32,6 @@ if(!isset($_SESSION['loggedin']) || $_SESSION['loggedin'] === false) {
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link type="text/css" href="theme/<?php echo CONFIG_THEME_NAME; ?>/css/login.css" rel="stylesheet" />
<title><?php echo LOGIN_PAGE_TITLE; ?></title>
</head>
<body>
@@ -78,9 +78,9 @@
define('CONFIG_EDITABLE_VALID_EXTS', 'txt,htm,html,xml,js,css'); //make you include all these extension in CONFIG_UPLOAD_VALID_EXTS if you want all valid
define('CONFIG_OVERWRITTEN', false); //overwirte when processing paste
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png');// //
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,jpeg,png');// //
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,bmp,tif,zip,sit,rar,gz,tar,htm,html,mov,mpg,avi,asf,mpeg,wmv,aif,aiff,wav,mp3,swf,ppt,rtf,doc,pdf,xls,txt,xml,xsl,dtd');//
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,jpg,png');
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,jpg,jpeg,jpeg,png');
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,txt'); //
define('CONFIG_UPLOAD_INVALID_EXTS', '');
+3
View File
@@ -10,6 +10,9 @@
//FILESYSTEM CONFIG <br>
require_once(dirname(__FILE__) . DIRECTORY_SEPARATOR . "class.auth.php");
if (_PS_MODE_DEMO_)
die('This functionality has been disabled.');
define('CONFIG_QUERY_STRING_ENABLE', true); //Enable passed query string to setting the system configuration
if(!isset($_SESSION))
{
@@ -73,9 +73,9 @@
define('CONFIG_EDITABLE_VALID_EXTS', 'txt,htm,html,xml,js,css'); //make you include all these extension in CONFIG_UPLOAD_VALID_EXTS if you want all valid
define('CONFIG_OVERWRITTEN', false); //overwirte when processing paste
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,txt'); //
define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,jpeg,png,txt'); //
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,bmp,tif,zip,sit,rar,gz,tar,htm,html,mov,mpg,avi,asf,mpeg,wmv,aif,aiff,wav,mp3,swf,ppt,rtf,doc,pdf,xls,txt,xml,xsl,dtd');//
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,bmp,txt,jpg,png,tif,html,htm,js,css,xml,xsl,dtd,mp3,wav,wmv,wma,rm,rmvb,mov,swf');
define("CONFIG_VIEWABLE_VALID_EXTS", 'gif,bmp,txt,jpg,jpeg,png,tif,html,htm,js,css,xml,xsl,dtd,mp3,wav,wmv,wma,rm,rmvb,mov,swf');
//define('CONFIG_UPLOAD_VALID_EXTS', 'gif,jpg,png,txt'); //
define('CONFIG_UPLOAD_INVALID_EXTS', '');
-3
View File
@@ -56,9 +56,6 @@ echo '
<script type="text/javascript" src="'._PS_JS_DIR_.'jquery/plugins/chosen/jquery.chosen.js"></script>
<link rel="shortcut icon" href="'._PS_IMG_.'favicon.ico" />
'.Hook::exec('displayBackOfficeHeader').'
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="'._PS_CSS_DIR_.'admin-ie.css" />
<![endif]-->
<style type="text/css">
div#header_infos, div#header_infos a#header_shopname, div#header_infos a#header_logout, div#header_infos a#header_foaccess {
color:'.(Tools::getBrightness(empty(Context::getContext()->employee->bo_color) ? '#FFFFFF' : Context::getContext()->employee->bo_color) < 128 ? 'white' : '#383838').'
File diff suppressed because one or more lines are too long
@@ -1,5 +0,0 @@
@import "compass"
@import "admin-theme/admin-email-colors"
@import "admin-theme/_bootstrap-variables"
@import "admin-theme/_bootstrap-email-init"
@import "admin-theme/_email"
File diff suppressed because one or more lines are too long
@@ -1,76 +0,0 @@
//light
//$main-color: #F7F7F7
//$main-color: #DBD8CF //sable
//$main-color: #CFD7DD //bleu
//$main-color: #E0E0E0 //gris
//$main-color: #D7D6DE //violet
//$main-color: #F1F8FE //theme wordpress
//dark
//$main-color: #272A31 //bleu PrestaShop
//$main-color: #3D3D3D //gris
$main-color: #515561 //gris bleu clair
//$main-color: #4D4645 //taupe
//$main-color: #272822 //gris vert
//$main-color: #313A45 //gris bleu
//$main-color: #7B8676
//$main-color: #443A42 //violet
//$main-color: #373E35 //vert camo
//$main-color: #262C3F //bleu nuit - pretty sure that a girl could do better naming the colors, sorry about that...
//$main-color: #8C8574
//$main-color: #3A3A4A
//$secondary-color: white //blanc
//$secondary-color: #F5792B //orange
//$secondary-color: #81A98C //vert d'eau
//$secondary-color: #1EAEC0 //bleu
//$secondary-color: #00C3C1 //turquoise
//$secondary-color: #97C885 //vert menthe
//$secondary-color: #4691D2 //bleu ciel
//$secondary-color: #814C76 //violet
//$secondary-color: #FE635F //saumon
//$secondary-color: #FFB4B8 //rose
//$secondary-color: #F2B100 //moutarde
//$secondary-color: #F6A88A //abricot
//$secondary-color: #937976 //taupe clair
//$secondary-color: #60C276 //vert
$secondary-color: #8FC04D //vert pomme
//$secondary-color: #6992AF //theme wordpress
//$secondary-color: #8BC954 //vert PrestaShop
//$secondary-color: #AB7073
//$secondary-color: black
$brand-primary: #1BA6E5
//$brand-primary: #1BA6E5
//some tests
//$secondary-color: #79C09D
//$secondary-color: invert($main-color)
//$secondary-color: lighten(invert($main-color),20%)
//$secondary-color: adjust-hue($main-color, 80%)
//$hue: hue(adjust-hue($main-color, 80%))
//$secondary-color: hsl($hue, 50%, 50%) //Creates a Color from hue, saturation, and lightness values
//$secondary-color: #00A89C
//dark and light, love and war, fire and ice, etc...
$contrasted-dark-default: #333
$contrasted-light-default: white
$contrasted-lightness-threshold: 10% //30% default
//50 shades of gray
//$bg-content-color: #F8F9FB //bleu gris clair
//$bg-content-color: #F8FBF8 //vert gris clair
//$bg-content-color: #F8F4E3 //gris foncé
//$bg-content-color: #F6F6F6 //gris
$bg-content-color: #F8F8F8 //gris
//heading
//$bg-header-color: darken($secondary-color,20%)
$bg-header-color: #242424
$bg-footer-color: #242424
$bg-page-head-color : $secondary-color
$bg-panel-heading-color: hsl(hue($secondary-color), 10, 90)
//others
$badge-notif-color: #8BC954
$icon-color: #87C795
@@ -9,14 +9,14 @@
position: relative
padding: 0 0 0 45px
margin: 0 20px 0 0
height: 38px
line-height: 38px
height: 37px
line-height: 37px
img
position: absolute
top: 0
left: 0
width: 38px
height: 38px
width: 37px
height: 37px
#header_notifs_icon_wrapper
@extend .hidden-xs
@extend .nav
@@ -77,7 +77,37 @@
left: 10px
width: 400px
#employee_infos
.employee_name
position: relative
padding-left: 34px!important
.employee_avatar_small
height: 30px
width: 30px
display: inline-block
position: absolute
top: 4px
left: 0
img
width: 100%
height: 100%
@include border-radius(30px)
.employee_avatar
height: 100px
width: 100px
display: block
margin: 10px auto 10px auto
overflow: hidden
@include border-radius(120px)
@include box-shadow(white 0 0 0 2px, #ccc 0 0 10px 3px)
img
width: 100%
height: 100%
#header_quick
@extend .nav
@@ -70,7 +70,7 @@
background-color: $main-color
text-transform: uppercase
text-decoration: none
@include transition-property(background-color, border, box-shadow)
@include transition-property(background-color)
@include transition-duration(0.4s)
@include transition-timing-function(ease-out)
i
@@ -126,85 +126,98 @@
#nav-topbar
position: fixed
height: 28px
top: 35px
top: 38px
left: 80
width: 100%
padding: 0 40px 0 0
z-index: 600
background-color: white
ul.menu
height: 28px
margin: 0
padding: 0
display: block
list-style: none
> li
li.maintab, li.subtab
height: 28px
padding: 0
margin: 0
border-right: solid 1px #aaa
list-style: none
position: relative
float: left
> a
display: block
line-height: 28px
line-height: 30px
color: $main-color
padding: 0 6px
margin: 0
font-size: 12px
i
margin: 0
width: 15px
background-color: transparent
font-size: 18px
&:hover
text-decoration: none
background-color: $main-color
color: white
i
color: white!important
&.active
font-size: 14px
&.active, &:hover
background-color: $brand-primary
> a
text-decoration: none
color: contrast-color($main-color, white, #333, 10%)
background-color: $main-color
i
color: white
.menu-collapse
display: none
ul.submenu
display: none!important
@include box-shadow(rgba(black,0.3) 0 2px 4px)
> ul.menu > li.expanded
li.expanded > ul.submenu
display: block
ul.submenu
display: block!important
> ul.menu > li
ul.submenu
display: none!important
background-color: white
@include box-shadow(rgba(black,0.3) 0 2px 4px)
display: none
position: absolute
margin: 0
padding: 0
left: 0
top: 28px
width: 200px!important
li
> li
width: 200px
padding: 0
list-style: none
a
> a
display: block
padding: 4px 5px 4px 10px
font-size: 12px
background-color: white
border-bottom: solid 1px #eee
&:hover
color: $main-color
background-color: mix(white, $main-color, 90%)
color: white
background-color: $brand-primary
text-decoration: none
&:last-child a
border-bottom: none
&.active a
color: contrast-color($brand-primary, white, #333, 10%)
background-color: $brand-primary
border-bottom: solid 1px darken($brand-primary,10%)
#ellipsistab
display: block
width: 40px
height: 28px
padding: 0
margin: 0
position: absolute
right: 0
> a
text-align: center
font-size: 15px
line-height: 30px
color: $main-color
cursor: pointer
ul#ellipsis_submenu
right: 0
left: inherit
a.title
padding: 0 8px
text-align: left
li.subtab.expanded > ul
left: -200px
top: 0
.menu-collapse
display: none
.menu-collapse
height: 54px
@@ -223,7 +236,7 @@
#nav-sidebar
display: none
.page-head
top: 63px
top: 66px
#content
margin-left: 0
width: 100%
@@ -1,54 +0,0 @@
/*!
* Bootstrap v3.0.0
*
* Copyright 2013 Twitter, Inc
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world by @mdo and @fat.
*/
// Core variables and mixins
@import "../bower_components/sass-bootstrap/lib/variables";
@import "../bower_components/sass-bootstrap/lib/mixins";
// Reset
@import "../bower_components/sass-bootstrap/lib/normalize";
//@import "../bower_components/sass-bootstrap/lib/print";
// Core CSS
@import "../bower_components/sass-bootstrap/lib/scaffolding";
@import "../bower_components/sass-bootstrap/lib/type";
@import "../bower_components/sass-bootstrap/lib/code";
@import "../bower_components/sass-bootstrap/lib/grid";
@import "../bower_components/sass-bootstrap/lib/tables";
//@import "../bower_components/sass-bootstrap/lib/forms";
@import "../bower_components/sass-bootstrap/lib/buttons";
// Components
//@import "../bower_components/sass-bootstrap/lib/component-animations";
//@import "../bower_components/sass-bootstrap/lib/glyphicons";
//@import "../bower_components/sass-bootstrap/lib/dropdowns";
//@import "../bower_components/sass-bootstrap/lib/button-groups";
//@import "../bower_components/sass-bootstrap/lib/input-groups";
//@import "../bower_components/sass-bootstrap/lib/navs";
//@import "../bower_components/sass-bootstrap/lib/navbar";
//@import "../bower_components/sass-bootstrap/lib/breadcrumbs";
//@import "../bower_components/sass-bootstrap/lib/pagination";
//@import "../bower_components/sass-bootstrap/lib/pager";
@import "../bower_components/sass-bootstrap/lib/labels";
@import "../bower_components/sass-bootstrap/lib/badges";
//@import "../bower_components/sass-bootstrap/lib/jumbotron";
@import "../bower_components/sass-bootstrap/lib/thumbnails";
@import "../bower_components/sass-bootstrap/lib/alerts";
//@import "../bower_components/sass-bootstrap/lib/progress-bars";
@import "../bower_components/sass-bootstrap/lib/media";
//@import "../bower_components/sass-bootstrap/lib/list-group";
@import "../bower_components/sass-bootstrap/lib/panels";
@import "../bower_components/sass-bootstrap/lib/wells";
//@import "../bower_components/sass-bootstrap/lib/close";
// Utility classes
@import "../bower_components/sass-bootstrap/lib/utilities";
@import "../bower_components/sass-bootstrap/lib/responsive-utilities";
@@ -1,3 +0,0 @@
#idtest{
background-color: red;
}
@@ -1,110 +0,0 @@
body{
background-color: #ffffff;
width:650px;
margin:auto;
font-family: "Open-sans", sans-serif;
color: #555454;
font-size: 13px;
line-height: 18px
}
table{width:100%;}
.table tbody > tr > td {
border:none;
padding:7px 0
}
td.space {width:20px;}
td.space_footer {padding:0 !important;}
.table .table{background-color: #ffffff;}
table.table-mail{
margin-top:10px;
-moz-box-shadow: 0 0 5px #afafaf;
-webkit-box-shadow: 0 0 5px #afafaf;
-o-box-shadow: 0 0 5px #afafaf;
box-shadow: 0 0 5px #afafaf;
filter:progid:DXImageTransform.Microsoft.Shadow(color=#afafaf, Direction=134, Strength=5);
}
table.table-recap tbody > tr > td, .table-recap thead > tr > th{
border: 1px solid #DDDDDD !important
}
table.table-recap td{
padding:10px !important;
color:#777777;
}
.table .table-recap thead > tr > th{
background-color: #fbfbfb;
padding:10px;
font-family: Arial;
color:#333333;
font-size: 13px
}
table.table-recap .conf_body td{color:#333333;}
table.table-recap .conf_body td.total{
color:#555454;
font-size:18px;
font-weight:500;
font-family: "Open-sans", sans-serif;
}
table.table-recap .conf_body td.total_amount{
color:#333333;
font-size: 21px;
font-weight:500;
font-family: "Open-sans", sans-serif;
}
a{color: #337ff1}
td.logo{
border-bottom: 4px solid #333333 !important;
}
p{margin:3px 0 7px 0;}
span.title{
font-weight: 500;
font-size: 28px;
text-transform: uppercase;
line-height: 33px;
}
span.subtitle{
font-weight: 500;
font-size: 16px;
text-transform: uppercase;
line-height: 25px;
}
td.box{
background-color: #fbfbfb;
padding: 10px !important;
border: 1px solid #d6d4d4 !important;
}
td.box p{
text-transform: uppercase;
font-weight: 500;
font-size: 18px;
border-bottom: 1px solid #d6d4d4 !important;
padding-bottom: 10px
}
td.box span{
color:#777777;
}
td.box span span{
color:#333333;
}
td.footer{
border-top: 4px solid #333333 !important
}
+27 -14
View File
@@ -60,31 +60,44 @@ $( document ).ready(function() {
$('span.submenu_expand').remove();
$('.expanded').removeClass('expanded');
$('#nav-topbar').on('mouseenter', 'li.maintab.has_submenu',
// expand elements with submenu
$('#nav-topbar').on('mouseenter', 'li.has_submenu',
function(){
$(this).addClass('expanded');
});
$('#nav-topbar').on('mouseleave', 'li.maintab.has_submenu',
});
$('#nav-topbar').on('mouseleave', 'li.has_submenu',
function(){
$(this).removeClass('expanded');
});
//todo hide element over menu width on load
$('#nav-topbar').find('li.maintab').each(
function(){
// hide element over menu width on load
$('#nav-topbar').find('li.maintab').each(function(){
navEllipsis();
});
//hide element over menu width on resize
$(window).on('resize', function() {
navEllipsis();
});
}
function navEllipsis() {
var ellipsed = [];
$('#ellipsistab').remove();
$('#nav-topbar ul.menu').find('li.maintab').each(function(){
$(this).removeClass('hide');
if ($(this).position().top > 0) {
ellipsed.push($(this));
$(this).addClass('hide');
}
});
if (ellipsed.length > 0) {
$('#nav-topbar ul.menu').append('<li id="ellipsistab" class="subtab has_submenu"><a href="#"><i class="icon-ellipsis-horizontal"></i></a><ul id="ellipsis_submenu" class="submenu"></ul></li>');
for (var i = 0; i < ellipsed.length; i++) {
$('#ellipsis_submenu').append('<li class="subtab has_submenu">'+ellipsed[i].html()+'</li>');
}
//todo hide element over menu width on resize
$(window).on('resize', function() {
$('#nav-topbar ul.menu').find('li.maintab').each(function(){
if ($(this).position().top > 0) {
$(this).addClass('hide');
}
});
});
}
}
//nav switch
@@ -5,7 +5,7 @@
{l s='Limit to a single customer'}
</span>
</label>
<div class="input-group col-lg-4">
<div class="input-group col-lg-9">
<span class="input-group-addon"><i class="icon-user"></i></i></span>
<input type="hidden" id="id_customer" name="id_customer" value="{$currentTab->getFieldValue($currentObject, 'id_customer')|intval}" />
<input type="text" id="customerFilter" class="input-xlarge" name="customerFilter" value="{$customerFilter|escape:'htmlall':'UTF-8'}" />
@@ -87,9 +87,8 @@
{l s='Total available'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">×</span>
<input type="text" name="quantity" value="{$currentTab->getFieldValue($currentObject, 'quantity')|intval}" />
<div class="col-lg-9">
<input class="form-control" type="text" name="quantity" value="{$currentTab->getFieldValue($currentObject, 'quantity')|intval}" />
</div>
</div>
@@ -100,9 +99,8 @@
{l s='Total available for each user.'}
</span>
</label>
<div class="input-group col-lg-2">
<span class="input-group-addon">×</span>
<input type="text" name="quantity_per_user" value="{$currentTab->getFieldValue($currentObject, 'quantity_per_user')|intval}" />
<div class="col-lg-9">
<input class="form-control" type="text" name="quantity_per_user" value="{$currentTab->getFieldValue($currentObject, 'quantity_per_user')|intval}" />
</div>
</div>
@@ -110,18 +108,16 @@
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip"
title="">
{l s='Restrictions'}
</span>
{l s='Restrictions'}
</label>
<div class="col-lg-9">
{if $countries.unselected|@count + $countries.selected|@count > 1}
<div class="row">
<label class="checkbox">
<input type="checkbox" id="country_restriction" name="country_restriction" value="1" {if $countries.unselected|@count}checked="checked"{/if} />
{l s='Country selection'}
</label>
<p class="checkbox">
<label>
<input type="checkbox" id="country_restriction" name="country_restriction" value="1" {if $countries.unselected|@count}checked="checked"{/if} />
{l s='Country selection'}
</label>
</p>
<span class="help-block">{l s='This restriction applies to the country of delivery.'}</span>
<div id="country_restriction_div">
<table class="table">
@@ -147,11 +143,9 @@
</tr>
</table>
</div>
</div>
{/if}
{if $carriers.unselected|@count + $carriers.selected|@count > 1}
<div class="row">
<p class="checkbox">
<label>
<input type="checkbox" id="carrier_restriction" name="carrier_restriction" value="1" {if $carriers.unselected|@count}checked="checked"{/if} />
@@ -182,11 +176,9 @@
</tr>
</table>
</div>
</div>
{/if}
{if $groups.unselected|@count + $groups.selected|@count > 1}
<div class="row">
<p class="checkbox">
<label>
<input type="checkbox" id="group_restriction" name="group_restriction" value="1" {if $groups.unselected|@count}checked="checked"{/if} />
@@ -217,11 +209,9 @@
</tr>
</table>
</div>
</div>
{/if}
{if $cart_rules.unselected|@count + $cart_rules.selected|@count > 0}
<div class="row">
<p class="checkbox">
<label>
<input type="checkbox" id="cart_rule_restriction" name="cart_rule_restriction" value="1" {if $cart_rules.unselected|@count}checked="checked"{/if} />
@@ -252,10 +242,8 @@
</tr>
</table>
</div>
</div>
{/if}
<div class="row">
<p class="checkbox">
<label>
<input type="checkbox" id="product_restriction" name="product_restriction" value="1" {if $product_rule_groups|@count}checked="checked"{/if} />
@@ -272,10 +260,8 @@
<i class="icon-plus-sign"></i> {l s='Product selection'}
</a>
</div>
</div>
{if $shops.unselected|@count + $shops.selected|@count > 1}
<div class="row">
<p class="checkbox">
<label>
<input type="checkbox" id="shop_restriction" name="shop_restriction" value="1" {if $shops.unselected|@count}checked="checked"{/if} />
@@ -1,54 +1,51 @@
<div class="productTabs">
<ul class="tab nav nav-tabs">
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_informations" href="javascript:displayCartRuleTab('informations');"><i class="icon-info"></i> {l s='Information'}</a>
</li>
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_conditions" href="javascript:displayCartRuleTab('conditions');"><i class="icon-random"></i> {l s='Conditions'}</a>
</li>
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_actions" href="javascript:displayCartRuleTab('actions');"><i class="icon-wrench"></i> {l s='Actions'}</a>
</li>
</ul>
<div class="panel">
<h3><i class="icon-tag"></i> {l s='Cart rule'}</h3>
<div class="productTabs">
<ul class="tab nav nav-tabs">
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_informations" href="javascript:displayCartRuleTab('informations');"><i class="icon-info"></i> {l s='Information'}</a>
</li>
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_conditions" href="javascript:displayCartRuleTab('conditions');"><i class="icon-random"></i> {l s='Conditions'}</a>
</li>
<li class="tab-row">
<a class="tab-page" id="cart_rule_link_actions" href="javascript:displayCartRuleTab('actions');"><i class="icon-wrench"></i> {l s='Actions'}</a>
</li>
</ul>
</div>
<form action="{$currentIndex|escape}&token={$currentToken|escape}&addcart_rule" id="cart_rule_form" class="form-horizontal" method="post">
{if $currentObject->id}<input type="hidden" name="id_cart_rule" value="{$currentObject->id|intval}" />{/if}
<input type="hidden" id="currentFormTab" name="currentFormTab" value="informations" />
<div id="cart_rule_informations" class="panel cart_rule_tab">
{include file='controllers/cart_rules/informations.tpl'}
</div>
<div id="cart_rule_conditions" class="panel cart_rule_tab">
{include file='controllers/cart_rules/conditions.tpl'}
</div>
<div id="cart_rule_actions" class="panel cart_rule_tab">
{include file='controllers/cart_rules/actions.tpl'}
</div>
<button type="submit" class="btn btn-default pull-right" name="submitAddcart_rule" id="{$table|escape}_form_submit_btn">{l s='Save'}
</button>
<!--<input type="submit" value="{l s='Save and stay'}" class="button" name="submitAddcart_ruleAndStay" id="" />-->
</form>
<script type="text/javascript">
var product_rule_groups_counter = {if isset($product_rule_groups_counter)}{$product_rule_groups_counter|intval}{else}0{/if};
var product_rule_counters = new Array();
var currentToken = '{$currentToken|escape:'quotes'}';
var currentFormTab = '{if isset($smarty.post.currentFormTab)}{$smarty.post.currentFormTab|escape:'quotes'}{else}informations{/if}';
var languages = new Array();
{foreach from=$languages item=language key=k}
languages[{$k}] = {
id_lang: {$language.id_lang},
iso_code: '{$language.iso_code|escape:'quotes'}',
name: '{$language.name|escape:'quotes'}'
};
{/foreach}
displayFlags(languages, {$id_lang_default});
</script>
<script type="text/javascript" src="themes/default/template/controllers/cart_rules/form.js"></script>
{include file="footer_toolbar.tpl"}
</div>
<form action="{$currentIndex|escape}&token={$currentToken|escape}&addcart_rule" id="cart_rule_form" class="form-horizontal" method="post">
{if $currentObject->id}<input type="hidden" name="id_cart_rule" value="{$currentObject->id|intval}" />{/if}
<input type="hidden" id="currentFormTab" name="currentFormTab" value="informations" />
<div id="cart_rule_informations" class="panel cart_rule_tab">
<h3><i class="icon-info"></i> {l s='Cart rule information'}</h3>
{include file='controllers/cart_rules/informations.tpl'}
{include file="footer_toolbar.tpl"}
</div>
<div id="cart_rule_conditions" class="panel cart_rule_tab">
<h3><i class="icon-random"></i> {l s='Cart rule conditions'}</h3>
{include file='controllers/cart_rules/conditions.tpl'}
{include file="footer_toolbar.tpl"}
</div>
<div id="cart_rule_actions" class="panel cart_rule_tab">
<h3><i class="icon-wrench"></i> {l s='Cart rule actions'}</h3>
{include file='controllers/cart_rules/actions.tpl'}
{include file="footer_toolbar.tpl"}
</div>
<button type="submit" class="btn btn-default pull-right" name="submitAddcart_rule" id="{$table|escape}_form_submit_btn">{l s='Save'}
</button>
<!--<input type="submit" value="{l s='Save and stay'}" class="button" name="submitAddcart_ruleAndStay" id="" />-->
</form>
<script type="text/javascript">
var product_rule_groups_counter = {if isset($product_rule_groups_counter)}{$product_rule_groups_counter|intval}{else}0{/if};
var product_rule_counters = new Array();
var currentToken = '{$currentToken|escape:'quotes'}';
var currentFormTab = '{if isset($smarty.post.currentFormTab)}{$smarty.post.currentFormTab|escape:'quotes'}{else}informations{/if}';
var languages = new Array();
{foreach from=$languages item=language key=k}
languages[{$k}] = {
id_lang: {$language.id_lang},
iso_code: '{$language.iso_code|escape:'quotes'}',
name: '{$language.name|escape:'quotes'}'
};
{/foreach}
displayFlags(languages, {$id_lang_default});
</script>
<script type="text/javascript" src="themes/default/template/controllers/cart_rules/form.js"></script>
@@ -1,24 +1,17 @@
<tr id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_tr">
<td>
<a href="javascript:removeProductRule({$product_rule_group_id|intval}, {$product_rule_id|intval});">
<img src="../img/admin/disabled.gif" alt="{l s='Remove'}" title="{l s='Remove'}" />
</a>
</td>
<td>
<input type="hidden" name="product_rule_{$product_rule_group_id|intval}[]" value="{$product_rule_id}" />
<input type="hidden" name="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_type" value="{$product_rule_type|escape}" />
{* Everything is on a single line in order to avoid a empty space between the [ ] and the word *}
[{if $product_rule_type == 'products'}{l s='Products:'}{elseif $product_rule_type == 'categories'}{l s='Categories:'}{elseif $product_rule_type == 'manufacturers'}{l s='Manufacturers:'}{elseif $product_rule_type == 'suppliers'}{l s='Suppliers'}{elseif $product_rule_type == 'attributes'}{l s='Attributes'}{/if}]
</td>
<td>
{l s='The product(s) are matching on of these'}
</td>
<td>
<input type="text" id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_match" value="" disabled="disabled" />
</td>
<td>
<a id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_link" href="#product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_content">
<img src="../img/admin/choose.gif" alt="{l s='Choose'}" title="{l s='Choose'}" /> {l s='Choose'}
<a class="btn btn-default" id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_link" href="#product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_content">
<i class="icon-list-ul"></i>
{l s='Choose'}
</a>
<div>
<div id="product_rule_{$product_rule_group_id|intval}_{$product_rule_id|intval}_choose_content">
@@ -26,6 +19,11 @@
</div>
</div>
</td>
<td>
<a class="btn btn-default" href="javascript:removeProductRule({$product_rule_group_id|intval}, {$product_rule_id|intval});">
<i class="icon-remove"></i>
</a>
</td>
</tr>
<script type="text/javascript">
@@ -1,36 +1,55 @@
<tr id="product_rule_group_{$product_rule_group_id|intval}_tr">
<td style="vertical-align:center;padding-right:10px">
<a href="javascript:removeProductRuleGroup({$product_rule_group_id|intval});">
<img src="../img/admin/disabled.gif" alt="{l s='Remove'}" title="{l s='Remove'}" />
<td>
<a class="btn btn-default" href="javascript:removeProductRuleGroup({$product_rule_group_id|intval});">
<i class="icon-remove text-danger"></i>
</a>
</td>
<td style="padding-bottom:15px">
<input type="hidden" name="product_rule_group[]" value="{$product_rule_group_id|intval}" />
{l s='The cart must contain at least'}
<input type="text" name="product_rule_group_{$product_rule_group_id|intval}_quantity" value="{$product_rule_group_quantity|intval}" style="width:30px" />
{l s='Product(s) matching the following rules:'}
<br />
<a href="javascript:addProductRule({$product_rule_group_id|intval});">
<img src="../img/admin/add.gif" alt="{l s='Add'}" title="{l s='Add'}" />
{l s='Add a rule concerning'}
</a>
<select id="product_rule_type_{$product_rule_group_id|intval}">
<option value="">{l s='-- Choose --'}</option>
<option value="products">{l s='Products:'}</option>
<option value="attributes">{l s='Attributes'}</option>
<option value="categories">{l s='Categories:'}</option>
<option value="manufacturers">{l s='Manufacturers:'}</option>
<option value="suppliers">{l s='Suppliers'}</option>
</select>
<a href="javascript:addProductRule({$product_rule_group_id|intval});">
<input type="button" class="button" value="OK" />
</a>
<table id="product_rule_table_{$product_rule_group_id|intval}" class="table" cellpadding="0" cellspacing="0">
<td>
<div class="form-group">
<label class="control-label col-lg-4">{l s='The cart must contain at least'}</label>
<div class="col-lg-1">
<input type="hidden" name="product_rule_group[]" value="{$product_rule_group_id|intval}" />
<input class="form-control" type="text" name="product_rule_group_{$product_rule_group_id|intval}_quantity" value="{$product_rule_group_quantity|intval}" />
</div>
<div class="col-lg-7">
<p class="form-control-static">{l s='Product(s) matching the following rules:'}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4">{l s='Add a rule concerning'}</label>
<div class="col-lg-4">
<select class="form-control" id="product_rule_type_{$product_rule_group_id|intval}">
<option value="">{l s='-- Choose --'}</option>
<option value="products">{l s='Products:'}</option>
<option value="attributes">{l s='Attributes'}</option>
<option value="categories">{l s='Categories:'}</option>
<option value="manufacturers">{l s='Manufacturers:'}</option>
<option value="suppliers">{l s='Suppliers'}</option>
</select>
</div>
<div class="col-lg-4">
<a class="btn btn-default" href="javascript:addProductRule({$product_rule_group_id|intval});">
<i class="icon-plus-sign"></i>
{l s="Add"}
</a>
</div>
</div>
{l s='The product(s) are matching on of these'}
<table id="product_rule_table_{$product_rule_group_id|intval}" class="table table-bordered">
{if isset($product_rules) && $product_rules|@count}
{foreach from=$product_rules item='product_rule'}
{$product_rule}
{/foreach}
{/if}
</table>
</td>
</tr>
@@ -1,46 +1,28 @@
<table>
<tr>
<td style="padding-left:20px">
<p><strong>{l s='Unselected'}</strong></p>
<select
id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_1"
style="border:1px solid #AAAAAA;width:400px;height:160px"
multiple
>
{foreach from=$product_rule_itemlist.unselected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select><br /><br />
<a
id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_add"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
{l s='Add'} &gt;&gt;
</a>
</td>
<td>
<p><strong>{l s='Selected'}</strong></p>
<select
name="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}[]"
id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_2"
class="product_rule_toselect"
style="border:1px solid #AAAAAA;width:400px;height:160px"
multiple
>
{foreach from=$product_rule_itemlist.selected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select><br /><br />
<a
id="product_rule_select_{$product_rule_group_id}_{$product_rule_id}_remove"
style="cursor:pointer;text-align:center;display:block;border:1px solid #aaa;text-decoration:none;background-color:#fafafa;color:#123456;margin:2px;padding:2px"
>
&lt;&lt; {l s='Remove'}
</a>
</td>
</tr>
</table>
<div class="col-lg-6">
{l s='Unselected'}
<select multiple id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_1">
{foreach from=$product_rule_itemlist.unselected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select>
<a id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_add" class="btn btn-default btn-block" >
{l s='Add'}
<i class="icon-arrow-right"></i>
</a>
</div>
<div class="col-lg-6">
{l s='Selected'}
<select multiple name="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}[]" id="product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_2" class="product_rule_toselect" >
{foreach from=$product_rule_itemlist.selected item='item'}
<option value="{$item.id|intval}">&nbsp;{$item.name}</option>
{/foreach}
</select>
<a id="product_rule_select_{$product_rule_group_id}_{$product_rule_id}_remove" class="btn btn-default btn-block" >
<i class="icon-arrow-left"></i>
{l s='Remove'}
</a>
</div>
<script type="text/javascript">
$('#product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_remove').click(function() { removeCartRuleOption(this); updateProductRuleShortDescription(this); });
$('#product_rule_select_{$product_rule_group_id|intval}_{$product_rule_id|intval}_add').click(function() { addCartRuleOption(this); updateProductRuleShortDescription(this); });
@@ -138,6 +138,7 @@
</table>
<input type="hidden" name="token" value="{$token}" />
</div>
</div>
</form>
<script type="text/javascript">
var confirmation = new Array();
@@ -23,17 +23,14 @@
* International Registered Trademark & Property of PrestaShop SA
*}
{if !$email}
<div class="panel">
<h3>
{if !empty($message.employee_name)}
<i class="icon-user"></i>
{$PS_SHOP_NAME} - {$message.employee_name}
<i>{$employee_avatar}</i>
({$message.employee_name}) - {$PS_SHOP_NAME}
{else}
<i class="icon-user"></i> --
<i class="icon-user"></i>
{if !empty($message.id_customer)}
<a href="index.php?tab=AdminCustomers&id_customer={$message.id_customer}&viewcustomer&token={getAdminToken tab='AdminCustomers'}" title="{l s='View customer'}">
{$message.customer_name}
@@ -43,7 +40,6 @@
{/if}
{/if}
</h3>
<div class="infoCustomer">
{if !empty($message.id_customer) && empty($message.id_employee)}
<dl class="dl-horizontal">
@@ -55,19 +51,16 @@
</dd>
</dl>
{/if}
<dl class="dl-horizontal">
<dt>{l s='Sent on:'}</dt>
<dd>{$message.date_add}</dd>
<dd>{$message.date_add}&nbsp;</dd>
</dl>
{if empty($message.id_employee)}
<dl class="dl-horizontal">
<dt>{l s='Browser:'}</dt>
<dd>{$message.user_agent}</dd>
<dd>{$message.user_agent}&nbsp;</dd>
</dl>
{/if}
{if !empty($message.file_name) && $file_name}
<dl class="dl-horizontal">
<dt>{l s='File attachment'}</dt>
@@ -79,35 +72,26 @@
</dd>
</dl>
{/if}
{if !empty($message.id_order) && empty($message.id_employee)}
<dl class="dl-horizontal">
{if !empty($message.id_order) && $is_valid_order_id && empty($message.id_employee)}
<dl>
<dt>{l s='Order #'}</dt>
<dd>
<a href="index.php?tab=AdminOrders&id_order={$message.id_order}&vieworder&token={getAdminToken tab='AdminOrders'}" title="{l s='View order'}">
{$message.id_order} <i class="icon-search"></i>
</a>
<dd><a href="index.php?tab=AdminOrders&id_order={$message.id_order}&vieworder&token={getAdminToken tab='AdminOrders'}" title="{l s='View order'}">{$message.id_order} <img src="../img/admin/search.gif" alt="{l s='View'}" /></a>
</dd>
</dl>
{/if}
{if !empty($message.id_product) && empty($message.id_employee)}
<dl class="dl-horizontal">
<dt>{l s='Product #'}</dt>
<dd>
<a href="index.php?tab=AdminProducts&id_product={$message.id_product}&updateproduct&token={getAdminToken tab='AdminProducts'}" title="{l s='View order'}">
{$message.id_product} <i class="icon-search"></i>
</a>
</dd>
<dd><a href="index.php?tab=AdminProducts&id_product={$message.id_product}&updateproduct&token={getAdminToken tab='AdminProducts'}" title="{l s='View order'}">{$message.id_product} <img src="../img/admin/search.gif" alt="{l s='View'}" /></a></dd>
</dl>
{/if}
<form action="{$current}&token={$token}&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread" method="post" class="form-horizontal">
<dl class="dl-horizontal">
<dt> {l s='Subject:'}</dt>
<form class="form-horizontal" action="{$current}&token={$token}&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread" method="post">
<input type="hidden" name="id_customer_message" value="{$message.id_customer_message}" />
<dl>
<dt>{l s='Subject:'}</dt>
<dd>
<input type="hidden" name="id_customer_message" value="{$message.id_customer_message}" />
<select name="id_contact" onchange="this.form.submit();" class="col-lg-3">
<select name="id_contact" onchange="this.form.submit();">
{foreach $contacts as $contact}
<option value="{$contact.id_contact}" {if $contact.id_contact == $message.id_contact}selected="selected"{/if}>
{$contact.name}
@@ -118,9 +102,7 @@
</dl>
</form>
</div>
{else}
<div class="infoEmployee">
{if $id_employee}
<a class="btn btn-default pull-right" href="{$current}&token={getAdminToken tab='AdminCustomerThreads'}&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread">
@@ -163,7 +145,6 @@
<dt>{l s='Subject:'}</dt>
<dd>{$message.subject}</dd>
</dl>
{/if}
<dl class="dl-horizontal">
<dt>{l s='Thread ID:'}</dt>
@@ -179,7 +160,6 @@
</dl>
</div>
</div>
{if !$email}
{if empty($message.id_employee)}
<div class="panel">
@@ -189,7 +169,6 @@
</button>
</div>
{/if}
<div id="reply_to_{$message.id_customer_message}" style="display: none;">
<div class="panel">
<form action="{$current}&token={getAdminToken tab='AdminCustomerThreads'}&id_customer_thread={$message.id_customer_thread}&viewcustomer_thread" method="post" enctype="multipart/form-data" class="form-horizontal">
@@ -215,4 +194,3 @@
</div>
</div>
{/if}
@@ -26,7 +26,6 @@
{extends file="helpers/view/view.tpl"}
{block name="override_tpl"}
<script type="text/javascript">
function saveCustomerNote()
{
@@ -67,8 +66,8 @@
</div>
<ul class="list-unstyled col-lg-6">
<li>
{l s='Gender:'}
<span><img src="{$gender_image}"/></span>
{l s='Title:'}
<span>{$gender->name}</span>
</li>
<li>
{l s='Email:'}
@@ -26,7 +26,7 @@
<div class="leadin">{block name="leadin"}{/block}</div>
{if $module_confirmation}
<div class="module_confirmation conf confirm">
{l s='Your .CSV file has been sucessfully imported into your shop.'}
{l s='Your .CSV file has been sucessfully imported into your shop. Don\'t forget to Re-build the products search index.'}
</div>
{/if}
<div style="display: none">
@@ -118,6 +118,7 @@
<a class="list-group-item" href="../docs/csv_import/addresses_import.csv" target="_blank">{l s='Sample Addresses file'}</a>
<a class="list-group-item" href="../docs/csv_import/manufacturers_import.csv" target="_blank">{l s='Sample Manufacturers file'}</a>
<a class="list-group-item" href="../docs/csv_import/suppliers_import.csv" target="_blank">{l s='Sample Suppliers file'}</a>
<a class="list-group-item" href="../docs/csv_import/alias_import.csv" target="_blank">{l s='Sample Alias file'}</a>
{if $PS_ADVANCED_STOCK_MANAGEMENT}
<a class="list-group-item" href="../docs/csv_import/supply_orders_import.csv" target="_blank">{l s='Supply Orders sample file'}</a>
<a class="list-group-item" href="../docs/csv_import/supply_orders_details_import.csv" target="_blank">{l s='Supply Orders Details sample file'}</a>
@@ -291,30 +292,35 @@
});
$("select#entity").change(function(){
if ($("#entity > option:selected").val() == 7 || $("#entity > option:selected").val() == 8)
if ($("#entity > option:selected").val() == 8 || $("#entity > option:selected").val() == 9)
$("label[for=truncate],#truncate").hide();
else
$("label[for=truncate],#truncate").show();
if ($("#entity > option:selected").val() == 8)
{
if ($("#entity > option:selected").val() == 9)
$(".import_supply_orders_details").show();
$('input[name=multiple_value_separator]').val('|');
}
else
{
$(".import_supply_orders_details").hide();
$('input[name=multiple_value_separator]').val('{if isset($multiple_value_separator_selected)}{$multiple_value_separator_selected}{else},{/if}');
}
if ($("#entity > option:selected").val() == 1)
$("label[for=match_ref], #match_ref, label[for=regenerate], #regenerate").show();
$("label[for=match_ref], #match_ref").show();
else
$("label[for=match_ref], #match_ref, label[for=regenerate], #regenerate").hide();
$("label[for=match_ref], #match_ref").hide();
if ($("#entity > option:selected").val() == 1 || $("#entity > option:selected").val() == 0)
$(".import_products_categories, label[for=regenerate], #regenerate").show();
$(".import_products_categories").show();
else
$(".import_products_categories, label[for=regenerate], #regenerate").hide();
if ($("#entity > option:selected").val() == 0 || $("#entity > option:selected").val() == 1 || $("#entity > option:selected").val() == 3 || $("#entity > option:selected").val() == 5 || $("#entity > option:selected").val() == 6)
$(".import_products_categories").hide();
if ($("#entity > option:selected").val() == 0 || $("#entity > option:selected").val() == 1 ||
$("#entity > option:selected").val() == 5 || $("#entity > option:selected").val() == 6)
$("label[for=regenerate], #regenerate").show()
else
$("label[for=regenerate], #regenerate").hide();
if ($("#entity > option:selected").val() == 0 || $("#entity > option:selected").val() == 1 || $("#entity > option:selected").val() == 3 || $("#entity > option:selected").val() == 5 || $("#entity > option:selected").val() == 6 || $("#entity > option:selected").val() == 7)
$("label[for=forceIDs], #forceIDs").show();
else
$("label[for=forceIDs], #forceIDs").hide();
@@ -44,9 +44,6 @@
{/foreach}
<link rel="icon" type="image/vnd.microsoft.icon" href="{$img_dir}favicon.ico" />
<link rel="shortcut icon" type="image/x-icon" href="{$img_dir}favicon.ico" />
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="{$base_url}css/admin-ie.css" />
<![endif]-->
</head>
<body class="page-topbar">
<div id="login">
@@ -96,14 +96,14 @@
</td>
<td>
<select name="i_{$module->name}" class="moduleFavorite">
<option value="" selected="selected">---</option>
<option value="" selected="selected">-</option>
<option value="1" {if isset($module->preferences.interest) && $module->preferences.interest eq '1'}selected="selected"{/if}>{l s='Yes'}</option>
<option value="0" {if isset($module->preferences.interest) && $module->preferences.interest eq '0'}selected="selected"{/if}>{l s='No'}</option>
</select>
</td>
<td>
<select name="f_{$module->name}" class="moduleFavorite">
<option value="" selected="selected">---</option>
<option value="" selected="selected">-</option>
<option value="1" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '1'}selected="selected"{/if}>{l s='Yes'}</option>
<option value="0" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '0'}selected="selected"{/if}>{l s='No'}</option>
</select>
@@ -94,8 +94,8 @@
// Method to reload filter in ajax
$('.categoryModuleFilterLink').click(function()
{
$('.categoryModuleFilterLink').css('background-color', 'white');
$(this).css('background-color', '#EBEDF4');
$('.categoryModuleFilterLink').removeClass('active');
$(this).addClass('active');
try
{
resAjax = $.ajax({
@@ -69,10 +69,7 @@
<div class="module_name">
<span style="display:none">{$module->name}</span>
{$module->displayName}
<small>v{$module->version}</small>
{if isset($module->type) && $module->type == 'addonsMustHave'}
<span class="label label-info">{l s='Must Have'}</span>
{elseif isset($module->id) && $module->id gt 0}
@@ -86,20 +83,7 @@
{else}
<span class="label label-warning">{l s='Not installed'}</span>
{/if}
<!-- {if isset($module->id) && $module->id gt 0}
<span class="label label-success{if isset($module->active) && $module->active eq 0} off{/if}">{l s='Installed'}</span>
{else}
<span class="label label-warning">{l s='Not installed'}</span>
{/if} -->
</div>
<!-- <p class="text-muted">
{if isset($module->author) && !empty($module->author)}
{l s='Developed by'} {$module->author|truncate:20:'...'}
{/if}
{if isset($module->version_addons)}
({l s='Update'} {$module->version_addons} {l s='Available on PrestaShop Addons'})
{/if}
</p> -->
<p class="module_description">
{if isset($module->description) && $module->description ne ''}
{$module->description}
@@ -94,10 +94,10 @@
</div>
</div>
</form>
<a class="list-group-item {if isset($categoryFiltered.favorites)}active{/if}" href="{$currentIndex}&token={$token}&filterCategory=favorites">
<a class="categoryModuleFilterLink list-group-item {if isset($categoryFiltered.favorites)}active{/if}" href="{$currentIndex}&token={$token}&filterCategory=favorites">
{l s='Favorites'} <span class="badge pull-right">{$nb_modules_favorites}</span>
</a>
<a class="list-group-item {if count($categoryFiltered) lte 0}active{/if}" href="{$currentIndex}&token={$token}&unfilterCategory=yes">
<a class="categoryModuleFilterLink list-group-item {if count($categoryFiltered) lte 0}active{/if}" href="{$currentIndex}&token={$token}&unfilterCategory=yes">
{l s='All'} <span class="badge pull-right">{$nb_modules}</span>
</a>
{foreach from=$list_modules_categories item=module_category key=module_category_key}
@@ -38,7 +38,7 @@
<span>
<select id="show_modules" onChange="autoUrl('show_modules', '{$url_show_modules}')" class="filter fixed-width-lg">
<option value="all">{l s='All modules'}&nbsp;</option>
<option>---------------</option>
<option>-</option>
{foreach $modules as $module}
<option value="{$module->id|intval}" {if $display_key == $module->id}selected="selected"{/if}>{$module->displayName}</option>
{/foreach}
@@ -51,7 +51,6 @@
</label>
</p>
</form>
<div id="modulePosition">
<form method="post" action="{$url_submit}" >
@@ -196,4 +195,4 @@
}
});
});
</script>
</script>
@@ -39,4 +39,4 @@
<i class="icon-truck"></i>
</a>
{/if}
</span>
</span>
@@ -689,7 +689,7 @@
var id_product = Number(this.id_product);
var id_product_attribute = Number(this.id_product_attribute);
cart_quantity[Number(this.id_product)+'_'+Number(this.id_product_attribute)+'_'+Number(this.id_customization)] = this.cart_quantity;
cart_content += '<tr><td><img src="'+this.image_link+'" title="'+this.name+'" /></td><td>'+this.name+'<br />'+this.attributes_small+'</td><td>'+this.reference+'</td><td><input type="text" rel="'+this.id_product+'_'+this.id_product_attribute+'" class="product_unit_price" value="' + formatCurrency(parseFloat(this.price.replace(',', '.')), currency_format, currency_sign, currency_blank) + '" /></td><td>';
cart_content += '<tr><td><img src="'+this.image_link+'" title="'+this.name+'" /></td><td>'+this.name+'<br />'+this.attributes_small+'</td><td>'+this.reference+'</td><td><input type="text" rel="'+this.id_product+'_'+this.id_product_attribute+'" class="product_unit_price" value="' + this.numeric_price + '" /></td><td>';
cart_content += (!this.id_customization ? '<div class="input-group fixed-width-md"><div class="input-group-btn"><a href="#" class="btn btn-default increaseqty_product" rel="'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'" ><i class="icon-caret-up"></i></a><a href="#" class="btn btn-default decreaseqty_product" rel="'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'"><i class="icon-caret-down"></i></a></div>' : '');
cart_content += (!this.id_customization ? '<input type="text" rel="'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'" class="cart_quantity" value="'+this.cart_quantity+'" />' : '');
cart_content += (!this.id_customization ? '<div class="input-group-btn"><a href="#" class="delete_product btn btn-default" rel="delete_'+this.id_product+'_'+this.id_product_attribute+'_'+(this.id_customization ? this.id_customization : 0)+'" ><i class="icon-remove text-danger"></i></a></div></div>' : '');
@@ -748,6 +748,16 @@
$('#payment_list').html(payment_list);
}
function fixPriceFormat(price)
{
if(price.indexOf(',') > 0 && price.indexOf('.') > 0) // if contains , and .
if(price.indexOf(',') < price.indexOf('.')) // if , is before .
price = price.replace(',',''); // remove ,
price = price.replace(' ',''); // remove any spaces
price = price.replace(',','.'); // remove , if price did not cotain both , and .
return price;
}
function displaySummary(jsonSummary)
{
currency_format = jsonSummary.currency.format;
@@ -783,13 +793,13 @@
if (!changed_shipping_price)
$('#shipping_price').html('<b>' + formatCurrency(parseFloat(jsonSummary.summary.total_shipping), currency_format, currency_sign, currency_blank) + '</b>');
shipping_price_selected_carrier = jsonSummary.summary.total_shipping;
$('#total_vouchers').html(formatCurrency(parseFloat(jsonSummary.summary.total_discounts_tax_exc.replace(',', '.')), currency_format, currency_sign, currency_blank));
$('#total_shipping').html(formatCurrency(parseFloat(jsonSummary.summary.total_shipping_tax_exc.replace(',', '.')), currency_format, currency_sign, currency_blank));
$('#total_taxes').html(formatCurrency(parseFloat(jsonSummary.summary.total_tax.replace(',', '.')), currency_format, currency_sign, currency_blank));
$('#total_without_taxes').html(formatCurrency(parseFloat(jsonSummary.summary.total_price_without_tax.replace(',', '.')), currency_format, currency_sign, currency_blank));
$('#total_with_taxes').html(formatCurrency(parseFloat(jsonSummary.summary.total_price.replace(',', '.')), currency_format, currency_sign, currency_blank));
$('#total_products').html(formatCurrency(parseFloat(jsonSummary.summary.total_products.replace(',', '.')), currency_format, currency_sign, currency_blank));
$('#total_vouchers').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_discounts_tax_exc)), currency_format, currency_sign, currency_blank));
$('#total_shipping').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_shipping_tax_exc)), currency_format, currency_sign, currency_blank));
$('#total_taxes').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_tax)), currency_format, currency_sign, currency_blank));
$('#total_without_taxes').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_price_without_tax)), currency_format, currency_sign, currency_blank));
$('#total_with_taxes').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_price)), currency_format, currency_sign, currency_blank));
$('#total_products').html(formatCurrency(parseFloat(fixPriceFormat(jsonSummary.summary.total_products)), currency_format, currency_sign, currency_blank));
id_currency = jsonSummary.cart.id_currency;
$('#id_currency option').removeAttr('selected');
$('#id_currency option[value="'+id_currency+'"]').attr('selected', true);
@@ -65,29 +65,27 @@
<div class="row">
<div class="col-lg-3 box-stats color3" >
<i class="icon-calendar-empty"></i>
<span class="title">{l s='Date'}<br /><small>sous-titre</small></span>
<span class="title">{l s='Date'}<br /><small>{l s='subtitle'}</small></span>
<span class="value">{dateFormat date=$order->date_add full=false}</span>
</div>
<div class="col-lg-3 box-stats color2" >
<i class="icon-comments"></i>
<span class="title">{l s='Messages'}<br /><small>sous-titre</small></span>
<!-- <span class="value">{sizeof($messages)}</span> -->
<span class="title">{l s='Messages'}<br /><small>{l s='subtitle'}</small></span>
<span class="value"><a href="{$link->getAdminLink('AdminCustomerThreads')|escape:'htmlall':'UTF-8'}">{sizeof($customer_thread_message)}</a></span>
</div>
<div class="col-lg-3 box-stats color1" >
<i class="icon-ok"></i>
<span class="title">{l s='Products'}<br /><small>sous-titre</small></span>
<span class="title">{l s='Products'}<br /><small>{l s='subtitle'}</small></span>
<span class="value">{sizeof($products)}</span>
</div>
<div class="col-lg-3 box-stats color4" >
<i class="icon-money"></i>
<span class="title">{l s='Total'}<br /><small>sous-titre</small></span>
<span class="title">{l s='Total'}<br /><small>{l s='subtitle'}</small></span>
<span class="value">{displayPrice price=$order->total_paid_tax_incl currency=$currency->id}</span>
</div>
</div>
</div>
<!-- Todo : Be smart and find the best place for Admin order hook -->
{hook h="displayAdminOrder" id_order=$order->id}
<div class="row">
@@ -534,7 +532,7 @@
<label class="control-label col-lg-3">{l s='Choose a standard message'}</label>
<div class="col-lg-9">
<select name="order_message" id="order_message" onchange="orderOverwriteMessage(this, '{l s='Do you want to overwrite your existing message?'}')">
<option value="0" selected="selected">--</option>
<option value="0" selected="selected">-</option>
{foreach from=$orderMessages item=orderMessage}
<option value="{$orderMessage['message']|escape:'htmlall':'UTF-8'}">{$orderMessage['name']}</option>
{/foreach}
@@ -852,10 +850,6 @@
</div>
</div>
<form class="container-command-top-spacing" action="{$current_index}&vieworder&token={$smarty.get.token}&id_order={$order->id}" method="post" onsubmit="return orderDeleteProduct('{l s='This product cannot be returned.'}', '{l s='Quantity to cancel is greater than quantity available.'}');">
<input type="hidden" name="id_order" value="{$order->id}" />
<div style="display: none">
@@ -1114,8 +1108,6 @@
</div>
</form>
{if (sizeof($messages))}
<div class="panel">
<h3>
@@ -33,7 +33,7 @@
{$smarty.block.parent}
{if in_array($input.type, array('radio', 'switch')) && $input.name == 'smarty_cache'}
<div class="clearfix row-padding-top">
<a href="{$current}&token={$token}&empty_smarty_cache=1" class="btn btn-default" href="">
<a href="{$current}&token={$token}&empty_smarty_cache=1" class="btn btn-default">
<i class="icon-eraser"></i>
{l s='Clear Smarty cache & Autoload cache'}
</a>
@@ -97,33 +97,31 @@
</form>
</div>
{if $servers}
<div class="row">
<div class="form-group">
<table class="table">
<thead>
<tr>
<th class="fixed-width-xs"><span class="title_box">{l s='ID'}</span></th>
<th><span class="title_box">{l s='IP address'}</span></th>
<th class="fixed-width-xs"><span class="title_box">{l s='Port'}</span></th>
<th class="fixed-width-xs"><span class="title_box">{l s='Weight'}</span></th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
{foreach $servers AS $server}
<div class="form-group">
<table class="table">
<thead>
<tr>
<td>{$server.id_memcached_server}</td>
<td>{$server.ip}</td>
<td>{$server.port}</td>
<td>{$server.weight}</td>
<td align="right">
<a class="btn btn-default" href="{$current}&token={$token}&deleteMemcachedServer={$server.id_memcached_server}" onclick="if (!confirm('{l s='Do you really want to remove the server %s:%s' sprintf=[$server.ip, $server.port] js=1}')) return false;"><i class="icon-minus-sign-alt"></i> {l s='Remove'}</a>
</td>
<th class="fixed-width-xs"><span class="title_box">{l s='ID'}</span></th>
<th><span class="title_box">{l s='IP address'}</span></th>
<th class="fixed-width-xs"><span class="title_box">{l s='Port'}</span></th>
<th class="fixed-width-xs"><span class="title_box">{l s='Weight'}</span></th>
<th>&nbsp;</th>
</tr>
{/foreach}
</tbody>
</table>
</div>
</thead>
<tbody>
{foreach $servers AS $server}
<tr>
<td>{$server.id_memcached_server}</td>
<td>{$server.ip}</td>
<td>{$server.port}</td>
<td>{$server.weight}</td>
<td>
<a class="btn btn-default" href="{$current}&token={$token}&deleteMemcachedServer={$server.id_memcached_server}" onclick="if (!confirm('{l s='Do you really want to remove the server %s:%s' sprintf=[$server.ip, $server.port] js=1}')) return false;"><i class="icon-minus-sign-alt"></i> {l s='Remove'}</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
{/if}
</div>
@@ -132,18 +130,19 @@
{block name="script"}
function showMemcached()
{
if ($('input[name="caching_system"]:radio:checked').val() == 'CacheMemcache')
{
function showMemcached() {
if ($('input[name="caching_system"]:radio:checked').val() == 'CacheMemcache') {
$('#memcachedServers').show();
$('#ps_cache_fs_directory_depth').parent().parent().hide();
}
else
{
else if ($('input[name="caching_system"]:radio:checked').val() == 'CacheFs') {
$('#memcachedServers').hide();
$('#ps_cache_fs_directory_depth').parent().parent().show();
}
else {
$('#memcachedServers').hide();
$('#ps_cache_fs_directory_depth').parent().parent().hide();
}
}
$(document).ready(function() {
@@ -92,16 +92,16 @@
<label class="control-label col-lg-3" for="id_manufacturer">{l s='Manufacturer:'}</label>
<div class="col-lg-5">
<select name="id_manufacturer" id="id_manufacturer">
<option value="0">-- {l s='Choose (optional)'} --</option>
<option value="0">- {l s='Choose (optional)'} -</option>
{if $product->id_manufacturer}
<option value="{$product->id_manufacturer}" selected="selected">{$product->manufacturer_name}</option>
{/if}
<option disabled="disabled">----------</option>
<option disabled="disabled">-</option>
</select>
</div>
<div class="col-lg-4">
<a class="btn btn-link bt-icon confirm_leave" style="margin-bottom:0" href="{$link->getAdminLink('AdminManufacturers')|escape:'htmlall':'UTF-8'}&addmanufacturer">
<i class="icon-plus-sign"></i> {l s='Create new manufacturer'} <i class="icon-external-link-sign"></i>
<i class="icon-plus-sign"></i> {l s='Create new manufacturer'} <i class="icon-external-link-sign"></i>
</a>
</div>
</div>
@@ -24,14 +24,12 @@
*}
{if isset($product->id) && !$product->is_virtual}
<div class="panel">
<script type="text/javascript">
var msg_combination_1 = '{l s='Please choose an attribute.'}';
var msg_combination_2 = '{l s='Please choose a value.'}';
var msg_combination_3 = '{l s='You can only add one combination per attribute type.'}';
var msg_new_combination = '{l s='New combination'}';
var msg_cancel_combination = '{l s='Cancel combination'}';
var attrs = new Array();
var modifyattributegroup = "{l s='Modify this attribute combination.' js=1}";
attrs[0] = new Array(0, "---");
@@ -43,10 +41,8 @@
{/foreach}
);
{/foreach}
$(document).ready(function(){
populate_attrs();
$(".datepicker").datepicker({
prevText: '',
nextText: '',
@@ -54,14 +50,11 @@
});
});
</script>
<input type="hidden" name="submitted_tabs[]" value="Combinations" />
<h3>{l s='Add or modify combinations for this product.'}</h3>
<div class="alert alert-info">
{l s='Or use the'}&nbsp;<a class="btn btn-link bt-icon confirm_leave" href="index.php?tab=AdminAttributeGenerator&id_product={$product->id}&attributegenerator&token={$token_generator}"><i class="icon-magic"></i> {l s='Product combinations generator'} <i class="icon-external-link-sign"></i></a> {l s='in order to automatically create a set of combinations.'}
</div>
{if $combination_exists}
<div class="alert alert-info" style="display:block">
{l s='Some combinations already exist. If you want to generate new combinations, the quantities for the existing combinations will be lost.'}<br/>
@@ -72,11 +65,8 @@
<br />
{include file="controllers/products/multishop/check_fields.tpl" product_tab="Combinations"}
{/if}
<div id="add_new_combination" class="panel" style="display: none;">
<div class="panel-heading">{l s='Add or modify combinations for this product.'}</div>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_group">{l s='Attribute:'}</label>
<div class="col-lg-5">
@@ -89,14 +79,13 @@
</select>
</div>
</div>
<div class="row">
<label class="control-label col-lg-3" for="attribute">{l s='Value:'}</label>
<div class="col-lg-9">
<div class="form-group">
<div class="col-lg-8">
<select name="attribute" id="attribute">
<option value="0">---</option>
<option value="0">-</option>
</select>
</div>
<div class="col-lg-4">
@@ -113,9 +102,7 @@
</div>
</div>
</div>
<hr/>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_reference">
<span class="label-tooltip" data-toggle="tooltip"
@@ -126,8 +113,7 @@
<div class="col-lg-5">
<input type="text" id="attribute_reference" name="attribute_reference" value="" />
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_ean13">
{l s='EAN13:'}
@@ -135,8 +121,7 @@
<div class="col-lg-3">
<input maxlength="13" type="text" id="attribute_ean13" name="attribute_ean13" value="" />
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_upc">
{l s='UPC:'}
@@ -144,10 +129,8 @@
<div class="col-lg-3">
<input maxlength="12" type="text" id="attribute_upc" name="attribute_upc" value="" />
</div>
</div>
</div>
<hr/>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_wholesale_price">
{include file="controllers/products/multishop/checkbox.tpl" field="attribute_wholesale_price" type="default"}
@@ -165,7 +148,6 @@
</div>
<span style="display:none;" id="attribute_wholesale_price_full">({l s='Overrides wholesale price on "Information" tab'})</span>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_price_impact">
{include file="controllers/products/multishop/checkbox.tpl" field="attribute_price_impact" type="attribute_price_impact"}
@@ -223,8 +205,6 @@
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_weight_impact">
{include file="controllers/products/multishop/checkbox.tpl" field="attribute_weight_impact" type="attribute_weight_impact"}
@@ -255,7 +235,6 @@
</div>
</div>
</div>
<div id="tr_unit_impact" class="form-group">
<label class="control-label col-lg-3" for="attribute_unit_impact">
{include file="controllers/products/multishop/checkbox.tpl" field="attribute_unit_impact" type="attribute_unit_impact"}
@@ -284,7 +263,6 @@
</div>
</div>
</div>
{if $ps_use_ecotax}
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_ecotax">
@@ -303,7 +281,6 @@
</div>
</div>
{/if}
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_minimal_quantity">
{include file="controllers/products/multishop/checkbox.tpl" field="attribute_minimal_quantity" type="default"}
@@ -317,7 +294,6 @@
<input maxlength="6" name="attribute_minimal_quantity" id="attribute_minimal_quantity" type="text" value="{$minimal_quantity}" />
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="available_date_attribute">
{include file="controllers/products/multishop/checkbox.tpl" field="available_date_attribute" type="default"}
@@ -333,9 +309,7 @@
</div>
</div>
</div>
<hr/>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Image:'}</label>
<div class="col-lg-9">
@@ -344,14 +318,13 @@
<li>
<input type="checkbox" name="id_image_attr[]" value="{$image.id_image}" id="id_image_attr_{$image.id_image}" />
<label for="id_image_attr_{$image.id_image}">
<img src="{$smarty.const._THEME_PROD_DIR_}{$image.obj->getExistingImgPath()}-small_default.jpg" alt="{$image.legend|escape:'htmlall':'UTF-8'}" title="{$image.legend|escape:'htmlall':'UTF-8'}" />
<img src="{$smarty.const._THEME_PROD_DIR_}{$image.obj->getExistingImgPath()}-{$imageType}.jpg" alt="{$image.legend|escape:'htmlall':'UTF-8'}" title="{$image.legend|escape:'htmlall':'UTF-8'}" />
</label>
</li>
{/foreach}
</ul>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3" for="attribute_default">
{include file="controllers/products/multishop/checkbox.tpl" field="attribute_default" type="attribute_default"}
@@ -366,7 +339,6 @@
</p>
</div>
</div>
<div class="panel-footer">
<span id="ResetSpan">
<button type="reset" name="ResetBtn" id="ResetBtn" onclick="$('#desc-product-newCombination').click();" class="btn btn-default">
@@ -377,4 +349,4 @@
</div>
{$list}
</div>
{/if}
{/if}
@@ -113,6 +113,6 @@
</div>
{/if}
<script type="text/javascript">
hideOtherLanguage({$default_language});
hideOtherLanguage(default_language);
$(".textarea-autosize").autosize();
</script>
@@ -33,27 +33,42 @@
</h3>
<div class="row">
<label class="control-label col-lg-5 file_upload_label">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Format:'} JPG, GIF, PNG. {l s='Filesize:'} {$max_image_size|string_format:"%.2f"} {l s='MB max.'}">
{if isset($id_image)}{l s='Edit this product image'}{else}{l s='Add a new image to this product'}{/if}
</span>
</label>
<div class="col-lg-7">
{l s='File:'}
<div id="file-uploader">
<noscript>
<p>{l s='Please enable JavaScript to use file uploader:'}</p>
</noscript>
<div class="form-group">
<label class="control-label col-lg-3 file_upload_label">
<span class="label-tooltip" data-toggle="tooltip"
title="{l s='Format:'} JPG, GIF, PNG. {l s='Filesize:'} {$max_image_size|string_format:"%.2f"} {l s='MB max.'}">
{if isset($id_image)}{l s='Edit this product image'}{else}{l s='Add a new image to this product'}{/if}
</span>
</label>
<div class="col-lg-9">
{l s='File:'}
<div id="file-uploader">
<noscript>
<p>{l s='Please enable JavaScript to use file uploader:'}</p>
</noscript>
</div>
<div id="progressBarImage" class="progressBarImage"></div>
<div id="showCounter" style="display:none;">
<span id="imageUpload">0</span><span id="imageTotal">0</span>
</div>
<input type="hidden" name="resizer" value="auto" />
{if Tools::getValue('id_image')}
<input type="hidden" name="id_image" value="{Tools::getValue('id_image')|intval}" />
{/if}
</div>
<div id="progressBarImage" class="progressBarImage"></div>
<div id="showCounter" style="display:none;">
<span id="imageUpload">0</span><span id="imageTotal">0</span>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
{l s='Legend:'}
</label>
<div class="col-lg-9 translatable">
{foreach from=$languages item=language}
<div class="lang_{$language.id_lang}" style="{if !$language.is_default}display: none;{/if} float: left;">
<input class="updateCurrentText" type="text" {if !$product->id}disabled="disabled"{/if} id="legend_{$language.id_lang}" name="legend_{$language.id_lang}" value="{$product->name[$language.id_lang]|escape:'htmlall':'UTF-8'}"/>
<div class="help-block">{l s='Invalid characters:'} <>;=#{}</div>
</div>
{/foreach}
</div>
<input type="hidden" name="resizer" value="auto" />
{if Tools::getValue('id_image')}
<input type="hidden" name="id_image" value="{Tools::getValue('id_image')|intval}" />
{/if}
</div>
</div>
@@ -61,6 +76,7 @@
<thead>
<tr class="nodrag nodrop">
<th class="fixed-width-sm"><span class="title_box">{l s='Image'}</span></th>
<th class="fixed-width-lg"><span class="title_box">{l s='Legend'}</span></th>
<th class="center fixed-width-xs"><span class="title_box">{l s='Position'}</span></th>
{if $shops}
{foreach from=$shops item=shop}
@@ -79,9 +95,10 @@
<tr id="image_id">
<td>
<a href="{$smarty.const._THEME_PROD_DIR_}image_path.jpg" class="fancybox">
<img src="{$smarty.const._THEME_PROD_DIR_}{$iso_lang}-default-small_default.jpg" alt="image_id" title="image_id" />
<img src="{$smarty.const._THEME_PROD_DIR_}{$iso_lang}-default-{$imageType}.jpg" alt="image_id" title="image_id" />
</a>
</td>
<td>legend</td>
<td id="td_image_id" class="pointer dragHandle center positionImage">
image_position
</td>
@@ -129,7 +146,7 @@
}
else
assoc = false;
imageLine({$image->id}, "{$image->getExistingImgPath()}", {$image->position}, "{if $image->cover}icon-check-sign{else}icon-check-empty{/if}", assoc);
imageLine({$image->id}, "{$image->getExistingImgPath()}", {$image->position}, "{if $image->cover}icon-check-sign{else}icon-check-empty{/if}", assoc, "{$image->legend[$default_language]|@addcslashes:'\"'}");
{/foreach}
{literal}
$("#imageTable").tableDnD(
@@ -149,19 +166,18 @@
}
});
var filecheck = 1;
var uploader = new qq.FileUploader(
var params = new Array;
params['id_product'] = {/literal}{$id_product|intval}{literal};
params['id_category'] = {/literal}{$id_category_default|intval}{literal};
params['token'] = "{/literal}{$token}{literal}";
params['tab'] = "AdminProducts";
params['action'] = "addImage";
params['ajax'] = 1;
uploader = new qq.FileUploader(
{
element: document.getElementById("file-uploader"),
action: "ajax-tab.php",
debug: false,
params: {
id_product : {/literal}{$id_product}{literal},
id_category : {/literal}{$id_category_default}{literal},
token : "{/literal}{$token}{literal}",
tab : "AdminProducts",
action : 'addImage',
ajax: 1
},
onComplete: function(id, fileName, responseJSON)
{
var percent = ((filecheck * 100) / nbfile);
@@ -186,7 +202,7 @@
cover = "icon-check-empty";
if (responseJSON.cover == "1")
cover = "icon-check-sign";
imageLine(responseJSON.id, responseJSON.path, responseJSON.position, cover, responseJSON.shops)
imageLine(responseJSON.id, responseJSON.path, responseJSON.position, cover, responseJSON.shops, responseJSON.legend[{/literal}{$default_language|intval}{literal}])
$("#imageTable tr:last").after(responseJSON.html);
$("#countImage").html(parseInt($("#countImage").html()) + 1);
$("#img" + id).remove();
@@ -199,6 +215,12 @@
},
onSubmit: function(id, filename)
{
$('input[id^="legend_"]').each(function()
{
id = $(this).prop("id").replace("legend_", "legend[") + "]";
params[id] = $(this).val();
});
uploader.setParams(params);
$("#imageTable").show();
$("#listImage").append("<li id='img"+id+"'><div>" + filename + "</div></div><a href=\"javascript:delQueue(" + id +");\"><img src=\"../img/admin/disabled.gif\" ></a><p class=\"errorImg\"></p></li>");
}
@@ -286,8 +308,7 @@
"ajax" : 1
});
});
//function
function updateImagePosition(json)
{
doAdminAjax(
@@ -306,13 +327,14 @@
$("#img" + id).remove();
}
function imageLine(id, path, position, cover, shops)
function imageLine(id, path, position, cover, shops, legend)
{
line = $("#lineType").html();
line = line.replace(/image_id/g, id);
line = line.replace(/[a-z]{2}-default-small_default/g, path+'-small_default');
line = line.replace(/image_id/g, legend);
line = line.replace(/[a-z]{0,2}-default-small_default/g, path+'-small_default');
line = line.replace(/image_path/g, path);
line = line.replace(/image_position/g, position);
line = line.replace(/legend/g, legend);
line = line.replace(/icon-check-empty/g, cover);
line = line.replace(/<tbody>/gi, "");
line = line.replace(/<\/tbody>/gi, "");
@@ -330,4 +352,4 @@
{/literal}
</script>
</div>
{/if}
{/if}
@@ -429,11 +429,7 @@
<div class="row">
{/if}
{foreach from=$languages item=language}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang}">
<div class="col-lg-9">
{/if}
{literal}
{literal}
<script type="text/javascript">
$().ready(function () {
var input_id = '{/literal}tags_{$language.id_lang}{literal}';
@@ -443,7 +439,11 @@
});
});
</script>
{/literal}
{/literal}
{if $languages|count > 1}
<div class="translatable-field lang-{$language.id_lang}">
<div class="col-lg-9">
{/if}
<input type="text" id="tags_{$language.id_lang}" class="tagify updateCurrentText" name="tags_{$language.id_lang}" value="{$product->getTags($language.id_lang, true)|htmlentitiesUTF8}" />
{if $languages|count > 1}
</div>
@@ -444,7 +444,7 @@ $(document).ready(function () {
</div>
<div class="col-lg-6">
<select name="sp_reduction_type" id="sp_reduction_type">
<option selected="selected">---</option>
<option selected="selected">-</option>
<option value="amount">{l s='Amount'}</option>
<option value="percentage">{l s='Percentage'}</option>
</select>
@@ -453,7 +453,6 @@ $(document).ready(function () {
</div>
<p class="help-block">{l s='The discount is applied after the tax'}</p>
</div>
</div>
</div>
<script type="text/javascript">
@@ -58,6 +58,7 @@
$('#file_missing').hide();
$('#virtual_product_name').attr('value', fileName);
$("#upload-confirmation .error").remove();
$('#upload-confirmation div').find('span').remove()
$('#upload-confirmation div').prepend('<span>{l s='The file'}&nbsp;"<a class="link" href="get-file-admin.php?file='+msg+'&filename='+fileName+'">'+fileName+'</a>"&nbsp;{l s='has successfully been uploaded'}' +
'<input type="hidden" id="virtual_product_filename" name="virtual_product_filename" value="' + msg + '" /></span>');
$("#upload-confirmation").show();
@@ -32,7 +32,8 @@
<h3>
<i class="icon-cog"></i> {l s='Settings'}
</h3>
<div class="row">
<div class="alert alert-info">{l s='Direct traffic can be quite resource-intensive. You should consider enabling it only if you have a strong need for it.'}</div>
<div class="form-group">
<label class="control-label col-lg-5">{l s='Save direct traffic?'}</label>
<div class="col-lg-7">
<div class="row">
@@ -53,8 +54,8 @@
</div>
</div>
<p>{l s='Direct traffic can be quite resource-intensive. You should consider enabling it only if you have a strong need for it.'}</p>
<button type="submit" class="btn btn-default pull-right" name="submitSettings" id="submitSettings">
<button type="submit" class="btn btn-default" name="submitSettings" id="submitSettings">
<i class="icon-save"></i> {l s='Save'}
</button>
</div>
@@ -66,8 +67,8 @@
<h3>
<i class="icon-fullscreen"></i> {l s='Indexation'}
</h3>
<p>{l s='There is a huge quantity of data, so each connection corresponding to a referrer is indexed. You can also refresh this index by clicking the button above. This process may take awhile, and it\'s only needed if you modified or added a referrer, or if you want changes to be retroactive.'}</p>
<button type="submit" class="btn btn-default pull-right" name="submitRefreshIndex" id="submitRefreshIndex">
<div class="alert alert-info">{l s='There is a huge quantity of data, so each connection corresponding to a referrer is indexed. You can also refresh this index by clicking the button above. This process may take awhile, and it\'s only needed if you modified or added a referrer, or if you want changes to be retroactive.'}</div>
<button type="submit" class="btn btn-default" name="submitRefreshIndex" id="submitRefreshIndex">
<i class="icon-refresh"></i> {l s='Refresh index'}
</button>
</div>
@@ -79,8 +80,8 @@
<h3>
<i class="icon-briefcase"></i> {l s='Cache'}
</h3>
<p>{l s='In order to sort and filter your data, it\'s cached. You can refresh the cache by clicking on the button above.'}</p>
<button type="submit" class="btn btn-default pull-right" name="submitRefreshCache" id="submitRefreshCache">
<div class="alert alert-info">{l s='In order to sort and filter your data, it\'s cached. You can refresh the cache by clicking on the button above.'}</div>
<button type="submit" class="btn btn-default" name="submitRefreshCache" id="submitRefreshCache">
<i class="icon-refresh"></i> {l s='Refresh cache'}
</button>
</div>
@@ -112,7 +112,7 @@
<label class="control-label col-lg-3">{l s='Filter by product:'}</label>
<div class="col-lg-9">
<select id="selectProduct" name="selectProduct" style="width: 200px;" onfocus="fillProducts();" onchange="updateConversionRate(this.value);">
<option value="0" selected="selected">-- {l s='All'} --</option>
<option value="0" selected="selected">- {l s='All'} -</option>
</select>
</div>
</div>
@@ -127,6 +127,4 @@
<script type="text/javascript">
updateConversionRate(0);
</script>
{/block}
@@ -54,10 +54,8 @@ $(function() {
{foreach $features key=key item=feature}
{foreach $feature key=k item=val name=feature_list}
<tr>
<td><strong>{if $smarty.foreach.feature_list.first}{$key}{/if}</strong></td>
<td>
<a href="{$val.link}">{$val.value}</a>
</td>
<td><a href="{$val.link}"{if $smarty.foreach.feature_list.first}><strong>{$key}</strong>{/if}</a></td>
<td><a href="{$val.link}">{$val.value}</a></td>
</tr>
{/foreach}
{/foreach}
@@ -79,7 +77,7 @@ $(function() {
<tbody>
{foreach $modules key=key item=module}
<tr>
<td><strong><a href="{$module->linkto|escape:'htmlall':'UTF-8'}">{$module->displayName}</a></strong></td>
<td><a href="{$module->linkto|escape:'htmlall':'UTF-8'}"><strong>{$module->displayName}</strong></a></td>
<td><a href="{$module->linkto|escape:'htmlall':'UTF-8'}">{$module->description}</a></td>
</tr>
{/foreach}
@@ -99,7 +97,7 @@ $(function() {
</h3>
<table cellspacing="0" cellpadding="0" class="table">
{foreach $categories key=key item=category}
<tr class="alt_row">
<tr>
<td>{$category}</td>
</tr>
{/foreach}
@@ -145,4 +143,32 @@ $(function() {
{$orders}
</div>
{/if}
{if isset($addons) && $addons}
<div class="panel">
<h3>
{if $addons|@count == 1}
{l s='1 addon'}
{else}
{l s='%d addons' sprintf=$addons|@count}
{/if}
</h3>
<table class="table">
<tbody>
{foreach $addons key=key item=addon}
<tr>
<td><a href="{$addon.href|escape:'htmlall':'UTF-8'}" target="_blank"><strong>{$addon.title|escape:'htmlall':'UTF-8'}</strong></a></td>
<td><a href="{$addon.href|escape:'htmlall':'UTF-8'}" target="_blank">{$addon.description|truncate:256:'...'|escape:'htmlall':'UTF-8'}</a></td>
</tr>
{/foreach}
</tbody>
<tfoot>
<tr>
<td colspan="2" class="text-center"><a href="http://addons.prestashop.com/search.php?search_query={$query|urlencode}" target="_blank"><strong>{l s='Show more results...'}</strong></a></td>
</tr>
</tfoot>
</table>
</div>
{/if}
{/if}
@@ -36,7 +36,7 @@
<div class="panel">
<h3><i class="icon-tasks"></i> {l s='Conditions'}</h3>
<form class="form-horizontal">
<div class="row">
<div class="form-group">
<label for="id_category" class="control-label col-lg-3">{l s='Category'}</label>
<div class="col-lg-9">
<div class="col-lg-8">
@@ -53,7 +53,7 @@
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label for="id_manufacturer" class="control-label col-lg-3">{l s='Manufacturer'}</label>
<div class="col-lg-9">
<div class="col-lg-8">
@@ -70,7 +70,7 @@
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label for="id_supplier" class="control-label col-lg-3">{l s='Supplier'}</label>
<div class="col-lg-9">
<div class="col-lg-8">
@@ -87,7 +87,7 @@
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label for="id_attribute" class="control-label col-lg-3">{l s='Attributes'}</label>
<div class="col-lg-9">
<div class="col-lg-4">
@@ -114,7 +114,7 @@
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<label for="id_attribute" class="control-label col-lg-3">{l s='Features'}</label>
<div class="col-lg-9">
<div class="col-lg-4">
@@ -137,6 +137,7 @@
</td>
</tr>
</table>
</div>
<input type="hidden" name="token" value="{$token}" />
</form>
@@ -50,7 +50,7 @@
{/block}
{block name="after"}
<div class="panel" id="prestastore-content"></div>
<div class="panel clearfix" id="prestastore-content"></div>
<script type="text/javascript">
$.ajax({
type: 'POST',
@@ -69,7 +69,7 @@
btn_submit.hide();
//bind enter key press to validate form
$('#{$table}_form').find('input').keypress(function (e) {
if (e.which == 13 && e.target.localName != 'textarea' && !e.target.hasClass('tagify'))
if (e.which == 13 && e.target.localName != 'textarea' && !$(e.target).parent().hasClass('tagify-container'))
$('#desc-{$table}-save').click();
});
//submit the form
+64 -78
View File
@@ -36,64 +36,60 @@
<title>{$shop_name} {if $meta_title != ''}{if isset($navigationPipe)}{$navigationPipe|escape:'htmlall':'UTF-8'}{else}&gt;{/if} {$meta_title}{/if}</title>
{if $display_header}
<script type="text/javascript">
var help_class_name = '{$controller_name}';
var iso_user = '{$iso_user}';
var country_iso_code = '{$country_iso_code}';
var _PS_VERSION_ = '{$smarty.const._PS_VERSION_}';
var helpboxes = {$help_box};
var roundMode = {$round_mode};
{if isset($shop_context)}
{if $shop_context == Shop::CONTEXT_ALL}
var youEditFieldFor = "{l s='A modification of this field will be applied for all shops' slashes=1 }";
{elseif $shop_context == Shop::CONTEXT_GROUP}
var youEditFieldFor = "{l s='A modification of this field will be applied for all shops of group ' slashes=1 }<b>{$shop_name}</b>";
{else}
var youEditFieldFor = "{l s='A modification of this field will be applied for the shop ' slashes=1 }<b>{$shop_name}</b>";
{/if}
{else}
var youEditFieldFor = '';
{/if}
{* Notifications vars *}
var autorefresh_notifications = '{$autorefresh_notifications}';
var new_order_msg = '{l s='A new order has been placed on your shop.' slashes=1}';
var order_number_msg = '{l s='Order number: ' slashes=1}';
var total_msg = '{l s='Total: ' slashes=1}';
var from_msg = '{l s='From: ' slashes=1}';
var see_order_msg = '{l s='View this order' slashes=1}';
var new_customer_msg = '{l s='A new customer registered on your shop.' slashes=1}';
var customer_name_msg = '{l s='Customer name: ' slashes=1}';
var see_customer_msg = '{l s='View this customer' slashes=1}';
var new_msg = '{l s='A new message posted on your shop.' slashes=1}';
var excerpt_msg = '{l s='Excerpt: ' slashes=1}';
var see_msg = '{l s='Read this message' slashes=1}';
var token_admin_orders = '{getAdminToken tab='AdminOrders' slashes=1}';
var token_admin_customers = '{getAdminToken tab='AdminCustomers' slashes=1}';
var token_admin_customer_threads = '{getAdminToken tab='AdminCustomerThreads' slashes=1}';
var currentIndex = '{$currentIndex}';
var default_language = '{$default_language|intval}';
var choose_language_translate = "{l s='Choose language' slashes=1}";
var admin_modules_link = '{$link->getAdminLink("AdminModules")|addslashes}';
var tab_modules_list = '{if isset($tab_modules_list) && $tab_modules_list}{$tab_modules_list|addslashes}{/if}';
var help_class_name = '{$controller_name|@addcslashes:'\''}';
var iso_user = '{$iso_user|@addcslashes:'\''}';
var country_iso_code = '{$country_iso_code|@addcslashes:'\''}';
var _PS_VERSION_ = '{$smarty.const._PS_VERSION_|@addcslashes:'\''}';
var helpboxes = {$help_box|intval};
var roundMode = {$round_mode|intval};
{if isset($shop_context)}
{if $shop_context == Shop::CONTEXT_ALL}
var youEditFieldFor = '{l s='A modification of this field will be applied for all shops' js=1}';
{elseif $shop_context == Shop::CONTEXT_GROUP}
var youEditFieldFor = '{l s='A modification of this field will be applied for all shops of group' js=1} <b>{$shop_name|@addcslashes:'\''}</b>';
{else}
var youEditFieldFor = '{l s='A modification of this field will be applied for the shop' js=1} <b>{$shop_name|@addcslashes:'\''}</b>';
{/if}
{else}
var youEditFieldFor = '';
{/if}
var autorefresh_notifications = '{$autorefresh_notifications|@addcslashes:'\''}';
var new_order_msg = '{l s='A new order has been placed on your shop.' js=1}';
var order_number_msg = '{l s='Order number: ' js=1}';
var total_msg = '{l s='Total: ' js=1}';
var from_msg = '{l s='From: ' js=1}';
var see_order_msg = '{l s='View this order' js=1}';
var new_customer_msg = '{l s='A new customer registered on your shop.' js=1}';
var customer_name_msg = '{l s='Customer name: ' js=1}';
var see_customer_msg = '{l s='View this customer' js=1}';
var new_msg = '{l s='A new message posted on your shop.' js=1}';
var excerpt_msg = '{l s='Excerpt: ' js=1}';
var see_msg = '{l s='Read this message' js=1}';
var token_admin_orders = '{getAdminToken tab='AdminOrders'}';
var token_admin_customers = '{getAdminToken tab='AdminCustomers'}';
var token_admin_customer_threads = '{getAdminToken tab='AdminCustomerThreads'}';
var currentIndex = '{$currentIndex|@addcslashes:'\''}';
var choose_language_translate = '{l s='Choose language' js=1}';
var default_language = '{$default_language|addslashes}';
</script>
{/if}
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
{if isset($js_files)}
{foreach from=$js_files item=js_uri}
<script type="text/javascript" src="{$js_uri}"></script>
{/foreach}
{/if}
{/if}
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri}" rel="stylesheet" type="text/css" media="{$media}" />
{/foreach}
{/if}
{if isset($js_files)}
{foreach from=$js_files item=js_uri}
<script type="text/javascript" src="{$js_uri}"></script>
{/foreach}
{/if}
<link rel="icon" type="image/vnd.microsoft.icon" href="{$img_dir}favicon.ico" />
<link rel="shortcut icon" type="image/x-icon" href="{$img_dir}favicon.ico" />
{if isset($displayBackOfficeHeader)}
{$displayBackOfficeHeader}
{/if}
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="{$base_url}css/admin-ie.css" />
<![endif]-->
{if isset($brightness)}
<!--
/// todo multishop
@@ -131,9 +127,9 @@
</a>
<div class="dropdown-menu notifs_dropdown">
<section id="orders_notif_wrapper" class="notifs_panel">
<header class="notifs_panel_header">
<div class="notifs_panel_header">
<h3>{l s='Latest Orders'}</h3>
</header>
</div>
<div id="list_orders_notif" class="list-group">
<a href="#" class="media list-group-item no_notifs">
<span class="pull-left">
@@ -144,9 +140,9 @@
</span>
</a>
</div>
<footer class="notifs_panel_footer">
<div class="notifs_panel_footer">
<a href="index.php?controller=AdminOrders&amp;token={getAdminToken tab='AdminOrders'}">{l s='Show all orders'}</a>
</footer>
</div>
</section>
</div>
</li>
@@ -161,9 +157,9 @@
</a>
<div class="dropdown-menu notifs_dropdown">
<section id="customers_notif_wrapper" class="notifs_panel">
<header class="notifs_panel_header">
<div class="notifs_panel_header">
<h3>{l s='Latest Registrations'}</h3>
</header>
</div>
<div id="list_customers_notif" class="list-group">
<a href="#" class="media list-group-item no_notifs">
<span class="pull-left">
@@ -174,9 +170,9 @@
</span>
</a>
</div>
<footer class="panel-footer">
<div class="panel-footer">
<a href="index.php?controller=AdminCustomers&amp;token={getAdminToken tab='AdminCustomers'}">{l s='Show all customers'}</a>
</footer>
</div>
</section>
</div>
</li>
@@ -191,9 +187,9 @@
</a>
<div class="dropdown-menu notifs_dropdown">
<section id="customer_messages_notif_wrapper" class="notifs_panel">
<header class="notifs_panel_header">
<div class="notifs_panel_header">
<h3>{l s='Latest Messages'}</h3>
</header>
</div>
<div id="list_orders_notif" class="list-group">
<a href="#" class="media list-group-item no_notifs">
<span class="pull-left">
@@ -204,9 +200,9 @@
</span>
</a>
</div>
<footer class="panel-footer text-small">
<div class="panel-footer text-small">
<a href="index.php?tab=AdminCustomerThreads&amp;token={getAdminToken tab='AdminCustomerThreads'}">{l s='Show all messages'}</a>
</footer>
</div>
</section>
</div>
</li>
@@ -292,18 +288,6 @@
});
{/if}
</script>
<!-- todo js
OK - size up search field on focus
(?) - prevent blank search
OK - dropdown menu as select
OK - fill input hidden field with data value from list item
OK - change icon in suffix
OK - set active on right list item
OK - focus input field
OK - change place holder
(?) - keep focus state when search exists
-->
</form>
{if count($quick_access) > 0}
@@ -329,13 +313,15 @@
{/if}
<li id="employee_infos" class="dropdown">
<a href='#' class="employee_name dropdown-toggle" data-toggle="dropdown">
<img src="{$img_dir}prestashop-avatar.png" height="15" width="15" />
<span class="employee_avatar_small">{$employee_avatar}</span>
{$first_name}&nbsp;{$last_name}
<i class="caret"></i>
</a>
<ul id="employee_links" class="dropdown-menu">
<li>{$employee_avatar}</li>
<li><span class="employee_avatar">{$employee_avatar}</span></li>
<li class="divider"></li>
<li><a href="{$link->getAdminLink('AdminEmployees')|escape:'htmlall':'UTF-8'}&id_employee={$employee->id}&amp;updateemployee"><i class="icon-wrench"></i> {l s='My preferences'}</a></li>
<li class="divider"></li>
<li><a id="header_logout" href="index.php?logout"><i class="icon-signout"></i> {l s='Log out'}</a></li>
</ul>
</li>
@@ -74,13 +74,15 @@ function check_all_shop() {
</script>
<div class="assoShop">
<table class="table" cellpadding="0" cellspacing="0" width="100%">
<table class="table">
<tr>
<th>{l s='Shop'}</th>
</tr>
<tr>
<td>
<label class="t"><input class="input_all_shop" type="checkbox" /> <b>{l s='All shops'}</b></label>
<label>
<input class="input_all_shop" type="checkbox" />{l s='All shops'}
</label>
</td>
</tr>
{foreach $input.values as $groupID => $groupData}
@@ -88,13 +90,13 @@ function check_all_shop() {
<tr {if $input.type == 'shop'}class="alt_row"{/if}>
<td>
<img style="vertical-align:middle;" alt="" src="../img/admin/lv2_b.gif" />
<label class="t">
<label>
<input class="input_shop_group"
type="checkbox"
name="checkBoxShopGroupAsso_{$table}[{$groupID}]"
value="{$groupID}"
{if $groupChecked} checked="checked"{/if} />
<b>{l s='Group:'} {$groupData['name']}</b>
{l s='Group:'} {$groupData['name']}
</label>
</td>
</tr>
@@ -178,8 +178,7 @@
<script type="text/javascript">
$().ready(function () {
var input_id = '{/literal}{if isset($input.id)}{$input.id}{else}{$input.name}{/if}{literal}';
$('#'+input_id).tagify();
$('#'+input_id).tagify({delimiters: [13,44],addTagPrompt: '{/literal}{l s='Add tag'}{literal}'});
$('#'+input_id).tagify({delimiters: [13,44], addTagPrompt: '{/literal}{l s='Add tag'}{literal}'});
$({/literal}'#{$table}{literal}_form').submit( function() {
$(this).find('#'+input_id).val($('#'+input_id).tagify('serialize'));
});
@@ -337,7 +336,7 @@
{/if}
>{$option->$input.options.name}</option>
{elseif $option == "-"}
<option value="">--</option>
<option value="">-</option>
{else}
<option value="{$option[$input.options.id]}"
{if isset($input.multiple)}
@@ -24,11 +24,11 @@
*}
{if count($categories) && isset($categories)}
<script type="text/javascript">
var inputName = '{$categories.input_name}';
var inputName = '{$categories.input_name|@addcslashes:'\''}';
var use_radio = {if $categories.use_radio}1{else}0{/if};
var selectedCat = '{implode value=$categories.selected_cat}';
var selectedLabel = '{$categories.trads.selected}';
var home = '{$categories.trads.Root.name}';
var selectedCat = {$categories.selected_cat|@implode|intval};
var selectedLabel = '{$categories.trads.selected|@addcslashes:'\''}';
var home = '{$categories.trads.Root.name|@addcslashes:'\''}';
var use_radio = {if $categories.use_radio}1{else}0{/if};
var use_context = {if isset($categories.use_context)}1{else}0{/if};
$(document).ready(function(){
@@ -32,7 +32,7 @@
{/if}
<span class="title">{$title|escape}<br /><small>{$subtitle|escape}</small></span>
<span class="value">{$value|escape}</span>
</{if $href}a{else}div{/if}>
</{if isset($href) && $href}a{else}div{/if}>
{if isset($source) && $source != ''}
<script>
@@ -74,7 +74,7 @@
<div class="alert alert-warning" id="{$list_id}-empty-filters-alert" style="display:none;">{l s='Please fill at least one field to perform a search in this list.'}</div>
{block name="startForm"}
<form method="post" action="{$action}" class="form-horizontal">
<form method="post" action="{$action}" class="form-horizontal clearfix">
{/block}
{if !$simple_header}
<input type="hidden" id="submitFilter{$list_id}" name="submitFilter{$list_id}" value="0"/>
@@ -181,7 +181,6 @@
{/if}
<div class="table-responsive clearfix{if isset($use_overflow) && $use_overflow} overflow-y{/if}">
<table
name="list_table"
{if $table_id} id={$table_id}{/if}
class="table {if $table_dnd}tableDnD{/if} {$table}"
>
@@ -222,8 +221,8 @@
<a {if isset($order_by) && ($key == $order_by) && ($order_way == 'ASC')}class="active"{/if} href="{$currentIndex}&{$list_id}Orderby={$key|urlencode}&{$list_id}Orderway=asc&token={$token}{if isset($smarty.get.$identifier)}&{$identifier}={$smarty.get.$identifier|intval}{/if}">
<i class="icon-caret-up"></i>
</a>
{/if}
</span>
{/if}
</th>
{/foreach}
{if $shop_link_type}
@@ -257,22 +256,20 @@
{else}
{if $params.type == 'bool'}
<select class="filter fixed-width-sm" onchange="$('#submitFilterButton{$list_id}').focus();$('#submitFilterButton{$list_id}').click();" name="{$list_id}Filter_{$key}">
<option value="">--</option>
<option value="">-</option>
<option value="1" {if $params.value == 1} selected="selected" {/if}>{l s='Yes'}</option>
<option value="0" {if $params.value == 0 && $params.value != ''} selected="selected" {/if}>{l s='No'}</option>
</select>
{elseif $params.type == 'date' || $params.type == 'datetime'}
<div class="date_range row">
<div class="input-group fixed-width-xl row-margin-bottom">
<span class="input-group-addon">{l s='From'}</span>
<input type="text" class="filter datepicker date-input form-control" id="{$params.id_date}_0" name="{$params.name_date}[0]" value="{if isset($params.value.0)}{$params.value.0}{/if}"/>
<div class="input-group fixed-width-md row-margin-bottom">
<input type="text" class="filter datepicker date-input form-control" id="{$params.id_date}_0" name="{$params.name_date}[0]" value="{if isset($params.value.0)}{$params.value.0}{/if}" placeholder="{l s='From'}"/>
<span class="input-group-addon">
<i class="icon-calendar"></i>
</span>
</div>
<div class="input-group fixed-width-xl">
<span class="input-group-addon">{l s='To'}</span>
<input type="text" class="filter datepicker date-input form-control" id="{$params.id_date}_1" name="{$params.name_date}[1]" value="{if isset($params.value.1)}{$params.value.1}{/if}"/>
<div class="input-group fixed-width-md">
<input type="text" class="filter datepicker date-input form-control" id="{$params.id_date}_1" name="{$params.name_date}[1]" value="{if isset($params.value.1)}{$params.value.1}{/if}" placeholder="{l s='To'}" />
<span class="input-group-addon">
<i class="icon-calendar"></i>
</span>
@@ -281,7 +278,7 @@
{elseif $params.type == 'select'}
{if isset($params.filter_key)}
<select class="filter" onchange="$('#submitFilterButton{$list_id}').focus();$('#submitFilterButton{$list_id}').click();" name="{$list_id}Filter_{$params.filter_key}" {if isset($params.width)} style="width:{$params.width}px"{/if}>
<option value="" {if $params.value == ''} selected="selected" {/if}>--</option>
<option value="" {if $params.value == ''} selected="selected" {/if}>-</option>
{if isset($params.list) && is_array($params.list)}
{foreach $params.list AS $option_value => $option_display}
<option value="{$option_value}" {if (string)$option_display === (string)$params.value || (string)$option_value === (string)$params.value} selected="selected"{/if}>{$option_display}</option>
@@ -89,7 +89,7 @@
btn_submit.hide();
//bind enter key press to validate form
$('#{$table}_form').find('input').keypress(function (e) {
if (e.which == 13 && e.target.localName != 'textarea' && !e.target.hasClass('tagify'))
if (e.which == 13 && e.target.localName != 'textarea' && !$(e.target).parent().hasClass('tagify-container'))
$('#page-header-desc-{$table}-save').click();
});
//submit the form
@@ -83,7 +83,7 @@
btn_submit.hide();
//bind enter key press to validate form
$('#{$table}_form').keypress(function (e) {
if (e.which == 13 && e.target.localName != 'textarea')
if (e.which == 13 && e.target.localName != 'textarea' && !e.target.hasClass('tagify'))
$('#desc-{$table}-save').click();
});
//submit the form