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,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)
*}
{if count($ad_modules.not_installed)}
<div class="bootstrap panel">
<h3><i class="icon-certificate"></i> {l s='You might be interested in'}</h3>
<div class="row">
<table id="tab_modules_list_not_installed" class="table">
{foreach from=$ad_modules.not_installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
</table>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('.fancybox-quick-view').fancybox({
type: 'ajax',
autoDimensions: false,
autoSize: false,
width: 600,
height: 'auto',
helpers: {
overlay: {
locked: false
}
}
});
});
</script>
{/if}

View File

@@ -0,0 +1,35 @@
{**
* 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)
*}
{$module_name = $module_name|escape:'html':'UTF-8'}
{capture}{'/&module_name='|cat:$module_name|cat:'/'}{/capture}
{if isset($display_multishop_checkbox) && $display_multishop_checkbox}
<div class="bootstrap panel">
<h3><i class="icon-cogs"></i> {l s='Configuration' d='Admin.Global'}</h3>
<input type="checkbox" name="activateModule" value="1"{if $module->isEnabledForShopContext()} checked="checked"{/if}
onclick="location.href = '{$current_url|regex_replace:$smarty.capture.default:''}&amp;module_name={$module_name}&amp;enable=' + ($(this).prop('checked') ? '1' : '0');" />
{l s='Activate module for this shop context: %s.' sprintf=[$shop_context] d='Admin.Modules.Notification'}
</div>
{/if}

View File

@@ -0,0 +1,117 @@
{**
* 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}
<h2 class="page-title">
{l s='Configure' d='Admin.Actions'}
</h2>
<h4 class="page-subtitle">{$module_display_name}</h4>
{/block}
{block name=pageBreadcrumb}
<ul class="breadcrumb page-breadcrumb">
{if $breadcrumbs2.container.name != ''}
<li class="breadcrumb-current">
{$breadcrumbs2.container.name|escape}
</li>
{/if}
<li>{$module_name}</li>
<li>
<i class="icon-wrench"></i>
{l s='Configure' d='Admin.Actions'}
</li>
</ul>
{/block}
{block name=toolbarBox}
<script type="text/javascript">
var header_confirm_reset = '{l s='Confirm reset' d='Admin.Modules.Notification'}';
var body_confirm_reset = '{l s='Would you like to delete the content related to this module ?' d='Admin.Modules.Notification'}';
var left_button_confirm_reset = '{l s='No - reset only the parameters' d='Admin.Modules.Notification'}';
var right_button_confirm_reset = '{l s='Yes - reset everything' d='Admin.Modules.Notification'}';
</script>
<div class="page-bar toolbarBox">
<div class="btn-toolbar">
<ul class="nav nav-pills pull-right">
<li>
<a id="desc-module-back" class="toolbar_btn" href="{url entity='sf' route='admin_module_manage'}">
<i class="process-icon-back"></i>
<div>{l s='Back' d='Admin.Global'}</div>
</a>
</li>
<!-- <li>
<a id="desc-module-disable" class="toolbar_btn" href="{$module_disable_link}" title="{l s='Disable' d='Admin.Actions'}">
<i class="process-icon-off"></i>
<div>{l s='Disable' d='Admin.Actions'}</div>
</a>
</li>
<li>
<a id="desc-module-uninstall" class="toolbar_btn" href="{$module_uninstall_link}" title="{l s='Uninstall'}">
<i class="process-icon-uninstall"></i>
<div>{l s='Uninstall'}</div>
</a>
</li>
<li>
<a id="desc-module-reset" class="toolbar_btn {if $is_reset_ready}reset_ready{/if}" href="{$module_reset_link}" title="{l s='Reset'}">
<i class="process-icon-reset"></i>
<div>{l s='Reset'}</div>
</a>
</li> -->
{if isset($trad_link)}
<li>
<a id="desc-module-translate" data-toggle="modal" data-target="#moduleTradLangSelect" class="toolbar_btn" href="#" title="{l s='Translate'}">
<i class="process-icon-flag"></i>
<div>{l s='Translate' d='Admin.Actions'}</div>
</a>
</li>
{/if}
{if isset($module_update_link)}
<li>
<a id="desc-module-update" class="toolbar_btn" href="{$module_update_link}" title="{l s='Update'}">
<i class="process-icon-refresh"></i>
<div>{l s='Check update' d='Admin.Modules.Feature'}</div>
</a>
</li>
{/if}
{if isset($module_rtl_link)}
<li>
<a id="desc-module-rtl" class="toolbar_btn" href="{$module_rtl_link}" title="{l s='Generate RTL Stylesheets'}">
<i class="process-icon-rtl"></i>
<div>{l s='RTL Module' d='Admin.Modules.Feature'}</div>
</a>
</li>
{/if}
<li>
<a id="desc-module-hook" class="toolbar_btn" href="{$module_hook_link}" title="{l s='Manage hooks'}">
<i class="process-icon-anchor"></i>
<div>{l s='Manage hooks' d='Admin.Modules.Feature'}</div>
</a>
</li>
</ul>
</div>
</div>
{/block}

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)
*}
{if isset($module_content)}
{$module_content}
{else}
{if isset($smarty.get.addnewmodule) && ($context_mode == Context::MODE_HOST)}
<div class="defaultForm form-horizontal">
{if $logged_on_addons}
<div class="panel">
<div class="row">
<div class="col-lg-3 col-md-4 col-sm-12 col-xs-12">
<img class="img-responsive" alt="PrestaShop Addons" src="themes/default/img/prestashop-addons-logo.png">
</div>
<div class="col-lg-4 col-lg-offset-1 col-md-4 col-sm-7 col-xs-12 addons-style-search-bar">
<form id="addons-search-form" method="get" action="https://addons.prestashop.com/{$iso_code}/search" class="float">
<label>{l s='Search on PrestaShop Marketplace:'}</label>
<div class="input-group">
<input id="addons-search-box" class="form-control" type="text" autocomplete="off" name="query" value="" placeholder="Search on PrestaShop Marketplace">
<div id="addons-search-btn" class="btn btn-primary input-group-addon">
<i class="icon-search"></i>
</div>
</div>
</form>
</div>
<div class="col-lg-3 col-md-4 col-sm-5 col-xs-12 addons-see-all-themes">
{l s='Or'}<a href="https://addons.prestashop.com/{$iso_code}/2-modules-prestashop" class="btn btn-primary" onclick="return !window.open(this.href)">{l s='See all modules'}</a>
</div>
</div>
</div>
{else}
<div class="panel" id="">
<div class="panel-heading">
<i class="icon-picture"></i> {l s='Add a new module'}
</div>
<div class="form-wrapper">
<div class="form-group">
<p>{l s='To add a new module, simply connect to your PrestaShop Addons account and all your purchases will be automatically imported.'}</p>
</div>
</div><!-- /.form-wrapper -->
<div class="panel-footer">
<a href="{$link->getAdminLink('AdminModules', true)|escape:'html':'UTF-8'}" class="btn btn-default">
<i class="process-icon-cancel"></i> {l s='Cancel' d='Admin.Actions'}
</a>
<a href="#" data-toggle="modal" data-target="#modal_addons_connect" class="btn btn-default pull-right">
<i class="process-icon-next"></i> {l s='Next' d='Admin.Global'}
</a>
</div>
</div>
{/if}
<div class="alert alert-info">
<h4>{l s='Can I add my own modules?'}</h4>
<p>{l s='Please note that for security reasons, you can only add modules that are being distributed on PrestaShop Addons, the official marketplace.'}</p>
</div>
</div>
{elseif !isset($smarty.get.configure)}
{include file='controllers/modules/js.tpl'}
{include file='controllers/modules/page.tpl'}
{/if}
{/if}

View File

@@ -0,0 +1,116 @@
{**
* 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="panel">
<div class="panel-heading">
<i class="icon-list-ul"></i>
{l s='Modules list'}
</div>
<div class="row">
<div class="col-lg-12">
<div class="btn-group pull-right">
<a class="btn btn-default {if !isset($smarty.get.select)} active{/if}" href="index.php?controller={$smarty.get.controller|htmlentities}&amp;token={$smarty.get.token|htmlentities}">
<i class="icon-list"></i>
{l s='Normal view'}
</a>
<a class="btn btn-default {if $smarty.get.select == 'favorites'} active{/if}" href="javascript:void(0);">
<i class="icon-star"></i>
{l s='Favorites view'}
</a>
</div>
</div>
</div>
<div class="row">
<div id="container" class="col-lg-12">
<div id="moduleContainer">
<table class="table">
<thead>
<tr class="nodrag nodrop">
<th colspan="2"></th>
<th>{l s='Module'}</th>
<th>{l s='Tab'}</th>
<th>{l s='Categories'}</th>
<th>{l s='Interest'}</th>
<th>{l s='Favorite'}</th>
</tr>
</thead>
<tbody>
{foreach from=$modules key=km item=module}
{capture name="moduleStatusClass"}
{if isset($module->id) && $module->id gt 0}
module_active
{else}
module_inactive
{/if}
{/capture}
<tr>
<td width="10px" class="{$smarty.capture.moduleStatusClass}"></td>
<td width="40px">
<img src="{if isset($module->image)}{$module->image}{else}../modules/{$module->name}/{$module->logo}{/if}" width="32" height="32" />
</td>
<td class="moduleName">
<h4>{$module->displayName}</h4>
<span class="moduleFavDesc text-muted">{$module->description|truncate:80:'...'}</span>
</td>
<td width="240px">
{assign var="module_name" value=$module->name}
<select name="t_{$module->name}" multiple="multiple" class="chosen moduleTabPreferencesChoise">
{foreach $tabs AS $t}
{if $t.active}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} class="group" value="{$t.id_tab}">{if $t.name eq ''}{$t.class_name}{else}{$t.name}{/if}</option>
{foreach from=$t.sub_tabs item=t2}
{if $t2.active}
{assign var="id_tab" value=$t.id_tab}
<option {if isset($tab_modules_preferences.$module_name) && in_array($t2.id_tab, $tab_modules_preferences.$module_name)} selected="selected" {/if} value="{$t2.id_tab}">{if $t2.name eq ''}{$t2.class_name}{else}{$t2.name|escape:'html':'UTF-8'}{/if}</option>
{/if}
{/foreach}
{/if}
{/foreach}
</select>
</td>
<td>
<span>{$module->categoryName}</span>
</td>
<td>
<select name="i_{$module->name}" class="moduleFavorite">
<option value="" selected="selected">-</option>
<option value="1" {if isset($module->preferences.interest) && $module->preferences.interest eq '1'}selected="selected"{/if}>{l s='Yes' d='Admin.Global'}</option>
<option value="0" {if isset($module->preferences.interest) && $module->preferences.interest eq '0'}selected="selected"{/if}>{l s='No' d='Admin.Global'}</option>
</select>
</td>
<td>
<select name="f_{$module->name}" class="moduleFavorite">
<option value="" selected="selected">-</option>
<option value="1" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '1'}selected="selected"{/if}>{l s='Yes' d='Admin.Global'}</option>
<option value="0" {if isset($module->preferences.favorite) && $module->preferences.favorite eq '0'}selected="selected"{/if}>{l s='No' d='Admin.Global'}</option>
</select>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,82 @@
{**
* 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)
*}
<!--start filter module-->
<form method="post" class="form-inline">
<div class="row">
<div class="col-lg-8">
<div class="form-group">
<label>{l s='Filter by'}</label>
<select name="module_install" id="module_install_filter" class="form-control {if isset($showInstalledModules) && $showInstalledModules && $showInstalledModules != 'installedUninstalled' }active{/if}">
<option value="installedUninstalled" {if $showInstalledModules eq 'installedUninstalled'}selected="selected"{/if}>{l s='Installed & Not Installed'}</option>
<option value="installed" {if $showInstalledModules eq 'installed'}selected="selected"{/if}>{l s='Installed Modules'}</option>
<option value="uninstalled" {if $showInstalledModules eq 'uninstalled'}selected="selected"{/if}>{l s='Modules Not Installed '}</option>
</select>
</div>
<div class="form-group">
<select name="module_status" id="module_status_filter" class="form-control {if isset($showEnabledModules) && $showEnabledModules && $showEnabledModules != enabledDisabled}active{/if}">
<option value="enabledDisabled" {if $showEnabledModules eq 'enabledDisabled'}selected="selected"{/if}>{l s='Enabled & Disabled'}</option>
<option value="enabled" {if $showEnabledModules eq 'enabled'}selected="selected"{/if}>{l s='Enabled Modules'}</option>
<option value="disabled" {if $showEnabledModules eq 'disabled'}selected="selected"{/if}>{l s='Disabled Modules'}</option>
</select>
</div>
</div>
<div class="col-lg-4">
<div class="form-group">
<label>{l s='Authors'}</label>
<select class="filter {if isset($showTypeModules) && $showTypeModules && $showTypeModules != allModules}active{/if}" name="module_type" id="module_type_filter">
<!-- <option value="allModules" {if $showTypeModules eq 'allModules'}selected="selected"{/if}>{l s='All Modules'}</option>
<option value="nativeModules" {if $showTypeModules eq 'nativeModules'}selected="selected"{/if}>{l s='Free Modules'}</option>
<option value="partnerModules" {if $showTypeModules eq 'partnerModules'}selected="selected"{/if}>{l s='Partner Modules (Free)'}</option>
<option value="mustHaveModules" {if $showTypeModules eq 'mustHaveModules'}selected="selected"{/if}>{l s='Must Have'}</option>
{if isset($logged_on_addons)}<option value="addonsModules" {if $showTypeModules eq 'addonsModules'}selected="selected"{/if}>{l s='Modules purchased on Addons'}</option>{/if} -->
<option value="allModules" {if $showTypeModules eq 'allModules'}selected="selected"{/if}>{l s='All authors'}</option>
{foreach from=$list_modules_authors key=module_author item=status}
<option value="authorModules[{$module_author}]" {if $status eq "selected"}selected{/if}>{$module_author|truncate:20:'...'}</option>
{/foreach}
<!-- <option value="otherModules" {if $showTypeModules eq 'otherModules'}selected="selected"{/if}>{l s='Other Modules'}</option> -->
</select>
</div>
</div>
</div>
<!-- <span>
<select class="filter fixed-width-lg" name="country_module_value" id="country_module_value_filter">
<option value="0" >{l s='All countries'}</option>
<option value="1" {if $showCountryModules eq 1}selected="selected"{/if}>{l s='Current country:'} {$nameCountryDefault}</option>
</select>
</span> -->
<!-- <span class="pull-right">
<button class="btn btn-default " type="submit" name="resetFilterModules">
<i class="icon-eraser"></i>
{l s='Reset'}
</button>
<button class="btn btn-default " name="filterModules" id="filterModulesButton" type="submit">
<i class="icon-filter"></i>
{l s='Filter' d='Admin.Actions'}
</button>
</span> -->
</form>
<!--end filter module-->

View File

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

View File

@@ -0,0 +1,325 @@
{**
* 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)
*}
<script type="text/javascript">{$autocompleteList}</script>
<script type="text/javascript">
var header_confirm_reset = '{l s='Confirm reset'}';
var body_confirm_reset = '{l s='Would you like to delete the content related to this module ?'}';
var left_button_confirm_reset = '{l s='No - reset only the parameters'}';
var right_button_confirm_reset = '{l s='Yes - reset everything'}';
var currentIndex = '{$currentIndex|escape:'html':'UTF-8'}';
var currentIndexWithToken = '{$currentIndex|escape:'html':'UTF-8'}&token={$token|escape:'html':'UTF-8'}';
var dirNameCurrentIndex = '{$dirNameCurrentIndex}';
var ajaxCurrentIndex = '{$ajaxCurrentIndex}';
var installed_modules = {if isset($installed_modules) && count($installed_modules)}{$installed_modules}{else}false{/if};
var by = '{l s='by'}';
var confirmPreferencesSaved = '{l s='Preferences saved'}';
{if isset($smarty.get.anchor) && !isset($error_module)}var anchor = '{$smarty.get.anchor|htmlentities|replace:'(':''|replace:')':''|replace:'{':''|replace:'}':''|replace:'\'':''|replace:'/':''}';{else}var anchor = '';{/if}
{if isset($smarty.get.module_name) && !isset($error_module) && (!isset($dont_filter) || !$dont_filter)}var module_name = '{$smarty.get.module_name|htmlentities|replace:'(':''|replace:')':''|replace:'{':''|replace:'}':''|replace:'\'':''|replace:'/':''}';{else}var module_name = '';{/if}
{literal}
function getPrestaStore(){if(getE("prestastore").style.display!='block')return;$.post(dirNameCurrentIndex+"/ajax.php",{page:"prestastore"},function(a){getE("prestastore-content").innerHTML=a;})}
function truncate_author(author){return ((author.length > 20) ? author.substring(0, 20)+"..." : author);}
function modules_management(action)
{
var modules = document.getElementsByName('modules');
var module_list = '';
for (var i = 0; i < modules.length; i++)
{
if (modules[i].checked == true)
{
rel = modules[i].getAttribute('data-rel');
if (rel != "false" && action == "uninstall")
{
if (!confirm(rel))
return false;
}
module_list += '|'+modules[i].value;
}
}
document.location.href=currentIndex+'&token='+token+'&'+action+'='+module_list.substring(1, module_list.length);
}
$('document').ready( function() {
// ScrollTo
if (anchor != '')
$.uiTableFilter($('#moduleContainer').find('table'), anchor);
if (module_name != '')
$.uiTableFilter($('#moduleContainer').find('table'), module_name);
$('#moduleQuicksearch').on('keyup', function(){
val = this.value;
if ($('#filter_all').hasClass('active'))
$.uiTableFilter($('#moduleContainer').find('table'), val);
else
$('#filter_all').trigger('click');
var interval = setInterval(function () {
if (!$('#loader_module_list').length)
{
$.uiTableFilter($('#moduleContainer').find('table'), val);
clearInterval(interval);
interval = null;
}
}, 100);
}).on('keydown', function(e){
if (e.keyCode == 13)
return false;
});
$('input[name="filtername"]').result(function(event, data, formatted) {
$('#filternameForm').submit();
});
// Method to check / uncheck all modules checkbox
$('#moduleContainer').on("click", "#checkme", function()
{
if ($(this).attr("rel") == 'false')
{
$(this).attr("checked", true);
$(this).attr("rel", "true");
$("input[name=modules]").attr("checked", true);
}
else
{
$(this).removeAttr("checked");
$(this).attr("rel", "false");
$("input[name=modules]").removeAttr("checked");
}
});
// Method to reload filter in ajax
$('.categoryModuleFilterLink').click(function()
{
if ($(this).hasClass('active'))
return false;
$('.categoryModuleFilterLink').removeClass('active');
$(this).addClass('active');
try
{
resAjax = $.ajax({
type:"POST",
url : $(this).attr('href')+'&rand=' + new Date().getTime(),
headers: {"cache-control": "no-cache"},
async: true,
cache: false,
data : {
ajax : "1",
token : token,
controller : "AdminModules",
action : "reloadModulesList"
},
beforeSend: function(xhr){
$('#moduleContainer').html('<img id="loader_module_list" src="../img/loader.gif" alt="" border="0" />');
},
success: function(data, status, request){
if (request.getResponseHeader('Login') === 'true')
return window.location.reload();
$('#moduleContainer').html(data);
$('.dropdown-toggle').dropdown();
$('.help-tooltip').tooltip();
}
});
}
catch(e){}
return false;
});
// Method to get modules_list.xml from prestashop.com and default_country_modules_list.xml from addons.prestashop.com
try
{
resAjax = $.ajax({
type:"POST",
url: ajaxCurrentIndex,
headers: {"cache-control": "no-cache"},
async: true,
cache: false,
data: {
ajaxMode : "1",
ajax : "1",
token : token,
controller : "AdminModules",
action : "refreshModuleList"
},
success: function(data){
if (data == '{"status":"refresh"}')
window.location.href = window.location.href;
}
});
}
catch(e) { }
// Method to set filter on modules
function setFilter()
{
var module_type = $("#module_type_filter").val();
var module_install = $("#module_install_filter").val();
var module_status = $("#module_status_filter").val();
var country_module_value = $("#country_module_value_filter").val();
try
{
resAjax = $.ajax({
type:"POST",
url : ajaxCurrentIndex,
async: true,
data : {
ajax : "1",
token : token,
controller : "AdminModules",
action : "setFilter",
module_type : module_type,
module_install : module_install,
module_status : module_status,
country_module_value : country_module_value,
filterModules : 'Filter'
},
success : function(data){
if (data == 'OK')
window.location.href = currentIndexWithToken;
}
});
}
catch(e){}
return false;
}
$(document).on('change', '#module_type_filter, #module_install_filter, #module_status_filter, #country_module_value_filter', function() {
setFilter();
});
$('.moduleTabPreferencesChoise').change(function()
{
var value_pref = $(this).val();
var module_pref = $(this).attr('name');
module_pref = module_pref.substring(2, module_pref.length);
$.ajax({
type:"POST",
url : ajaxCurrentIndex,
async: true,
data : {
ajax : "1",
token : token,
controller : "AdminModules",
action : "saveTabModulePreferences",
module_pref : module_pref,
value_pref : value_pref
},
success : function(data){
if (data == 'OK')
showSuccessMessage(confirmPreferencesSaved);
}
});
});
// Method to save favorites preferences
$('.moduleFavorite').change(function()
{
var value_pref = $(this).val();
var module_pref = $(this).attr('name');
var action_pref = module_pref.substring(0, 1);
module_pref = module_pref.substring(2, module_pref.length);
try
{
resAjax = $.ajax({
type:"POST",
url : ajaxCurrentIndex,
async: true,
data : {
ajax : "1",
token : token,
controller : "AdminModules",
action : "saveFavoritePreferences",
action_pref : action_pref,
module_pref : module_pref,
value_pref : value_pref
},
success : function(data){
if (data == 'OK')
showSuccessMessage(confirmPreferencesSaved);
}
});
}
catch(e){}
return false;
});
$('#moduleContainer').on("click", ".toggle_favorite", function()
{
var el = $(this);
var value_pref = el.data('value');
var module_pref = el.data('module');
var action_pref = 'f';
var total_favorites = parseInt($('#favorite-count').html());
try
{
resAjax = $.ajax({
type:"POST",
url : ajaxCurrentIndex,
async: true,
data : {
ajax : "1",
token : token,
controller : "AdminModules",
action : "saveFavoritePreferences",
action_pref : action_pref,
module_pref : module_pref,
value_pref : value_pref
},
success : function(data)
{
// res.status = cache or refresh
if (data == 'OK')
{
el.toggle();
el.parent('li').siblings().find('a.toggle_favorite').toggle();
if (value_pref)
$('#favorite-count').html(total_favorites+1);
else
$('#favorite-count').html(total_favorites-1);
}
},
error: function(res,textStatus,jqXHR)
{
//jAlert("TECHNICAL ERROR"+res);
}
});
}
catch(e){}
return false;
});
});
{/literal}
</script>

View File

@@ -0,0 +1,237 @@
{**
* 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)
*}
<table id="module-list" class="table">
<thead>
<tr>
<th colspan="4">
{include file='controllers/modules/filters.tpl'}
</th>
</tr>
</thead>
{if count($modules)}
<tbody>
{foreach from=$modules item=module}
{capture name="moduleStatutClass"}{if isset($module->id) && $module->id gt 0 && $module->active == 1}module_active{else}module_inactive{/if}{/capture}
<tr>
<td class="{{$smarty.capture.moduleStatutClass}} text-center" style="width: 1%;">
{if (isset($module->id) && $module->id > 0) || !isset($module->type) || $module->type != 'addonsMustHave'}
<input type="checkbox" name="modules" value="{$module->name|escape:'html':'UTF-8'}" class="noborder" title="{l s='Module %1s ' sprintf=[$module->name]}"{if !isset($module->confirmUninstall) OR empty($module->confirmUninstall)} data-rel="false"{else} data-rel="{$module->confirmUninstall|addslashes}"{/if}/>
{/if}
</td>
<td class="fixed-width-xs">
<img width="57" alt="{$module->displayName|escape:'html':'UTF-8'}" title="{$module->displayName|escape:'html':'UTF-8'}" src="{if isset($module->image)}{$module->image}{else}{$modules_uri}/{$module->name}/{$module->logo}{/if}" />
</td>
<td>
<div id="anchor{$module->name|ucfirst}" title="{$module->displayName|escape:'html':'UTF-8'}">
<div class="text-muted">
{$module->categoryName}
</div>
<div class="module_name">
<span style="display:none">{$module->name|escape:'html':'UTF-8'}</span>
{$module->displayName|escape:'html':'UTF-8'}
<small class="text-muted">v{$module->version} - {l s='by'} {$module->author}</small>
{if isset($module->type) && $module->type == 'addonsBought'}
- <span class="module-badge-bought help-tooltip text-warning" data-title="{l s="You bought this module on PrestaShop Addons. Thank You."}"><i class="icon-pushpin"></i> <small>{l s="Bought"}</small></span>
{elseif isset($module->type) && $module->type == 'addonsMustHave'}
- <span class="module-badge-popular help-tooltip text-primary" data-title="{l s="This module is available on PrestaShop Addons"}"><i class="icon-group"></i> <small>{l s="Popular"}</small></span>
{elseif isset($module->type) && $module->type == 'addonsPartner'}
- <span class="module-badge-partner help-tooltip text-warning" data-title="{l s="Official, PrestaShop certified module. Free, secure and includes updates!"}"><i class="icon-pushpin"></i> <small>{l s="Official"}</small></span>
{elseif isset($module->id) && $module->id gt 0}
{if isset($module->version_addons) && $module->version_addons}
<span class="label label-warning">{l s='Need update'}</span>
{/if}
{/if}
</div>
<p class="module_description">
{if isset($module->description) && $module->description ne ''}
{$module->description}
{/if}
{if isset($module->show_quick_view) && $module->show_quick_view}
<br><a href="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;ajax=1&amp;action=GetModuleQuickView&amp;module={$module->name|urlencode}" class="fancybox-quick-view"><i class="icon-search"></i> {l s='Read more'}</a>
{/if}
</p>
{if isset($module->message) && (empty($module->name) !== false) && (!isset($module->type) || ($module->type != 'addonsMustHave' || $module->type !== 'addonsNative'))}<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button>{$module->message}</div>{/if}
</div>
</td>
<td class="actions">
<div class="btn-group-action">
<div class="btn-group pull-right">
{if isset($module->type) && $module->type == 'addonsMustHave'}
<a class="btn btn-default _blank" href="{$module->addons_buy_url|replace:' ':'+'|escape:'html':'UTF-8'}">
<i class="icon-shopping-cart"></i> &nbsp;{if isset($module->price)}{if $module->price|floatval == 0}{l s='Free'}{elseif isset($module->id_currency)}{displayPrice price=$module->price currency=$module->id_currency}{/if}{/if}
</a>
{else}
{if isset($module->id) && $module->id gt 0}
{if isset($module->version_addons) && $module->version_addons}
<a class="btn btn-warning" href="{$module->options.update_url|escape:'html':'UTF-8'}">
<i class="icon-refresh"></i> {l s='Update it!'}
</a>
{elseif !isset($module->not_on_disk)}
{if $module->optionsHtml|count > 0}
{assign var=option value=$module->optionsHtml[0]}
{$option}
{/if}
{else}
<a class="btn btn-danger" {if !empty($module->options.uninstall_onclick)}onclick="{$module->options.uninstall_onclick}"{/if} href="{$module->options.uninstall_url|escape:'html':'UTF-8'}">
<i class="icon-minus-sign-alt"></i>&nbsp;{l s='Uninstall'}
</a>
{/if}
{else}
{if isset($module->trusted) && $module->trusted}
{if $module->trusted == 2}
<a class="btn btn-success untrustedaddon" href="#" data-target="#moduleNotTrustedCountry" data-toggle="modal" data-link="{$module->options.install_url|escape:'html':'UTF-8'}" data-module-name="{$module->displayName|escape:'html':'UTF-8'}">
<i class="icon-plus-sign-alt"></i>&nbsp;{l s='Install'}
</a>
{else}
<a class="btn btn-success" href="{$module->options.install_url|escape:'html':'UTF-8'}">
<i class="icon-plus-sign-alt"></i>&nbsp;{l s='Install'}
</a>
{/if}
{else}
<a class="btn btn-success untrustedaddon" href="#" data-target="#moduleNotTrusted" data-toggle="modal" data-link="{$module->options.install_url|escape:'html':'UTF-8'}" data-module-display-name="{$module->displayName|escape:'html':'UTF-8'}" data-module-name="{$module->name|escape:'html':'UTF-8'}" data-module-image="{if isset($module->image)}{$module->image}{else}{$modules_uri}/{$module->name}/{$module->logo}{/if}" data-author-name="{$module->author|escape:'html':'UTF-8'}" data-author-uri="{if isset($module->author_uri)}{$module->author_uri|escape:'html':'UTF-8'}{/if}">
<i class="icon-plus-sign-alt"></i>&nbsp;{l s='Install'}
</a>
{/if}
{/if}
{if !isset($module->not_on_disk) && isset($module->id)}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu">
{foreach $module->optionsHtml key=key item=option}
{if $key != 0}
{if strpos($option, 'title="divider"') !== false}
<li class="divider"></li>
{else}
<li>{$option}</li>
{/if}
{/if}
{/foreach}
</ul>
{elseif !isset($module->not_on_disk) && !isset($module->id)}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu">
{foreach $module->optionsHtml key=key item=option}
{if $key != 0}
{if strpos($option, 'title="divider"') !== false}
<li class="divider"></li>
{else}
<li>{$option}</li>
{/if}
{/if}
{/foreach}
</ul>
{elseif isset($module->not_on_disk)}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu">
{if isset($module->preferences) && isset($module->preferences['favorite']) && $module->preferences['favorite'] == 1}
<li>
<a class="action_module action_unfavorite toggle_favorite" data-module="{$module->name}" data-value="0" href="#">
<i class="icon-star"></i> {l s='Remove from Favorites'}
</a>
<a class="action_module action_favorite toggle_favorite" data-module="{$module->name}" data-value="1" href="#" style="display: none;">
<i class="icon-star"></i> {l s='Mark as Favorite'}
</a>
</li>
{else}
<li>
<a class="action_module action_unfavorite toggle_favorite" data-module="{$module->name}" data-value="0" href="#" style="display: none;">
<i class="icon-star"></i> {l s='Remove from Favorites'}
</a>
<a class="action_module action_favorite toggle_favorite" data-module="{$module->name}" data-value="1" href="#">
<i class="icon-star"></i> {l s='Mark as Favorite'}
</a>
</li>
{/if}
</ul>
{else}
&nbsp;
{/if}
{/if}
</div>
</div>
</td>
</tr>
{/foreach}
</tbody>
</table>
<div class="btn-group pull-left">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
{l s='Bulk actions' d='Admin.Global'}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#" onclick="modules_management('install')">
<i class="icon-plus-sign-alt"></i>&nbsp;
{l s='Install the selection'}
</a>
</li>
<li>
<a href="#" onclick="modules_management('uninstall')">
<i class="icon-minus-sign-alt"></i>&nbsp;
{l s='Uninstall the selection'}
</a>
</li>
</ul>
</div>
{else}
<tbody>
<tr>
<td colspan="4" class="list-empty">
<div class="list-empty-msg">
<i class="icon-warning-sign list-empty-icon"></i> {l s='No modules available in this section.'}
</div>
</td>
</tr>
</tbody>
</table>
{/if}
<script type="text/javascript">
$(document).ready(function(){
$('.fancybox-quick-view').each(function() {
$(this).fancybox({
type: 'ajax',
autoDimensions: false,
autoSize: false,
width: 600,
height: 'auto',
helpers: {
overlay: {
locked: false
}
},
href: $(this).attr('href')+'&admin_list_from_source='+getControllerActionMap('read-more')
});
});
});
</script>

View File

@@ -0,0 +1,93 @@
{**
* 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">
<span class="input-group-addon"><i class="icon-user"></i></span>
<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">
<span class="input-group-addon"><i class="icon-key"></i></span>
<input id="password_addons" name="password_addons" type="password" value="" autocomplete="off" class="form-control ac_input">
</div>
<a class="btn btn-link pull-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,91 @@
{**
* 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="untrusted-content-action">
<div class="modal-body">
<div class="alert alert-warning">
<h3>{l s='Do you want to install this module that could not be verified by PrestaShop?'}</h3>
<p>{l s="This generally happens when the module isn't distributed through our official marketplace, PrestaShop Addons - or when your server failed to communicate with PrestaShop Addons."}</p>
</div>
<div class="row">
<div class="col-sm-2" style="text-align: center;">
<img id="untrusted-module-logo" class="" src="" alt="" style="max-width:96px;">
</div>
<div class="col-sm-10">
<table class="table">
<tr>
<td>{l s='Module'}</td>
<td><strong><span class="module-display-name-placeholder"></span></strong></td>
</tr>
<tr>
<td>{l s='Author'}</td>
<td><strong><span class="author-name-placeholder"></span></strong></td>
</tr>
</table>
</div>
<div class="col-sm-12" style="text-align: center; padding-top: 12px;">
<a id="proceed-install-anyway" href="#" class="btn btn-warning">{l s='Proceed with the installation'}</a>
<button type="button" class="btn btn-default" data-dismiss="modal">{l s='Back to modules list'}</button>
</div>
</div>
</div>
<div class="modal-footer">
<div class="alert alert-info">
<p>
{l s='Since you may not have downloaded this module from PrestaShop Addons, we cannot assert that the module is not adding some undisclosed functionalities. We advise you to install it only if you trust the source of the content.'}
<a id="untrusted-show-risk" href="#"><strong>{l s="What's the risk?"}</strong></a>
</p>
</div>
</div>
</div>
<div class="untrusted-content-more-info" style="display:none;">
<div class="modal-body">
<h4>{l s='Am I at Risk?'}</h4>
<p>{l s="A module that hasn't been verified may be dangerous and could add hidden functionalities like backdoors, ads, hidden links, spam, etc. Dont worry, this alert is simply a warning."}</p>
<p>{l s="PrestaShop, being an open-source software, has an awesome community with a long history of developing and sharing high quality modules. Before installing this module, making sure its author is a known community member is always a good idea (by checking [1]our forum[/1] for instance)." html=true sprintf=['[1]' => '<a href="https://www.prestashop.com/forums/">', '[/1]' => '</a>']}</p>
<h4>{l s='What Should I Do?'}</h4>
<p>{l s="If you trust or find the author of this module to be an active community member, you can proceed with the installation."}</p>
<p>{l s="Otherwise you can look for similar modules on the official marketplace. [1]Click here to browse PrestaShop Addons[/1]." html=true sprintf=['[1]' => '<a class="catalog-link" href="#">', '[/1]' => '</a>']}</p>
</div>
<div class="modal-footer">
<a id="untrusted-show-action" class="btn btn-default" href="#">{l s='Back'}</a>
</div>
</div>

View File

@@ -0,0 +1,64 @@
{**
* 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">
<div class="alert alert-warning">
<h3>{l s='This module could not be verified by PrestaShop.'}</h3>
<p>{l s="This generally happens when the module isn't distributed through our official marketplace, PrestaShop Addons - or when your server failed to communicate with PrestaShop Addons."}</p>
</div>
<div class="row">
<div class="col-sm-2" style="text-align: center;">
<img id="untrusted-module-logo" class="" src="" alt="">
</div>
<div class="col-sm-10">
<table class="table">
<tr>
<td>{l s='Module'}</td>
<td><strong><span class="module-display-name-placeholder"></span></strong></td>
</tr>
<tr>
<td>{l s='Author'}</td>
<td><strong><span class="author-name-placeholder"></span></strong></td>
</tr>
</table>
</div>
<div class="col-sm-12" style="text-align: center; padding-top: 12px;">
<button type="button" class="btn btn-default" data-dismiss="modal">{l s='Back to modules list'}</button>
</div>
</div>
</div>
<div class="modal-footer">
<div class="alert alert-info">
<p>{l s='Since you may not have installed this module from PrestaShop Addons, we cannot assert that the module is complying with our safety requirements (e.g. that it is not adding some undisclosed functionalities such as ads, hidden links, spam, etc...).'}</p>
<p>{l s='You can search for similar modules on the official marketplace.'}</p>
<p>{l s="[1]Click here to browse our catalog on PrestaShop Addons[/1]." html=true sprintf=['[1]' => '<a class="catalog-link" href="#">', '[/1]' => '</a>']}
</div>
</div>

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)
*}
{assign var=module_name value='<strong><span class="module-display-name-placeholder"></span></strong>'}
<div class="modal-body">
<div class="alert alert-warning">
<h4>{l s='You are about to install "%s", a module which is not compatible with your country.' sprintf=[$module_name]}</h4>
<p>
{l s='This module was not verified by PrestaShop hence we cannot certify that it works well in your country and that it complies with our quality requirements.'}
<strong>{l s='Use at your own risk.'}</strong>
</p>
</div>
<h3>{l s='What Should I Do?'}</h3>
<p>
{l s='If you are unsure about this, you should contact the Customer Service of %s to ask them to make the module compatible with your country.' sprintf=[$module_name]}<br />
{l s='Moreover, we recommend that you use an equivalent module: compatible modules for your country are listed in the "Modules" tab of your back office.'}
</p>
<p>
{l s='If you are unsure about this module, you can look for similar modules on the official marketplace.'}
<a target="_blank" rel="noopener noreferrer nofollow" href="https://addons.prestashop.com/">{l s='Click here to browse PrestaShop Addons.'}</a>
</p>
</div>
<div class="modal-footer">
<div class="row">
<div class="col-sm-12 text-center">
<a id="proceed-install-anyway" href="#" class="btn btn-warning">{l s='Proceed with the installation'}</a>
<button type="button" class="btn btn-default" data-dismiss="modal">{l s='Back to modules list'}</button>
</div>
</div>
</div>

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 class="modal-body">
<div class="input-group">
<button type="button" class="btn btn-default dropdown-toggle" tabindex="-1" data-toggle="dropdown">
<i class="icon-flag"></i>
{l s='Manage translations'}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
{foreach from=$module_languages item=language}
<li>
<a href="{$translateLinks[$language.iso_code]|escape:'html':'UTF-8'}">{$language.name|escape:'html':'UTF-8'}</a>
</li>
{/foreach}
</ul>
</div>
</div>

View File

@@ -0,0 +1,138 @@
{**
* 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($logged_on_addons) || !$logged_on_addons}
<div class="alert bg-info">
<div class="row modules-addons-info">
<h4>{l s='Addons membership provides access to all our PrestaShop modules.'}</h4>
<p>{l s='Once connected, your new modules will be automatically installed.'}</p>
</div>
<div class="row modules-addons-buttons">
<a class="btn btn-default btn-primary _blank" href="{$addons_register_link|escape:'html':'UTF-8'}"><i class="icon-pencil"></i> {l s='Sign up'}</a><a href="#" class="addons_connect btn btn-default" data-toggle="modal" data-target="#modal_addons_connect" title="{l s='Connect to PrestaShop Marketplace account'}"><i class="icon-user"></i> {l s='Log in'}</a>
</div>
</div>
{/if}
{$kpis}
{if $add_permission eq '1'}
<div id="module_install" class="row" style="{if !isset($smarty.post.downloadflag)}display: none;{/if}">
<div class="panel col-lg-12">
<form action="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}" method="post" enctype="multipart/form-data" class="form-horizontal">
<h3>{l s='Add a new module'}</h3>
<p class="alert alert-info">{l s='The module must either be a Zip file (.zip) or a tarball file (.tar, .tar.gz, .tgz).'}</p>
<div class="form-group">
<label for="file" class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip" title="{l s='Upload a module from your computer.'}">
{l s='Module file'}
</span>
</label>
<div class="col-sm-9">
<div class="row">
<div class="col-lg-7">
<input id="file" type="file" name="file" class="hide" />
<div class="dummyfile input-group">
<span class="input-group-addon"><i class="icon-file"></i></span>
<input id="file-name" type="text" class="disabled" name="filename" readonly />
<span class="input-group-btn">
<button id="file-selectbutton" type="button" name="submitAddAttachments" class="btn btn-default">
<i class="icon-folder-open"></i> {l s='Choose a file'}
</button>
</span>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-lg-9 col-lg-push-3">
<button class="btn btn-default" type="submit" name="download">
<i class="icon-upload-alt" ></i>
{l s='Upload this module'}
</button>
</div>
</div>
</form>
</div>
</div>
{/if}
{if $upgrade_available|@count}
<div class="alert alert-info">
{l s='An upgrade is available for some of your modules!'}
<ul>
{foreach from=$upgrade_available item='module'}
<li><a href="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;anchor={$module.anchor|escape:'html':'UTF-8'}"><b>{$module.displayName|escape:'html':'UTF-8'}</b></a></li>
{/foreach}
</ul>
</div>
{/if}
<div class="panel">
<div class="panel-heading">
<i class="icon-list-ul"></i>
{l s='Modules list'}
</div>
<!--start sidebar module-->
<div class="row">
<div class="categoriesTitle col-md-3">
<div class="list-group">
<form id="filternameForm" method="post" class="list-group-item form-horizontal">
<div class="input-group">
<span class="input-group-addon">
<i class="icon-search"></i>
</span>
<input class="form-control" placeholder="{l s='Search' d='Admin.Actions'}" type="text" value="" name="moduleQuicksearch" id="moduleQuicksearch" autocomplete="off" />
</div>
</form>
<a class="categoryModuleFilterLink list-group-item {if isset($categoryFiltered.favorites)}active{/if}" href="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;filterCategory=favorites" id="filter_favorite">
{l s='Favorites'} <span id="favorite-count" class="badge pull-right">{$nb_modules_favorites}</span>
</a>
<a class="categoryModuleFilterLink list-group-item {if count($categoryFiltered) lte 0}active{/if}" href="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;unfilterCategory=yes" id="filter_all">
{l s='All'} <span class="badge pull-right">{$nb_modules}</span>
</a>
{foreach from=$list_modules_categories item=module_category key=module_category_key}
<a class="categoryModuleFilterLink list-group-item {if isset($categoryFiltered[$module_category_key])}active{/if}" href="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;{if isset($categoryFiltered[$module_category_key])}un{/if}filterCategory={$module_category_key}" id="filter_{$module_category_key}">
{$module_category.name} <span class="badge pull-right">{$module_category.nb}</span>
</a>
{/foreach}
</div>
</div>
<div id="moduleContainer" class="col-md-9">
{include file='controllers/modules/list.tpl'}
</div>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
$('#file-selectbutton').click(function(e){
$('#file').trigger('click');
});
$('#file-name').click(function(e){
$('#file').trigger('click');
});
$('#file').change(function(e){
var val = $(this).val();
var file = val.split(/[\\/]/);
$('#file-name').val(file[file.length-1]);
});
});
</script>

View File

@@ -0,0 +1,85 @@
{**
* 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}
<h2 class="page-title">
{l s='List of modules'}
</h2>
{/block}
{block name=toolbarBox}
<div class="page-bar toolbarBox">
<div class="btn-toolbar">
<ul class="nav nav-pills pull-right">
{if isset($upgrade_available) && $upgrade_available|@count}
{assign var='modules' value=''}
{foreach from=$upgrade_available item='module'}
{assign var='modules' value=$modules|cat:$module.name:'|'}
{/foreach}
{assign var='modules' value=$modules|substr:0:-1}
<li>
<a id="desc-module-update-all" class="toolbar_btn" href="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;updateAll=1" title="{l s='Update all'}">
<i class="process-icon-refresh"></i>
<div>{l s='Update all'}</div>
</a>
</li>
{else}
<li>
<a id="desc-module-check-and-update-all" class="toolbar_btn" href="{$currentIndex|escape:'html':'UTF-8'}&amp;token={$token|escape:'html':'UTF-8'}&amp;check=1" title="{l s='Check for update'}">
<i class="process-icon-refresh"></i>
<div>{l s='Check for update'}</div>
</a>
</li>
{/if}
{if $add_permission eq '1' && ($context_mode != Context::MODE_HOST)}
<li>
<a id="desc-module-new" class="toolbar_btn anchor" href="#" onclick="$('#module_install').slideToggle();" title="{l s='Add a new module'}">
<i class="process-icon-new"></i>
<div>{l s='Add a new module'}</div>
</a>
</li>
{else}
<li>
<a id="desc-module-new" class="toolbar_btn" href="{$link->getAdminLink('AdminModules', true, [], ['addnewmodule' => 1])}" title="{l s='Add a new module'}">
<i class="process-icon-new"></i>
<div>{l s='Add a new module'}</div>
</a>
</li>
{/if}
{if isset($help_link)}
<li>
<a class="toolbar_btn btn-help" href="{$help_link|escape}" title="{l s='Help'}">
<i class="process-icon-help"></i>
<div>{l s='Help'}</div>
</a>
</li>
{/if}
</ul>
</div>
</div>
{/block}

View File

@@ -0,0 +1,104 @@
{**
* 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="bootstrap">
<div class="col-lg-2">
<img src="{$image}" alt="{$displayName}" class="img-thumbnail" />
{if isset($badges)}
{foreach $badges as $badge}
{if is_array($badge)}
{foreach $badge as $_badge}
<img src="{$_badge}" alt="" class="clearfix quickview-badge" />
{/foreach}
{else}
<img src="{$badge}" alt="" class="clearfix quickview-badge" />
{/if}
{/foreach}
{/if}
</div>
<div class="col-lg-10">
<h1>{$displayName}</h1>
<div class="row">
<div class="col-sm-6">
{if (int)$nb_rates > 0}
<span class="rating">
<span class="star{if $avg_rate == 5} active{/if}"></span>
<span class="star{if $avg_rate == 4} active{/if}"></span>
<span class="star{if $avg_rate == 3} active{/if}"></span>
<span class="star{if $avg_rate == 2} active{/if}"></span>
<span class="star{if $avg_rate == 1} active{/if}"></span>
</span>
<p class="small">{if (int)$nb_rates > 1}{l s="(%s votes)" sprintf=[$nb_rates]}{else}{l s="(%s vote)" sprintf=[$nb_rates]}{/if}</p>
{/if}
</div>
<div class="col-sm-6">
{if (int)$price}
<div class="quickview-price">
{displayPrice price=$price currency=$id_currency}
</div>
{/if}
</div>
</div>
<hr />
<h3>{l s="Description"}</h3>
<p class="text-justify">{$description_full}</p>
{if isset($additional_description) && trim($additional_description) != ''}
<hr />
<h3>{l s="Merchant benefits"}</h3>
<p class="text-justify">{$additional_description}</p>
{/if}
<hr />
{if $installed}
<div class="btn-group-action pull-right">
{if $options|count > 0}
<div class="btn-group">
{assign var=option value=$options[0]}
{$option}
{if $options|count > 1}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu pull-right">
{foreach $options key=key item=option}
{if $key != 0}
{if strpos($option, 'title="divider"') !== false}
<li class="divider"></li>
{else}
<li>{$option}</li>
{/if}
{/if}
{/foreach}
</ul>
{/if}
</div>
{/if}
</div>
{elseif $is_addons_partner}
<a class="btn btn-success btn-lg pull-right" href="{$url}">{l s='Install module'}</a>
{else}
<a class="btn btn-success btn-lg pull-right" href="{$url}" onclick="return !window.open(this.href, '_blank');">{l s='View on PrestaShop Addons'}</a>
{/if}
</div>
</div>

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="container-fluid ">
<div class="row">
{if (int)$nb_rates > 0}
<div class="rating col-md-3">
<span class="star{if $avg_rate == 5} active{/if}"></span>
<span class="star{if $avg_rate == 4} active{/if}"></span>
<span class="star{if $avg_rate == 3} active{/if}"></span>
<span class="star{if $avg_rate == 2} active{/if}"></span>
<span class="star{if $avg_rate == 1} active{/if}"></span>
</div>
<div class="col-md-2">{if (int)$nb_rates > 1}{l s="(%s votes)" sprintf=[$nb_rates]}{else}{l s="(%s vote)" sprintf=[$nb_rates]}{/if}</div>
<div class="col-md-3">
{if isset($badges)}
{foreach $badges as $badge}
<img src="{$badge}" alt="" class="clearfix" />
{/foreach}
{/if}
</div>
{if (int)$price}
<div class="quickview-price">
{displayPrice price=$price currency=$id_currency}
</div>
{/if}
{/if}
</div>
<div class="row">
<hr />
<h4>{l s="Description"}</h3>
<hr />
<p class="text-justify">{$description_full}</p>
</div>
{if isset($additional_description) && trim($additional_description) != ''}
<div class="row">
<hr />
<h4>{l s="Merchant benefits"}</h3>
<hr />
<p class="text-justify">{$additional_description}</p>
</div>
{/if}
<div class="row">
{if $installed}
<div class="btn-group-action pull-right">
{if $options|count > 0}
<div class="btn-group">
{assign var=option value=$options[0]}
{$option}
{if $options|count > 1}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu pull-right">
{foreach $options key=key item=option}
{if $key != 0}
{if strpos($option, 'title="divider"') !== false}
<li class="divider"></li>
{else}
<li>{$option}</li>
{/if}
{/if}
{/foreach}
</ul>
{/if}
</div>
{/if}
</div>
{elseif $is_addons_partner}
<a class="btn btn-success btn-lg pull-right" href="{$url}">{l s='Install module'}</a>
{else}
<a class="btn btn-success btn-lg pull-right" href="{$url}" onclick="return !window.open(this.href, '_blank');">{l s='View on PrestaShop Addons'}</a>
{/if}
</div>
</div>

View File

@@ -0,0 +1,32 @@
{**
* 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)
*}
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 class="modal-title">
<div class="module_name">
<a href="#" class="icon icon-chevron-left" onclick="openModulesList()"></a>
{$displayName}
<small class="text-muted">{l s='v'}{$version} - {l s='by'} {$author}</small>
</div>
</h3>

View File

@@ -0,0 +1,109 @@
{**
* 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)
*}
<tr>
<td class="fixed-width-sm center">
<img class="img-thumbnail" alt="{$module->name}" src="{if isset($module->image)}{$module->image}{else}{$smarty.const._MODULE_DIR_}{$module->name}/{$module->logo}{/if}" />
</td>
<td>
<div id="anchor{$module->name|ucfirst}" title="{$module->displayName}">
<div class="module_name">
<span style="display:none">{$module->name}</span>
{$module->displayName}
<small class="text-muted">v{$module->version} - by {$module->author}</small>
{if isset($module->type) && $module->type == 'addonsBought'}
- <span class="module-badge-bought help-tooltip text-warning" data-title="{l s="You bought this module on PrestaShop Addons. Thank You."}"><i class="icon-pushpin"></i> <small>{l s="Bought"}</small></span>
{elseif isset($module->type) && $module->type == 'addonsMustHave'}
- <span class="module-badge-popular help-tooltip text-primary" data-title="{l s="This module is available on PrestaShop Addons"}"><i class="icon-group"></i> <small>{l s="Popular"}</small></span>
{elseif isset($module->type) && $module->type == 'addonsPartner'}
- <span class="module-badge-partner help-tooltip text-warning" data-title="{l s="This module is available for free thanks to our partner."}"><i class="icon-pushpin"></i> <small>{l s="Official"}</small></span>
{elseif isset($module->id) && $module->id gt 0}
{if isset($module->version_addons) && $module->version_addons}
<span class="label label-warning">{l s='Need update'}</span>
{/if}
{/if}
</div>
<p class="module_description">
{if isset($module->description) && $module->description ne ''}
{$module->description}
{/if}
{if isset($module->show_quick_view) && $module->show_quick_view}
<br><a href="#" class="controller-quick-view" data-name="{$module->name|escape:'html':'UTF-8'}"><i class="icon-search"></i> {l s='Read more'}</a>
{/if}
</p>
{if isset($module->message) && (empty($module->name) !== false) && (!isset($module->type) || ($module->type != 'addonsMustHave' || $module->type !== 'addonsNative'))}<div class="alert alert-success"><button type="button" class="close" data-dismiss="alert">&times;</button>{$module->message}</div>{/if}
</div>
</td>
{if isset($module->type) && $module->type == 'addonsMustHave'}
<td>&nbsp;</td>
<td style="text-align: right;">
<p>
<a href="{$module->addons_buy_url|replace:' ':'+'|escape:'html':'UTF-8'}" onclick="return !window.open(this.href, '_blank');" class="button updated _blank">
<span class="btn btn-default">
<i class="icon-shopping-cart"></i>{if isset($module->price)}{if $module->price|floatval == 0}{l s='Free'}{elseif isset($module->id_currency)} &nbsp;&nbsp;{displayPrice price=$module->price currency=$module->id_currency}{/if}{/if}
</span>
</a>
</p>
</td>
{elseif !isset($module->not_on_disk)}
<td>&nbsp;</td>
<td class="actions">
<div class="btn-group-action">
{if $module->optionsHtml|count > 0}
<div class="btn-group">
{assign var=option value=$module->optionsHtml[0]}
{$option}
{if $module->optionsHtml|count > 1}
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" >
<span class="caret">&nbsp;</span>
</button>
<ul class="dropdown-menu pull-right">
{foreach $module->optionsHtml key=key item=option}
{if $key != 0}
{if strpos($option, 'title="divider"') !== false}
<li class="divider"></li>
{else}
<li>{$option}</li>
{/if}
{/if}
{/foreach}
</ul>
{/if}
</div>
{/if}
</div>
</td>
{else}
<td>&nbsp;</td>
<td style="text-align: right;">
<p>
<a href="{$module->options.install_url|escape:'html':'UTF-8'}" class="btn btn-success">
<i class="icon-plus-sign-alt"></i>
{l s='Install'}
</a>
</p>
</td>
{/if}
</tr>

View File

@@ -0,0 +1,70 @@
{**
* 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($tab_modules_list) && !empty($tab_modules_list)}
<div class="row row-margin-bottom">
<div class="col-lg-12">
<ul class="nav nav-pills">
{if count($tab_modules_list.not_installed)}
<li class="active">
<a href="#tab_modules_list_not_installed" data-toggle="tab">
{l s='Not Installed'}
</a>
</li>
{/if}
{if count($tab_modules_list.installed)}
<li {if count($tab_modules_list.not_installed) == 0}class="active"{/if}>
<a href="#tab_modules_list_installed" data-toggle="tab">
{l s='Installed'}
</a>
</li>
{/if}
</ul>
</div>
</div>
<div id="modules_list_container_content" class="tab-content modal-content-overflow">
{if count($tab_modules_list.not_installed)}
<div class="tab-pane active" id="tab_modules_list_not_installed">
<table id="tab_modules_list_not_installed" class="table">
{foreach from=$tab_modules_list.not_installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
</table>
</div>
{/if}
{if count($tab_modules_list.installed)}
<div class="tab-pane {if count($tab_modules_list.not_installed) == 0}active{/if}" id="tab_modules_list_installed">
<table id="tab_modules_list_installed" class="table">
{foreach from=$tab_modules_list.installed item=module}
{include file='controllers/modules/tab_module_line.tpl' class_row={cycle values=",rowalt"}}
{/foreach}
</table>
</div>
{/if}
</div>
{/if}
<div class="alert alert-addons row-margin-top">
<a href="https://addons.prestashop.com/?utm_source=back-office&amp;utm_medium=dispatch&amp;utm_campaign=back-office-{$lang_iso|upper}&amp;utm_content={if $host_mode}cloud{else}download{/if}{if $admin_list_from_source}&amp;utm_term={$admin_list_from_source}{/if}" onclick="return !window.open(this.href);">{l s='More modules on addons.prestashop.com'}</a>
</div>

View File

@@ -0,0 +1,25 @@
{**
* 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)
*}
<a href="{$module_link|escape:'html':'UTF-8'}">{$text}</a>