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,33 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if isset($confirmations) && count($confirmations) && $confirmations}
<div class="bootstrap">
<div class="alert alert-success" style="display:block;">
{foreach $confirmations as $conf}
{$conf}
{/foreach}
</div>
</div>
{/if}

View File

@@ -0,0 +1,54 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if isset($employee)}
<div class="dropdown employee-dropdown">
<div class="rounded-circle person" data-toggle="dropdown">
<i class="material-icons">account_circle</i>
</div>
<div class="dropdown-menu dropdown-menu-right">
<div class="employee-wrapper-avatar">
<span class="employee-avatar"><img class="avatar rounded-circle" src="{$employee->getImage()}" /></span>
<span class="employee_profile">{l s='Welcome back %name%' sprintf=['%name%' => $employee->firstname] d='Admin.Navigation.Header'}</span>
<a class="dropdown-item employee-link profile-link" href="{$link->getAdminLink('AdminEmployees', true, [], ['id_employee' => $employee->id|intval, 'updateemployee' => 1])|escape:'html':'UTF-8'}">
<i class="material-icons">edit</i>
<span>{l s='Your profile' d='Admin.Navigation.Header'}</span>
</a>
</div>
<p class="divider"></p>
<a class="dropdown-item" href="{l s='https://www.prestashop.com/en/resources/documentations?utm_source=back-office&utm_medium=profile&utm_campaign=resources-en&utm_content=download17' d='Admin.Navigation.Header'}" target="_blank" rel="noreferrer"><i class="material-icons">book</i> {l s='Resources' d='Admin.Navigation.Header'}</a>
<a class="dropdown-item" href="{l s='https://www.prestashop.com/en/training?utm_source=back-office&utm_medium=profile&utm_campaign=training-en&utm_content=download17' d='Admin.Navigation.Header'}" target="_blank" rel="noreferrer"><i class="material-icons">school</i> {l s='Training' d='Admin.Navigation.Header'}</a>
<a class="dropdown-item" href="{l s='https://www.prestashop.com/en/experts?utm_source=back-office&utm_medium=profile&utm_campaign=expert-en&utm_content=download17' d='Admin.Navigation.Header'}" target="_blank" rel="noreferrer"><i class="material-icons">person_pin_circle</i> {l s='Find an Expert' d='Admin.Navigation.Header'}</a>
<a class="dropdown-item" href="{l s='https://addons.prestashop.com?utm_source=back-office&utm_medium=profile&utm_campaign=addons-en&utm_content=download17' d='Admin.Navigation.Header'}" target="_blank" rel="noreferrer"><i class="material-icons">extension</i> {l s='PrestaShop Marketplace' d='Admin.Navigation.Header'}</a>
<a class="dropdown-item" href="{l s='https://www.prestashop.com/en/contact?utm_source=back-office&utm_medium=profile&utm_campaign=help-center-en&utm_content=download17' d='Admin.Navigation.Header'}" target="_blank" rel="noreferrer"><i class="material-icons">help</i> {l s='Help Center' d='Admin.Navigation.Header'}</a>
<p class="divider"></p>
<a class="dropdown-item employee-link text-center" id="header_logout" href="{$logout_link|escape:'html':'UTF-8'}">
<i class="material-icons d-lg-none">power_settings_new</i>
<span>{l s='Sign out' d='Admin.Navigation.Header'}</span>
</a>
</div>
</div>
{/if}

View File

@@ -0,0 +1,42 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if count($errors) && current($errors) != '' && (!isset($disableDefaultErrorOutPut) || $disableDefaultErrorOutPut == false)}
<div class="bootstrap">
<div class="alert alert-danger">
<button type="button" class="close" data-dismiss="alert">&times;</button>
{if count($errors) == 1}
{reset($errors)}
{else }
{l s='There are %d errors.' sprintf=[$errors|count] d='Admin.Notifications.Error'}
<br/>
<ol>
{foreach $errors as $error}
<li>{$error}</li>
{/foreach}
</ol>
{/if}
</div>
</div>
{/if}

View File

@@ -0,0 +1,36 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if isset($informations) && count($informations) && $informations}
<div class="bootstrap">
<div class="alert alert-info">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<ul id="infos_block" class="list-unstyled">
{foreach $informations as $info}
<li>{$info}</li>
{/foreach}
</ul>
</div>
</div>
{/if}

View File

@@ -0,0 +1,125 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<nav class="nav-bar d-none d-print-none d-md-block">
<span class="menu-collapse" data-toggle-url="{$toggle_navigation_url}">
<i class="material-icons">chevron_left</i>
<i class="material-icons">chevron_left</i>
</span>
<div class="nav-bar-overflow">
<ul class="main-menu{if $collapse_menu} sidebar-closed{/if}">
{foreach $tabs as $level1}
{if $level1.active}
{$level1Href = $level1.href|escape:'html':'UTF-8'}
{if $level1.sub_tabs|@count && isset($level1.sub_tabs[0].href)}
{$level1Href = $level1.sub_tabs[0].href|escape:'html':'UTF-8'}
{/if}
{$level1Name = $level1.name|escape:'html':'UTF-8'}
{if $level1.name eq ''}
{$level1Name = $level1.class_name|escape:'html':'UTF-8'}
{/if}
{if $level1.icon != ''}
<li class="link-levelone{if $level1.current} link-levelone-active{/if}" data-submenu="{$level1.id_tab}" id="tab-{$level1.class_name}">
<a href="{$level1Href}" class="link" >
<i class="material-icons">{$level1.icon}</i> <span>{$level1Name}</span>
</a>
</li>
{else}
<li class="category-title{if $level1.current} link-active{/if}" data-submenu="{$level1.id_tab}" id="tab-{$level1.class_name}">
<span class="title">{$level1Name}</span>
</li>
{foreach $level1.sub_tabs as $level2}
{if $level2.active}
{$level2Href = $level2.href|escape:'html':'UTF-8'}
{$level2Name = $level2.name|escape:'html':'UTF-8'}
{if $level2.name eq ''}
{$level2Name = $level2.class_name|escape:'html':'UTF-8'}
{/if}
{assign var="levelOneClass" value=''}
{if $level2.current and not $collapse_menu}
{assign var="levelOneClass" value=" link-active open ul-open"}
{elseif $level2.current and $collapse_menu}
{assign var="levelOneClass" value=" link-active"}
{/if}
<li class="link-levelone{if $level2.sub_tabs|@count} has_submenu{/if}{$levelOneClass}" data-submenu="{$level2.id_tab}" id="subtab-{$level2.class_name}">
<a href="{$level2Href}" class="link">
<i class="material-icons mi-{$level2.icon}">{$level2.icon}</i>
<span>
{$level2Name}
</span>
{if $level1.sub_tabs|@count}
<i class="material-icons sub-tabs-arrow">
{if $level2.current}
keyboard_arrow_up
{else}
keyboard_arrow_down
{/if}
</i>
{/if}
</a>
{if $level2.sub_tabs|@count}
<ul id="collapse-{$level2.id_tab}" class="submenu panel-collapse">
{foreach $level2.sub_tabs as $level3}
{if $level3.active}
{$level3Href = $level3.href|escape:'html':'UTF-8'}
{$level3Name = $level3.name|escape:'html':'UTF-8'}
{if $level3.name eq ''}
{$level3Name = $level3.class_name|escape:'html':'UTF-8'}
{/if}
<li class="link-leveltwo{if $level3.current} link-active{/if}" data-submenu="{$level3.id_tab}" id="subtab-{$level3.class_name}">
<a href="{$level3Href}" class="link"> {$level3Name}
</a>
</li>
{/if}
{/foreach}
</ul>
{/if}
</li>
{/if}
{/foreach}
{/if}
{/if}
{/foreach}
</ul>
</div>
{hook h='displayAdminNavBarBeforeEnd'}
</nav>

View File

@@ -0,0 +1,40 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<div id="non-responsive" class="js-non-responsive">
<h1>{l s='Oh no!'}</h1>
<p class="mt-3">
{l s='The mobile version of this page is not available yet.'}
</p>
<p class="mt-2">
{l s='Please use a desktop computer to access this page, until is adapted to mobile.'}
</p>
<p class="mt-2">
{l s='Thank you.'}
</p>
<a href="{$default_tab_link|escape:'html':'UTF-8'}" class="btn btn-primary py-1 mt-3">
<i class="material-icons">arrow_back</i>
{l s='Back' d='Admin.Global'}
</a>
</div>

View File

@@ -0,0 +1,146 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<div id="notif" class="notification-center dropdown dropdown-clickable">
<button class="btn notification js-notification dropdown-toggle" data-toggle="dropdown">
<i class="material-icons">notifications_none</i>
<span id="notifications-total" class="count hide">0</span>
</button>
<div class="dropdown-menu dropdown-menu-right js-notifs_dropdown">
<div class="notifications">
<ul class="nav nav-tabs" role="tablist">
{$active = "active"}
{if $show_new_orders}
<li class="nav-item">
<a
class="nav-link {$active}"
id="orders-tab"
data-toggle="tab"
data-type="order"
href="#orders-notifications"
role="tab"
>
{l s='Orders[1][/1]' html=true sprintf=['[1]' => '<span id="_nb_new_orders_">', '[/1]' => '</span>'] d='Admin.Navigation.Notification'}
</a>
</li>
{$active = ""}
{/if}
{if $show_new_customers}
<li class="nav-item">
<a
class="nav-link {$active}"
id="customers-tab"
data-toggle="tab"
data-type="customer"
href="#customers-notifications"
role="tab"
>
{l s='Customers[1][/1]' html=true sprintf=['[1]' => '<span id="_nb_new_customers_">', '[/1]' => '</span>'] d='Admin.Navigation.Notification'}
</a>
</li>
{$active = ""}
{/if}
{if $show_new_messages}
<li class="nav-item">
<a
class="nav-link {$active}"
id="messages-tab"
data-toggle="tab"
data-type="customer_message"
href="#messages-notifications"
role="tab"
>
{l s='Messages[1][/1]' html=true sprintf=['[1]' => '<span id="_nb_new_messages_">', '[/1]' => '</span>'] d='Admin.Navigation.Notification'}
</a>
</li>
{$active = ""}
{/if}
</ul>
<!-- Tab panes -->
<div class="tab-content">
{$active = "active"}
{if $show_new_orders}
<div class="tab-pane {$active} empty" id="orders-notifications" role="tabpanel">
<p class="no-notification">
{l s='No new order for now :(' d='Admin.Navigation.Notification'}<br>
{$no_order_tip}
</p>
<div class="notification-elements"></div>
</div>
{$active = ""}
{/if}
{if $show_new_customers}
<div class="tab-pane {$active} empty" id="customers-notifications" role="tabpanel">
<p class="no-notification">
{l s='No new customer for now :(' d='Admin.Navigation.Notification'}<br>
{$no_customer_tip}
</p>
<div class="notification-elements"></div>
</div>
{$active = ""}
{/if}
{if $show_new_messages}
<div class="tab-pane {$active} empty" id="messages-notifications" role="tabpanel">
<p class="no-notification">
{l s='No new message for now.' d='Admin.Navigation.Notification'}<br>
{$no_customer_message_tip}
</p>
<div class="notification-elements"></div>
</div>
{$active = ""}
{/if}
</div>
</div>
</div>
</div>
{if $show_new_orders}
<script type="text/html" id="order-notification-template">
<a class="notif" href='order_url'>
#_id_order_ -
{l s='from' d='Admin.Navigation.Notification'} <strong>_customer_name_</strong> (_iso_code_)_carrier_
<strong class="float-sm-right">_total_paid_</strong>
</a>
</script>
{/if}
{if $show_new_customers}
<script type="text/html" id="customer-notification-template">
<a class="notif" href='customer_url'>
#_id_customer_ - <strong>_customer_name_</strong>_company_ - {l s='registered' d='Admin.Navigation.Notification'} <strong>_date_add_</strong>
</a>
</script>
{/if}
{if $show_new_messages}
<script type="text/html" id="message-notification-template">
<a class="notif" href='message_url'>
<span class="message-notification-status _status_">
<i class="material-icons">fiber_manual_record</i> _status_
</span>
- <strong>_customer_name_</strong> (_company_) - <i class="material-icons">access_time</i> _date_add_
</a>
</script>
{/if}

View File

@@ -0,0 +1,52 @@
{* Quick access *}
<div class="dropdown quick-accesses">
<button class="btn btn-link btn-sm dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" id="quick_select">
{l s='Quick Access' d='Admin.Navigation.Header'}
</button>
<div class="dropdown-menu">
{foreach $quick_access as $quick}
<a class="dropdown-item quick-row-link{if $link->matchQuickLink({$quick.link})}{assign "matchQuickLink" $quick.id_quick_access} active{/if}"
href="{$quick.link|escape:'html':'UTF-8'}"
{if $quick.new_window} target="_blank"{/if}
data-item="{$quick.name}"
>{$quick.name}</a>
{/foreach}
<div class="dropdown-divider"></div>
{if isset($matchQuickLink)}
<a id="quick-remove-link"
class="dropdown-item js-quick-link"
href="#"
data-method="remove"
data-quicklink-id="{$matchQuickLink}"
data-rand="{1|rand:200}"
data-icon="{$quick_access_current_link_icon}"
data-url="{$link->getQuickLink($smarty.server['REQUEST_URI']|escape:'javascript')}"
data-post-link="{$link->getAdminLink('AdminQuickAccesses')}"
data-prompt-text="{l s='Please name this shortcut:' js=1 d='Admin.Navigation.Header'}"
data-link="{$quick_access_current_link_name|truncate:32}"
>
<i class="material-icons">remove_circle_outline</i>
{l s='Remove from Quick Access' d='Admin.Navigation.Header'}
</a>
{else}
<a id="quick-add-link"
class="dropdown-item js-quick-link"
href="#"
data-rand="{1|rand:200}"
data-icon="{$quick_access_current_link_icon}"
data-method="add"
data-url="{$link->getQuickLink($smarty.server['REQUEST_URI']|escape:'javascript')}"
data-post-link="{$link->getAdminLink('AdminQuickAccesses')}"
data-prompt-text="{l s='Please name this shortcut:' js=1 d='Admin.Navigation.Header'}"
data-link="{$quick_access_current_link_name|truncate:32}"
>
<i class="material-icons">add_circle</i>
{l s='Add current page to Quick Access' d='Admin.Actions'}
</a>
{/if}
<a id="quick-manage-link" class="dropdown-item" href="{$link->getAdminLink("AdminQuickAccesses")|addslashes}">
<i class="material-icons">settings</i>
{l s='Manage your quick accesses' d='Admin.Navigation.Header'}
</a>
</div>
</div>

View File

@@ -0,0 +1,66 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<form id="header_search"
class="bo_search_form dropdown-form js-dropdown-form collapsed"
method="post"
action="{$baseAdminUrl}index.php?controller=AdminSearch&amp;token={getAdminToken tab='AdminSearch'}"
role="search">
<input type="hidden" name="bo_search_type" id="bo_search_type" class="js-search-type" />
{if isset($show_clear_btn) && $show_clear_btn}
<a href="#" class="clear_search hide"><i class="icon-remove"></i></a>
{/if}
<div class="input-group">
<input type="text" class="form-control js-form-search" id="bo_query" name="bo_query" value="{$bo_query}" placeholder="{l s='Search (e.g.: product reference, customer name…)' d='Admin.Navigation.Header'}" aria-label="{l s='Searchbar' d='Admin.Navigation.Header'}">
<div class="input-group-append">
<button type="button" class="btn btn-outline-secondary dropdown-toggle js-dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{l s='Everywhere' d='Admin.Navigation.Header'}
</button>
<div class="dropdown-menu js-items-list">
<a class="dropdown-item" data-item="{l s='Everywhere' d='Admin.Navigation.Header'}" href="#" data-value="0" data-placeholder="{l s='What are you looking for?' d='Admin.Navigation.Header'}" data-icon="icon-search"><i class="material-icons">search</i> {l s='Everywhere' d='Admin.Navigation.Header'}</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" data-item="{l s='Catalog' d='Admin.Global'}" href="#" data-value="1" data-placeholder="{l s='Product name, reference, etc.' d='Admin.Navigation.Header'}" data-icon="icon-book"><i class="material-icons">store_mall_directory</i> {l s='Catalog' d='Admin.Global'}</a>
<a class="dropdown-item" data-item="{l s='Customers' d='Admin.Navigation.Header'} {l s='by name'}" href="#" data-value="2" data-placeholder="{l s='Name' d='Admin.Navigation.Header'}" data-icon="icon-group"><i class="material-icons">group</i> {l s='Customers' d='Admin.Navigation.Header'} {l s='by name' d='Admin.Navigation.Header'}</a>
<a class="dropdown-item" data-item="{l s='Customers' d='Admin.Navigation.Header'} {l s='by ip address'}" href="#" data-value="6" data-placeholder="{l s='123.45.67.89' d='Admin.Navigation.Header'}" data-icon="icon-desktop"><i class="material-icons">desktop_mac</i> {l s='Customers' d='Admin.Navigation.Header'} {l s='by IP address' d='Admin.Navigation.Header'}</a>
<a class="dropdown-item" data-item="{l s='Orders' d='Admin.Global'}" href="#" data-value="3" data-placeholder="{l s='Order ID' d='Admin.Navigation.Header'}" data-icon="icon-credit-card"><i class="material-icons">shopping_basket</i> {l s='Orders' d='Admin.Global'}</a>
<a class="dropdown-item" data-item="{l s='Invoices' d='Admin.Global'}" href="#" data-value="4" data-placeholder="{l s='Invoice number' d='Admin.Navigation.Header'}" data-icon="icon-book"><i class="material-icons">book</i> {l s='Invoices' d='Admin.Global'}</a>
<a class="dropdown-item" data-item="{l s='Carts' d='Admin.Global'}" href="#" data-value="5" data-placeholder="{l s='Cart ID' d='Admin.Navigation.Header'}" data-icon="icon-shopping-cart"><i class="material-icons">shopping_cart</i> {l s='Carts' d='Admin.Global'}</a>
<a class="dropdown-item" data-item="{l s='Modules' d='Admin.Global'}" href="#" data-value="7" data-placeholder="{l s='Module name' d='Admin.Navigation.Header'}" data-icon="icon-puzzle-piece"><i class="material-icons">extension</i> {l s='Modules' d='Admin.Global'}</a>
</div>
<button class="btn btn-primary" type="submit"><span class="d-none">{l s='SEARCH' d='Admin.Navigation.Header'}</span><i class="material-icons">search</i></button>
</div>
</div>
</form>
<script type="text/javascript">
$(document).ready(function(){
{if isset($search_type) && $search_type}
$('.search-option a[data-value='+{$search_type|intval}+']').click();
{/if}
$('#bo_query').one('click', function() {
$(this).closest('form').removeClass('collapsed');
});
});
</script>

View File

@@ -0,0 +1,57 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if isset($is_multishop)
&& $is_multishop
&& $shop_list
&& (
isset($multishop_context)
&& $multishop_context & Shop::CONTEXT_GROUP
|| $multishop_context & Shop::CONTEXT_SHOP
|| $multishop_context & Shop::CONTEXT_ALL
)}
<div id="shop-list" class="shop-list dropdown ps-dropdown stores">
<button class="btn btn-link" type="button" data-toggle="dropdown">
<span class="selected-item">
<i class="material-icons visibility">visibility</i>
{if !isset($current_shop_name) || $current_shop_name == ''}
{l s='All shops' d='Admin.Global'}
{else}
{$current_shop_name}
{/if}
<i class="material-icons arrow-down">arrow_drop_down</i>
</span>
</button>
<div class="dropdown-menu dropdown-menu-right ps-dropdown-menu">
{$shop_list}
</div>
</div>
{else}
<div class="shop-list">
<a class="link" id="header_shopname" href="{$base_url|escape:'html':'UTF-8'}" target= "_blank">
<i class="material-icons">visibility</i>
<span>{l s='View my shop' d='Admin.Navigation.Header'}</span>
</a>
</div>
{/if}

View File

@@ -0,0 +1,39 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if count($warnings)}
<div class="bootstrap">
<div class="alert alert-warning">
<button type="button" class="close" data-dismiss="alert">&times;</button>
{if count($warnings) > 1}
<h4>{l s='There are %d warnings.' sprintf=[count($warnings)] d='Admin.Notifications.Error'}</h4>
{/if}
<ul class="list-unstyled">
{foreach $warnings as $warning}
<li>{$warning}</li>
{/foreach}
</ul>
</div>
</div>
{/if}

View File

@@ -0,0 +1,11 @@
<div id="ajax_confirmation" class="alert alert-success" style="display: none;"></div>
{* Ajax box *}
{* TODO: FIND WHY AND REAPPLY IF NEEDED
<div id="ajaxBox" style="display:none"></div>
*}
{if isset($content)}
{$content}
{/if}

View File

@@ -0,0 +1,97 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<div class="modal-body">
{if $add_permission eq '1'}
{if !isset($logged_on_addons) || !$logged_on_addons}
{if $check_url_fopen eq 'ko' OR $check_openssl eq 'ko'}
<div class="alert alert-warning">
{l s='If you want to be able to fully use the AdminModules panel and have free modules available, you should enable the following configuration on your server:'}
<br />
{if $check_url_fopen eq 'ko'}- {l s='Enable PHP\'s allow_url_fopen setting'}<br />{/if}
{if $check_openssl eq 'ko'}- {l s='Enable PHP\'s OpenSSL extension'}<br />{/if}
</div>
{else}
<!--start addons login-->
<form id="addons_login_form" method="post" >
<div>
<a href="{$addons_register_link|escape:'html':'UTF-8'}"><img class="img-responsive center-block" src="{$img_base_path}themes/default/img/prestashop-addons-logo.png" alt="Logo PrestaShop Addons"/></a>
<h3 class="text-center">{l s="Connect your shop to PrestaShop's marketplace in order to automatically import all your Addons purchases."}</h3>
<hr />
</div>
<div class="row">
<div class="col-md-6">
<h4>{l s="Don't have an account?"}</h4>
<p class='text-justify'>{l s="Discover the Power of PrestaShop Addons! Explore the PrestaShop Official Marketplace and find over 3 500 innovative modules and themes that optimize conversion rates, increase traffic, build customer loyalty and maximize your productivity"}</p>
</div>
<div class="col-md-6">
<h4>{l s='Connect to PrestaShop Addons'}</h4>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="icon-user"></i></span>
</div>
<input id="username_addons" name="username_addons" type="text" value="" autocomplete="off" class="form-control ac_input">
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"><i class="icon-key"></i></span>
</div>
<input id="password_addons" name="password_addons" type="password" value="" autocomplete="off" class="form-control ac_input">
</div>
<a class="btn btn-link float-right _blank" href="{$addons_forgot_password_link}">{l s='I forgot my password'}</a>
<br>
</div>
</div>
</div>
<div class="row row-padding-top">
<div class="col-md-6">
<div class="form-group">
<a class="btn btn-default btn-block btn-lg _blank" href="{$addons_register_link|escape:'html':'UTF-8'}">
{l s="Create an Account"}
<i class="icon-external-link"></i>
</a>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<button id="addons_login_button" class="btn btn-primary btn-block btn-lg" type="submit">
<i class="icon-unlock"></i> {l s='Sign in'}
</button>
</div>
</div>
</div>
<div id="addons_loading" class="help-block"></div>
</form>
<!--end addons login-->
{/if}
{/if}
{/if}
</div>

View File

@@ -0,0 +1,39 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{extends file='page_header_toolbar.tpl'}
{block name=pageTitle}
{if !isset($use_regular_h1_structure)}
{assign var="use_regular_h1_structure" value=true}
{/if}
{if $use_regular_h1_structure}
<h1 class="title">
{if is_array($title)}{$title|end|escape}{else}{$title|escape}{/if}
</h1>
{else}
{$title}
{/if}
{/block}

View File

@@ -0,0 +1,39 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if isset($php_errors) && $php_errors|@count}
<div class="bootstrap">
<div id="error-modal" class="modal fade">
<div class="modal-dialog">
<div class="alert alert-danger clearfix">
{foreach $php_errors item=php_error}
{l s='%1$s on line %2$s in file %3$s' sprintf=[$php_error.type|escape, $php_error.errline|escape, $php_error.errfile|escape] d='Admin.Notifications.Error'}<br />
[{$php_error.errno|escape}] {$php_error.errstr|escape}<br /><br />
{/foreach}
<button type="button" class="btn btn-default float-right" data-dismiss="modal"><i class="icon-remove"></i> {l s='Close' d='Admin.Actions'}</button>
</div>
</div>
</div>
</div>
{/if}

View File

@@ -0,0 +1,27 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<div id="footer" class="bootstrap">
{hook h="displayBackOfficeFooter"}
</div>

View File

@@ -0,0 +1,94 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale={(isset($viewport_scale)) ? $viewport_scale : '1'}">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="robots" content="NOFOLLOW, NOINDEX">
<link rel="icon" type="image/x-icon" href="{$img_dir}favicon.ico" />
<link rel="apple-touch-icon" href="{$img_dir}app_icon.png" />
<title>{if $meta_title != ''}{$meta_title}{/if}{$shop_name}</title>
{if !isset($display_header_javascript) || $display_header_javascript}
<script type="text/javascript">
var help_class_name = '{$controller_name|@addcslashes:'\''}';
var iso_user = '{$iso_user|@addcslashes:'\''}';
var lang_is_rtl = '{$lang_is_rtl|intval}';
var full_language_code = '{$full_language_code|@addcslashes:'\''}';
var full_cldr_language_code = '{$full_cldr_language_code|@addcslashes:'\''}';
var country_iso_code = '{$country_iso_code|@addcslashes:'\''}';
var _PS_VERSION_ = '{$smarty.const._PS_VERSION_|@addcslashes:'\''}';
var roundMode = {$round_mode|intval};
var youEditFieldFor = '';
{if isset($shop_context)}
{if $shop_context == Shop::CONTEXT_ALL}
youEditFieldFor = '{l s='This field will be modified for all your shops.' js=1 d='Admin.Notifications.Info'}';
{elseif $shop_context == Shop::CONTEXT_GROUP}
youEditFieldFor = '{l s='This field will be modified for all shops in this shop group:' js=1 d='Admin.Notifications.Info'} <b>{$shop_name|@addcslashes:'\''}</b>';
{else}
youEditFieldFor = '{l s='This field will be modified for this shop:' js=1 d='Admin.Notifications.Info'} <b>{$shop_name|@addcslashes:'\''}</b>';
{/if}
{/if}
var new_order_msg = '{l s='A new order has been placed on your shop.' js=1 d='Admin.Navigation.Header'}';
var order_number_msg = '{l s='Order number:' js=1 d='Admin.Navigation.Header'} ';
var total_msg = '{l s='Total:' js=1 d='Admin.Global'} ';
var from_msg = '{l s='From:' js=1 d='Admin.Global'} ';
var see_order_msg = '{l s='View this order' js=1 d='Admin.Orderscustomers.Feature'}';
var new_customer_msg = '{l s='A new customer registered on your shop.' js=1 d='Admin.Navigation.Header'}';
var customer_name_msg = '{l s='Customer name:' js=1 d='Admin.Navigation.Header'} ';
var new_msg = '{l s='A new message was posted on your shop.' js=1 d='Admin.Navigation.Header'}';
var see_msg = '{l s='Read this message' js=1 d='Admin.Navigation.Header'}';
var token = '{$token|addslashes}';
var token_admin_orders = tokenAdminOrders = '{getAdminToken tab='AdminOrders'}';
var token_admin_customers = '{getAdminToken tab='AdminCustomers'}';
var token_admin_customer_threads = tokenAdminCustomerThreads = '{getAdminToken tab='AdminCustomerThreads'}';
var currentIndex = '{$currentIndex|@addcslashes:'\''}';
var employee_token = '{getAdminToken tab='AdminEmployees'}';
var choose_language_translate = '{l s='Choose language:' js=1 d='Admin.Actions'}';
var default_language = '{$default_language|intval}';
var admin_modules_link = '{$link->getAdminLink("AdminModulesSf", true, ['route' => "admin_module_catalog_post"])|addslashes}';
var admin_notification_get_link = '{$link->getAdminLink("AdminCommon")|addslashes}';
var admin_notification_push_link = adminNotificationPushLink = '{$link->getAdminLink("AdminCommon", true, ['route' => 'admin_common_notifications_ack'])|addslashes}';
var tab_modules_list = '{if isset($tab_modules_list) && $tab_modules_list}{$tab_modules_list|addslashes}{/if}';
var update_success_msg = '{l s='Update successful' js=1 d='Admin.Notifications.Success'}';
var errorLogin = '{l s='PrestaShop was unable to log in to Addons. Please check your credentials and your Internet connection.' js=1 d='Admin.Notifications.Warning'}';
var search_product_msg = '{l s='Search for a product' js=1 d='Admin.Orderscustomers.Feature'}';
</script>
{/if}
{if isset($css_files)}
{foreach from=$css_files key=css_uri item=media}
<link href="{$css_uri|escape:'html':'UTF-8'}" rel="stylesheet" type="text/css"/>
{/foreach}
{/if}
{if (isset($js_def) && count($js_def) || isset($js_files) && count($js_files))}
{include file=$smarty.const._PS_ALL_THEMES_DIR_|cat:"javascript.tpl"}
{/if}
{if isset($displayBackOfficeHeader)}
{$displayBackOfficeHeader}
{/if}

View File

@@ -0,0 +1,119 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{if isset($href) && $href}
<a href="{$href|escape:'html':'UTF-8'}" id="{$id|escape:'html':'UTF-8'}" class="kpi-container box-stats">
{else}
<div id="{$id|escape:'html':'UTF-8'}" class="kpi-container box-stats">
{/if}
<div class="kpi-content -{$color|escape}" data-original-title="{$tooltip|escape}" data-toggle="pstooltip">
{if isset($icon) && $icon}
<i class="material-icons">{$icon|escape}</i>
{/if}
{if isset($chart) && $chart}
<div class="boxchart-overlay">
<div class="boxchart">
</div>
</div>
{/if}
<span class="title">{$title|escape}</span>
<div class="kpi-description">
<div class="subtitle">{$subtitle|escape}</div>
<div class="value">{$value|escape|replace:'&amp;':'&'}</div>
</div>
</div>
{if isset($href) && $href}
</a>
{else}
</div>
{/if}
<script>
function refresh_{$id|replace:'-':'_'|addslashes}()
{
{if !isset($source) || $source == '' || !isset($refresh) || $refresh == ''}
if (arguments.length < 1 || arguments[0] != true) {
// refresh kpis only if force mode is true (pass true as first argument of this function).
return;
}
{/if}
$.ajax({
url: '{$source|addslashes}' + '&rand=' + new Date().getTime(),
dataType: 'json',
type: 'GET',
cache: false,
headers: { 'cache-control': 'no-cache' },
success: function(jsonData){
if (!jsonData.has_errors)
{
if (jsonData.value != undefined)
{
$('#{$id|addslashes} .value').html(jsonData.value);
$('#{$id|addslashes}').attr('data-original-title', jsonData.tooltip);
}
if (jsonData.data != undefined)
{
$("#{$id|addslashes} .boxchart svg").remove();
set_d3_{$id|replace:'-':'_'|addslashes}(jsonData.data);
}
}
}
});
}
</script>
{if $chart}
<script>
function set_d3_{$id|str_replace:'-':'_'|addslashes}(jsonObject)
{
var data = new Array;
$.each(jsonObject, function (index, value) {
data.push(value);
});
var data_max = d3.max(data);
var chart = d3.select("#{$id|addslashes} .boxchart").append("svg")
.attr("class", "data_chart")
.attr("width", data.length * 6)
.attr("height", 45);
var y = d3.scale.linear()
.domain([0, data_max])
.range([0, data_max * 45]);
chart.selectAll("rect")
.data(data)
.enter().append("rect")
.attr("y", function(d) { return 45 - d * 45 / data_max; })
.attr("x", function(d, i) { return i * 6; })
.attr("width", 4)
.attr("height", y);
}
{if $data}
set_d3_{$id|replace:'-':'_'|addslashes}($.parseJSON("{$data|addslashes}"));
{/if}
</script>
{/if}

View File

@@ -0,0 +1,42 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<div class="content container-fluid">
<div class="row">
<div class="col-md-12">
<div class="kpi-container">
<div class="row">
{assign var='col' value=(int)(12 / $kpis|count)}
{foreach from=$kpis item=i name=kpi}
{if $smarty.foreach.kpi.iteration > $col+1}
</div>
<div class="row">
{/if}
<div class="col-md-{$col}">{$i}</div>
{/foreach}
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,66 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
{strip}
<ul class="items-list">
<li{if !isset($current_shop_value) || $current_shop_value == ''} class="active"{/if}>
<a class="dropdown-item" href="{$url|escape:'html':'UTF-8'}">{l s='All shops' d='Admin.Global'}</a>
</li>
{foreach key=group_id item=group_data from=$tree}
{if !isset($multishop_context) || $is_group_context}
<li class="group{if $current_shop_value == 'g-'|cat:$group_id} active{/if}">
<a class="dropdown-item{if $multishop_context_group == false} disabled{/if}" href="{if $multishop_context_group == false}#{else}{$url|escape:'html':'UTF-8'}g-{$group_id}{/if}">
{l s='%s group' sprintf=[$group_data['name']|escape:'html':'UTF-8']}
</a>
</li>
{elseif !$is_all_context}
<ul class="group {if $multishop_context_group == false} disabled{/if}">{l s='%s group' sprintf=[$group_data['name']|escape:'html':'UTF-8']}
{/if}
{if !isset($multishop_context) || $is_shop_context}
{foreach key=shop_id item=shop_data from=$group_data['shops']}
{if ($shop_data['active'])}
<li class="shop{if $current_shop_value == 's-'|cat:$shop_id} active{/if}">
<a class="dropdown-item {if $shop_data['uri'] == NULL} disabled{/if}" href="{if $shop_data['uri'] == NULL}#{else}{$url|escape:'html':'UTF-8'}s-{$shop_id}{/if}">
{$shop_data['name']}
</a>
{if $shop_data['uri'] == NULL}
<a class="link-shop" href="{$link->getAdminLink('AdminShop', true)|escape:'html':'UTF-8'}" target="_blank">
<i class="material-icons">&#xE869;</i>
</a>
{else}
<a class="link-shop" href="{$link->getBaseLink($shop_data['id_shop'])}" target="_blank">
<i class="material-icons">&#xE8F4;</i>
</a>
{/if}
</li>
{/if}
{/foreach}
{/if}
{if !(!isset($multishop_context) || $is_group_context)}
</ul>
{/if}
{/foreach}
</ul>
{/strip}

View File

@@ -0,0 +1,139 @@
<!DOCTYPE html>
<html lang="{$iso}">
<head>
{$header}
</head>
<body
class="lang-{$iso_user}{if $lang_is_rtl} lang-rtl{/if} {$smarty.get.controller|escape|strtolower}{if $collapse_menu} page-sidebar-closed{/if}{if isset($is_multishop) && $is_multishop} multishop-enabled{/if}{if isset($lite_display) && $lite_display} light_display_layout{/if}"
{if isset($js_router_metadata.base_url)}data-base-url="{$js_router_metadata.base_url}"{/if}
{if isset($js_router_metadata.token)}data-token="{$js_router_metadata.token}"{/if}
>
{if $display_header}
<header id="header" class="d-print-none">
<nav id="header_infos" class="main-header">
<button class="btn btn-primary-reverse onclick btn-lg unbind ajax-spinner"></button>
{* Logo *}
<i class="material-icons js-mobile-menu">menu</i>
<a id="header_logo" class="logo float-left" href="{$default_tab_link|escape:'html':'UTF-8'}"></a>
<span id="shop_version">{$ps_version}</span>
<div class="component" id="quick-access-container">
{include file="components/layout/quick_access.tpl"}
</div>
<div class="component" id="header-search-container">
{include file="components/layout/search_form.tpl"}
</div>
{if isset($debug_mode) && $debug_mode == true}
<div class="component hide-mobile-sm" id="header-debug-mode-container">
<a class="link shop-state"
id="debug-mode"
data-toggle="pstooltip"
data-placement="bottom"
data-html="true"
title="<p class='text-left'><strong>{l s='Your shop is in debug mode.' d='Admin.Navigation.Notification'}</strong></p><p class='text-left'>{l s='All the PHP errors and messages are displayed. When you no longer need it, [1]turn off[/1] this mode.' html=true sprintf=['[1]' => '<strong>', '[/1]' => '</strong>'] d='Admin.Navigation.Notification'}</p>"
href="{$link->getAdminLink('AdminPerformance')|escape:'html':'UTF-8'}"
>
<i class="material-icons">bug_report</i>
<span>{l s='Debug mode' d='Admin.Navigation.Header'}</span>
</a>
</div>
{/if}
{if isset($maintenance_mode) && $maintenance_mode == true}
<div class="component hide-mobile-sm" id="header-maintenance-mode-container">
<a class="link shop-state"
id="maintenance-mode"
data-toggle="pstooltip"
data-placement="bottom"
data-html="true"
title="<p class='text-left'><strong>{l s='Your shop is in maintenance.' d='Admin.Navigation.Notification'}</strong></p><p class='text-left'>{l s='Your visitors and customers cannot access your shop while in maintenance mode.%s To manage the maintenance settings, go to Shop Parameters > Maintenance tab.' sprintf=['<br />'] d='Admin.Navigation.Notification'}</p>" href="{$link->getAdminLink('AdminMaintenance')|escape:'html':'UTF-8'}"
>
<i class="material-icons">build</i>
<span>{l s='Maintenance mode' d='Admin.Navigation.Header'}</span>
</a>
</div>
{/if}
{if !isset($hideLegacyStoreContextSelector) || !$hideLegacyStoreContextSelector}
<div class="component" id="header-shop-list-container">
{include file="components/layout/shop_list.tpl"}
</div>
{/if}
{if $show_new_orders || $show_new_customers || $show_new_messages}
<div class="component header-right-component" id="header-notifications-container">
{include file="components/layout/notifications_center.tpl"}
</div>
{/if}
<div class="component" id="header-employee-container">
{include file="components/layout/employee_dropdown.tpl"}
</div>
{if isset($displayBackOfficeTop)}{$displayBackOfficeTop}{/if}
</nav>
</header>
{/if}
{if $display_header}
{include file='components/layout/nav_bar.tpl'}
{/if}
{if isset($page_header_toolbar)}{$page_header_toolbar}{/if}
<div id="main-div">
{if $install_dir_exists}
<div class="alert alert-warning">
{l s='For security reasons, you must also delete the /install folder.' d='Admin.Login.Notification'}
</div>
{else}
{if isset($modal_module_list)}{$modal_module_list}{/if}
<div class="{if $display_header}content-div{/if} {if !isset($page_header_toolbar)}-notoolbar{/if} {if $current_tab_level == 3}with-tabs{/if}">
{hook h='displayAdminAfterHeader'}
{if $display_header}
{include file='components/layout/error_messages.tpl'}
{include file='components/layout/information_messages.tpl'}
{include file='components/layout/confirmation_messages.tpl'}
{include file='components/layout/warning_messages.tpl'}
{/if}
<div class="row ">
<div class="col-sm-12">
{$page}
{hook h='displayAdminEndContent'}
</div>
</div>
</div>
{/if}
</div>
{if (!isset($lite_display) || (isset($lite_display) && !$lite_display))}
{include file='components/layout/non-responsive.tpl'}
<div class="mobile-layer"></div>
{if $display_footer}
{include file='footer.tpl'}
{/if}
{/if}
{if isset($php_errors)}
{include file="error.tpl"}
{/if}
{if (!isset($lite_display) || (isset($lite_display) && !$lite_display))}
{if isset($modals)}
<div class="bootstrap">
{$modals}
</div>
{/if}
{/if}
</body>
</html>

View File

@@ -0,0 +1,53 @@
{**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <contact@prestashop.com>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*}
<div class="modal fade" id="{$modal_id}" tabindex="-1">
<div class="modal-dialog {if isset($modal_class)}{$modal_class}{/if}">
<div class="modal-content">
{if isset($modal_title)}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">{$modal_title}</h4>
</div>
{/if}
{$modal_content}
{if isset($modal_actions)}
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{l s='Close' d='Admin.Actions'}</button>
{foreach $modal_actions as $action}
{if $action.type == 'link'}
<a href="{$action.href}" class="btn {$action.class}">{$action.label}</a>
{elseif $action.type == 'button'}
<button type="button" value="{$action.value}" class="btn {$action.class}">
{$action.label}
</button>
{/if}
{/foreach}
</div>
{/if}
</div>
</div>
</div>

View File

@@ -0,0 +1,172 @@
{* TODO: 1.7.0.0: RENAME THIS FILE AT THE NEXT RETROCOMPATIBILITY BREAK *}
<div class="header-toolbar d-print-none">
{$multistore_header}
<div class="container-fluid">
{block name=pageBreadcrumb}
<nav aria-label="Breadcrumb">
<ol class="breadcrumb">
{if $breadcrumbs2.container.name != ''}
<li class="breadcrumb-item">{$breadcrumbs2.container.name|escape}</li>
{/if}
{if $breadcrumbs2.tab.name != '' && $breadcrumbs2.container.name != $breadcrumbs2.tab.name && $breadcrumbs2.tab.href != ''}
<li class="breadcrumb-item active">
<a href="{$breadcrumbs2.tab.href|escape}" aria-current="page">{$breadcrumbs2.tab.name|escape}</a>
</li>
{/if}
</ol>
</nav>
{/block}
<div class="title-row">
{block name=pageTitle}
<h1 class="title">
{if is_array($title)}{$title|end|escape}{else}{$title|escape}{/if}
</h1>
{/block}
{block name=toolbarBox}
<div class="toolbar-icons">
<div class="wrapper">
{hook h='displayDashboardToolbarTopMenu'}
{foreach from=$toolbar_btn item=btn key=k}
{if $k != 'back' && $k != 'modules-list'}
{* TODO: REFACTOR ALL THIS THINGS *}
<a
class="btn {if isset($btn.class) && $btn.class}{$btn.class|escape}{else}btn-primary{/if}{if isset($btn.target) && $btn.target} _blank{/if}{if isset($btn.disabled) && $btn.disabled} disabled auto-pointer-events{/if} pointer"{if isset($btn.href)}
id="page-header-desc-{$table}-{if isset($btn.imgclass)}{$btn.imgclass|escape}{else}{$k}{/if}"
href="{$btn.href|escape}"{/if}
title="{if isset($btn.help)}{$btn.help}{else}{$btn.desc|escape}{/if}"{if isset($btn.js) && $btn.js}
onclick="{$btn.js}"{/if}{if isset($btn.modal_target) && $btn.modal_target}
data-target="{$btn.modal_target}"
data-toggle="modal"{/if}{if isset($btn.help)}
data-toggle="pstooltip"
data-placement="bottom"{/if}
>
{if !empty($btn.icon)}<i class="material-icons">{$btn.icon}</i>{/if}
{$btn.desc|escape}
</a>
{/if}
{/foreach}
{if isset($toolbar_btn['modules-list'])}
{* TODO: REFACTOR ALL THIS THINGS *}
<a
class="btn btn-outline-secondary {if isset($toolbar_btn['modules-list'].target) && $toolbar_btn['modules-list'].target} _blank{/if}"
id="page-header-desc-{$table}-{if isset($toolbar_btn['modules-list'].imgclass)}{$toolbar_btn['modules-list'].imgclass}{else}modules-list{/if}"
{if isset($toolbar_btn['modules-list'].href)}href="{$toolbar_btn['modules-list'].href}"{/if}
title="{$toolbar_btn['modules-list'].desc}"
{if isset($toolbar_btn['modules-list'].js) && $toolbar_btn['modules-list'].js}onclick="{$toolbar_btn['modules-list'].js}"{/if}
>
{$toolbar_btn['modules-list'].desc}
</a>
{/if}
{if isset($help_link) and $help_link != false}
{if $enableSidebar}
<a class="btn btn-outline-secondary btn-help btn-sidebar" href="#"
title="{l s='Help' d='Admin.Global'}"
data-toggle="sidebar"
data-target="#right-sidebar"
data-url="{$help_link|escape}"
id="product_form_open_help"
>
{l s='Help' d='Admin.Global'}
</a>
{else}
<a class="btn btn-outline-secondary btn-help" href="{$help_link|escape}" title="{l s='Help' d='Admin.Global'}">
{l s='Help' d='Admin.Global'}
</a>
{/if}
{/if}
</div>
</div>
{/block}
</div>
</div>
{if isset($headerTabContent) and $headerTabContent}
<div class="page-head-tabs" id="head_tabs">
{foreach $headerTabContent as $tabContent}
{{$tabContent}}
{/foreach}
</div>
{/if}
{if $current_tab_level == 3}
<div class="page-head-tabs" id="head_tabs">
<ul class="nav nav-pills">
{foreach $tabs as $level_1}
{foreach $level_1.sub_tabs as $level_2}
{foreach $level_2.sub_tabs as $level_3}
{if $level_3.current}
{foreach $level_3.sub_tabs as $level_4}
{if $level_4.active}
<li class="nav-item">
<a href="{$level_4.href}" id="subtab-{$level_4.class_name}" class="nav-link tab {if $level_4.current}active current{/if}" data-submenu="{$level_4.id_tab}">
{$level_4.name}
<span class="notification-container">
<span class="notification-counter"></span>
</span>
</a>
</li>
{/if}
{/foreach}
{/if}
{/foreach}
{/foreach}
{/foreach}
</ul>
</div>
{/if}
<div class="btn-floating">
<button class="btn btn-primary collapsed" data-toggle="collapse" data-target=".btn-floating-container" aria-expanded="false">
<i class="material-icons">add</i>
</button>
<div class="btn-floating-container collapse">
<div class="btn-floating-menu">
{hook h='displayDashboardToolbarTopMenu'}
{foreach from=$toolbar_btn item=btn key=k}
{if $k != 'back' && $k != 'modules-list'}
<a
class="btn btn-floating-item {if isset($btn.target) && $btn.target} _blank{/if} pointer"{if isset($btn.href)}
id="page-header-desc-floating-{$table}-{if isset($btn.imgclass)}{$btn.imgclass|escape}{else}{$k}{/if}"
href="{$btn.href|escape}"{/if}
title="{if isset($btn.help)}{$btn.help}{else}{$btn.desc|escape}{/if}"{if isset($btn.js) && $btn.js}
onclick="{$btn.js}"{/if}{if isset($btn.modal_target) && $btn.modal_target}
data-target="{$btn.modal_target}"
data-toggle="modal"{/if}{if isset($btn.help)}
data-toggle="pstooltip"
data-placement="bottom"{/if}
>
{$btn.desc|escape}
{if !empty($btn.icon)}<i class="material-icons">{$btn.icon}</i>{/if}
</a>
{/if}
{/foreach}
{if isset($help_link) and $help_link != false}
{if $enableSidebar}
<a class="btn btn-floating-item btn-help btn-sidebar" href="#"
title="{l s='Help' d='Admin.Global'}"
data-toggle="sidebar"
data-target="#right-sidebar"
data-url="{$help_link|escape}"
>
{l s='Help' d='Admin.Global'}
</a>
{else}
<a class="btn btn-floating-item btn-help" href="{$help_link|escape}" title="{l s='Help' d='Admin.Global'}">
{l s='Help' d='Admin.Global'}
</a>
{/if}
{/if}
</div>
</div>
</div>
{hook h='displayDashboardTop'}
</div>