first commit

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

View File

@@ -0,0 +1,77 @@
<style>
#ximport_progress_block {
display: none;
padding: 5px 15px 10px;
margin-bottom: 30px;
border-radius: 3px;
border-left: 3px solid #2794AB;
background: #DCF4F9;
}
#ximport_progress_block h2 {
margin: 10px 0;
}
#ximport_progress_block .x-list {
margin: 10px 0;
}
#ximport_progress_block .x-bar {
display: none;
margin: 10px 0;
}
#ximport_progress_block .x-bar .x-bar-visual {
height: 20px;
background: #FFF;
border-bottom: 1px solid #2794AB;
}
#ximport_progress_block .x-bar .x-bar-visual > div {
width: 0;
height: 100%;
background: #2794AB;
}
#ximport_progress_block .x-list .x-list-element {
margin-bottom: 2px;
}
#ximport_progress_block .x-list .x-list-element .x-list-wholesaler {
font-size: 13px;
font-weight: bold;
}
#ximport_progress_block .x-list .x-list-element .x-list-wholesaler-action {
font-size: 12px;
font-style: italic;
}
#ximport_progress_block .x-list .x-list-element .x-list-wholesaler-action.badge {
padding: 1px 8px;
}
</style>
<div id="ximport_progress_block">
<h2 class="x-header"></h2>
<h4 class="x-description"></h4>
<div class="x-bar">
<div class="x-bar-visual"><div></div></div>
</div>
<div class="x-form"></div>
<div class="x-content"></div>
<div class="x-close"><a href="#" class="btn btn-default">{l s='Zamknij' mod='x13import'}</a></div>
</div>
<div id="_pattern_ximport_progress_block" style="display: none;">
<ul id="_pattern_list_wholesalers">
<li class="x-list-element">
<span class="x-list-wholesaler"></span>:&nbsp;
<span class="x-list-wholesaler-action">{l s='oczekiwanie' mod='x13import'}...</span>
</li>
</ul>
<div id="_pattern_content">
<p class="x-message-before"></p>
<ul class="x-list"></ul>
<p class="x-message-after"></p>
<p class="x-refresh-button" style="display: none;">
<a href="{$currentIndex}&token={$token}" class="btn btn-warning"><i class="icon-refresh"></i></a>
</p>
</div>
</div>

View File

@@ -0,0 +1,101 @@
<form id="categories_import_form" action="#" method="post">
<div class="form-group{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')} clearfix{/if}">
<div class="radio">
<label for="categoriesImportMode_1">
<input type="radio" name="categoriesImportMode" value="1" id="categoriesImportMode_1" checked="checked">
{l s='Importuj kategorie hurtowni do kategorii głównej sklepu [1](domyślnie)[/1]' tags=['<strong>'] mod='x13import'}
</label>
</div>
<div class="radio">
<label for="categoriesImportMode_2">
<input type="radio" name="categoriesImportMode" value="2" id="categoriesImportMode_2">
{l s='Importuj kategorie hurtowni do wybranej kategorii' mod='x13import'}
</label>
</div>
<div class="radio">
<label for="categoriesImportMode_3">
<input type="radio" name="categoriesImportMode" value="3" id="categoriesImportMode_3">
{l s='Importuj najgłębszą kategorie hurtowni do wybranej kategorii' mod='x13import'}
</label>
</div>
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '>')}
<div class="radio">
<label for="categoriesImportMode_4">
<input type="radio" name="categoriesImportMode" value="4" id="categoriesImportMode_4">
{l s='Przypisz najgłębszą kategorie hurtowni do wybranej kategorii' mod='x13import'}
</label>
</div>
{/if}
</div>
<div class="form-group{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')} clearfix{/if}">
<div id="categoriesImportMode_tree" style="display: none;">
{$categoryTree}
</div>
</div>
<div class="form-group{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')} clearfix{/if}" style="display: none;">
<label for="categoriesImportDefault" class="control-label">Kategoria główna:</label>
<select name="categoriesImportDefault" class="fixed-width-xxl" id="categoriesImportDefault"></select>
</div>
<div class="form-group{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')} clearfix{/if}" style="display: none;">
<div class="checkbox">
<label for="categoriesOverwrite">
<input type="checkbox" name="categoriesOverwrite" value="1" id="categoriesOverwrite">
{l s='Nadpisz już przypisane kategorie' mod='x13import'}
</label>
</div>
</div>
<button type="submit" name="submitCategoriesImportForm" class="btn btn-default">
<i class="icon-download"></i>&nbsp;&nbsp;Importuj kategorie do sklepu
</button>
</form>
<script>
$(document).on('change', 'input[name="categoriesImportMode"]', function () {
var importMode = parseInt($(this).val());
if (importMode === 1) {
$('#categoriesImportMode_tree').hide();
$('input[name="categoriesOverwrite"]').closest('.form-group').hide();
} else {
$('#categoriesImportMode_tree').show();
$('input[name="categoriesOverwrite"]').closest('.form-group').show();
}
if (importMode === 4) {
$('select[name="categoriesImportDefault"]').closest('.form-group').show();
$('#categoriesAssigned input').removeAttr('checked').attr('type', 'checkbox').attr('name', 'categoriesAssigned[]');
removeSelectedCategories();
} else {
$('select[name="categoriesImportDefault"]').closest('.form-group').hide();
$('#categoriesAssigned input').removeAttr('checked').attr('type', 'radio').attr('name', 'categoriesAssigned');
removeSelectedCategories();
}
});
$(document).on('change', '#categoriesAssigned input', function () {
changeCategoriesDefault();
});
function removeSelectedCategories() {
$('.tree-folder-name').removeClass('tree-selected');
$('.tree-item-name').removeClass('tree-selected');
changeCategoriesDefault();
}
function changeCategoriesDefault() {
var defaultCategorySelect = $('#categoriesImportDefault');
defaultCategorySelect.empty();
$('#categoriesAssigned input:checked').each(function() {
defaultCategorySelect.append(
'<option ' + (($(this).attr('value') == defaultCategorySelect.val()) ? 'selected="selected"' : '') +
' value="' + $(this).attr('value') + '">' + $(this).siblings('label').text() +
'</option>');
});
}
</script>

View File

@@ -0,0 +1,39 @@
{extends file="helpers/form/form.tpl"}
{block name="script"}
{if $is_bootstrap}
$(document).ready(function(){
$(document).on('change', '#categories-tree input', function(){
load_import_categories();
});
$(document).on('click', '#check-all-categories-tree, #uncheck-all-categories-tree, .tt-suggestion.tt-is-under-cursor', function(){
load_import_categories();
});
load_import_categories()
function load_import_categories() {
var _select = $('#id_category');
var selected_value = $('#id_category').val();
_select.empty();
$('#categories-tree input:checked, #categories-treeview input:checked').each(function(){
_select.append('<option '+(($(this).attr('value') == selected_value) ? 'selected="selected"' : '')+' value="'+$(this).attr('value')+'">'+$(this).siblings('label').text()+'</option>');
});
}
});
{else}
$('#categories-treeview').on('change', 'input', function() {
if ($(this).is(':checked')) {
$('select#id_category').append('<option value="'+$(this).val()+'">'+($(this).val() !=1 ? $(this).parent().find('span').html() : home)+'</option>');
updateNbSubCategorySelected($(this), true);
}
else {
$('select#id_category option[value='+$(this).val()+']').remove();
updateNbSubCategorySelected($(this), false);
}
});
{/if}
{/block}

View File

@@ -0,0 +1,18 @@
{extends file="helpers/list/list_content.tpl"}
{block name="td_content"}
{if $key == 'markup'}
<div class="markup_container" style="float: left;">
<span style="display: block; height: 100%; float: left; cursor: pointer; margin-right: 3px;" class="markup_edit">{$tr.$key|escape:'htmlall':'UTF-8'|number_format:2:".":""}</span>
<input style="width: 60px; display: none;" type="text" value="{$tr.$key|escape:'htmlall':'UTF-8'|number_format:2:".":""}" x-id="{$tr.id_ximport_category}" class="markup_edit x-cast x-cast-float" />
<span class="markup_type_edit" style="cursor: pointer;">{if $tr.markup_type == 'percent'}%{else}{/if}</span>
<select name="markup_type" class="markup_type_edit" style="width: 70px; display: none;">
<option value="percent" {if $tr.markup_type == 'percent'}selected="selected"{/if}>%</option>
<option value="amount" {if $tr.markup_type == 'amount'}selected="selected"{/if}>zł</option>
</select>
</div>
{else}
{$smarty.block.parent}
{/if}
{/block}

View File

@@ -0,0 +1,97 @@
{extends file="helpers/list/list_footer.tpl"}
{block name="after"}
<div id="ximport_bulk_popup_markup" style="display: none;">
<form action="{$currentIndex}&token={$token}" method="post" id="bulk_popup_markup_form" class="bootstrap">
<div class="clearfix" style="max-width: 600px;">
<div style="margin-bottom: 30px;">
<h3 style="margin: 0;">{l s='Ustaw narzut kategorii' mod='x13import'}</h3>
</div>
<div id="bulk_markup_hidden"></div>
<div class="clearfix">
<label for="bulk_markup_type" class="control-label t col-lg-12">{l s='Rodzaj narzutu' mod='x13import'}:</label>
<div class="col-lg-12">
<select id="bulk_markup_type" name="bulk_markup_type">
<option value="percent">{l s='procent' mod='x13import'}</option>
<option value="amount">{l s='kwota' mod='x13import'}</option>
</select>
</div>
</div>
<div class="clearfix">
<label for="bulk_markup" class="control-label t col-lg-12">{l s='Narzut' mod='x13import'}:</label>
<div class="col-lg-12">
<input type="text" name="bulk_markup" id="bulk_markup" value="0" class="x-cast x-cast-float">
</div>
</div>
<div class="clearfix" style="margin-top: 30px;">
<button class="button btn btn-success pull-right" type="submit" name="submitBulkmarkupximport_category" value="1"><i class="icon-save"></i>&nbsp;&nbsp;{l s='Zapisz' mod='x13import'}</button>
</div>
</div>
</form>
</div>
<div id="ximport_bulk_popup_title_pattern" style="display: none;">
<form action="{$currentIndex}&token={$token}" method="post" id="bulk_popup_title_pattern_form" class="bootstrap">
<div class="clearfix" style="min-width: 680px;">
<div style="margin-bottom: 30px;">
<h3 style="margin: 0;">{l s='Ustaw wzorzec nazwy produktu' mod='x13import'}</h3>
</div>
<div id="bulk_title_pattern_hidden"></div>
<div class="clearfix">
<label for="bulk_title_pattern" class="control-label t col-lg-12">{l s='Wzorzec nazwy produktu' mod='x13import'}:</label>
<div class="col-lg-12">
<input type="text" name="bulk_title_pattern" id="bulk_title_pattern" value="" style="width: 100%;">
<p class="help-block">
{l s='Wzorzec nazwy produktu może zawierać dowolne znaki alfanumeryczne oraz zmienne' mod='x13import'}:<br>
- <b>{literal}{%name%}{/literal}</b> - {l s='która zostanie zastąpiona nazwą produktu' mod='x13import'}<br>
- <b>{literal}{%reference%}{/literal}</b> - {l s='która zostanie zastąpiona kodem referencyjnym' mod='x13import'}<br>
- <b>{literal}{%manufacturer%}{/literal}</b> - {l s='która zostanie zastąpiona nazwą producenta' mod='x13import'}<br>
- <b>{literal}[%feature%]{/literal}</b> - {l s='która zostanie zastapiona wartością podanej cechy, np. [%Materiał%]' mod='x13import'}
</p>
</div>
</div>
<div class="clearfix" style="margin-top: 30px;">
<button class="button btn btn-success pull-right" type="submit" name="submitBulktittlePatternximport_category" value="1"><i class="icon-save"></i>&nbsp;&nbsp;{l s='Zapisz' mod='x13import'}</button>
</div>
</div>
</form>
</div>
<style>
#form-ximport_category table thead > tr > th.word-break > span {
word-wrap: normal !important;
white-space: normal !important;
}
#form-ximport_category .panel-footer {
display: none !important;
}
i.x-categories-import:before {
content: '\f019' !important;
}
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}
.toolbarBox .x-categories-download {
background-image: url("./themes/default/img/process-icon-import.png");
}
.toolbarBox .x-categories-import {
background-image: url("./themes/default/img/process-icon-new.png");
}
{/if}
</style>
{literal}
<script>
var X13Import = new $.XImport();
X13Import.categoriesList();
</script>
{/literal}
{/block}

View File

@@ -0,0 +1,5 @@
{extends file="helpers/list/list_header.tpl"}
{block name="override_header"}
{include file="../../../progress_block.tpl"}
{/block}

View File

@@ -0,0 +1,167 @@
{extends file="helpers/options/options.tpl"}
{block name="leadin"}
{if $ionCubeLicenseInfo !== false}
<div class="panel">
<div class="panel-heading">
<i class="icon-cogs"></i> {l s='Licencja' mod='x13import'}
</div>
<div class="form-wrapper clearfix">
<div class="form-group">
<div class="col-lg-9 col-lg-offset-3">
{$ionCubeLicenseInfo.html_content}
</div>
</div>
</div>
</div>
{/if}
{/block}
{block name="input"}
{if $field.type == 'select'}
<div class="col-lg-9">
{if $field['list']}
<select class="form-control fixed-width-xxl {if isset($field['class'])}{$field['class']}{/if}" name="{$key}"{if isset($field['js'])} onchange="{$field['js']}"{/if} id="{$key}" {if isset($field['size'])} size="{$field['size']}"{/if} {if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if}>
{foreach $field['list'] AS $k => $option}
<option value="{$option[$field['identifier']]}"{if $field['value'] == $option[$field['identifier']]} selected="selected"{/if}>{$option['name']}</option>
{/foreach}
</select>
{elseif isset($input.empty_message)}
{$input.empty_message}
{/if}
</div>
{if isset($field['desc']) && !empty($field['desc'])}
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{if is_array($field['desc'])}
{foreach $field['desc'] as $p}
{if is_array($p)}
<span id="{$p.id}">{$p.text}</span><br />
{else}
{$p}<br />
{/if}
{/foreach}
{else}
{$field['desc']}
{/if}
</div>
</div>
{/if}
{elseif $field.type == 'disabled'}
{if isset($is_bootstrap) && $is_bootstrap}<div class="col-lg-9">{/if}
<input type="text" value="{$field.disabled|date_format:"%H:%M:%S %d-%m-%Y"}" readonly="readonly" disabled="disabled" size="{if isset($field.size)}{$field.size|intval}{else}5{/if}" />
{if isset($is_bootstrap) && $is_bootstrap}</div>
{if isset($field['desc']) && !empty($field['desc'])}
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{if is_array($field['desc'])}
{foreach $field['desc'] as $p}
{if is_array($p)}
<span id="{$p.id}">{$p.text}</span><br />
{else}
{$p}<br />
{/if}
{/foreach}
{else}
{$field['desc']}
{/if}
</div>
</div>
{/if}
{/if}
{elseif $field.type == 'readonly'}
{if isset($is_bootstrap) && $is_bootstrap}<div class="col-lg-9">{/if}
<input type="text" value="{$field.readonly}" readonly="readonly" size="{if isset($field.size)}{$field.size|intval}{else}5{/if}" />
{if isset($is_bootstrap) && $is_bootstrap}</div>
{if isset($field['desc']) && !empty($field['desc'])}
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{if is_array($field['desc'])}
{foreach $field['desc'] as $p}
{if is_array($p)}
<span id="{$p.id}">{$p.text}</span><br />
{else}
{$p}<br />
{/if}
{/foreach}
{else}
{$field['desc']}
{/if}
</div>
</div>
{/if}
{/if}
{elseif $field['type'] == 'hr'}
<hr />
{else}
{$smarty.block.parent}
{/if}
{/block}
{block name="after"}
<script>
$(document).on('change', 'input[name="IMPORT_UNAVAILABLE"]', function () {
var optionsList = [
'MOD_ADVANCED_STOCK_NEW'
];
var selected = (parseInt($('input[name="IMPORT_UNAVAILABLE"]:checked').val()) === 1);
optionsList.forEach(function (value) {
if (selected) {
$('select[name="' + value + '"], input[name="' + value + '"]').removeAttr('disabled').trigger('xchange');
} else {
$('select[name="' + value + '"], input[name="' + value + '"]').attr('disabled', 'disabled').trigger('xchange');
}
});
});
$(document).on('change', 'input[name="MOD_ADVANCED_STOCK_NEW"]', function () {
var optionsList = [
'MOD_ADVANCED_STOCK_NEW_ACTIVE',
'MOD_ADVANCED_STOCK_NEW_VIS',
'MOD_ADVANCED_STOCK_NEW_OOS',
'MOD_ADVANCED_STOCK_NEW_AFO'
];
var selectedParent = (parseInt($('input[name="IMPORT_UNAVAILABLE"]:checked').val()) === 1);
var selected = (parseInt($('input[name="MOD_ADVANCED_STOCK_NEW"]:checked').val()) === 1);
optionsList.forEach(function (value) {
if (!selected || !selectedParent) {
$('select[name="' + value + '"], input[name="' + value + '"]').attr('disabled', 'disabled');
} else if (selected) {
$('select[name="' + value + '"], input[name="' + value + '"]').removeAttr('disabled');
}
});
});
$(document).on('change', 'input[name="MOD_ADVANCED_STOCK_UPD"]', function () {
var optionsList = [
'MOD_ADVANCED_STOCK_UPD_ACTIVE',
'MOD_ADVANCED_STOCK_UPD_VIS',
'MOD_ADVANCED_STOCK_UPD_OOS',
'MOD_ADVANCED_STOCK_UPD_AFO',
'MOD_ADVANCED_STOCK_UPD_QTY_ZERO'
];
var selected = (parseInt($('input[name="MOD_ADVANCED_STOCK_UPD"]:checked').val()) === 1);
optionsList.forEach(function (value) {
if (!selected) {
$('select[name="' + value + '"], input[name="' + value + '"]').attr('disabled', 'disabled');
} else {
$('select[name="' + value + '"], input[name="' + value + '"]').removeAttr('disabled');
}
});
});
$(document).on('change', 'input[name="UPDATE_PRICE"]', function () {
var selected = (parseInt($('input[name="UPDATE_PRICE"]:checked').val()) === 1);
if (!selected) {
$('select[name="UPDATE_UNIT_PRICE"], input[name="UPDATE_UNIT_PRICE"]').attr('disabled', 'disabled');
} else {
$('select[name="UPDATE_UNIT_PRICE"], input[name="UPDATE_UNIT_PRICE"]').removeAttr('disabled');
}
});
</script>
{/block}

View File

@@ -0,0 +1,21 @@
{extends file="helpers/list/list_footer.tpl"}
{block name="after"}
<style>
#form-ximport_product table thead > tr > th.word-break > span {
word-wrap: normal !important;
white-space: normal !important;
}
#form-ximport_product .panel-footer {
display: none !important;
}
</style>
{literal}
<script>
var X13Import = new $.XImport();
X13Import.excludeList();
</script>
{/literal}
{/block}

View File

@@ -0,0 +1,556 @@
{extends file="helpers/options/options.tpl"}
{block name="leadin"}
{include file="../../../progress_block.tpl"}
{/block}
{block name="input"}
{if $field['type'] == 'hr'}
<hr />
{elseif $category == 'general'}
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}<div id="tabs_ps_15">{/if}
<input type="hidden" name="tabWholesaler" value="{$tab_wholesaler}">
<input type="hidden" name="tabWholesalerOption" value="{$tab_wholesaler_option}">
<ul class="nav nav-tabs nav-tab-wholesaler" id="tabWholesaler">
{if !empty($wholesalers)}
{foreach from=$wholesalers item=wholesale name=wholesale}
<li{if $smarty.foreach.wholesale.index == 0} class="active"{/if}><a href="#{$wholesale.name}" aria-controls="{$wholesale.name}" role="tab" data-toggle="tab">{$wholesale.name}</a></li>
{/foreach}
{/if}
<li{if empty($wholesalers)} class="active"{/if}><a href="#addNewWholesaler" aria-controls="addNewWholesaler" role="tab" data-toggle="tab">{l s='Dodaj hurtownię' mod='x13import'}&nbsp;&nbsp;<i class="icon-plus-sign"></i></a></li>
</ul>
<div role="tabpanel" class="tab-content tab-wholesaler panel clearfix" id="tabContentWholesaler">
{if !empty($wholesalers)}
{foreach from=$wholesalers item=wholesale name=wholesale}
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}<div id="tabs_ps_15_{$wholesale.name}">{/if}
<div class="tab-pane{if $smarty.foreach.wholesale.index == 0} active{/if}" id="{$wholesale.name}">
{if $maintenance_mode && ($wholesale.info || $wholesale.version)}
<div class="alert alert-info">
{if $wholesale.info}<p><b>info</b>: {$wholesale.info}</p>{/if}
{if $wholesale.version}<p><b>version</b>: {$wholesale.version}</p>{/if}
</div>
{/if}
{if !$wholesale.code}
<div class="alert alert-warning">
<p><b>{l s='Plik hurtowni nie jest zgodny z najnowszą wersją modułu' mod='x13import'}</b> <i><small>(INVALID STATIC CODE)</small></i>.</p>
<p>{l s='Skontaktuj się z działem supportu, aby uzyskać aktualizacje.' mod='x13import'}</p>
</div>
{/if}
<div class="col-lg-2">
<ul class="list-group nav-tab-wholesaler-option" id="tabWholesaler{$wholesale.name}">
<li class="list-group-item active"><a href="#{$wholesale.name}_baseOptions" aria-controls="{$wholesale.name}_baseOptions" role="tab" data-toggle="tab"><i class="icon-cogs"></i>&nbsp;&nbsp;{l s='Konfiguracja podstawowa' mod='x13import'}</a></li>
<li class="list-group-item"><a href="#{$wholesale.name}_availabilityOptions" aria-controls="{$wholesale.name}_availabilityOptions" role="tab" data-toggle="tab"><i class="icon-calendar"></i>&nbsp;&nbsp;{l s='Informacje o dostępności' mod='x13import'}</a></li>
<li class="list-group-item"><a href="#{$wholesale.name}_descriptionOptions" aria-controls="{$wholesale.name}_descriptionOptions" role="tab" data-toggle="tab"><i class="icon-indent"></i>&nbsp;&nbsp;{l s='Opis produktu i SEO' mod='x13import'}</a></li>
<li class="list-group-item"><a href="#{$wholesale.name}_additionalOptions" aria-controls="{$wholesale.name}_additionalOptions" role="tab" data-toggle="tab"><i class="icon-asterisk"></i>&nbsp;&nbsp;{l s='Dodatkowe ustawienia' mod='x13import'}</a></li>
<li class="list-group-item"><a href="#{$wholesale.name}_importRestrictionOptions" aria-controls="{$wholesale.name}_importRestrictionOptions" role="tab" data-toggle="tab"><i class="icon-ban"></i>&nbsp;&nbsp;{l s='Ograniczenia importu' mod='x13import'}</a></li>
<li class="list-group-item"><a href="#{$wholesale.name}_productManagement" aria-controls="{$wholesale.name}_productManagement" role="tab" data-toggle="tab"><i class="icon-book"></i>&nbsp;&nbsp;{l s='Zarządzanie produktami' mod='x13import'}</a></li>
</ul>
</div>
<div class="col-lg-10">
<div role="tabpanel" class="tab-content tab-wholesaler-option panel" id="tabWholesaler{$wholesale.name}">
<div class="tab-pane active" id="{$wholesale.name}_baseOptions">
<div class="panel-heading">{$wholesale.name} - {l s='Konfiguracja podstawowa' mod='x13import'}</div>
{if empty($wholesale.baseOptions)}
<div class="form-wrapper">
<div class="form-group">
<p>{l s='Dla hurtowni [1]%s[/1] nie przewidzano ustawień indywidualnych.' sprintf=[$wholesale.name] tags=['<strong>'] mod='x13import'}</p>
</div>
</div>
{else}
{include file="./options_fields.tpl" optionsFields=$wholesale.baseOptions}
{/if}
{if !empty($wholesale.descriptionOptions.cleanerRecommended) || !empty($wholesale.recommendedOptions)}
<hr>
{if !empty($wholesale.descriptionOptions.cleanerRecommended)}
<div class="alert alert-info">
<p>{l s='Sugerujemy dla tej hurtowni ustawienie poprawienia opisu. Przejdź' mod='x13import'} <a href="#{$wholesale.name}_descriptionOptions" class="link-recommendations" data-wholesaler="{$wholesale.name}">{l s='TUTAJ' mod='x13import'}</a></p>
</div>
{/if}
{if !empty($wholesale.recommendedOptions)}
<div class="alert alert-info">
<p>{l s='Sugerujemy dla tej hurtowni ustawienie następujących opcji. Przejdź' mod='x13import'} <a href="#{$wholesale.name}_descriptionOptions" class="link-recommendations" data-wholesaler="{$wholesale.name}">{l s='TUTAJ' mod='x13import'}</a></p>
<ul>
{foreach $wholesale.recommendedOptions as $recommendedOption}
<li>{$recommendedOption}</li>
{/foreach}
</ul>
</div>
{/if}
{/if}
</div>
<div class="tab-pane" id="{$wholesale.name}_availabilityOptions">
<div class="panel-heading">{$wholesale.name} - {l s='Informacje o dostępności' mod='x13import'}</div>
{include file="./options_fields.tpl" optionsFields=$wholesale.availabilityOptions}
</div>
<div class="tab-pane" id="{$wholesale.name}_descriptionOptions">
<div class="panel-heading">{$wholesale.name} - {l s='Opis produktu i SEO' mod='x13import'}</div>
{if !empty($wholesale.descriptionOptions.cleanerRecommended)}
<div class="col-lg-4 col-lg-offset-3"><div class="cleaner-recommended">Rekomendowane ustawienia dla tej hurtowni</div></div>
<div class="clearfix"></div>
{include file="./options_fields.tpl" optionsFields=$wholesale.descriptionOptions.cleanerRecommended}
{/if}
{if !empty($wholesale.descriptionOptions.cleanerDefault)}
{if !empty($wholesale.descriptionOptions.cleanerRecommended)}
<div class="col-lg-4 col-lg-offset-3"><a href="#" class="cleaner-default">Pokaż więcej ustawień</a></div>
<div class="clearfix"></div>
<div class="cleaner-default-fields" style="display: none;">
<hr/>
{include file="./options_fields.tpl" optionsFields=$wholesale.descriptionOptions.cleanerDefault}
{if !empty($wholesale.descriptionOptions.cleanerDisabled)}
{include file="./options_fields.tpl" optionsFields=$wholesale.descriptionOptions.cleanerDisabled}
{/if}
</div>
{else}
{include file="./options_fields.tpl" optionsFields=$wholesale.descriptionOptions.cleanerDefault}
{/if}
{/if}
{if empty($wholesale.descriptionOptions.cleanerRecommended) && !empty($wholesale.descriptionOptions.cleanerDisabled)}
{include file="./options_fields.tpl" optionsFields=$wholesale.descriptionOptions.cleanerDisabled}
{/if}
<div class="form-group"><hr /></div>
{include file="./options_fields.tpl" optionsFields=$wholesale.descriptionOptions.general}
</div>
<div class="tab-pane" id="{$wholesale.name}_additionalOptions">
<div class="panel-heading">{$wholesale.name} - {l s='Dodatkowe ustawienia' mod='x13import'}</div>
{include file="./options_fields.tpl" optionsFields=$wholesale.additionalOptions}
</div>
<div class="tab-pane" id="{$wholesale.name}_importRestrictionOptions">
<div class="panel-heading">{$wholesale.name} - {l s='Ograniczenia importu' mod='x13import'}</div>
{include file="./options_fields.tpl" optionsFields=$wholesale.importRestrictionOptions}
</div>
<div class="tab-pane" id="{$wholesale.name}_productManagement">
<div class="panel-heading">{$wholesale.name} - {l s='Zarządzanie produktami' mod='x13import'}</div>
<div class="alert alert-info">
<p>{l s='W przypadku wyłączenia produktów, pozostaną one wyłączone do kolejnego uruchomienia zadania cron.php' mod='x13import'}<br/>
{l s='Jeśli produkt dostępny jest w hurtowni, w pobranej, aktywnej oraz zmapowanej / zaimportowanej kategorii zostanie ponownie włączony.' mod='x13import'}<br/>
{l s='Jeśli produkt ma być na stałe wyłączony mimo jego dostępności w hurtowni, nalezy wyłaczyć go a następnie wykluczyć w zakładce "Wykluczenie produktów".' mod='x13import'}</p>
</div>
<div class="form-wrapper">
<a href="#" data-wholesaler="{$wholesale.name}" data-wholesaler-code="{$wholesale.code}" class="btn btn-default" {if !$wholesale.code}disabled="disabled"{/if}><i class="process-icon-off x-products-off"></i>&nbsp;&nbsp;{l s='Wyłącz produkty z hurtowni' mod='x13import'}</a>
<a href="#" data-wholesaler="{$wholesale.name}" data-wholesaler-code="{$wholesale.code}" class="btn btn-default" {if !$wholesale.code}disabled="disabled"{/if}><i class="process-icon-delete x-products-delete"></i>&nbsp;&nbsp;{l s='Usuń produkty z hurtowni' mod='x13import'}</a>
</div>
</div>
</div>
</div>
</div>
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}</div>{/if}
{/foreach}
{/if}
<div class="tab-pane{if empty($wholesalers)} active{/if}" id="addNewWholesaler">
<div class="form-group">
<div class="alert alert-info">
{if empty($wholesalers)}
<p>{l s='W tym miejscu można wgrać pierwszą hurtownię do modułu' mod='x13import'} <strong>{l s='integracji XML / CSV / API' mod='x13import'}.</strong><br/>
{l s='Gdy zamówienie zostanie opłacone, otrzymasz maila z pytaniem o hurtownie którą mamy przygotować.' mod='x13import'}<br/>
{l s='Ustawiona wersja PHP to' mod='x13import'}: <strong>{phpversion()}</strong><br/>
{l s='Po otrzymaniu pliku, należy wgrać go poniżej, a następnie przejść do konfiguracji modułu.' mod='x13import'}</p>
{else}
<p>{l s='W tym miejscu można dodać kolejną hurtownię do modułu' mod='x13import'} <strong>{l s='integracji XML / CSV / API' mod='x13import'}.</strong><br/>
{l s='Skontaktuj się z nami mailowo, prześlij informację z jaką hurtownię chcesz się zintegrować.' mod='x13import'}<br/>
{l s='Po otrzymaniu informacji o posiadanej gotowej integracji lub możliwości jej realizacji z dostarczonego pliku, dokonaj zakupu dodania dodatkowej hurtowni' mod='x13import'}
<a href="https://x13.pl/integracje-prestashop/dodatkowa-hurtownia-do-modulu-import-xml.html" target="_blank">{l s='- TUTAJ' mod='x13import'}</a><br/><br/>
{l s='Ustawiona wersja PHP to' mod='x13import'}: <strong>{phpversion()}</strong>
</p>
{/if}
</div>
<div class="alert alert-danger">
<p>
{l s='Pamiętaj aby w tym miejscu wgrywać tylko i wyłącznie pliki hurtowni dostarczone od' mod='x13import'} <strong>x13.pl</strong>{l s=', mailowo lub z adresu URL.' mod='x13import'}</p>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">{l s='Plik hurtowni' mod='x13import'}</label>
<div class="col-lg-4">
<input id="wholesaler_file" type="file" name="wholesaler_file" style="display: none;" />
<div class="dummyfile input-group">
<span class="input-group-addon"><i class="icon-file"></i></span>
<input id="wholesaler_file-name" type="text" name="wholesaler_file" readonly />
<span class="input-group-btn">
<button id="wholesaler_file-selectbutton" type="button" class="btn btn-default">
<i class="icon-folder-open"></i> {l s='Add file'}
</button>
</span>
</div>
</div>
<div class="col-lg-6 col-lg-offset-3">
<div class="help-block">{l s='Plik hurtowni o rozszerzeniu ".php" lub paczka ".zip" otrzymana od x13.pl' mod='x13import'}</div>
</div>
</div>
<div class="form-group">
<div class="col-lg-9 col-lg-push-3">
<button class="btn btn-default" type="submit" name="submitAddNewWholesaler">
<i class="icon-upload-alt"></i>&nbsp;{l s='Wgraj hurtownię' mod='x13import'}
</button>
</div>
</div>
</div>
</div>
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}</div>{/if}
{else}
{$smarty.block.parent}
{/if}
{/block}
{block name="after"}
<style>
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '>=')}
.nav-tab-wholesaler-option .list-group-item {
padding: 0;
}
.nav-tab-wholesaler-option .list-group-item a {
color: #555;
text-decoration: none;
display: block;
padding: 10px 15px;
}
.nav-tab-wholesaler-option .list-group-item.active a {
color: #fff;
}
.nav-tab-wholesaler-option .list-group-item a:hover {
background-color: #f5f5f5;
}
.nav-tab-wholesaler-option .list-group-item.active a:hover {
background-color: #00aff0;
}
.tab-wholesaler-option .cleaner-recommended {
font-weight: bold;
font-style: italic;
margin-bottom: 8px;
border-bottom: 1px solid #eee;
}
.tab-wholesaler-option .mce-container iframe {
min-height: 60px;
}
{else}
.toolbarBox .x-products-off {
background-image: url("./themes/default/img/icon-cancel.png");
}
.toolbarBox .x-products-delete {
background-image: url("./themes/default/img/process-icon-delete.png");
}
{/if}
</style>
<script>
var wholesalersAdminLink = '{$wholesalers_link}';
var tabWholesaler = getUrlParam('tabWholesaler');
var tabWholesalerOption = getUrlParam('tabWholesalerOption');
$(document).ready(function() {
handleFieldDependencies();
var $fieldDependencies = getFieldDependencies();
for (var i = 0; i < $fieldDependencies.length; i++) {
$(document).off($fieldDependencies[i]).on('change', '[name="'+ $fieldDependencies[i] +'"]', function () {
handleFieldDependencies($fieldDependencies[i]);
}).bind(i);
}
if (tabWholesaler) {
$('.nav-tab-wholesaler li a[aria-controls="' + tabWholesaler + '"]').trigger('click');
if (tabWholesalerOption) {
$('.tab-wholesaler #' + tabWholesaler + ' .nav-tab-wholesaler-option li a[aria-controls="' + tabWholesalerOption + '"]').trigger('click');
}
}
$('a.link-recommendations').on('click', function(e) {
e.preventDefault();
$('ul#tabWholesaler' + $(this).attr('data-wholesaler')).find('a[href="' + $(this).attr('href') + '"]').click();
});
$('.tab-wholesaler-option').find('select[multiple]').each(function(i, el) {
$(el).on('click', function() {
if ($(this).find(':selected').val() === 'all') {
$(this).find('option').prop('selected', false);
$(this).find('option[value="all"]').prop('selected', true);
}
});
});
$('.multiple-clear').on('click', function(e) {
e.preventDefault();
$(this).parent().find('select[multiple]').each(function() {
$(this).find('option').prop('selected', false);
});
$(this).parent().find('select[multiple] option.multiple-empty').prop('selected', true);
});
$('.individual-enabled').on('change', function() {
var elements = 'input:not(.individual-enabled):not(.version-disabled):not(.skip-dynamic), ' +
'select:not(.individual-enabled):not(.version-disabled):not(.skip-dynamic), ' +
'button:not(.individual-enabled):not(.version-disabled):not(.skip-dynamic)';
if (parseInt($(this).val()) === 1) {
$(this).closest('.tab-pane').find(elements).removeAttr('disabled');
} else {
$(this).closest('.tab-pane').find(elements).prop('disabled', true);
}
});
$('.cleaner-default').on('click', function(e) {
e.preventDefault();
$(this).hide();
$(this).closest('.tab-pane').find('.cleaner-default-fields').show();
});
$('#wholesaler_file-selectbutton').click(function() {
$('#wholesaler_file').trigger('click');
});
$('#wholesaler_file-name').click(function() {
$('#wholesaler_file').trigger('click');
});
$('#wholesaler_file').change(function() {
var name = '';
if ($(this)[0].files !== undefined) {
var files = $(this)[0].files;
$.each(files, function(index, value) {
name += value.name+', ';
});
$('#wholesaler_file-name').val(name.slice(0, -2));
}
else { // Internet Explorer 9 Compatibility
name = $(this).val().split(/[\\/]/);
$('#wholesaler_file-name').val(name[name.length-1]);
}
});
$('button[name="submitAddNewWholesaler"]').on('click', function(e) {
if (!$('#wholesaler_file')[0].files.length) {
e.preventDefault();
alert('Nie wybrano pliku do przesłania');
}
});
$('.nav-tab-wholesaler a').on('click', function() {
setUrlParams(
$(this).attr('aria-controls'),
$('.tab-wholesaler #' + $(this).attr('aria-controls') + ' .nav-tab-wholesaler-option li.active a').attr('aria-controls')
);
});
$('.nav-tab-wholesaler-option a').on('click', function() {
setUrlParams(
$('.nav-tab-wholesaler li.active a').attr('aria-controls'),
$(this).attr('aria-controls')
);
});
});
function getUrlParam(parameter) {
var value = false;
if (window.location.href.indexOf(parameter) > -1) {
value = getUrlVars()[parameter];
}
return (value !== '' ? value : false);
}
function getUrlVars() {
var vars = [];
window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m, key, value) {
vars[key] = value;
});
return vars;
}
function setUrlParams(tabWholesaler, tabWholesalerOption) {
tabWholesalerOption = (typeof tabWholesalerOption === 'undefined' ? '' : tabWholesalerOption);
$('input[name="tabWholesaler"]').val(tabWholesaler);
$('input[name="tabWholesalerOption"]').val(tabWholesalerOption);
history.replaceState(null, '', wholesalersAdminLink + '&tabWholesaler=' + tabWholesaler + '&tabWholesalerOption=' + tabWholesalerOption);
}
function getFieldDependencies() {
var fieldDependencies = [];
$('.depends-on').each(function (index, node) {
var $element = $(node);
var $classes = $element.prop('class').split(/\s+/);
for (var i = 0; i < $classes.length; i++) {
var current = $classes[i];
if (current.includes('depends-field')) {
var parts = current.replace('depends-field-', '').split(':');
fieldDependencies.push(parts[0]);
}
}
});
return fieldDependencies;
}
function handleFieldDependencies(specificFieldName) {
var specificField = specificFieldName || false;
$('.depends-on').each(function (index, node) {
var $element = $(node);
var $classes = $element.prop('class').split(/\s+/);
var $method = 'match';
var $fieldName = false,
$fieldValue = false,
$fieldType = false,
$currentValue,
$typeOfTheField;
if ($element.hasClass('depends-on-multiple')) {
$fieldValue = [];
$fieldName = [];
$fieldType = [];
}
for (var i = 0; i < $classes.length; i++) {
var current = $classes[i];
if (current.includes('depends-where')) {
if (current === 'depends-where-is-not') {
$method = 'not_match';
}
}
if (current.includes('depends-field')) {
var parts = current.replace('depends-field-', '').split(':');
var $nameOfTheField = parts[0];
var $valueOfTheField = parts[1].split('--');
if ($element.hasClass('depends-on-multiple')) {
$fieldName.push($nameOfTheField);
$fieldValue.push($valueOfTheField);
} else {
$fieldName = $nameOfTheField;
$fieldValue = $valueOfTheField;
}
if($('input[name="'+ $nameOfTheField +'"]').length > 0){
$typeOfTheField = $('input[name="'+ $nameOfTheField +'"]').attr('type');
}else if($('textarea[name="'+ $nameOfTheField +'"]').length === 1){
$typeOfTheField = 'textarea';
}else if($('select[name="'+ $nameOfTheField +'"]').length === 1){
$typeOfTheField = 'select';
}
if ($element.hasClass('depends-on-multiple')) {
$fieldType.push($typeOfTheField);
} else {
$fieldType = $typeOfTheField;
}
}
}
if ($element.hasClass('depends-on-multiple')) {
var showBasedOnMultiple = true;
for (var i = 0; i < $fieldName.length; i++) {
if ($fieldType[i] === 'checkbox' || $fieldType[i] === 'radio'){
$currentValue = $('[name="'+ $fieldName[i] +'"]:checked').val();
} else if ($fieldType[i] === 'select') {
$currentValue = $('[name="'+ $fieldName[i] +'"] option:selected').val();
} else {
$currentValue = $('[name="'+ $fieldName[i] +'"]').val();
}
if ($method === 'match') {
if (!inArray($currentValue, $fieldValue[i])) {
showBasedOnMultiple = false;
}
}
if ($method === 'not_match') {
if (inArray($currentValue, $fieldValue[i])) {
showBasedOnMultiple = false;
}
}
}
if (showBasedOnMultiple) {
$element.show();
} else {
$element.hide();
}
} else {
if (specificField && specificField !== $fieldName) {
return;
}
if ($fieldType === 'checkbox' || $fieldType === 'radio'){
$currentValue = $('[name="'+ $fieldName +'"]:checked').val();
} else if ($fieldType === 'select') {
$currentValue = $('[name="'+ $fieldName +'"] option:selected').val();
} else {
$currentValue = $('[name="'+ $fieldName +'"]').val();
}
if ($method === 'not_match' && $fieldName && $fieldValue) {
if ($fieldValue.includes($currentValue)) {
$element.hide();
} else {
$element.show();
}
}
if ($method === 'match' && $fieldName && $fieldValue) {
if ($fieldValue.includes($currentValue)) {
$element.show();
} else {
$element.hide();
}
}
}
});
}
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] === needle) return true;
}
return false;
}
</script>
{if version_compare($smarty.const._PS_VERSION_, '1.7.0.0', '<') && (isset($tinymce) && $tinymce)}
<script type="text/javascript">
var iso = '{$iso|addslashes}';
var pathCSS = '{$smarty.const._THEME_CSS_DIR_|addslashes}';
var ad = '{$ad|addslashes}';
$(document).ready(function(){
tinySetup({
editor_selector :"autoload_rte"
});
});
</script>
{/if}
{if version_compare($smarty.const._PS_VERSION_, '1.6.0.0', '<')}
<script>
$(function() {
$('#tabs_ps_15').tabs();
{foreach from=$wholesalers item=wholesale}
$('#tabs_ps_15_{$wholesale.name}').tabs();
{/foreach}
});
</script>
{/if}
{$smarty.block.parent}
{/block}

View File

@@ -0,0 +1,111 @@
<div class="form-wrapper">
{foreach $optionsFields AS $key => $field}
{if $field['type'] == 'hidden'}
<input type="hidden" name="{$key}" value="{$field['value']}" />
{else}
<div class="form-group{if isset($field.form_group_class)} {$field.form_group_class}{/if} clearfix"{if isset($tabs) && isset($field.tab)} data-tab-id="{$field.tab}"{/if}>
<div id="conf_id_{$key}">
{if isset($field['title']) && isset($field['hint'])}
<label class="control-label col-lg-3{if isset($field['required']) && $field['required']} required{/if}">
<span title="" data-toggle="tooltip" class="label-tooltip" data-original-title="
{if is_array($field['hint'])}
{foreach $field['hint'] as $hint}
{if is_array($hint)}
{$hint.text}
{else}
{$hint}
{/if}
{/foreach}
{else}
{$field['hint']}
{/if}
" data-html="true">
{$field['title']}
</span>
</label>
{elseif isset($field['title'])}
<label class="control-label col-lg-3{if isset($field['required']) && $field['required']} required{/if}">{$field['title']}</label>
{/if}
{if $field['type'] == 'select'}
<div class="col-lg-9">
{if $field['list']}
<select class="form-control fixed-width-xxl {if isset($field['class'])}{$field['class']}{/if}" name="{$key}{if isset($field['multiple']) && $field['multiple']}[]{/if}"{if isset($field['multiple']) && $field['multiple']} multiple style="float: left; margin-right: 5px;"{/if}{if isset($field['js'])} onchange="{$field['js']}"{/if} id="{$key}" {if isset($field['size'])} size="{$field['size']}"{/if} {if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if}>
{if isset($field['multiple']) && $field['multiple']}<option value="" class="multiple-empty" style="display: none;"></option>{/if}
{foreach $field['list'] AS $k => $option}
<option value="{$option[$field['identifier']]}"{if (isset($field['multiple']) && $field['multiple'] && is_array($field['value']) && in_array($option[$field['identifier']], $field['value'])) || (!is_array($field['value']) && $field['value'] == $option[$field['identifier']])} selected="selected"{/if}>{$option['name']}</option>
{/foreach}
</select>
{if isset($field['multiple']) && $field['multiple']}
<button class="btn btn-default multiple-clear" {if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if}>Odznacz wszystko</button>
{/if}
{elseif isset($input.empty_message)}
{$input.empty_message}
{/if}
</div>
{elseif $field['type'] == 'bool'}
<div class="col-lg-9">
<span class="switch prestashop-switch fixed-width-lg">
{strip}
<input type="radio" data-wholesaler="{$wholesale.name}" class="{if isset($field['class'])}{$field['class']}{/if}" name="{$key}" id="{$key}_on" value="1" {if $field['value']} checked="checked"{/if}{if isset($field['js']['on'])} {$field['js']['on']}{/if}{if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if}/>
<label for="{$key}_on" class="radioCheck">
{l s='Yes'}
</label>
<input type="radio" data-wholesaler="{$wholesale.name}" class="{if isset($field['class'])}{$field['class']}{/if}" name="{$key}" id="{$key}_off" value="0" {if !$field['value']} checked="checked"{/if}{if isset($field['js']['off'])} {$field['js']['off']}{/if}{if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if}/>
<label for="{$key}_off" class="radioCheck">
{l s='No'}
</label>
{/strip}
<a class="slide-button btn"></a>
</span>
</div>
{elseif $field['type'] == 'text'}
<div class="col-lg-9">{if isset($field['suffix'])}<div class="input-group{if isset($field.class)} {$field.class}{/if}">{/if}
<input class="form-control {if isset($field['class'])}{$field['class']}{/if}" type="{$field['type']}"{if isset($field['id'])} id="{$field['id']}"{/if} size="{if isset($field['size'])}{$field['size']|intval}{else}75{/if}" name="{$key}" value="{if isset($field['no_escape']) && $field['no_escape']}{$field['value']|escape:'UTF-8'}{else}{$field['value']|escape:'html':'UTF-8'}{/if}" {if isset($field['autocomplete']) && !$field['autocomplete']}autocomplete="off"{/if} {if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if} />
{if isset($field['suffix'])}
<span class="input-group-addon">
{$field['suffix']|strval}
</span>
{/if}
{if isset($field['suffix'])}</div>{/if}
</div>
{elseif $field['type'] == 'textarea'}
<div class="col-lg-9">
<textarea class="{if isset($field['class'])}{$field['class']}{/if}{if isset($field['autoload_rte']) && $field['autoload_rte']} rte autoload_rte{else} textarea-autosize{/if}"{if isset($field['id'])} id="{$field['id']}"{/if} name={$key}{if isset($field['cols'])} cols="{$field['cols']}"{/if}{if isset($field['rows'])} rows="{$field['rows']}"{/if} {if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if}>{$field['value']|escape:'html':'UTF-8'}</textarea>
</div>
{elseif $field['type'] == 'password'}
<div class="col-lg-9">{if isset($field['suffix'])}<div class="input-group{if isset($field.class)} {$field.class}{/if}">{/if}
<input class="form-control {if isset($field['class'])}{$field['class']}{/if}" type="{$field['type']}"{if isset($field['id'])} id="{$field['id']}"{/if} size="{if isset($field['size'])}{$field['size']|intval}{else}75{/if}" name="{$key}" value="{if isset($field['no_escape']) && $field['no_escape']}{$field['value']|escape:'UTF-8'}{else}{$field['value']|escape:'html':'UTF-8'}{/if}"{if isset($field['autocomplete']) && !$field['autocomplete']} autocomplete="off"{/if} {if isset($field['disabled']) && $field['disabled']} disabled="disabled"{/if} />
{if isset($field['suffix'])}
<span class="input-group-addon">
{$field['suffix']|strval}
</span>
{/if}
{if isset($field['suffix'])}</div>{/if}
</div>
{elseif $field['type'] == 'hr'}
<hr />
{/if}
{if isset($field['desc']) && !empty($field['desc'])}
<div class="col-lg-9 col-lg-offset-3">
<div class="help-block">
{if is_array($field['desc'])}
{foreach $field['desc'] as $p}
{if is_array($p)}
<span id="{$p.id}">{$p.text}</span><br />
{else}
{$p}<br />
{/if}
{/foreach}
{else}
{$field['desc']}
{/if}
</div>
</div>
{/if}
</div>
</div>
{/if}
{/foreach}
</div>

View File

@@ -0,0 +1,8 @@
<style>
.icon-AdminXImport:before {
content: "\f019";
}
</style>
<script type="text/javascript">
var x13importToken = "{$token}";
</script>

View File

@@ -0,0 +1,11 @@
<?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', false);
header('Pragma: no-cache');
header('Location: ../');
exit;