first commit

This commit is contained in:
2024-11-11 18:46:54 +01:00
commit a630d17338
25634 changed files with 4923715 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
<div class="bootstrap">
{if isset($error)}
<div class="alert alert-success">{$error|escape:'htmlall':'UTF-8'}</div>
{/if}
{if isset($success)}
<div class="alert alert-success">{$success|escape:'htmlall':'UTF-8'}</div>
{/if}
{if isset($successUpdate)}
<div class="alert alert-success">{$successUpdate|escape:'htmlall':'UTF-8'}</div>
{/if}
{if isset($errorEmptyKeys)}
<div class="alert alert-warning">
<button data-dismiss="alert" class="close" type="button">×</button>
{l s='Please connect to your FreshMail account on the: ' mod='freshmail'}
</div>
{/if}
</div>

View File

@@ -0,0 +1,248 @@
{include file="{$module_templates}alerts.tpl"}
<form action="" method="POST">
<div class="form-horizontal">
<div class="panel">
<div class="panel-heading"><i class="icon-cogs"></i>{l s='Webservice Accounts Configuration API' mod='freshmail'}</div>
<div class="form-wrapper">
<div class="form-group">
<div class="form-wrapper">
<label class="control-label col-lg-3 required" style="text-align: right;">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="">
{l s='Bearer token' mod='freshmail'}
</span>
</label>
<div class="col-lg-9 ">
<div class="row">
<div class="col-lg-5">
<input type="text" name="api_key" id="code" value="{$freshmail_settings->api_token|escape:'htmlall':'UTF-8'}" readonly>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="form-wrapper">
<label class="control-label col-lg-3 required" style="text-align: right;">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="">
{l s='Subscribers list' mod='freshmail'}
</span>
</label>
<div class="col-lg-9 ">
<div class="row">
<div class="col-lg-5">
<select id="subscriber_list_hash" name="subscriber_list_hash" data-val="{$freshmail_settings->subscriber_list_hash}">
<option value="0">{l s="Choose" mod="freshmail"}</option>
{foreach from=$subscribers_list item='list'}
<option {if $list.key==$freshmail_settings->subscriber_list_hash}selected{/if} value="{$list.key}">{$list.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="{l s='Use FreshMail SMTP' mod='freshmail'}">
{l s='Synchronize' mod='freshmail'}
</span>
</label>
<div class="col-lg-9">
<span class="switch prestashop-switch fixed-width-lg">
<input type="radio" name="synchronize" id="synchronize_on" value="1" {if !empty($freshmail_settings->synchronize)}checked="checked"{/if}>
<label for="synchronize_on">Tak</label>
<input type="radio" name="synchronize" id="synchronize_off" value="0" {if empty($freshmail_settings->synchronize)}checked="checked"{/if}>
<label for="synchronize_off">Nie</label>
<a class="slide-button btn"></a>
</span>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="{l s='Use FreshMail SMTP' mod='freshmail'}">
{l s='Use FreshMail SMTP' mod='freshmail'}
</span>
</label>
<div class="col-lg-9">
<span class="switch prestashop-switch fixed-width-lg">
<input type="radio" name="smtp" id="smtp_on" value="1" {if !empty($freshmail_settings->smtp)}checked="checked"{/if}>
<label for="smtp_on">Tak</label>
<input type="radio" name="smtp" id="smtp_off" value="0"{if empty($freshmail_settings->smtp)}checked="checked"{/if}>
<label for="smtp_off">Nie</label>
<a class="slide-button btn"></a>
</span>
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="{l s='Send FreshMail confirmation for new subscribers' mod='freshmail'}">
{l s='Send FreshMail confirmation for new subscribers' mod='freshmail'}
</span>
</label>
<div class="col-lg-9">
<span class="switch prestashop-switch fixed-width-lg">
<input type="radio" name="send_confirmation" id="send_confirmation_on" value="1" {if !empty($freshmail_settings->send_confirmation)}checked="checked"{/if}>
<label for="send_confirmation_on">Tak</label>
<input type="radio" name="send_confirmation" id="send_confirmation_off" value="0"{if empty($freshmail_settings->send_confirmation)}checked="checked"{/if}>
<label for="send_confirmation_off">Nie</label>
<a class="slide-button btn"></a>
</span>
</div>
</div>
{*<div class="form-group">
<div class="form-wrapper">
<label class="control-label col-lg-3 required" style="text-align: right;">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="">
{l s='Specific price rule' mod='freshmail'}
</span>
</label>
<div class="col-lg-9 ">
<div class="row">
<div class="col-lg-5">
<select name="id_specific_price_rule">
<option value="0">{l s="Choose" mod="freshmail"}</option>
{foreach from=$specific_price_rules item='spr'}
<option {if $spr.id_specific_price_rule==$freshmail_settings->id_specific_price_rule}selected{/if} value="{$spr.id_specific_price_rule}">{$spr.name}</option>
{/foreach}
</select>
</div>
</div>
</div>
</div>
</div>
*}
<div class="panel-footer">
<button type="submit" class="btn btn-default pull-right" name="submitEnterApiKeys"><i class="process-icon-save"></i> {l s='save' mod='freshmail'}</button>
</div>
</div>
</div>
</div>
{if $showCheck}
<div class="form-horizontal">
<div class="panel">
<div class="panel-heading"><i class="icon-cogs"></i>{l s='Check Validate the data and connection' mod='freshmail'}</div>
<div class="form-wrapper">
<div class="form-group">
<label class="control-label col-lg-3" style="text-align: right;">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="">
{l s='Click to check connection to freshmail.com' mod='freshmail'}
</span>
</label>
<div class="col-lg-9 ">
<div class="row">
{if !$response}
<div class="col-lg-5">
<input type="submit" class="btn btn-primary" name="submitConnectToApi" id="email" value="{l s='Check authorizations' mod='freshmail'}">
</div>
{else}
{if $response && isset($response['status']) && $response['status'] == 'OK'}
<h4 class="col-sm-1 alert-success">
{$response['status']|escape:'htmlall':'UTF-8'}
</h4>
{else}
<h4 class="col-sm-12 alert alert-error">
{$response['status']|escape:'htmlall':'UTF-8'}
</h4>
{/if}
{/if}
</div>
</div>
</div>
</div>
</div>
</div>
{/if}
<div class="form-horizontal">
<div class="panel">
<div class="panel-heading"><i class="icon-cogs"></i>{l s='Reset FreshMail plugin settings' mod='freshmail'}</div>
<div class="form-wrapper">
<div class="form-group">
<label class="control-label col-lg-3" style="text-align: right;">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="">
{l s='Click to reset FreshMail settings' mod='freshmail'}
</span>
</label>
<div class="col-lg-9 ">
<div class="row">
<div class="col-lg-5">
<input type="submit" class="btn btn-primary" name="resetSettings" id="resetSettings" value="{l s='Clear settings' mod='freshmail'}">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
<form action="https://app.freshmail.com/pl/actions/subscribe/" method="POST" target="_blank" name="add_to_newsletter">
<div class="form-horizontal">
<div class="panel">
<div class="panel-heading"><i class="icon-cogs"></i>{l s='Stay up to date with changes' mod='freshmail'}</div>
<div class="form-wrapper">
<div class="form-group">
<label class="control-label col-lg-3" style="text-align: right;">
<span class="label-tooltip" data-toggle="tooltip" data-html="true" title="" data-original-title="">
{l s='Give us your e-mail address so that we can send you information about future versions of the plug-in, changes and news' mod='freshmail'}
</span>
</label>
<div class="col-lg-9 ">
<div class="row">
<div class="col-lg-5">
<input type="text" class="btn btn-block" name="freshmail_email" id="freshmail_email" value="{$FRESHMAIL_NEWSLETTER_EMAIL|escape:'htmlall':'UTF-8'}">
<input type="hidden" class="btn btn-block" name="subscribers_list_hash" id="subscribers_list_hash" value="sqkph37wid">
</div>
</div>
</div>
</div>
<div class="panel-footer">
<button type="button" class="btn btn-default pull-right" name="submitEmail"><i class="process-icon-save"></i> {l s='save' mod='freshmail'}</button>
</div>
</div>
</div>
</div>
</form>
<div class="form-wrapper">
<div class="alert alert-info"><button data-dismiss="alert" type="button" class="close">
×
</button>
{l s='Install and configure the plugin by selecting the API and SMTP mail sender. Then select the list to which the addresses in FreshMail should be saved and mark from where the confirmation messages should be sent.' mod='freshmail'}
</div>
</div>
<script type="application/javascript">
$( document ).ready(function () {
$('#subscriber_list_hash').change(function () {
let newVal = $(this).val();
if(!confirm("{l s='Are you sure to change list?' mod='freshmail'}")){
$(this).val($(this).data('val'));
return false;
}
$(this).data('val', newVal);
return true;
});
})
$(document).on('click', '#resetSettings', function (){
if(confirm("{l s='Are you sure to clear settings?' mod='freshmail'}")){
return true;
}
return false;
});
</script>

View File

@@ -0,0 +1,39 @@
<div class="panel">
<div class="content-div ">
<div class="row ">
<div class="col-sm-12">
<div class="row">
<div class="col-lg-6">
<div class="card">
<h3 class="card-header">
<i class="material-icons">info_outline</i>{l s='Information' mod="freshmail"}
</h3>
<div class="card-block">
<div class="card-text">
<p>{l s='In email template You can use tags:' mod="freshmail"}</p>
{literal}
<ul>
<li>{firstname}</li>
<li>{lastname}</li>
<li>{content}</li>
<li>{shop_url}</li>
</ul>
{/literal}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-wrapper">
<div class="alert alert-info"><button data-dismiss="alert" type="button" class="close">
×
</button>
{l s='Please your clients and show them how important they are to you. Build a relationship - make them a wish and offer a discount if you want.' mod='freshmail'}
</div>
</div>

View File

@@ -0,0 +1,100 @@
{assign var=translations value="{
abandoned_cart: '{l s='Abandoned cart' mod='freshmail' }',
settings: '{l s='Settings' mod='freshmail' }',
fontcolor: '{l s='Font color' mod='freshmail' }',
bgcolor: '{l s='Background color' mod='freshmail' }',
logo: '{l s='Shop logo' mod='freshmail' }',
left: '{l s='Left' mod='freshmail' }',
center: '{l s='Center' mod='freshmail' }',
right: '{l s='Right' mod='freshmail' }',
save_sucess: '{l s='Template saved' mod='freshmail' }',
buttonbg: '{l s='Button color' mod='freshmail' }',
cron_nfo: '{l s='Full functionality requires the task to run periodically' mod='freshmail'}: {$links.cron_url} {l s='or use cli' mod='freshmail'}: {$links.cron_cli}',
modules: {
base: '{l s='Template background' mod='freshmail' }',
blockLogo: '{l s='Logo' mod='freshmail' }',
blockText: '{l s='Text block' mod='freshmail' }',
blockProducts: '{l s='Products' mod='freshmail' }',
blockDiscount: '{l s='Discout info' mod='freshmail' }',
blockCTA: '{l s='Call To Action' mod='freshmail' }',
},
send_notifications: '{l s='Send notifications about an abandoned cart?' mod='freshmail' }',
yes: '{l s='Yes' mod='freshmail' }',
no: '{l s='No' mod='freshmail' }',
send_after: '{l s='Send after' mod='freshmail' }',
discount_select: '{l s='Discount code' mod='freshmail' }',
discount_none: '{l s='I dont want to grant a discount' mod='freshmail' }',
discount_percent: '{l s='Percentage discount' mod='freshmail' }',
discount_custom: '{l s='Own discount code' mod='freshmail' }',
discout_livetime: '{l s='The period of validity discount code' mod='freshmail' }',
discout_value: '{l s='Discount value' mod='freshmail' }',
discount_custom_value: '{l s='Discount code' mod='freshmail' }',
email_panel: '{l s='Email' mod='freshmail' }',
email_template: '{l s='Default E-mail template' mod='freshmail' }',
email_subject: '{l s='Email subject' mod='freshmail' }',
email_preheader: '{l s='Email preheader text' mod='freshmail' }',
email_test_email: '{l s='Test email address' mod='freshmail' }',
email_send_test_btn: '{l s='Send a test email' mod='freshmail' }',
template_default_logo: '{l s='Use default shop logo' mod='freshmail' }',
template_bg: '{l s='Background color' mod='freshmail' }',
template_fc: '{l s='Font color' mod='freshmail' }',
template_logo_url: '{l s='Shop logo url' mod='freshmail' }',
template_left: '{l s='Left' mod='freshmail' }',
template_center: '{l s='Center' mod='freshmail' }',
template_right: '{l s='Right' mod='freshmail' }',
save: '{l s='Save' mod='freshmail' }',
email_template_panel: '{l s='Email template' mod='freshmail' }',
create_freshmail: '{l s='Create your own template' mod='freshmail' }',
attention: '{l s='Attention!' mod='freshmail' }',
external_tpl_nfo: '{l s='Make sure that the template created in FreshMail contains all the necessary Prestashop tags: {shop_name}, {shop_url}, {shop_logo},{firstname}, {lastname}, {products_list}, {discount_code}, {cart_url}' mod='freshmail' }',
def_mod_template: '{l s='Default module template' mod='freshmail' }',
def_mod_template_name: '{l s='Default template' mod='freshmail' }',
current_tpl: '{l s='My current template' mod='freshmail' }',
use_tpl: '{l s='Use this template' mod='freshmail' }',
edit_tpl: '{l s='Edit in FreshMail' mod='freshmail' }'
}"
}
{assign var=initConfig value="{
config: {
emails: {$cart_config->enabled|boolval|json_encode},
send_after: '{$cart_config->send_after}',
discount: '{$cart_config->discount_type}',
discount_percent_livetime: {$cart_config->discount_lifetime|intval},
discount_percent_value: {$cart_config->discount_percent|intval},
discount_custom_value: '{$cart_config->discount_code}',
template_id_hash: '{$cart_config->template_id_hash}',
loggedin: {($is_logged) ? 'true' : 'false'},
email_subject: '{$cart_config->email_subject[$id_lang]}',
email_preheader: '{$cart_config->email_preheader[$id_lang]}',
},
urls: {
module: '{$links.base_url}modules/freshmail/',
shop_logo: '{$logo}',
fm_editor: 'https://app.freshmail.com/pl/designer/newedit/?template_hash=',
fm_library: 'https://app.freshmail.com/pl/library/#external'
}
}"
}
<div data-vue="abandonedcart-config">
<abandonedcart
:init-config="{$initConfig}"
:translations="{$translations}"
>
</abandonedcart>
</div>
<div class="form-wrapper">
<div class="alert alert-info"><button data-dismiss="alert" type="button" class="close">
×
</button>
{l s='Here you can set a reminder about the products in the basket and thus close the sales path. Set the amount of the discount, choose a ready template or create it yourself in FreshMail Designer and take care of personalized communication.' mod='freshmail'}
</div>
</div>
{*<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>*}
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script type="text/javascript" src="{$links.base_url}modules/freshmail/views/js/freshmail-abandoned-cart.js"></script>
<script type="text/javascript" src="{$links.base_url}modules/freshmail/views/js/freshmail-core.js"></script>

View File

@@ -0,0 +1,7 @@
<div class="form-wrapper">
<div class="alert alert-info"><button data-dismiss="alert" type="button" class="close">
×
</button>
{l s='In the "Forms" section you will find all the options for collecting new e-mail addresses. You can create your own form in the FreshMail wizard or choose one of the ready-made templates. Make sure that you collect addresses in accordance with the GDPR and collect additional information that you can use in the newsletter, e.g. name.' mod='freshmail'}
</div>
</div>

View File

@@ -0,0 +1,10 @@
{if !empty($pendingSend) && $pendingSend}
<script type="application/javascript">
$.ajax({
'url' : '{$sendUrl}',
'async' : true
});
</script>
{/if}
<link type="text/css" href="{$base_url}modules/freshmail/views/css/freshmail-core.css" rel="stylesheet" />

View File

@@ -0,0 +1,18 @@
<div class="panel">
<h3><i class="icon-cogs"></i> {l s='Synchronization' mod='freshmail'}</h3>
<div id="indexing-warning" class="alert alert-warning" style="display: none">
{l s='Synchronization is in progress.' mod='freshmail'}
</div>
<div class="row">
<div class="alert alert-info">
{l s='You can set a cron job that will synchronize subscribers using the following URL:' mod='freshmail'}
<br>
<strong>{$synchronization_url}</strong>
<br>
{l s='or use cli' mod='freshmail'}:
<strong>{$synchronization_cron}</strong>
</div>
</div>
</div>

View File

@@ -0,0 +1,6 @@
<div class="form-wrapper">
<div class="alert alert-info"><button data-dismiss="alert" type="button" class="close">
×
</button>
{l s='All recent changes to your customers are saved here. After running cron, you can see the current state of store data combined with FreshMail data.' mod='freshmail'}
</div>

View File

@@ -0,0 +1,79 @@
{assign var=translations value="{
official_module: '{l s='The official free FreshMail module for PrestaShop' mod='freshmail' }',
boost_your_conversion_rates: '{l s='Boost your conversion rates' mod='freshmail' }',
do_you_have_account: '{l s='Do you have a FreshMail account?' mod='freshmail' }',
no_account: '{l s='I dont have an account' mod='freshmail' }',
create_trial: '{l s='Create a trial account and send' mod='freshmail' }',
create_trial_2: '{l s='60,000 emails for free' mod='freshmail' }',
create_account: '{l s='Create a FreshMail account' mod='freshmail' }',
my_account: '{l s='My FreshMail account' mod='freshmail' }',
my_account_connected: '{l s='Connected to a FreshMail account' mod='freshmail' }',
have_account: '{l s='I have a FreshMail account' mod='freshmail' }',
token: '{l s='Bearer token' mod='freshmail' }',
find_token: '{l s='Find out where to download the token' mod='freshmail' }',
continue: '{l s='Continue' mod='freshmail' }',
integrating_makes_difference: '{l s='Integrating the module with FreshMail makes all the difference' mod='freshmail' }',
features: '{l s='Features' mod='freshmail' }',
module_without_freshMail: '{l s='Module without FreshMail' mod='freshmail' }',
module_with_freshMail: '{l s='Module with FreshMail' mod='freshmail' }',
automated_messages: '{l s='Sending of automated messages (abandoned baskets, birthday shipment)' mod='freshmail' }',
automated_emails: '{l s='Sending of automated emails (abandoned baskets, birthday shipment) from FreshMail servers' mod='freshmail' }',
email_reports: '{l s='Transactional email reports' mod='freshmail' }',
email_templates: '{l s='Ready-to-use transactional email templates' mod='freshmail' }',
resolving_email_issues: '{l s='Support in resolving email issues' mod='freshmail' }',
subscriber_list_synchronisation: '{l s='Subscriber list synchronisation with FreshMail' mod='freshmail' }',
message_alerts: '{l s='Undelivered message alerts' mod='freshmail' }',
module_without_freshMail_account: '{l s='I wish to use the module without a FreshMail account' mod='freshmail' }',
send_all_emails: '{l s='Yes, I wish to send all emails from FreshMail servers' mod='freshmail' }',
synchronize_prestaShop: '{l s='Yes, I wish to synchronize my PrestaShop email list with FreshMail' mod='freshmail' }',
make_full_use: '{l s='Make full use of what is offered by the modules integration with FreshMail' mod='freshmail' }',
back_step: '{l s='Back to step' mod='freshmail' }',
learn_more: '{l s='Find out more' mod='freshmail' }',
please_select: '{l s='Please select the list of recipients with which you want to synchronize' mod='freshmail' }',
first_rate: '{l s='First-rate deliverability' mod='freshmail' }',
send_automated_messages: '{l s='Send automated messages and notifications from your store to your customers via FreshMails secure SMTP. Rest assured that your emails have the best deliverability and do not end up in the spam folder.' mod='freshmail' }',
reports: '{l s='Reports on the messages sent' mod='freshmail' }',
access_detailed_reports: '{l s='Access detailed reports on the messages you send and monitor their effectiveness. Check the number of page openings, link clicks and bounce backs in order to optimize your email marketing. Browse detailed message dispatch logs.' mod='freshmail' }',
expert_support: '{l s='Expert support' mod='freshmail' }',
get_the_support: '{l s='Get the support of the best email marketing specialists 7 days a week. We answer every phone call and reply to every email.' mod='freshmail' }',
simple_email_editing: '{l s='Simple email editing' mod='freshmail' }',
ready_made_templates: '{l s='Use hundreds of ready-made templates (also those specially prepared for PrestaShop customers) and edit them freely using the intuitive, easy-to-use drag & drop editor.' mod='freshmail' }',
back: '{l s='Back' mod='freshmail' }',
discover_benefits: '{l s='Discover the benefits of the modules integration with FreshMail' mod='freshmail' }',
start_using: '{l s='Start using it for free' mod='freshmail' }',
installed_free: '{l s='The module can be installed free of charge. Moreover, as part of the 60-day trial period, FreshMail lets you send as many as <b>60,000 transactional emails</b> for free!' mod='freshmail' }',
i_dont_want: '{l s='I dont want to benefit from the above features' mod='freshmail' }',
i_wish_to_start: '{l s='I wish to start the free trial and send secure emails' mod='freshmail' }',
configuration_overview: '{l s='Configuration overview' mod='freshmail' }',
freshMail_servers: '{l s='Sending of emails from FreshMail servers' mod='freshmail' }',
subscriber_list: '{l s='Subscriber list synchronisation with FreshMail' mod='freshmail' }',
full_potential: '{l s='To use the modules full potential, you must integrate it with a FreshMail account' mod='freshmail' }',
change_settings: '{l s='Change settings' mod='freshmail' }',
finish_your_configuration: '{l s='Finish your configuration' mod='freshmail' }',
help: '{l s='Help' mod='freshmail' }',
number_of_subscribers: '{l s='Number of subscribers'}'
}"
}
{assign var=priceRules value="{
assets_url: '{$links.base_url}modules/freshmail/views'
}"
}
<div class="freshmail">
{if !empty($is_wizard_available)}
<div data-vue="wizard">
<wizard
:translations="{$translations}"
:links='{$links|@json_encode nofilter }'
:module="{$priceRules}">
</wizard>
</div>
{* <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> *}
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
<script type="text/javascript" src="{$links.base_url}modules/freshmail/views/js/freshmail-wizard.js?{$module_version}"></script>
<script type="text/javascript" src="{$links.base_url}modules/freshmail/views/js/freshmail-core.js?{$module_version}"></script>
{else}
Wizard nieaktywny
{/if}
</div>

View File

@@ -0,0 +1,42 @@
{assign var=priceRules value="{
assets_url: '{$links.base_url}modules/freshmail/views'
}"
}
<div class="freshmail">
<div id="wizard" class="freshmail__wizard" price-rules="[object Object],[object Object],[object Object]">
<section class="section-bg--white section-bg--nopadding">
<div class="col-md-12 header__logo"><img
src="{$links.base_url}modules/freshmail/views/img/freshmail-logo.svg" alt="FreshMail"></div>
</section>
<div class="form-wrapper">
<div class="wizard__step wizard__step--1">
<div class="row">
<section class="section-bg--white pt-15">
<div class="col-md-12 text-center">
<h4>{l s="Boost your conversion rates" mod="freshmail"}</h4>
</div>
</section>
<section class="section-bg--green pb-110">
<div class="col-md-12 text-center mb-25 mt-20">
<h4 class="text--white">
{l s='I have a FreshMail account' mod='freshmail'}
</h4>
</div>
<div class="col-md-4 col-md-offset-4 text-center">
<a href="{$links.reset}"
class="btn btn--yellow">
{l s='Clear settings' mod='freshmail'}
</a>
</div>
</div>
</section>
<section class="section-bg--grey pt-100 pb-100">
</section>
</div>
</div>
</div>
</div>
<script type="text/javascript" src="{$links.base_url}modules/freshmail/views/js/freshmail-core.js"></script>
</div>

View File

@@ -0,0 +1,11 @@
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office"><head>
<title>{shop_name}</title>
<!--[if !mso]><!-- -->
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css"> #outlook a { padding: 0; } .ReadMsgBody { width: 100%; } .ExternalClass { width: 100%; } .ExternalClass * { line-height: 100%; } .btn-cta p{ margin:0; padding:0; } body { margin: 0; padding: 0; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } table, td { border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; } img { border: 0; height: auto; line-height: 100%; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; } p { display: block; margin: 13px 0; } </style> <!--[if !mso]><!--> <style type="text/css"> @media only screen and (max-width:480px) { @-ms-viewport { width: 320px; } @viewport { width: 320px; } } </style> <!--<![endif]--> <!--[if mso]> <xml> <o:OfficeDocumentSettings> <o:AllowPNG/> <o:PixelsPerInch>96</o:PixelsPerInch> </o:OfficeDocumentSettings> </xml> <![endif]--> <!--[if lte mso 11]> <style type="text/css"> .outlook-group-fix { width:100% !important; } </style> <![endif]--> <style type="text/css"> </style> <style type="text/css"> .shadow { box-shadow: 0 20px 30px 0 rgba(0, 0, 0, 0.1); } .label { font-weight: 700; } .warning { font-weight: 700; font-size: 16px; } a { color: #25B9D7; text-decoration: underline; font-weight: 600; } a.light { font-weight: 400; } span.strong { font-weight: 600; } @media only screen and (max-width: 480px) { body, .no-bg { background-color: #fff !important; } .left p { text-align: left; display: inline-block } } </style> <style type="text/css"> #outlook a { padding: 0; } .ReadMsgBody { width: 100%; } .ExternalClass { width: 100%; } .ExternalClass * { line-height: 100%; } body { margin: 0; padding: 0; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; } table, td { border-collapse: collapse; mso-table-lspace: 0pt; mso-table-rspace: 0pt; } img { border: 0; height: auto; line-height: 100%; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic; } p { display: block; margin: 13px 0; } </style><style type="text/css"> @media only screen and (max-width:480px) { @-ms-viewport { width: 320px; } @viewport { width: 320px; } } </style><style type="text/css"> @import url(https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700); @import url(https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i); </style><style type="text/css"> @media only screen and (min-width:480px) { .mj-column-per-100 { width: 100% !important; max-width: 100%; } .mj-column-px-25 { width: 25px !important; max-width: 25px; } } </style><style type="text/css"> .shadow { box-shadow: 0 20px 30px 0 rgba(0, 0, 0, 0.1); } .label { font-weight: 700; } .warning { font-weight: 700; font-size: 16px; } a { color: #25B9D7; text-decoration: underline; font-weight: 600; } a.light { font-weight: 400; } span.strong { font-weight: 600; } @media only screen and (max-width: 480px) { body, .no-bg { background-color: #fff !important; } .left p { text-align: left; display: inline-block } } </style>
</head>
[[BODY]]
</html>

View File

@@ -0,0 +1,136 @@
<table
border="0"
cellpadding="0"
cellspacing="0"
role="presentation"
width="100%"
style="
border-collapse: collapse;
font-family: 'Open sans', Arial, sans-serif;
font-size: 14px;
vertical-align: top;
"
>
<tbody>
<tr>
<td
align="left"
class="products-table"
style="
border-collapse: collapse;
font-family: 'Open sans', Arial, sans-serif;
color: rgb(53, 57, 67);
font-size: 0px;
padding: 10px 30px;
word-break: break-word;
"
>
<table
style="
border-collapse: collapse;
color: #000000;
background-color: #ffffff;
font-family: 'Open sans', arial, sans-serif;
font-size: 14px;
line-height: 22px;
table-layout: auto;
width: 100%;
"
border="0"
width="100%"
cellspacing="0"
cellpadding="0"
>
<colgroup>
<col style="width: 15%" span="1" width="15%" />
<col style="width: 55%" span="1" width="55%" />
<col style="width: 15%" span="1" width="15%" />
<col style="width: 15%" span="1" width="15%" />
</colgroup>
<tbody>
<tr>
<th
style="
font-family: 'Open sans', Arial, sans-serif;
font-size: 12px;
background-color: #fdfdfd;
color: #353943;
font-weight: 600;
padding: 10px 10px;
border: 1px solid #dfdfdf;
text-align: left;
"
colspan="2"
bgcolor="#FDFDFD"
>
Produkt
</th>
<th
style="
font-family: 'Open sans', Arial, sans-serif;
font-size: 12px;
background-color: #fdfdfd;
color: #353943;
font-weight: 600;
padding: 10px 10px;
border: 1px solid #dfdfdf;
text-align: center;
"
bgcolor="#FDFDFD"
>
Ilość
</th>
<th
style="
font-family: 'Open sans', Arial, sans-serif;
font-size: 12px;
background-color: #fdfdfd;
color: #353943;
font-weight: 600;
padding: 10px 10px;
border: 1px solid #dfdfdf;
text-align: center;
"
bgcolor="#FDFDFD"
>
Cena
</th>
</tr>
{foreach $list as $product}
<tr>
<td style="border: 1px solid #d6d4d4; padding: 10px">
<img
src="{$product['img']}"
alt="{$product['name']}"
width="50"
/>
</td>
<td style="border: 1px solid #d6d4d4; padding: 10px 20px">
<strong>{$product['name']}</strong>
</td>
<td
style="
border: 1px solid #d6d4d4;
text-align: center;
padding: 10px;
"
>
{$product['quantity']}
</td>
<td
style="
border: 1px solid #d6d4d4;
text-align: center;
padding: 10px;
"
>
{Tools::ps_round($product['price_wt'],2)}
</td>
</tr>
{/foreach}
</tbody>
</table>
</td>
</tr>
</tbody>
</table>

View File

@@ -0,0 +1,29 @@
<!--START new field in form freshmail-->
{if $loadExstraFields == 1}
{foreach from=$fields key=k item=v}
{if $v.tag != 'email' && !empty($v)}
<div class="{if !empty($v.require_field)}required{/if} form-group">
<label for="tag[{$v.tag}]">{$v.name} {if !empty($v.require_field)}<sup>*</sup>{/if}</label>
<input type="text" class="{if !empty($v.require_field)}is_required{/if} form-control" name="tag[{$v.tag}]" id="{$v.name}">
</div>
{/if}
{/foreach}
{/if}
{if !empty($signUpSubmitAccept)}
<div class="checkbox">
<div class="checker" id="uniform-optin"><span><input type="checkbox" name="tag[presta_newsletter]" id="optin" value="1"></span></div>
<label for="optin">{$signUpSubmitLabel}</label>
</div>
{/if}
{if $acceptEmailsPartnersActive == 1}
<script>
$('[name="\x6f\x70\x74\x69\x6e"]').parent().remove();
</script>
<div class="checkbox">
<div class="checker" id="uniform-optin"><span><input type="checkbox" name="tag[presta_partners_newsletter]" id="optin" value="1"></span></div>
<label for="optin">{$acceptEmailsPartnersActiveLabel}</label>
</div>
{/if}
<!--END new field in form freshmail-->

View File

@@ -0,0 +1,34 @@
<div cass="row" id="freshmail_form_hook_footer">
{foreach from=$forms key=key item=fields}
<div class="box a1">
<h1 class="page-subheading">{$form_name}</h1>
<form method="post" class="std" name="submit_freshmail_{$key}">
{foreach from=$fields key=k item=v}
<div class="{if !empty($v.require_field)}required{/if} form-group">
<label for="tag[{$v.tag}]">{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if} {if !empty($v.require_field)}<sup>*</sup>{/if}</label>
<input class="{if !empty($v.require_field)}is_required{/if} validate form-control" {if !empty($v.require_field)}required{/if} {if $v.type != null}type="{$v.type}"{else}type="text"{/if} name="tag[{$v.tag}]" id="{$v.tag}" placeholder="{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if}">
</div>
{/foreach}
<input type="hidden" name="list" value="{$fields[0].hash_list}" />
<input type="submit" class="subscribenow btn btn-primary" name="submit_freshmail_{$key}" value="{$label_submit}">
<input type="hidden" name="action" value="0" />
</form>
</div>
{/foreach}
{if isset($error) && !empty($error)}
{block name='fm_notifications_error'}
<article class="notification notification-warning" role="alert" data-alert="warning">
<ul>
<li class="error ajax-message alert alert-danger">{$error}</li>
</ul>
</article>
{/block}
{/if}
{if isset($success) && !empty($success)}
<article class="notification notification-success" role="alert" data-alert="success">
<ul>
<li class="success ajax-message alert alert-success">{$success}</li>
</ul>
</article>
{/if}

View File

@@ -0,0 +1,15 @@
<div class='box'>
<h1 class="page-subheading">Newsletter</h1>
<p class="info-title">Get our products/news earlier than others, lets get in touch.</p>
<form method="post" class="std">
{foreach from=$fields key=k item=v}
<div class="{if !empty($v.require_field)}required{/if} form-group">
<label for="tag[{$v.tag}]">{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if} {if !empty($v.require_field)}<sup>*</sup>{/if}</label>
<input class="{if !empty($v.require_field)}is_required{/if} validate form-control" type="text" name="tag[{$v.tag}]" id="{$v.tag}" placeholder="{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if}">
</div>
{/foreach}
<input type="hidden" name="list" value="{$fields[0].hash_list}" />
<input type="submit" class="subscribenow" name="submit_freshmail" value="{$label_submit}">
<input type="hidden" name="action" value="0" />
</form>
</div>

View File

@@ -0,0 +1,34 @@
<div class='row' id="freshmail_form_hook_left">
{foreach from=$forms key=key item=fields}
<div class='box'>
<h1 class="page-subheading">{$form_name}</h1>
<form method="post" class="std" name="submit_freshmail_{$key}">
{foreach from=$fields key=k item=v}
<div class="{if !empty($v.require_field)}required{/if} form-group">
<label for="tag[{$v.tag}]">{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if} {if !empty($v.require_field)}<sup>*</sup>{/if}</label>
<input class="{if !empty($v.require_field)}is_required{/if} validate form-control" {if !empty($v.require_field)}required{/if} {if $v.type != null}type="{$v.type}"{else}type="text"{/if} name="tag[{$v.tag}]" id="{$v.tag}" placeholder="{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if}">
</div>
{/foreach}
<input type="hidden" name="list" value="{$fields[0].hash_list}" />
<input type="submit" class="subscribenow btn btn-primary" name="submit_freshmail_{$key}" value="{$label_submit}">
<input type="hidden" name="action" value="0" />
</form>
</div>
{/foreach}
</div>
{if isset($error) && !empty($error)}
{block name='fm_notifications_error'}
<article class="notification notification-warning" role="alert" data-alert="warning">
<ul>
<li class="error ajax-message alert alert-danger">{$error}</li>
</ul>
</article>
{/block}
{/if}
{if isset($success) && !empty($success)}
<article class="notification notification-success" role="alert" data-alert="success">
<ul>
<li class="success ajax-message alert alert-success">{$success}</li>
</ul>
</article>
{/if}

View File

@@ -0,0 +1,34 @@
<div class='row' id="freshmail_form_hook_right">
{foreach from=$forms key=key item=fields}
<div class='box'>
<h1 class="page-subheading">{$form_name}</h1>
<form method="post" class="std" name="submit_freshmail_{$key}">
{foreach from=$fields key=k item=v}
<div class="{if !empty($v.require_field)}required{/if} form-group">
<label for="tag[{$v.tag}]">{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if} {if !empty($v.require_field)}<sup>*</sup>{/if}</label>
<input class="{if !empty($v.require_field)}is_required{/if} validate form-control" {if !empty($v.require_field)}required{/if} {if $v.type != null}type="{$v.type}"{else}type="text"{/if} name="tag[{$v.tag}]" id="{$v.tag}" placeholder="{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if}">
</div>
{/foreach}
<input type="hidden" name="list" value="{$fields[0].hash_list}" />
<input type="submit" class="subscribenow btn btn-primary" name="submit_freshmail_{$key}" value="{$label_submit}">
<input type="hidden" name="action" value="0" />
</form>
</div>
{/foreach}
</div>
{if isset($error) && !empty($error)}
{block name='fm_notifications_error'}
<article class="notification notification-warning" role="alert" data-alert="warning">
<ul>
<li class="error ajax-message alert alert-danger">{$error}</li>
</ul>
</article>
{/block}
{/if}
{if isset($success) && !empty($success)}
<article class="notification notification-success" role="alert" data-alert="success">
<ul>
<li class="success ajax-message alert alert-success">{$success}</li>
</ul>
</article>
{/if}

View File

@@ -0,0 +1,34 @@
</div>
<div cass="row" id="freshmail_form_hook_top">
{foreach from=$forms key=key item=fields}
<div class="box a1">
<h1 class="page-subheading">{$form_name}</h1>
<form method="post" class="std" name="submit_freshmail_{$key}">
{foreach from=$fields key=k item=v}
<div class="{if !empty($v.require_field)}required{/if} form-group">
<label for="tag[{$v.tag}]">{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if} {if !empty($v.require_field)}<sup>*</sup>{/if}</label>
<input class="{if !empty($v.require_field)}is_required{/if} validate form-control" {if !empty($v.require_field)}required{/if} {if $v.type != null}type="{$v.type}"{else}type="text"{/if} name="tag[{$v.tag}]" id="{$v.tag}" placeholder="{if empty($v.displayname)}{$v.name}{else}{$v.displayname}{/if}">
</div>
{/foreach}
<input type="hidden" name="list" value="{$fields[0].hash_list}" />
<input type="submit" class="subscribenow btn btn-primary" name="submit_freshmail_{$key}" value="{$label_submit}">
<input type="hidden" name="action" value="0" />
</form>
</div>
{/foreach}
{if isset($error) && !empty($error)}
{block name='fm_notifications_error'}
<article class="notification notification-warning" role="alert" data-alert="warning">
<ul>
<li class="error ajax-message alert alert-danger">{$error}</li>
</ul>
</article>
{/block}
{/if}
{if isset($success) && !empty($success)}
<article class="notification notification-success" role="alert" data-alert="success">
<ul>
<li class="success ajax-message alert alert-success">{$success}</li>
</ul>
</article>
{/if}

View File

@@ -0,0 +1,142 @@
<div class="modal-dialog module-modal-dialog">
<!-- Modal content-->
<div class="modal-content module-modal-content no-padding">
<div class="modal-header module-modal-header">
<div>
<div class="modal-title module-modal-title">
<h1>Freshmail<br>
<small class="version small-text">
v2.0.0 z PrestaShop
</small>
</h1>
</div>
</div>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body row module-modal-body">
<div class="col-md-12 module-big-cover">
<img src="https://medias3.prestastore.com/1293771-pbig/cross-selling.jpg"/>
</div>
<div class="col-md-12 module-menu-readmore">
<nav class="navbar navbar-light">
<ul class="nav nav-pills">
<li class="nav-item">
<a class="nav-link module-readmore-tab active" data-toggle="tab" href="#overview-ps_crossselling">Prezentacja</a>
</li>
<li class="nav-item">
<a class="nav-link module-readmore-tab" data-toggle="tab" href="#additional-ps_crossselling">Dodatkowe informacje</a>
</li>
<li class="nav-item">
<a class="nav-link module-readmore-tab" data-toggle="tab" href="#features-ps_crossselling">Funkcje</a>
</li>
</ul>
</nav>
<div class="tab-content">
<div id="overview-ps_crossselling" class="tab-pane fade in active">
<p class="module-readmore-tab-content">
Lorem ipsum
</p>
</div>
<div id="additional-ps_crossselling" class="tab-pane fade">
<p class="module-readmore-tab-content">
Use this native module to:
<ul>
<li><strong>Boost your sales: </strong>your business remains on the alert when you offer your customers matching products, it will stimulate their shopping.</li>
<li><strong>Promote your catalog:</strong> because your products need special attention, display related products via this immediate, one-click access to relevant items.</li>
</ul>
</p>
</div>
<div id="features-ps_crossselling" class="tab-pane fade">
<p class="module-readmore-tab-content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sed leo tellus. Mauris nec tempus nibh, lacinia finibus metus. Proin varius dictum orci, nec blandit tortor gravida porttitor. Mauris erat justo, dictum id turpis sed, dapibus feugiat neque. Cras sodales, enim ut dignissim dapibus, neque justo tincidunt ex, at consectetur elit odio ut diam. Cras sed leo sagittis, elementum erat sit amet, porta erat. Interdum et malesuada fames ac ante ipsum primis in faucibus. Quisque a egestas neque, eu mollis nulla. Donec in lectus tincidunt, sollicitudin lacus et, fringilla ipsum. Aenean congue mattis placerat. Sed id mauris ac felis convallis placerat. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin vitae pretium magna, quis porttitor turpis.
</p>
</div>
<div id="customer_benefits-ps_crossselling" class="tab-pane fade">
<p class="module-readmore-tab-content">
Nie znaleziono wyszczególnionych zalet dla tego modułu :(
</p>
</div>
<div id="demo_video-ps_crossselling" class="tab-pane fade">
<p class="module-readmore-tab-content">
Nie można znaleźć prezentacji wideo dla tego modułu :(
</p>
</div>
<div id="changelog-ps_crossselling" class="tab-pane fade">
Brak listy zmian przewidzianych dla tego modułu :(
</div>
</div>
</div>
</div>
<div class="modal-footer module-modal-footer">
<div class="module-stars-price">
<div class="module-price text-sm-right">
Za darmo!
</div>
</div>
<div class="module-badges-action">
<div class="float-left module-badges-display">
<img src="https://medias2.prestastore.com/themes/prestastore/img/front/sprites/badges/made-by-prestashop.png" alt="Made by PrestaShop"/>
Made by
</div>
<div class="float-right module-action">
<div class="btn-group form-action-button-container">
<form class="btn-group form-action-button" method="post" action="/admin-dev/index.php/module/manage/action/configure/ps_crossselling?_token=QjKHo33BHWpDUIjrxC2SwsrzB0Pio6zNJTiTW0Ni3mE">
<button type="submit" class="btn btn-primary-reverse btn-outline-primary light-button module_action_menu_configure"
data-confirm_modal="module-modal-confirm-ps_crossselling-configure">
Konfiguruj
</button>
</form>
<input type="hidden" class="btn">
<button type="button" class="btn btn-outline-primary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="caret"></span>
<span class="sr-only">Rozwiń menu</span>
</button>
<div class="dropdown-menu">
<li>
<form method="post" action="/admin-dev/index.php/module/manage/action/uninstall/ps_crossselling?_token=QjKHo33BHWpDUIjrxC2SwsrzB0Pio6zNJTiTW0Ni3mE">
<button type="submit" class="dropdown-item module_action_menu_uninstall" data-confirm_modal="module-modal-confirm-ps_crossselling-uninstall">
Odinstaluj
</button>
</form>
</li>
<li>
<form method="post" action="/admin-dev/index.php/module/manage/action/disable/ps_crossselling?_token=QjKHo33BHWpDUIjrxC2SwsrzB0Pio6zNJTiTW0Ni3mE">
<button type="submit" class="dropdown-item module_action_menu_disable" data-confirm_modal="module-modal-confirm-ps_crossselling-disable">
Wyłącz
</button>
</form>
</li>
<li>
<form method="post" action="/admin-dev/index.php/module/manage/action/disable_mobile/ps_crossselling?_token=QjKHo33BHWpDUIjrxC2SwsrzB0Pio6zNJTiTW0Ni3mE">
<button type="submit" class="dropdown-item module_action_menu_disable_mobile" data-confirm_modal="module-modal-confirm-ps_crossselling-disable_mobile">
Disable mobile
</button>
</form>
</li>
<li>
<form method="post" action="/admin-dev/index.php/module/manage/action/reset/ps_crossselling?_token=QjKHo33BHWpDUIjrxC2SwsrzB0Pio6zNJTiTW0Ni3mE">
<button type="submit" class="dropdown-item module_action_menu_reset" data-confirm_modal="module-modal-confirm-ps_crossselling-reset">
Wyczyść
</button>
</form>
</li>
</div>
</div>
</div>
</div>
</div>
</div>
</div>