Files
2025-03-12 17:06:23 +01:00

350 lines
16 KiB
PHP

<!DOCTYPE html>
<html>
<head>
<?php
$version = stApplication::getApplicationVersion('stBackend');
$lang = $sf_user->getCulture();
if ($lang == 'pl_PL')
{
$lang = 'pl';
}
elseif ($lang == 'en_US')
{
$lang = 'en';
}
?>
<?php use_javascript('jquery-1.7.2.min.js?v=' . $version, 'first') ?>
<?php use_javascript('jquery-no-conflict.js?v=' . $version, 'first') ?>
<?php use_javascript('popper.min.js?v=' . $version, 'first') ?>
<?php use_javascript('/jQueryTools/tippy/js/tippy-bundle.umd.min.js?v=' . $version, 'first'); ?>
<?php use_javascript('jquery-ui-1.8.20.custom.min.js?v=' . $version) ?>
<?php use_javascript('jquery.tools-1.2.6.min.js?v=' . $version, 'first') ?>
<?php use_javascript('jquery.cookie.js?v=' . $version, 'first') ?>
<?php use_javascript('jquery.resize.min.js?v=' . $version, 'first') ?>
<?php use_javascript('jquery.stickybox.js?v=' . $version, 'first') ?>
<?php use_javascript('/jQueryTools/flatpickr/js/flatpickr.js?v=' . $version, 'first') ?>
<?php if ($lang != 'en') : ?>
<?php use_javascript('/jQueryTools/flatpickr/js/locales/' . $lang . '.js?v=' . $version, 'first') ?>
<?php endif ?>
<?php use_javascript('/jQueryTools/jcrop/js/jquery.jcrop.min.js?v=' . $version); ?>
<?php use_javascript('/jQueryTools/clipboard/js/clipboard.min.js?v=' . $version); ?>
<?php use_javascript('/jQueryTools/prevue/js/jquery.prevue.js?v=' . $version); ?>
<?php use_javascript('/jQueryTools/chosen/js/chosen.jquery.js?v=' . $version); ?>
<?php use_stylesheet('/css/pretty-checkbox.min.css?v=' . $version, 'first'); ?>
<?php use_stylesheet('/jQueryTools/tippy/css/scale.css?v=' . $version); ?>
<?php use_stylesheet('/jQueryTools/flatpickr/css/flatpickr.min.css?v=' . $version); ?>
<?php use_stylesheet('backend/beta/animations.css?v=' . $version) ?>
<?php use_stylesheet('backend/beta/style.css?v=' . $version, 'last') ?>
<?php use_stylesheet('backend/bootstrap-grid.css?v=' . $version, 'last'); ?>
<?php use_stylesheet('/jQueryTools/jcrop/css/jquery.jcrop.min.css?v=' . $version); ?>
<?php use_stylesheet('/jQueryTools/prevue/css/font-awesome-eyes.css?v=' . $version); ?>
<?php use_stylesheet('/jQueryTools/chosen/css/chosen.css?v=' . $version); ?>
<?php use_javascript('backend/backend.js?v=' . $version) ?>
<?php use_javascript('backend/admin.js?v=' . $version, 'last') ?>
<?php sfContext::getInstance()->getResponse()->addMeta('robots', 'noindex'); ?>
<?php include_http_metas() ?>
<?php include_metas() ?>
<title><?php echo __('SOTESHOP - panel administracyjny', null, 'stBackendMain') ?></title>
<link rel="shortcut icon" href="/favicon.ico" />
<link href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900&display=swap&subset=latin-ext" rel="stylesheet">
<?php include_stylesheets(); ?>
<?php include_javascripts() ?>
</head>
<body<?php if (!$sf_user->isAuthenticated()) : ?> id="login_layout" <?php else : ?> class="dashboard" <?php endif; ?>>
<div id="container" class="<?php echo MobileDetect::getInstance()->isMobile() ? 'mobile-version' : '' ?>">
<?php $lang = sfContext::getInstance()->getUser()->getCulture(); ?>
<?php if ($sf_user->isAuthenticated()) : ?>
<?php init_tooltip('#navigation .tooltip, #social .tooltip', array('width' => 'auto', 'position' => 'bottom left')) ?>
<?php init_tooltip('.list_tooltip', array('position' => 'center right', 'offset' => array(0, 10), 'width' => 'auto')) ?>
<div id="navigation">
<div id="nav-content">
<div class="float_right">
<div class="menu admin_info">
<ul>
<li class="expandable align-right">
<span><?php echo st_backend_get_icon('search', array('size' => 25)) ?></span>
<ul>
<li>
<form action="<?php echo st_url_for('@stProductDefault') ?>" method="post" id="navigation-product-search">
<input type="text" placeholder="<?php echo __('szukaj', null, 'stBackend') ?>" name="filters[namecode]">
</form>
</li>
</ul>
</li>
<li id="notification" class="expandable align-right">
<?php echo st_get_component('stNotificationBackend', 'show') ?>
</li>
<li class="align-right">
<a href="/" target="_blank"><?php echo st_backend_get_icon('globe', array('size' => 24)) ?></a>
</li>
<li class="expandable align-right">
<a href="#" id="logged-in-user"><span><?php echo $sf_user->getUsername(); ?></span> <?php echo st_backend_get_icon('user', array('size' => 23)) ?></a>
<ul>
<li class="backend-language-picker">
<span class="text-right">
<?php echo __("Wersja językowa") ?>:
<?php backend_language_picker() ?>
</span>
</li>
<li>
<a class="text-right" href="<?php echo st_url_for('@sf_guard_signout') ?>">
<span><?php echo __('Wyloguj', null, 'stBackendMain') ?></span>
<img src="/images/backend/icons/logout.png">
</a>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div class="menu">
<div id="logo-container">
<a href="<?php echo st_url_for('@homepage') ?>">
<img src="/images/backend/logo.svg" alt="SOTESHOP 8" class="logo-normal">
<img src="/images/backend/logo-small.svg" alt="SOTESHOP 8" class="logo-small">
</a>
</div>
<?php st_include_component('stBackend', 'menu') ?>
<div class="clr"></div>
</div>
<div class="clr"></div>
</div>
</div>
<div id="grid" class="<?php echo st_backend_is_left_menu_hidden() ? 'left-menu-hidden' : '' ?>">
<div id="left-menu" class="left-menu">
<div class="menu-wrapper">
<?php if (st_view_slot_has('application-header')) : ?>
<div class="mod-header"><?php echo st_view_slot_get('application-header') ?></div>
<?php endif ?>
<!-- Tymczasowe linki w menu na sztywno 1/2: START -->
<?php if ($sf_context->getModuleName() == 'stDashboard' || $sf_context->getModuleName() == 'stBackend' && $sf_context->getActionName() == 'additionalApplicationsList') : ?>
<div class="mod-header">
<a class="header-item icon-module" href="<?php echo st_url_for('@homepage') ?>" style="-webkit-mask-image: url('/images/backend/applications/apps.svg'); mask-image: url('/images/backend/applications/apps.svg');"></a>
<a class="header-item" href="<?php echo st_url_for('@homepage') ?>">SOTESHOP</a>
</div>
<?php endif ?>
<div id="main-application-menu" class="application-menu">
<?php echo st_view_slot_get('application-menu') ?>
<?php if ($sf_context->getModuleName() == 'stDashboard' || $sf_context->getModuleName() == 'stBackend' && $sf_context->getActionName() == 'additionalApplicationsList') : ?>
<div class="list-menu">
<ul>
<?php foreach (st_admin_get_favorites() as $url => $label) : ?>
<li class="none"><a href="<?php echo st_url_for($url) ?>"><?php echo $label ?></a></li>
<?php endforeach ?>
<li class="none"><a href="https://www.sote.pl/docs/dokumentacja/?hash=085c1d2475cb9de3342947e98937e077" target="_blank"><?php echo __('Dokumentacja', null, 'stBackend') ?></a></li>
<li class="none"><a href="https://serwis.sote.pl/" target="_blank"><?php echo __('Pomoc', null, 'stBackend') ?></a></li>
</ul>
</div>
<?php endif ?>
</div>
<div class="footer-navigation bs-pt-3">
<div class="application-menu">
<ul>
<li class="expandable bottom all-app-menu">
<a class="with-icon" href="<?php echo st_url_for('stBackend/additionalApplicationsList') ?>">
<?php echo st_backend_get_icon('all-app', array('size' => 20)) ?>
<span><?php echo __('Aplikacje', null, 'stBackend') ?></span>
</a>
</li>
<li class="expandable bottom info-menu" id="update-menu">
<?php echo st_get_component('stBackend', 'updateInfo') ?>
</li>
<li class="expandable bottom info-menu" id="license-menu">
<?php echo st_get_component('stBackend', 'licenseInfo') ?>
</li>
</ul>
</div>
</div>
</div>
<a href="#" class="menu-resize">
<?php echo st_backend_get_icon('prev') ?>
</a>
</div>
<div id="content" class="">
<div id="content-viewport" <?php echo st_admin_get_configuration_param('viewport.expanded') ? ' class="viewport-expanded"' : '' ?>>
<?php echo st_navigation_breadcrumbs() ?>
<?php include_slot('container_left') ?>
<?php echo $sf_data->getRaw('sf_content') ?>
</div>
<div class="clr"></div>
</div>
</div>
<div id="preloader-dialog" class="popup_window" style="z-index: 200000" data-busy-message="<?php echo __("Operacja w trakcie, proszę czekać...", null, 'stBackend') ?>">
<div class="close" style="position: absolute; right: -20px; text-align: right; top: -20px; width: 100%; display: none"><a href="#"><img src="/images/frontend/theme/default2/buttons/close.png" alt="Zamknij"></a></div>
<div class="content"></div>
</div>
<?php else : ?>
<?php echo $sf_data->getRaw('sf_content') ?>
<?php endif; ?>
<script type="text/javascript">
//<![CDATA[
jQuery(function($) {
let grid = $('#grid');
let menu = $('#left-menu');
let menuResize = menu.find('.menu-resize').click(function() {
if (grid.hasClass('left-menu-hidden')) {
grid.removeClass('left-menu-hidden');
} else {
grid.addClass('left-menu-hidden');
}
$.get('<?php echo st_url_for('stBackend/changeLeftMenuVisibility') ?>', {
hidden: Number(grid.hasClass('left-menu-hidden'))
});
});
/*
let resizeMenu = function(e) {
menu.width(e.clientX);
}
let stopMenuResize = function() {
$(window)
.unbind('mousemove', resizeMenu)
.unbind('mouseup', stopMenuResize);
}
let startMenuResize = function() {
$(window)
.mousemove(resizeMenu)
.mouseup(stopMenuResize);
}
menu.find('.menu-resize').mousedown(startMenuResize);
*/
function detectIE() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
if (msie > 0) {
return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
}
var trident = ua.indexOf('Trident/');
if (trident > 0) {
var rv = ua.indexOf('rv:');
return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
}
var edge = ua.indexOf('Edge/');
if (edge > 0) {
return parseInt(ua.substring(edge + 5, ua.indexOf('.', edge)), 10);
}
return false;
}
$(document).ajaxError(function(event, jqXHR, ajaxSettings, thrownError) {
switch (jqXHR.status) {
case 401:
window.location = "<?php echo st_url_for('@sf_guard_signin') ?>";
break;
case 403:
window.alert('<?php echo __("Nie posiadasz odpowiednich uprawnień do wykonania tej operacji", null, "sfGuardUser"); ?>');
break;
}
});
if (typeof(Ajax) != 'undefined') {
Ajax.Responders.register({
onException: function(req) {
switch (req.transport.status) {
case 401:
window.location = "<?php echo st_url_for('@sf_guard_signin') ?>";
break;
case 403:
window.alert('<?php echo __("Nie posiadasz odpowiednich uprawnień do wykonania tej operacji", null, "sfGuardUser"); ?>');
break;
}
}
});
}
if (!detectIE()) {
$('input[type=password]').prevue();
}
$(document)
.on('preloader', function(e, flag, content) {
if (flag == 'show') {
$.preloader.show();
} else if (flag == 'close') {
$.preloader.hide();
} else if (flag == 'toggle' || flag == undefined) {
$.preloader.toggle();
} else if (flag == 'update') {
$.preloader.update(content);
}
});
var clipboard = new Clipboard('.clipboard-btn');
clipboard.on('success', function(e) {
const instance = e.trigger._tippy;
const tooltipContent = instance.props.content;
instance.setContent("<?php echo __('Skopiowane!', null, 'stBackend') ?>");
instance.setProps({
onHidden: function(instance) {
instance.setContent(tooltipContent);
},
});
instance.show();
e.clearSelection();
});
$('#search_filters_namecode').click(function() {
if (this.defaultValue == this.value) {
this.value = '';
}
});
var onClickMenus = $('.menu.onclick ul').on("click", "li.expandable", function() {
var item = $(this);
var menu = item.parent();
if (!item.hasClass('expanded')) {
menu.addClass('expanded');
menu.children().not(item).removeClass('expanded');
item.addClass('expanded');
}
});
onClickMenus.mouseout(function() {
$(this).removeClass('expanded');
});
onClickMenus.mousedown(function() {
$(this).addClass('expanded');
});
$(document).mousedown(function(e) {
$('.menu.onclick ul').not('.expanded').children().removeClass('expanded');
});
});
//]]>
</script>
</div>
</body>
</html>