first commit

This commit is contained in:
2024-10-28 22:14:22 +01:00
commit b65352c452
40581 changed files with 5712079 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<script>
(function(i,s,o,g,r,a,m){ldelim}i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ldelim}
(i[r].q=i[r].q||[]).push(arguments){rdelim},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
{rdelim})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
{if isset($utm_source)} ga('set', 'campaignSource', '{$utm_source|escape:'quotes':'UTF-8'}'); {/if}
{if isset($utm_source)} ga('set', 'campaignMedium', '{$utm_medium|escape:'quotes':'UTF-8'}'); {/if}
{if isset($utm_source)} ga('set', 'campaignName', '{$utm_campaign|escape:'quotes':'UTF-8'}'); {/if}
{if isset($utm_source)} ga('set', 'campaignContent', '{$utm_content|escape:'quotes':'UTF-8'}'); {/if}
ga('create', '{$GOOGLE_ANALYTICS_ID|escape:'html':'UTF-8'}', '{$HOST|escape:'html':'UTF-8'}');
ga('send', 'pageview');
</script>

View File

@@ -0,0 +1,33 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', '{$GOOGLE_ANALYTICS_ID|escape:'html':'UTF-8'}']);
{if $CAMPAIGN_ACTIVE == true} _gaq.push(['_setCampaignTrack', true]); {else} _gaq.push(['_setCampaignTrack', false]); {/if}
{if isset($utm_source)} _gaq.push(['_setCampSourceKey', '{$utm_source|escape:'quotes':'UTF-8'}']); {/if}
{if isset($utm_medium)} _gaq.push(['_setCampMediumKey', '{$utm_medium|escape:'quotes':'UTF-8'}']); {/if}
{if isset($utm_campaign)} _gaq.push(['_setCampNameKey', '{$utm_campaign|escape:'quotes':'UTF-8'}']); {/if}
{if isset($utm_content)} _gaq.push(['_setCampContentKey', '{$utm_content|escape:'quotes':'UTF-8'}']); {/if}
_gaq.push(['_trackPageview']);
{literal}
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
{/literal}
</script>

View File

@@ -0,0 +1,56 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="form-group clearfix">
<a id="np-export-email-addresses-back" class="btn btn-default pull-left" href="javascript:{}">
<i class="icon icon-chevron-left on-left" style="font-size: 11px;"></i>
<span>{l s='Go Back' mod='newsletterpro'}</span>
</a>
</div>
<div class="clearfix">
<form id="export-csv-form" class="defaultForm" action="{$page_link|escape:'quotes':'UTF-8'}#csv" method="post" enctype="multipart/form-data" {if isset($style)}style="{$style|escape:'html':'UTF-8'}"{/if}>
<input type="hidden" name="export_email_addresses" value="1">
<input id="export-csv-list-ref" type="hidden" name="list_ref" value="0">
<div class="form-group clearfix">
<label class="control-label col-sm-2">
<span class="label-tooltip">{l s='CSV separator' mod='newsletterpro'}</span>
</label>
<div class="col-sm-3">
<input class="form-control fixed-width-xs text-center" type="text" name="csv_separator" maxlength="1" value=";"/>
</div>
<div class="col-sm-7">
<a id="btn-export-csv" href="javascript:{}" class="btn btn-default">
<i class="icon icon-download"></i>
{l s='Export' mod='newsletterpro'}
</a>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-2 np-control-lable-checkbox">{l s='Columns' mod='newsletterpro'}</label>
<div id="np-export-email-options" class="col-sm-3">
</div>
<div class="col-sm-7">
<a id="btn-export-csv-checkall" href="javascript:{}" class="btn btn-default">
<i class="icon icon-check-circle"></i>
{l s='Check All' mod='newsletterpro'}
</a>
</div>
</div>
</form>
</div>

View File

@@ -0,0 +1,43 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div>
<h2>{l s='You\'re module needs an update or a fresh installation by clicking on the uninstall and the install buttons!' mod='newsletterpro'}</h2>
<h3>{l s='Please read the instructions below.' mod='newsletterpro'}</h3>
{include file="$tpl_location"|cat:"templates/admin/module_update.tpl"}
{if $update.needs_update != true}
<div class="panel-box error">
<p>{l s='You need to uninstall and install the module, if you will have the same error contact the developer of the module.' mod='newsletterpro'}</p>
</div>
{/if}
<p>{l s='Please check if the settings "uninstall_all_tables" from the file "config.ini" has the value true.' mod='newsletterpro'}</p>
</div>
<div class="panel-box error">
{l s='The error is:' mod='newsletterpro'}
<br>
{$errors|escape:'quotes':'UTF-8'}
</div>
<script type="text/javascript">
{* ESCAPED CONTENT *}
NewsletterPro.dataStorage.addObject(jQuery.parseJSON('{$jsData|strval}'));
// script alias, for the websites that have cache, this variables are not required, they can be deleted
var NPRO_AJAX_URL = NewsletterPro.dataStorage.get('ajax_url');
</script>
<script type="text/javascript" src="{$module_url|escape:'quotes':'UTF-8'}views/js/fatal_error.js"></script>

View File

@@ -0,0 +1,31 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div id="filter-by-birthday-box" class="form-group filter-by-birthday-box {if isset($fbb_class)}{$fbb_class|escape:'html':'UTF-8'}{/if}">
<h4 class="title">{l s='Select the birthday date:' mod='newsletterpro'}</h4>
<div class="col-sm-12 row">
<div class="form-inline">
<div class="col-sm-12 pull-left">
<label class="control-label" style="padding-top: 0;"><span class="label-tooltip">{l s='From:' mod='newsletterpro'}</span></label>
<input id="fbb-from-{if isset($fbb_class)}{$fbb_class|escape:'html':'UTF-8'}{/if}" type="text" class="form-control fbb-from {if isset($fbb_class)}{$fbb_class|escape:'html':'UTF-8'}{/if}">
<label class="control-label" style="padding-top: 0;"><span class="label-tooltip">{l s='To:' mod='newsletterpro'}</span></label>
<input id="fbb-to-{if isset($fbb_class)}{$fbb_class|escape:'html':'UTF-8'}{/if}" type="text" class="form-control fbb-to {if isset($fbb_class)}{$fbb_class|escape:'html':'UTF-8'}{/if}">
<a href="javascript:{}" class="btn btn-default btn-margin fbb-clear {if isset($fbb_class)}{$fbb_class|escape:'html':'UTF-8'}{/if}" id="fbb-clear-{if isset($fbb_class)}{$fbb_class|escape:'html':'UTF-8'}{/if}">{l s='Clear' mod='newsletterpro'}</a>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,75 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div id="filter-by-purchase-box" class="filter-by-purchase-box">
<h4 class="title">{l s='Search products' mod='newsletterpro'}:</h4>
<div class="clear" style="height: 0;">&nbsp;</div>
<div class="poduct-search-container">
<span class="product-search-span ajax-loader" style="display: none;">&nbsp;</span>
<input id="filter-poduct-search" class="search-bar empty" tyle="text" value="{l s='search products by:' mod='newsletterpro'} {l s='name, reference, category or type:' mod='newsletterpro'} {l s='new products' mod='newsletterpro'} {l s='or' mod='newsletterpro'} {l s='price drop' mod='newsletterpro'}">
</div>
<div id="filter-product-list-box" class="userlist filter-product-list-box products-list">
<table id="filter-product-list" class="filter-product-list"></table>
</div>
<div class="clear" style="clear: both;"></div>
<br>
<h4 class="title">{l s='Without purchase' mod='newsletterpro'}:</h4>
<div class="form-group row">
<div class="col-sm-12">
<select id="pqnp-filer-without-purchase" class="form-control fixed-width-xxl">
<option value="0">{l s='Disabled' mod='newsletterpro'}</option>
<option value="1">{l s='Enabled' mod='newsletterpro'}</option>
</select>
</div>
</div>
<br>
<h4 class="title">{l s='Order Date' mod='newsletterpro'}:</h4>
<div class="form-group row">
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-addon">{l s='Start' mod='newsletterpro'}</span>
<input id="pqnp-fbp-order-start-date" type="text" class="form-control" style="z-index: 99999;">
</div>
</div>
<div class="col-sm-5">
<div class="input-group">
<span class="input-group-addon">{l s='End' mod='newsletterpro'}</span>
<input id="pqnp-fbp-order-end-date" type="text" class="form-control" style="z-index: 99999;">
</div>
</div>
<div class="col-sm-2">
<a id="pqnp-fbp-clear-date" href="javascript:{}" class="btn btn-default"><i class="icon icon-eraser fa fa-eraser"></i>&nbsp;{l s='Clear' mod='newsletterpro'}</a>
</div>
</div>
<h4 class="title">{l s='Products in filter' mod='newsletterpro'}:</h4>
<div class="fbp-grid-box">
<table id="fbp-grid" class="table table-bordered fbp-grid">
<thead>
<tr>
<th class="image" data-template="image">{l s='Image' mod='newsletterpro'}</th>
<th class="name" data-field="name">{l s='Name' mod='newsletterpro'}</th>
<th class="reference" data-field="reference">{l s='Reference' mod='newsletterpro'}</th>
<th class="price_display" data-field="price_display">{l s='Price' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
</div>

View File

@@ -0,0 +1,22 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div id="range-selection-box" class="range-selection-box">
<div class="slider-container">
<label>{l s='Range' mod='newsletterpro'}</label>
<div id="slider-range-selection"></div>
</div>
</div>

View File

@@ -0,0 +1,28 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="load-backup-global-win">
<table id="load-global-templates" class="table table-bordered load-global-templates">
<thead>
<tr>
<th class="name_display" data-field="name_display">{l s='Name' mod='newsletterpro'}</th>
<th class="m_date" data-field="m_date">{l s='Name' mod='newsletterpro'}</th>
<th class="module_version" data-field="module_version">{l s='Module Version' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>

View File

@@ -0,0 +1,99 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="newsletter-pro-help-box">
<p>{ldelim}default_shop_url{rdelim} - {l s='Display the main url of your shop' mod='newsletterpro'}</p>
<p>{ldelim}shop_url{rdelim} - {l s='Display the main url of you shop or if the current user is registered on multistore it will display the multistore url' mod='newsletterpro'}</p>
<p>{ldelim}shop_logo_url{rdelim} - {l s='Display the link of the image logo of your default shop' mod='newsletterpro'}</p>
<p>{ldelim}shop_logo{rdelim} - {l s='Display the image logo of your shop or if the current user is registered on multistore it will display the current multistore logo' mod='newsletterpro'}</p>
<p>{ldelim}active{rdelim} - {l s='Return true if the current user is subscribed at the newsletter' mod='newsletterpro'}</p>
<p>*|SUBSCRIBED|* - {l s='Return true if the current user is subscribed at the newsletter' mod='newsletterpro'}</p>
<p>{ldelim}email{rdelim} - {l s='Display current user email address' mod='newsletterpro'}</p>
<p>*|EMAIL|* - {l s='Display current user email address' mod='newsletterpro'}</p>
<p>{ldelim}user_type{rdelim} - {l s='Return the type of the current user' mod='newsletterpro'}</p>
<br />
<div class="npro-hint">
<p>{l s='The user_type it can have the values \'customer\', \'registred\', \'registred_np\', \'added\' or \'employee\'' mod='newsletterpro'}</p>
<p>{l s='Only customers have the {firstname} and {lastname} variables, if the current user that you send the newsletter dose not have those variables you can use a conditional statement like:' mod='newsletterpro'}</p>
<p>{ldelim}if user_type=='customer'{rdelim}{l s='Hi' mod='newsletterpro'} {ldelim}firstname{rdelim} {ldelim}lastname{rdelim} {ldelim}/if{rdelim}</p>
<p>{l s='or you can use:' mod='newsletterpro'}</p>
<br />
<p>{l s='If the forward feature is active and the recipient received the forwarded newsletter you can use this statement to inform him:' mod='newsletterpro'}</p>
<p>{ldelim}if isset(variable_name){rdelim} {l s='Hi' mod='newsletterpro'} {ldelim}variable_name{rdelim} {ldelim}/if{rdelim}</p>
<p>{ldelim}if is_forwarder==1{rdelim}{l s='Your friend with the email address {forwarder_email} has forwarded this newsletter! If you no loger want to receive this newsletter you can {unsubscribe}.' mod='newsletterpro'}{ldelim}/if{rdelim}</p>
</div>
<br />
<p>{ldelim}firstname{rdelim} - {l s='Display the current customer Firstname' mod='newsletterpro'}</p>
<p>*|FNAME|* - {l s='Display the current customer Firstname' mod='newsletterpro'}</p>
<p>{ldelim}lastname{rdelim} - {l s='Display the current customer Lastname' mod='newsletterpro'}</p>
<p>*|LNAME|* - {l s='Display the current customer Lastname' mod='newsletterpro'}</p>
<p>{ldelim}id{rdelim} - {l s='Return the id of the current customers' mod='newsletterpro'}</p>
<p>{ldelim}id_default_group{rdelim} - {l s='Return the default registration group id of the current user' mod='newsletterpro'}</p>
<p>{ldelim}id_lang{rdelim} - {l s='Return the language id of the current user ' mod='newsletterpro'}</p>
<p>{ldelim}id_shop{rdelim} - {l s='Return the shop id that current user is registered' mod='newsletterpro'}</p>
<p>{ldelim}shop_name{rdelim} - {l s='Display the shop name' mod='newsletterpro'}</p>
<p>*|SHOP|* - {l s='Display the shop name' mod='newsletterpro'}</p>
<p>{ldelim}img_path{rdelim} - {l s='Display the link of the current user language flag' mod='newsletterpro'}</p>
<p>{ldelim}ip{rdelim} - {l s='Display the current user newsletter registration ip' mod='newsletterpro'}</p>
<p>{ldelim}language{rdelim} - {l s='Display the name of the current user language' mod='newsletterpro'}</p>
<p>*|LANGUAGE|* - {l s='Display the name of the current user language' mod='newsletterpro'}</p>
<p>{ldelim}newsletter_date_add{rdelim} - {l s='Display the current user newsletter registration date' mod='newsletterpro'}</p>
<p>{ldelim}unsubscribe_link{rdelim} - {l s='Display the current user unsubscribe link (the link will unsubscribe the current user and then the page will display a message)' mod='newsletterpro'}</p>
<p>{ldelim}unsubscribe_link_redirect{rdelim} - {l s='Display the current user unsubscribe link (the link will unsubscribe the current user and then the page will redirect to the index shop url)' mod='newsletterpro'}</p>
<p>{ldelim}unsubscribe{rdelim} - {l s='Display the current user unsubscribe button (the button link will unsubscribe the current user and then the page will display a message) - the button can be renamed on the module translation panel' mod='newsletterpro'}</p>
<p>{ldelim}unsubscribe_redirect{rdelim} - {l s='Display the current user unsubscribe button (the button link will unsubscribe the current user and then the page will redirect to the index shop url) - the button can be renamed on the module translation panel' mod='newsletterpro'}</p>
<p>{ldelim}subscribe_link{rdelim} - {l s='Display the current user subscribe link. By clicking on the link the user can subscribe again to the newsletter.' mod='newsletterpro'}</p>
<p>{ldelim}subscribe{rdelim} - {l s='Display the current user subscribe button. By clicking on the link the user can subscribe again to the newsletter.' mod='newsletterpro'}</p>
<p>{ldelim}date{rdelim} - {l s='Display the current date' mod='newsletterpro'}</p>
<p>{ldelim}date_full{rdelim} - {l s='Display the current date with the current hour' mod='newsletterpro'}</p>
<p>{ldelim}view_in_browser_link{rdelim} - {l s='Display the link where the customers and visitors view the newsletter in browser.' mod='newsletterpro'}</p>
<p>{ldelim}view_in_browser{rdelim} - {l s='Display the button where the customers and visitors view the newsletter in browser.' mod='newsletterpro'}</p>
<p>{ldelim}view_in_browser_link_share{rdelim} - {l s='Display the link where the customers and visitors view the newsletter in browser.' mod='newsletterpro'} {l s='This link is urlencoded.' mod='newsletterpro'}</p>
<p>{ldelim}view_in_browser_share{rdelim} - {l s='Display the button where the customers and visitors view the newsletter in browser.' mod='newsletterpro'} {l s='This link is urlencoded.' mod='newsletterpro'}</p>
<p>{ldelim}forward_link{rdelim} - {l s='Display the link where the customers and visitors can manage their forward emails.' mod='newsletterpro'}</p>
<p>{ldelim}forward{rdelim} - {l s='Display the button where the customers and visitors can manage their forward emails.' mod='newsletterpro'}</p>
<p>{ldelim}is_forwarder{rdelim} - {l s='Dispaly 1 if the recipient received a forwarded newsletter, else the value will be 0.' mod='newsletterpro'}</p>
<p>{ldelim}page_index_link{rdelim}</p>
<p>{ldelim}page_contact_link{rdelim}</p>
<p>{ldelim}page_new_products{rdelim}</p>
<p>{ldelim}page_best_sales{rdelim}</p>
<p>{ldelim}page_sitemap{rdelim}</p>
<p>{ldelim}page_my_account{rdelim}</p>
<p>{ldelim}page_my_orders{rdelim}</p>
<p>{ldelim}page_my_order_slip{rdelim}</p>
<p>{ldelim}page_my_addresses{rdelim}</p>
<p>{ldelim}page_my_personal_info{rdelim}</p>
<p>{ldelim}page_my_vouchers{rdelim}</p>
<p>{ldelim}module_url{rdelim}</p>
<p>{ldelim}date_text{rdelim}</p>
<p>{ldelim}date_year{rdelim}</p>
<p>{ldelim}domain{rdelim}</p>
<p>{ldelim}domain_ssl{rdelim}</p>
<p>{ldelim}date_day{rdelim}</p>
<p>{ldelim}date_month_text{rdelim}</p>
<p>{ldelim}shop_email{rdelim}</p>
{if isset($help_vars)}
{foreach $help_vars as $var}
<p>{$var|escape:'html':'UTF-8'}</p>
{/foreach}
{/if}
<br />
<div class="npro-hint">
<p>{l s='If you are a developer you can create new template variables (related to the current user) in the file' mod='newsletterpro'} 'newsletterpro\classes\NewsletterProExtendTemplateVars.php'</p>
</div>
</div>

View File

@@ -0,0 +1,130 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="newsletter-pro-help-box">
<h4>{l s='Dynamic Vars' mod='newsletterpro'}</h4>
<p>{l s='The dynamic vars are render when the newsletter is send and take a different value for each customer.' mod='newsletterpro'}</p>
<br>
<p>{l s='Type String' mod='newsletterpro'}</p>
<p>{ldelim}$name{rdelim} - {l s='Product name' mod='newsletterpro'}</p>
<p>{ldelim}$currency{rdelim} - {l s='Display currency' mod='newsletterpro'}</p>
<p>{ldelim}$description{rdelim} - {l s='Full description of product' mod='newsletterpro'}</p>
<p>{ldelim}$description_short{rdelim} - {l s='Short description of product' mod='newsletterpro'}</p>
<p>{ldelim}$manufacturer_name{rdelim} - {l s='Manufacturer name' mod='newsletterpro'}</p>
<br>
<div class="npro-hint">
<p>{l s='Example:' mod='newsletterpro'}</p>
<p>{ldelim}$name|15(...)|en{rdelim} - {l s='This will display the name of the product in English and if the name has the length bigger the 15 characters the name will be trim down at 15 characters and the end of the name will have the value of 3 dots (...).' mod='newsletterpro'}</p>
<p>{l s='The parameters after the "|" character are optional. The variable $name can be written is 3 different ways:' mod='newsletterpro'}</p>
<p>{ldelim}$name{rdelim} - {l s='This will display the product name in the customer language. If the newsletter receiver is not a customer and is a visitor he will receive the newsletter in the template selected language.' mod='newsletterpro'}</p>
<p>{ldelim}$name|15{rdelim} - {l s='This will display the product name with a length of characters at 15.' mod='newsletterpro'}</p>
<p>{ldelim}$name|15(...){rdelim} - {l s='This will display the product name with a length of characters at 15 and will have at the end of the name 3 dots (...).' mod='newsletterpro'}</p>
<p>{ldelim}$name|en{rdelim} - {l s='This will display the product name in English.' mod='newsletterpro'}</p>
<p>{l s='The languages iso codes available in this shop are: ' mod='newsletterpro'} <span style="font-weight: bold;">{$lang_iso|escape:'html':'UTF-8'}</span></p>
</div>
<br>
<p>{l s='Type Currency' mod='newsletterpro'}</p>
<p>{ldelim}$currency{rdelim} - {l s='Display currency' mod='newsletterpro'}</p>
<p>{ldelim}$price_display{rdelim} - {l s='Display converted price with currency' mod='newsletterpro'} <strong>{l s='(recommended)' mod='newsletterpro'}</strong></p>
<p>{ldelim}$price_convert{rdelim} - {l s='Display converted price' mod='newsletterpro'}</p>
<p>{ldelim}$price_without_reduction{rdelim}</p>
<p>{ldelim}$price_without_reduction_convert{rdelim}</p>
<p>{ldelim}$price_without_reduction_display{rdelim}</p>
<p>{ldelim}$price_tax_exc{rdelim}</p>
<p>{ldelim}$price_tax_exc_convert{rdelim}</p>
<p>{ldelim}$price_tax_exc_display{rdelim}</p>
<p>{ldelim}$price_tax_exc{rdelim}</p>
<p>{ldelim}$wholesale_price_convert{rdelim}</p>
<p>{ldelim}$wholesale_price_display{rdelim}</p>
<p>{ldelim}$discount{rdelim}</p>
<p>{ldelim}$discount_decimals{rdelim}</p>
<p>{ldelim}$reduction{rdelim}</p>
<p>{ldelim}$reduction_display{rdelim}</p>
<br>
<div class="npro-hint">
<p>{l s='Example:' mod='newsletterpro'}</p>
<p>{ldelim}$price_display{rdelim} - {l s='This will display the converted price with currency. The price will differ depends of the customer. For example if the shop has a different price of a specific group, the price will be different beside the default group.' mod='newsletterpro'} <strong>{l s='(recommended)' mod='newsletterpro'}</strong></p>
<p>{ldelim}$price_display|EUR{rdelim} - {l s='This is almost the same as the previous example but the price will has the EURO currency.' mod='newsletterpro'}</p>
<p>{l s='The currencies iso codes available in this shop are: ' mod='newsletterpro'} <span style="font-weight: bold;">{$currencies_iso|escape:'html':'UTF-8'}</span></p>
</div>
<br>
<h4>{l s='Static Vars' mod='newsletterpro'}</h4>
<p>{ldelim}name{rdelim} - {l s='Product name' mod='newsletterpro'}</p>
<p>{ldelim}price_display{rdelim} - {l s='Display converted price with currency' mod='newsletterpro'} <strong>{l s='(recommended)' mod='newsletterpro'}</strong></p>
<p>{ldelim}currency{rdelim} - {l s='Display currency' mod='newsletterpro'}</p>
<p>{ldelim}price{rdelim} - {l s='Product price (default currency)' mod='newsletterpro'}</p>
<p>{ldelim}link{rdelim} - {l s='Product url' mod='newsletterpro'}</p>
<p>{ldelim}reference{rdelim} - {l s='Product reference' mod='newsletterpro'}</p>
<p>{ldelim}description{rdelim} - {l s='Full description of product' mod='newsletterpro'}</p>
<p>{ldelim}description_short{rdelim} - {l s='Short description of product' mod='newsletterpro'}</p>
<p>{ldelim}quantity{rdelim} - {l s='Quantity of product' mod='newsletterpro'}</p>
<p>{ldelim}wholesale_price{rdelim} - {l s='The wholesale price at which you bought this product' mod='newsletterpro'}</p>
<p>{ldelim}wholesale_price_display{rdelim}</p>
<p>{ldelim}width{rdelim} - {l s='Product width' mod='newsletterpro'}</p>
<p>{ldelim}height{rdelim} - {l s='Product height' mod='newsletterpro'}</p>
<p>{ldelim}depth{rdelim} - {l s='Product depth' mod='newsletterpro'}</p>
<p>{ldelim}weight{rdelim} - {l s='Product weight' mod='newsletterpro'}</p>
<p>{ldelim}link_rewrite{rdelim} - {l s='Rewrite url name' mod='newsletterpro'}</p>
<p>{ldelim}manufacturer_name{rdelim} - {l s='Manufacturer name' mod='newsletterpro'}</p>
<p>{ldelim}price_tax_exc{rdelim} - {l s='Product price exclude taxes' mod='newsletterpro'}</p>
<p>{ldelim}price_without_reduction{rdelim} - {l s='Product price without reduction' mod='newsletterpro'}</p>
<p>{ldelim}reduction{rdelim} - {l s='Product reduction price' mod='newsletterpro'}</p>
<p>{ldelim}reduction_display{rdelim}</p>
<p>{ldelim}discount{rdelim}</p>
<p>{ldelim}discount_decimals{rdelim}</p>
<p>{ldelim}price_without_reduction{rdelim}</p>
<p>{ldelim}price_without_reduction_display{rdelim}</p>
<p>{ldelim}price_tax_exc{rdelim}</p>
<p>{ldelim}price_tax_exc_display{rdelim}</p>
<p>{ldelim}unity{rdelim} - {l s='Display the product unit.' mod='newsletterpro'}</p>
<p>{ldelim}unit_price{rdelim} - {l s='Display the unit price in the shop default currency.' mod='newsletterpro'}</p>
<p>{ldelim}unit_price_display{rdelim} - {l s='Display the unit price with the currency.' mod='newsletterpro'}</p>
<p>{ldelim}unit_price_tax_exc{rdelim} - {l s='Display the unit price in the shop default currency without taxes.' mod='newsletterpro'}</p>
<p>{ldelim}unit_price_tax_exc_display{rdelim} - {l s='Display the unit price with the currency without taxes.' mod='newsletterpro'}</p>
<p>{ldelim}unity_price_bo{rdelim}</p>
<p>{ldelim}unity_price_bo_display{rdelim}</p>
<p>{ldelim}module_images_path{rdelim}</p>
<p>{ldelim}id_product{rdelim}</p>
<p>{ldelim}id_supplier{rdelim}</p>
<p>{ldelim}id_manufacturer{rdelim}</p>
<p>{ldelim}id_category_default{rdelim}</p>
<p>{ldelim}id_shop_default{rdelim}</p>
<p>{ldelim}tax_name{rdelim}</p>
<p>{ldelim}tax_rate{rdelim}</p>
<p>{ldelim}unit_price_ratio{rdelim}</p>
<p>{ldelim}on_sale{rdelim}</p>
<p>{ldelim}online_only{rdelim}</p>
<p>{ldelim}minimal_quantity{rdelim}</p>
<p>{ldelim}supplier_reference{rdelim}</p>
<p>{ldelim}quantity_discount{rdelim}</p>
<p>{ldelim}condition{rdelim}</p>
<p>{ldelim}date_add{rdelim}</p>
<p>{ldelim}date_upd{rdelim}</p>
<p>{ldelim}price_tax_inc{rdelim}</p>
<p>{ldelim}price_tax_inc_display{rdelim}</p>
<p>{ldelim}price_without_reduction_tax_inc{rdelim}</p>
<p>{ldelim}price_without_reduction_tax_inc_display{rdelim}</p>
<p>{ldelim}price_without_reduction_tax_exc{rdelim}</p>
<p>{ldelim}price_without_reduction_tax_exc_display{rdelim}</p>
<p>{ldelim}pre_tax_retail_price{rdelim}</p>
<p>{ldelim}ecotax{rdelim}</p>
<p>{ldelim}ecotax_display{rdelim}</p>
<p>{ldelim}additional_shipping_cost{rdelim}</p>
<p>{ldelim}additional_shipping_cost_display{rdelim}</p>
<p>{ldelim}manufacturer_img_link{rdelim}</p>
<p>{ldelim}manufacturer_img{rdelim}</p>
</div>

View File

@@ -0,0 +1,113 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="newsletter-pro-help-box">
<p>{l s='Those variables are available for all the subscription templates located in the tabs "Edit Template" and "Edit Messages".' mod='newsletterpro'}</p>
<br>
<p>{ldelim}shop_name{rdelim} - {l s='Display the current shop name.' mod='newsletterpro'}</p>
<p>{ldelim}voucher{rdelim} - {l s='Display the template voucher if exists.' mod='newsletterpro'}</p>
<p>{ldelim}voucher_name{rdelim} - {l s='Display the voucher name.' mod='newsletterpro'}</p>
<p>{ldelim}voucher_quantity{rdelim} - {l s='Display the voucher quantity.' mod='newsletterpro'}</p>
<p>{ldelim}voucher_value{rdelim} - {l s='Display the voucher volue in percent or amount.' mod='newsletterpro'}</p>
<p>{ldelim}shop_url{rdelim} - {l s='Display for shop url.' mod='newsletterpro'}</p>
<p>{ldelim}shop_name{rdelim} - {l s='Display the shop name.' mod='newsletterpro'}</p>
<p>{ldelim}shop_logo_url{rdelim} - {l s='Display the shop logo url.' mod='newsletterpro'}</p>
<p>{ldelim}shop_logo{rdelim} - {l s='Display the shop logo url.' mod='newsletterpro'}</p>
<p>{ldelim}module_url{rdelim} - {l s='Display the shop url.' mod='newsletterpro'}</p>
<p>{ldelim}module_path{rdelim} - {l s='Display the shop path.' mod='newsletterpro'}</p>
<br>
<p>{ldelim}close_forever_onclick_function{rdelim} - {l s='Display a javascript function that can be used for the html tag attribute onclick. The function will close the popup window and save a cookie. If the client will click on this button the popup window will not appear until the cookie expire.' mod='newsletterpro'}</p>
<br>
<p>{ldelim}close_forever{rdelim} - {l s='Display a button that will close the popup window and save a cookie. If the client will click on this button the popup window will not appear until the cookie expire.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$close_forever|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayInfo{rdelim} - {l s='Display the registration at the newsletter status.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayInfo|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayGender{rdelim} - {l s='Display the gender options.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayGender|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayFirstName{rdelim} - {l s='Display the firstname input.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayFirstName|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayLastName{rdelim} - {l s='Display the lastname input.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayLastName|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayEmail{rdelim} - {l s='Display the email input.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayEmail|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayTermsAndConditionsLink{rdelim} - {l s='Display the email input.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayTermsAndConditionsLink|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayTermsAndConditionsCheckbox{rdelim} - {l s='Display the email input.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayTermsAndConditionsCheckbox|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayTermsAndConditionsFull{rdelim} - {l s='Display the email input.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayTermsAndConditionsFull|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayLanguages{rdelim} - {l s='Display the languages options.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayLanguages|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayBirthday{rdelim} - {l s='Display the birthday options.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayBirthday|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}displayListOfInterest{rdelim} - {l s='Display the list of interest options. There are two types available: select options or checkboxes.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$displayListOfInterest|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
<p>{ldelim}submitButton{rdelim} - {l s='Display the submit button.' mod='newsletterpro'}</p>
<div class="npro-hint">
<pre class="help-scrollbar">{$submitButton|escape:'htmlall':'UTF-8'}</pre>
</div>
<br>
</div>

View File

@@ -0,0 +1,48 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="form-group clearfix">
<a class="btn btn-default pull-left" href="javascript:{}" onclick="NewsletterProComponents.objs.uploadCSV.geBack();"><i class="icon icon-chevron-left on-left" style="font-size: 11px;"></i> <span>{l s='Go Back' mod='newsletterpro'}</span></a>
{if isset($rows)}
<span class="import-info">{l s='There are' mod='newsletterpro'} {$count|escape:'html':'UTF-8'} {l s='rows out of which' mod='newsletterpro'} <span style="color: #5C8A2D;">{$valid|strval}</span> {l s='has valid emails.' mod='newsletterpro'}</span>
<a class="btn btn-default pull-right" href="javascript:{}" onclick="NewsletterProControllers.NavigationController.viewImported();"><i class="icon icon-eye"></i> {l s='View Imported List' mod='newsletterpro'}</a>
{else if isset($msg)}
<span class="{if $status == true}success-msg{else}error-msg{/if}">{$msg|escape:'html':'UTF-8'}</span>
{/if}
</div>
{if isset($rows)}
<table class="table">
<thead>
<tr>
{foreach $header as $head}
<th>{$head|escape:'html':'UTF-8'}</th>
{/foreach}
</tr>
</thead>
<tbody>
{foreach $rows as $row}
<tr>
{foreach $row as $line}
<td>{$line|escape:'html':'UTF-8'}</td>
{/foreach}
</tr>
{/foreach}
</tbody>
</table>
{/if}
<div class="clear"></div>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,40 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<script type="text/javascript">
{* ESCAPED CONTENT *}
NewsletterPro.dataStorage.addObject(jQuery.parseJSON('{$jsData|strval}'));
// script alias, for the websites that have cache, this variables are not required, they can be deleted
var CATEGORIES_LIST = NewsletterPro.dataStorage.get('categories_list'),
NPRO_CONFIGURATION = {
'SUBSCRIPTION_ACTIVE': NewsletterPro.dataStorage.getNumber('configuration.SUBSCRIPTION_ACTIVE'),
'VIEW_ACTIVE_ONLY': NewsletterPro.dataStorage.getNumber('configuration.VIEW_ACTIVE_ONLY'),
'PS_SHOP_EMAIL': NewsletterPro.dataStorage.get('configuration.PS_SHOP_EMAIL')
},
NEWSLETTER_PRO_IMG_PATH = NewsletterPro.dataStorage.get('module_img_path'),
DISPLAY_PRODUCT_IMAGE = NewsletterPro.dataStorage.getNumber('configuration.DISPLAY_PRODUCT_IMAGE'),
NPRO_AJAX_URL = NewsletterPro.dataStorage.get('ajax_url'),
NPRO_TRANSLATIONS = {
'add': "{l s='add' mod='newsletterpro'}",
'remove': "{l s='remove' mod='newsletterpro'}",
};
{if $href_replace == true}
window.location.href = window.location.href.replace(/&downloadImportSample/, '');
{/if}
</script>

View File

@@ -0,0 +1,436 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<script type="text/javascript">
NewsletterPro.namespace('translations');
NewsletterPro.translations = ({
init: function(box) {
var self = this;
return self;
},
l: function(namespace) {
return function(value) {
if (namespace.hasOwnProperty(value))
return namespace[value];
console.log('Translation not found! ('+value+')');
return value;
}
},
global: {
'add': "{l s='add' mod='newsletterpro'}",
'remove': "{l s='remove' mod='newsletterpro'}",
},
modules: {
task: {
'This is not a standard template. This template will unsubscribe your email addresses when you will send the newsletter.': "{l s='This is not a standard template. This template will unsubscribe your email addresses when you will send the newsletter.' mod='newsletterpro'}",
'template not found': "{l s='Template was not updated!' mod='newsletterpro'}",
'send method not update': "{l s='Send method was not updated!' mod='newsletterpro'}",
'smtp not update': "{l s='SMTP was not updated!' mod='newsletterpro'}",
'date not changed': "{l s='The date cannot be changed' mod='newsletterpro'}",
'email sent': "{l s='Email sent successfully!' mod='newsletterpro'}",
'The date is not valid.': "{l s='The date is not valid.' mod='newsletterpro'}",
'View': "{l s='View' mod='newsletterpro'}",
'new task': "{l s='New Task' mod='newsletterpro'}",
'errors': "{l s='Errors' mod='newsletterpro'}",
'step': "{l s='step' mod='newsletterpro'}",
'close': "{l s='close' mod='newsletterpro'}",
'delete': "{l s='Delete' mod='newsletterpro'}",
'send': "{l s='Send' mod='newsletterpro'}",
'pause': "{l s='Pause' mod='newsletterpro'}",
'continue': "{l s='Continue' mod='newsletterpro'}",
'test': "{l s='Test' mod='newsletterpro'}",
'delete task': "{l s='The task cannot be deleted!' mod='newsletterpro'}",
'delete send history': "{l s='The record cannot be deleted!' mod='newsletterpro'}",
'less info': "{l s='less info' mod='newsletterpro'}",
'more info': "{l s='more info' mod='newsletterpro'}",
'details': "{l s='Details' mod='newsletterpro'}",
'view': "{l s='View' mod='newsletterpro'}",
'view template': "{l s='View Template' mod='newsletterpro'}",
'veiw in a new window': "{l s='View in a new window' mod='newsletterpro'}",
'page': "{l s='Page' mod='newsletterpro'}",
'of': "{l s='of' mod='newsletterpro'}",
'items': "{l s='items' mod='newsletterpro'}",
'selected': "{l s='selected' mod='newsletterpro'}",
'check all': "{l s='check all' mod='newsletterpro'}",
'unsubscribed': "{l s='Unsubscribed' mod='newsletterpro'}",
'delete record': "{l s='Do you want to delete this record?' mod='newsletterpro'}",
'resend': "{l s='Resend' mod='newsletterpro'}",
'The newsletter is in progress. Do you want to stop the sending process before to proceed?': "{l s='The newsletter is in progress. Do you want to stop the sending process before to proceed?' mod='newsletterpro'}",
'Now': "{l s='Now' mod='newsletterpro'}",
'Done': "{l s='Done' mod='newsletterpro'}",
'Choose Time': "{l s='Choose Time' mod='newsletterpro'}",
'Time': "{l s='Time' mod='newsletterpro'}",
'Hour': "{l s='Hour' mod='newsletterpro'}",
'CSV Separator': "{l s='CSV Separator' mod='newsletterpro'}",
'Invalid CSV separator.': "{l s='Invalid CSV separator.' mod='newsletterpro'}",
},
createCustomField: {
'Create Custom Fields': "{l s='Create Custom Fields' mod='newsletterpro'}",
'List Columns': "{l s='List Columns' mod='newsletterpro'}",
'Variable Name': "{l s='Variable Name' mod='newsletterpro'}",
'Add New Variable': "{l s='Add New Variable' mod='newsletterpro'}",
'Type': "{l s='Type' mod='newsletterpro'}",
'Display a new column for the created fields on the list Visitors Subscribed (at the Newsletter Pro module).': "{l s='Display a new column for the created fields on the list Visitors Subscribed (at the Newsletter Pro module).' mod='newsletterpro'}",
'Value': "{l s='Value' mod='newsletterpro'}",
'Add': "{l s='Add' mod='newsletterpro'}",
'Actions': "{l s='Actions' mod='newsletterpro'}",
'Value': "{l s='Value' mod='newsletterpro'}",
'Required': "{l s='Required' mod='newsletterpro'}",
'Save Variable': "{l s='Save Variable' mod='newsletterpro'}",
'Variable Name': "{l s='Variable Name' mod='newsletterpro'}",
'Type': "{l s='Type' mod='newsletterpro'}",
'none': "{l s='none' mod='newsletterpro'}",
'delete': "{l s='Delete' mod='newsletterpro'}",
'Edit Variable': "{l s='Edit Variable' mod='newsletterpro'}",
'An error occurred.': "{l s='An error occurred.' mod='newsletterpro'}",
'Are you sure you want to do this action? You will lose all the data collected with this field.': "{l s='Are you sure you want to do this action? You will lose all the data collected with this field.' mod='newsletterpro'}",
'Edit': "{l s='Edit' mod='newsletterpro'}",
'Update': "{l s='Update' mod='newsletterpro'}",
'Required': "{l s='Required' mod='newsletterpro'}",
'Yes': "{l s='Yes' mod='newsletterpro'}",
'No': "{l s='No' mod='newsletterpro'}",
'Display Custom Columns': "{l s='Display Custom Columns' mod='newsletterpro'}",
},
privacy: {
'Subscription Consent History': "{l s='Subscription Consent History' mod='newsletterpro'}",
'The email address is not valid.': "{l s='The email address is not valid.' mod='newsletterpro'}",
'Erase Data': "{l s='Erase Data' mod='newsletterpro'}",
'Logs Files': "{l s='Logs Files' mod='newsletterpro'}",
'Filename': "{l s='Filename' mod='newsletterpro'}",
'No records found.': "{l s='No records found.' mod='newsletterpro'}",
'Lines Found': "{l s='Lines Found' mod='newsletterpro'}",
'CSV Files': "{l s='CSV Files' mod='newsletterpro'}",
'The records have been erased.': "{l s='The records have been erased.' mod='newsletterpro'}",
'Are you sure you want to erase the data associated with this email address? This action is irreversible.': "{l s='Are you sure you want to erase the data associated with this email address? This action is irreversible.' mod='newsletterpro'}",
'Database': "{l s='Database' mod='newsletterpro'}",
'Table Name': "{l s='Table Name' mod='newsletterpro'}",
'Rows Found': "{l s='Rows Found' mod='newsletterpro'}",
'has been unsubscribed': "{l s='has been unsubscribed' mod='newsletterpro'}",
'Rows Erased': "{l s='Rows Erased' mod='newsletterpro'}",
'Lines Erased': "{l s='Lines Erased' mod='newsletterpro'}",
'Close Panel': "{l s='Close Panel' mod='newsletterpro'}",
'Nothing found': "{l s='Nothing found' mod='newsletterpro'}",
'Details': "{l s='Details' mod='newsletterpro'}",
'Delete': "{l s='Delete' mod='newsletterpro'}",
'Consent Date': "{l s='Consent Date' mod='newsletterpro'}",
'Email': "{l s='Email' mod='newsletterpro'}",
'Subscribed': "{l s='Subscribed' mod='newsletterpro'}",
'IP': "{l s='IP' mod='newsletterpro'}",
'Date Add': "{l s='Date Add' mod='newsletterpro'}",
'Are you sure you want to delete the email subscription consent hisotry?': "{l s='Are you sure you want to delete the email subscription consent hisotry?' mod='newsletterpro'}",
},
forward: {
'delete': "{l s='Delete' mod='newsletterpro'}",
'delete record': "{l s='The record cannot be deleted!' mod='newsletterpro'}",
'delete added confirm': "{l s='Are you sure you want to delete the email address?' mod='newsletterpro'}",
'details': "{l s='Details' mod='newsletterpro'}",
'forward to emails': "{l s='Forward to emails' mod='newsletterpro'}",
'delete forwards records error': "{l s='The records cannot be deleted.' mod='newsletterpro'}",
'search': "{l s='Search' mod='newsletterpro'}",
'clear filters': "{l s='Clear Filters' mod='newsletterpro'}",
},
sendManager: {
'Error': "{l s='Error' mod='newsletterpro'}",
},
sendNewsletters: {
'You must select at least an email address.': "{l s='You must select at least an email address.' mod='newsletterpro'}",
'Invalid CSV separator.': "{l s='Invalid CSV separator.' mod='newsletterpro'}",
'Export Selection': "{l s='Export Selection' mod='newsletterpro'}",
'CSV Separator': "{l s='CSV Separator' mod='newsletterpro'}",
'Clear Selection': "{l s='Clear Selection' mod='newsletterpro'}",
'Search': "{l s='Search' mod='newsletterpro'}",
'Country Name': "{l s='Country Name' mod='newsletterpro'}",
'ISO Code': "{l s='ISO Code' mod='newsletterpro'}",
'Active': "{l s='Active' mod='newsletterpro'}",
'Filter customers by country': "{l s='Filter customers by country' mod='newsletterpro'}",
'Total spent': "{l s='Total spent' mod='newsletterpro'}",
'Display Custom Columns': "{l s='Display Custom Columns' mod='newsletterpro'}",
'Show Columns': "{l s='Show Columns' mod='newsletterpro'}",
'none': "{l s='none' mod='newsletterpro'}",
'Details': "{l s='Details' mod='newsletterpro'}",
'all fields': "{l s='all fields' mod='newsletterpro'}",
'Save': "{l s='Save' mod='newsletterpro'}",
'An error occured.': "{l s='An error occured.' mod='newsletterpro'}",
'File': "{l s='File' mod='newsletterpro'}",
'Separator': "{l s='Separator' mod='newsletterpro'}",
'subscribe': "{l s='Subscribe' mod='newsletterpro'}",
'unsubscribe': "{l s='Unsubscribe' mod='newsletterpro'}",
'error on subscribe or unsubscribe': "{l s='There was an error on unsubscribe/subscribe the email addresses from newsletter!' mod='newsletterpro'}",
'check all': "{l s='Check All' mod='newsletterpro'}",
'uncheck all': "{l s='Uncheck All' mod='newsletterpro'}",
'search': "{l s='Search' mod='newsletterpro'}",
'groups': "{l s='Groups' mod='newsletterpro'}",
'languages': "{l s='Languages' mod='newsletterpro'}",
'shops': "{l s='Shops' mod='newsletterpro'}",
'CSV Name': "{l s='CSV Name' mod='newsletterpro'}",
'gender': "{l s='Gender' mod='newsletterpro'}",
'subscribed': "{l s='Subscribed' mod='newsletterpro'}",
'by list of interest': "{l s='By List Of Interest' mod='newsletterpro'}",
'filters': "{l s='Filters:' mod='newsletterpro'}",
'clear filters': "{l s='Clear Filters' mod='newsletterpro'}",
'categories': "{l s='By Categories' mod='newsletterpro'}",
'delete': "{l s='Delete' mod='newsletterpro'}",
'delete customer': "{l s='The customer cannot be deleted!' mod='newsletterpro'}",
'delete customer confirm': "{l s='Are you sure you want to delete the customer?' mod='newsletterpro'}",
'delete visitor': "{l s='The visitor cannot be deleted!' mod='newsletterpro'}",
'delete visitor confirm': "{l s='Are you sure you want to delete the visitor email address?' mod='newsletterpro'}",
'delete record': "{l s='The record cannot be deleted!' mod='newsletterpro'}",
'add to exclusion': "{l s='Add to Exclusion' mod='newsletterpro'}",
'delete added confirm': "{l s='Are you sure you want to delete the email address?' mod='newsletterpro'}",
'add': "{l s='Add' mod='newsletterpro'}",
'exclusion emails': "{l s='Exclusion emails' mod='newsletterpro'}",
'select emails from history': "{l s='Select emails from history' mod='newsletterpro'}",
'template name': "{l s='Template' mod='newsletterpro'}",
'template date': "{l s='Date' mod='newsletterpro'}",
'total emails': "{l s='Total emails' mod='newsletterpro'}",
'sent success': "{l s='Sent successes' mod='newsletterpro'}",
'sent errors': "{l s='Sent errors' mod='newsletterpro'}",
'template clicks': "{l s='Clicks' mod='newsletterpro'}",
'template read': "{l s='Read' mod='newsletterpro'}",
'template actions': "{l s='Actions' mod='newsletterpro'}",
'type': "{l s='Type' mod='newsletterpro'}",
'remaining email': "{l s='Remaining email' mod='newsletterpro'}",
'sent email': "{l s='Sent email' mod='newsletterpro'}",
'add title': "{l s='Add a new email address' mod='newsletterpro'}",
'category filter title': "{l s='Filter by category of interest' mod='newsletterpro'}",
'empty list': "{l s='Empty List' mod='newsletterpro'}",
'empty list error': "{l s='The list has not been cleared!' mod='newsletterpro'}",
'empty list confirm': "{l s='Are you sure you want to clear the list!' mod='newsletterpro'}",
'by purchase': "{l s='By Purchase' mod='newsletterpro'}",
'by birthday': "{l s='By Birthday' mod='newsletterpro'}",
'filter by purchase': "{l s='Filter by purchase' mod='newsletterpro'}",
'filter by birthday': "{l s='Filter by birthday' mod='newsletterpro'}",
'remove': "{l s='remove' mod='newsletterpro'}",
'range selection': "{l s='Range Selection' mod='newsletterpro'}",
'yes': "{l s='yes' mod='newsletterpro'}",
'no': "{l s='no' mod='newsletterpro'}",
'bounced emails': "{l s='Manage bounced emails' mod='newsletterpro'}",
'remove bounced': "{l s='Remove Bounced' mod='newsletterpro'}",
'delete bounced emails': "{l s='delete' mod='newsletterpro'}",
'unsubscribe bounced emails': "{l s='unsubscribe' mod='newsletterpro'}",
'bounced emails method': "{l s='Bounced emails method' mod='newsletterpro'}",
'apply on the lists': "{l s='Apply on the lists' mod='newsletterpro'}",
'customers list': "{l s='Customers list' mod='newsletterpro'}",
'added list': "{l s='Added list' mod='newsletterpro'}",
'import from csv file': "{l s='Import emails from a .csv file' mod='newsletterpro'}",
'visitors subscribed at module newsletter pro': "{l s='Visitors subscribed at module Newsletter Pro' mod='newsletterpro'}",
'visitors subscribed at module block newsletter': "{l s='Visitors subscribed at module Block Newsletter' mod='newsletterpro'}",
'select the csv file': "{l s='Select the .CSV file' mod='newsletterpro'}",
'bounced emails info': "{l s='If you choose the delete method, and the bounced customers will be deleted.' mod='newsletterpro'}",
'confirm delete bounced': "{l s='Are you sure you want to delete the bounced emails?' mod='newsletterpro'}",
'webhook url': "{l s='WEBHOOK URL:' mod='newsletterpro'}",
'webhook info': "{l s='The bouceAction argument can have the values \"%s\" or \"%s\".' sprintf=['delete', 'unsubscribe'] mod='newsletterpro'}",
'Performances & Limits': "{l s='Performances & Limits' mod='newsletterpro'}",
'Define the sending performances and limits.': "{l s='Define the sending performances and limits.' mod='newsletterpro'}",
'Send one newsletter at': "{l s='Send one newsletter at' mod='newsletterpro'}",
'seconds': "{l s='seconds' mod='newsletterpro'}",
'Antiflood & Speed limits': "{l s='Antiflood & Speed limits' mod='newsletterpro'}",
'Reconnect after': "{l s='Reconnect after' mod='newsletterpro'}",
'emails sent, and pause': "{l s='emails sent, and pause' mod='newsletterpro'}",
'seconds': "{l s='seconds' mod='newsletterpro'}",
'Limit': "{l s='Limit' mod='newsletterpro'}",
'per minute': "{l s='per minute' mod='newsletterpro'}",
'change limit to MB': "{l s='change limit to MB' mod='newsletterpro'}",
'change limit to emails': "{l s='change limit to emails' mod='newsletterpro'}",
'emails': "{l s='emails' mod='newsletterpro'}",
'At least one antiflood option needs to be activated. If you want to activate the other antiflood option select it first.': "{l s='At least one antiflood option needs to be activated. If you want to activate the other antiflood option select it first.' mod='newsletterpro'}",
'(Antiflood) Send #s emails, and pause #s seconds.': "{l s='(Antiflood) Send #s emails, and pause #s seconds.' mod='newsletterpro'}",
'(Speed limits) Limit #s emails per minute.': "{l s='(Speed limits) Limit #s emails per minute.' mod='newsletterpro'}",
'(Speed limits) Limit #s MB per minute.': "{l s='(Speed limits) Limit #s MB per minute.' mod='newsletterpro'}",
'Send one newsletter at #s seconds - (for all connections).': "{l s='Send one newsletter at #s seconds - (for all connections).' mod='newsletterpro'}",
'No send method was selected.': "{l s='No send method was selected.' mod='newsletterpro'}",
'Connection Name': "{l s='Connection Name' mod='newsletterpro'}",
'Backend limit': "{l s='Backend limit' mod='newsletterpro'}",
'Decrease this number if the newsletter stops from the sending process, and it\'s not continue.': "{l s='Decrease this number if the newsletter stops from the sending process, and it\'s not continue.' mod='newsletterpro'}",
'Connection Type': "{l s='Connection Type' mod='newsletterpro'}",
'Actions': "{l s='Actions' mod='newsletterpro'}",
'Add or remove connections': "{l s='Add or remove connections' mod='newsletterpro'}",
'Leave the table empty if you want to have a single connection with the default configuration': "{l s='Leave the table empty if you want to have a single connection with the default configuration' mod='newsletterpro'}",
'Add Connection': "{l s='Add Connection' mod='newsletterpro'}",
'You smtp value has been selected.': "{l s='You smtp value has been selected.' mod='newsletterpro'}",
'The connection cannot be deleted.': "{l s='The connection cannot be deleted.' mod='newsletterpro'}",
'Don\'t add to many connections from the same server. You will risk to be banned.': "{l s='Don\'t add to many connections from the same server. You will risk to be banned.' mod='newsletterpro'}",
'Test Connection': "{l s='Test Connection' mod='newsletterpro'}",
'Test': "{l s='Test' mod='newsletterpro'}",
'#s connections': "{l s='#s connections' mod='newsletterpro'}",
'for all connections': "{l s='for all connections' mod='newsletterpro'}",
'for each connection': "{l s='for each connection' mod='newsletterpro'}",
'With #s connections send #s emails, and pause #s seconds.': "{l s='With #s connections send #s emails, and pause #s seconds.' mod='newsletterpro'}",
'With #s connections limit #s emails per minute.': "{l s='With #s connections limit #s emails per minute.' mod='newsletterpro'}",
'Are you sure you want to add a new connection? If you don\'t setup the connections properly you risk to be banned.': "{l s='Are you sure you want to add a new connection? If you don\'t setup the connections properly you risk to be banned.' mod='newsletterpro'}",
'Total spent filter': "{l s='Total spent filter' mod='newsletterpro'}",
},
frontSubscription: {
'manage list of interest': "{l s='Manage List of Interest' mod='newsletterpro'}",
'Manage List of Interests': "{l s='Manage List of Interests' mod='newsletterpro'}",
'Set the default values for your customers.': "{l s='Set the default values for your customers.' mod='newsletterpro'}",
'Update since date': "{l s='Update since date' mod='newsletterpro'}",
'If you don\'t add a date, you will update only the users that didn\'t choose any of those categories.': "{l s='If you don\'t add a date, you will update only the users that didn\'t choose any of those categories.' mod='newsletterpro'}",
'List of interests': "{l s='List of interests' mod='newsletterpro'}",
'Save': "{l s='Save' mod='newsletterpro'}",
'add': "{l s='Add' mod='newsletterpro'}",
'create backup': "{l s='Create Backup' mod='newsletterpro'}",
'load backup': "{l s='Restore' mod='newsletterpro'}",
'update': "{l s='Update' mod='newsletterpro'}",
'delete': "{l s='Delete' mod='newsletterpro'}",
'delete record confirm': "{l s='Are you sure you want to delete this record?' mod='newsletterpro'}",
'delete record error': "{l s='An error occurred when deleting the record.' mod='newsletterpro'}",
'update': "{l s='Update' mod='newsletterpro'}",
'error when updateing the record': "{l s='An error occurred when updateing the record.' mod='newsletterpro'}",
'default lang empty': "{l s='The default language field cannot be empty.' mod='newsletterpro'}",
'unsubscribe': "{l s='Unsubscribe' mod='newsletterpro'}",
'subscribe': "{l s='Subscribe' mod='newsletterpro'}",
'the default template cannot be deleted': "{l s='The default template cannot be deleted.' mod='newsletterpro'}",
'view available variables': "{l s='Available variables for the subscription template' mod='newsletterpro'}",
'backup name': "{l s='Insert the name of the backup.' mod='newsletterpro'}",
'load subscription template backup': "{l s='Load subscription template backup' mod='newsletterpro'}",
'load': "{l s='Load' mod='newsletterpro'}",
'load backup confirm': "{l s='Are you sure you want to load the backup. All the current data will be lost.' mod='newsletterpro'}",
},
settings: {
'backup name': "{l s='Insert the name of the backup.' mod='newsletterpro'}",
'load backup': "{l s='Restore' mod='newsletterpro'}",
'delete': "{l s='Delete' mod='newsletterpro'}",
'load': "{l s='Load' mod='newsletterpro'}",
'load backup confirm': "{l s='Are you sure you want to restore the backup. All the current data will be lost.' mod='newsletterpro'}",
'delete record error': "{l s='An error occurred when deleting the record.' mod='newsletterpro'}",
'delete record confirm': "{l s='Are you sure you want to delete this record?' mod='newsletterpro'}",
'Left Menu': "{l s='Left Menu' mod='newsletterpro'}",
'Top Menu': "{l s='Top Menu' mod='newsletterpro'}",
'Log': "{l s='Log' mod='newsletterpro'}",
'none': "{l s='none' mod='newsletterpro'}"
},
createTemplate: {
'delete template': "{l s='Delete' mod='newsletterpro'}",
'confirm delete template': "{l s='Are you sure you want to delete the template?' mod='newsletterpro'}",
'delete template error': "{l s='The template cannot be deleted!' mod='newsletterpro'}",
'save failure' : "{l s='Save failure!' mod='newsletterpro'}",
'save as template' : "{l s='Insert the new template name:' mod='newsletterpro'}",
},
selectProducts: {
'auto': "{l s='auto' mod='newsletterpro'}",
'delete template': "{l s='Delete' mod='newsletterpro'}",
'confirm delete template': "{l s='Are you sure you want to delete the template?' mod='newsletterpro'}",
'delete template error': "{l s='The template cannot be deleted!' mod='newsletterpro'}",
'image size': "{l s='Image Size:' mod='newsletterpro'}",
'language': "{l s='Language:' mod='newsletterpro'}",
'currency': "{l s='Currency:' mod='newsletterpro'}",
'products per row': "{l s='Products per row:' mod='newsletterpro'}",
'add image size': "{l s='Add Image Size' mod='newsletterpro'}",
'customer groups': "{l s='Customer Default Group' mod='newsletterpro'}",
'default': "{l s='default' mod='newsletterpro'}",
},
mailChimp: {
'Language': "{l s='Language' mod='newsletterpro'}",
'Display first #s errors:': "{l s='Display first #s errors:' mod='newsletterpro'}",
'Export': "{l s='Export' mod='newsletterpro'}",
'MailChimp Name': "{l s='MailChimp Name' mod='newsletterpro'}",
'confirm uninstall chimp': "{l s='Are you sure you want to uninstall the mail chimp extension?' mod='newsletterpro'}",
'import template from chimp': "{l s='Import template from Mail Chimp' mod='newsletterpro'}",
'actions': "{l s='Actions' mod='newsletterpro'}",
'Export Template To MailChimp': "{l s='Export Template To MailChimp' mod='newsletterpro'}",
'name': "{l s='Name' mod='newsletterpro'}",
'Template Name': "{l s='Template Name' mod='newsletterpro'}",
'layout': "{l s='Layout' mod='newsletterpro'}",
'category': "{l s='Category' mod='newsletterpro'}",
'preview image': "{l s='Preview Image' mod='newsletterpro'}",
'date created': "{l s='Date Created' mod='newsletterpro'}",
'active': "{l s='Active' mod='newsletterpro'}",
'preview': "{l s='Preview' mod='newsletterpro'}",
'import': "{l s='Import' mod='newsletterpro'}",
'user template': "{l s='User Template' mod='newsletterpro'}",
'base template': "{l s='Base Template' mod='newsletterpro'}",
'gallery template': "{l s='Gallery Template' mod='newsletterpro'}",
'template name': "{l s='Template name:' mod='newsletterpro'}",
'import failure': "{l s='The template cannot be imported.' mod='newsletterpro'}",
'an error occurred when updating the configuration': "{l s='An error occurred when updating the configuration.' mod='newsletterpro'}",
},
manageImages: {
'view image': "{l s='View' mod='newsletterpro'}",
'delete image': "{l s='Delete' mod='newsletterpro'}",
'delete image error': "{l s='The image cannot be deleted.' mod='newsletterpro'}",
},
gkProductList: {
'add': "{l s='add' mod='newsletterpro'}",
'remove': "{l s='remove' mod='newsletterpro'}",
},
},
components: {
ProductSelection: {
'Edit': "{l s='Edit' mod='newsletterpro'}",
'ID': "{l s='ID' mod='newsletterpro'}",
'Image': "{l s='Image' mod='newsletterpro'}",
'Group': "{l s='Group' mod='newsletterpro'}",
'Name': "{l s='Name' mod='newsletterpro'}",
'Color': "{l s='Color' mod='newsletterpro'}",
'Reference': "{l s='Reference' mod='newsletterpro'}",
'Price': "{l s='Price' mod='newsletterpro'}",
'Availalbe Date': "{l s='Availalbe Date' mod='newsletterpro'}",
'Actions': "{l s='Actions' mod='newsletterpro'}",
},
NewsletterTemplate: {
'Enter the template name.': "{l s='Enter the template name.' mod='newsletterpro'}",
'Do you want to render the template variables?': "{l s='Do you want to render the template variables?' mod='newsletterpro'}",
},
SubscriptionTemplate: {
'error on set tiny content': "{l s='An error occurred when setting the tinymce content.' mod='newsletterpro'}",
'insert the template name': "{l s='Insert the template name.' mod='newsletterpro'}",
},
EmailsToSend: {
'Emails to send:': "{l s='Emails to send:' mod='newsletterpro'}",
'remaining': "{l s='remaining' mod='newsletterpro'}",
},
EmailsSent: {
'Emails sent:': "{l s='Emails sent:' mod='newsletterpro'}",
'sent': "{l s='sent' mod='newsletterpro'}",
'errors': "{l s='errors' mod='newsletterpro'}",
'forwarders': "{l s='forwarders' mod='newsletterpro'}",
'Sent errors': "{l s='Sent errors' mod='newsletterpro'}",
},
SyncNewsletters: {
'Error ocurred at newsletter synchronisation': "{l s='Error ocurred at newsletter synchronisation' mod='newsletterpro'}",
'The login session has expired. You must refresh the browser and login again. The next time when you are login check the button \"Stay logged in\".': "{l s='The login session has expired. You must refresh the browser and login again. The next time when you are login check the button \"Stay logged in\".' mod='newsletterpro'}",
}
},
constrollers: {
'no email selected': "{l s='You have to select the email addresses to send newsletters!' mod='newsletterpro'}",
'view available variables': "{l s='Available variables for the newsletter template' mod='newsletterpro'}",
'view available variables product': "{l s='Available variables for product template' mod='newsletterpro'}",
'forwards': "{l s='forwards' mod='newsletterpro'}",
'forward': "{l s='forward' mod='newsletterpro'}",
},
}.init(NewsletterPro));
</script>

View File

@@ -0,0 +1,60 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if count($pqnp_upgrade_warning) > 0}
<div class="clearfix pqnp-update-warning-message">
<div class="col-sm-12">
<div class="alert alert-warning error clearfix">
<h3>{l s='Important changes on this update' mod='newsletterpro'}</h3>
<div class="pqnp-update-warning-message-content">
{foreach $pqnp_upgrade_warning as $key => $warn}
{if is_numeric($key)}
{if $warn === ' '}
<br>
{else}
<p>{$warn|replace:'&quot;':'"'|escape:'html':'UTF-8'}</p>
{/if}
{else}
<p><strong>{$key|replace:'&quot;':'"'|escape:'html':'UTF-8'}</strong> {$warn|replace:'&quot;':'"'|escape:'html':'UTF-8'}</p>
{/if}
{/foreach}
</div>
<a href="javascript:{}" class="btn btn-default" onclick="NewsletterProControllers.UpgradeController.clearUpdateWarnings($(this));">
<i class="icon icon-check-circle"></i>
{l s='I Understand' mod='newsletterpro'}
</a>
</div>
</div>
</div>
{/if}
{if $update.needs_update == true}
{include file="$tpl_location"|cat:"templates/admin/module_update.tpl"}
{elseif $CONFIGURATION.SHOW_CLEAR_CACHE == true}
<div id="clear-cache-box" class="clearfix">
<div class="col-sm-12">
<div class="alert alert-danger error clearfix">
<div class="clearfix" style="margin-bottom: 5px;">
{l s='The module has been updated. It\'s required to clear the prestashop cache from "Advanced Parameters" > "Performance", and also the web browser cache.' mod='newsletterpro'}
</div>
<a href="javascript:{}" class="btn btn-default" onclick="NewsletterProControllers.ClearCacheController.clear($(this));">
<i class="icon icon-check-circle"></i>
{l s='I Agree' mod='newsletterpro'}
</a>
</div>
</div>
</div>
{/if}

View File

@@ -0,0 +1,33 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="form-group clearfix">
<div class="col-sm-12">
<div class="alert alert-danger error clearfix">
<div class="clearfix">
{l s='You need to update the module, some of the features cannot run properly.' mod='newsletterpro'} {l s='You\'re have installed the version %s and the last version is %s.' sprintf=[$update.db_version,$update.version] mod='newsletterpro'}
</div>
<div class="clearfix">
{l s='Press on the update button to make this update. You will receive a confirmation message after the update process. If the update failed you need to reset the module, but all the database data related to this module will be lost (the templates will be safe).' mod='newsletterpro'}
</div>
<div class="clearfix">
{l s='If you press on the update button, and nothing happen, you don\'t receive any message you need to do: enable the force compilation option, clear the prestashop cache, and also the browser cache, then refresh the page and press on the update button again.' mod='newsletterpro'}
</div>
<a href="javascript:{}" class="btn btn-default" onclick="NewsletterProControllers.UpgradeController.execute($(this));"><span class="btn-ajax-loader" style="display: none;"></span>{l s='Update to' mod='newsletterpro'} {$update.version|escape:'html':'UTF-8'}</a>
<div id="update-module-response" class="update-module-response" style="display: none;"> </div>
</div>
</div>
</div>

View File

@@ -0,0 +1,105 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div id="newsletterpro" class="row">
{include file="$tpl_location"|cat:"templates/admin/module_info.tpl"}
{if isset($np_errors) && !empty($np_errors)}
<div class="form-group clearfix">
<div class="alert alert-danger" style="margin-bottom: 0;">
{foreach $np_errors as $error}
<div class="clearfix">{$error|escape:'quotes':'UTF-8'}</div>
{/foreach}
</div>
</div>
{/if}
<div id="np-left-side" class="np-left-side {if isset($CONFIGURATION.LEFT_MENU_ACTIVE) && $CONFIGURATION.LEFT_MENU_ACTIVE == 0}col-sm-12{else}col-sm-2{/if} clearfix">
<div class="clearfix">
<div id="tab" class="newsletter {if isset($CONFIGURATION.LEFT_MENU_ACTIVE) && $CONFIGURATION.LEFT_MENU_ACTIVE == 0}np-menu-top{/if}">
{if $isPS16}
<a data-ignore="true" href="javascript:{}" id="menu-toggle" class="menu-toggle first_item"><i class="icon icon-bars" style="font-size: 14px;"></i> <span class="toggle-menu-text">{if isset($CONFIGURATION.LEFT_MENU_ACTIVE) && $CONFIGURATION.LEFT_MENU_ACTIVE == 0}{l s='Left Menu' mod='newsletterpro'}{else}{l s='Top Menu' mod='newsletterpro'}{/if}</span></a>
{/if}
<a id="tab_newsletter_0" href="#csv" class="item"><span class="icon-import-csv"></span>{l s='Import & Export' mod='newsletterpro'}</a>
<a id="tab_newsletter_1" href="#manageImages" class="item"><span class="icon-manage-iamges"></span>{l s='Manage Images' mod='newsletterpro'}</a>
<a id="tab_newsletter_3" href="#selectProducts" class="item"><span class="icon-select-products"></span><span class="menu-text">{l s='Select Products' mod='newsletterpro'}</span> <span class="step">1</span></a>
<a id="tab_newsletter_4" href="#createTemplate" class="item"><span class="icon-create-template"></span><span class="menu-text">{l s='Create Template' mod='newsletterpro'}</span> <span class="step">2</span></a>
<a id="tab_newsletter_5" href="#sendNewsletters" class="item"><span class="icon-send-newsletters"></span><span class="menu-text">{l s='Send Newsletters' mod='newsletterpro'}</span> <span id="np-step-3" class="step">3</span></a>
<a id="tab_newsletter_10" href="#task" class="item"><span class="icon-task"></span>{l s='Tasks' mod='newsletterpro'}</a>
<a id="tab_newsletter_6" href="#history" class="item"><span class="icon-history-span"></span>{l s='History' mod='newsletterpro'}</a>
<a id="tab_newsletter_11" href="#statistics" class="item"><span class="icon-statistics"></span>{l s='Statistics' mod='newsletterpro'}</a>
<a id="tab_newsletter_8" href="#campaign" class="item"><span class="icon-campaign"></span>{l s='Campaign Statistics' mod='newsletterpro'}</a>
<a id="tab_newsletter_9" href="#smtp" class="item"><span class="icon-smtp"></span>{l s='E-mail Configuration' mod='newsletterpro'}</a>
<a id="tab_newsletter_13" href="#mailchimp" class="item"><span class="icon-mailchimp"></span>{l s='Mail Chimp' mod='newsletterpro'}</a>
<a id="tab_newsletter_14" href="#forward" class="item"><span class="icon-fwd"></span>{l s='Forwarders' mod='newsletterpro'}</a>
<a id="tab_newsletter_15" href="#frontSubscription" class="item"><span class="icon-f-subscription"></span>{l s='Front Subscription' mod='newsletterpro'} <span id="fs-vouchers-alert" class="vouchers-alert" style="display: none;"></span></a>
<a id="tab_newsletter_17" href="#privacy" class="item"><span class="icon-privacy"></span>{l s='Privacy' mod='newsletterpro'}</a>
<a id="tab_newsletter_7" href="#settings" class="item"><span class="icon-settings"></span>{l s='Settings' mod='newsletterpro'}</a>
{if isset($CONFIGURATION.DEV_MODE) && $CONFIGURATION.DEV_MODE == 1 && isset($INI_CONFIGURATION) && $INI_CONFIGURATION.demo_mode == 0}
<a id="tab_newsletter_16" href="#devMode" class="item"><span class="icon-dev-mode"></span>{l s='Terminal' mod='newsletterpro'}</a>
{/if}
<a id="tab_newsletter_2" href="#tutorials" class="item"><span class="icon-tutorials"></span>{l s='Tutorials' mod='newsletterpro'}</a>
<a data-ignore="true" href="http://addons.prestashop.com/{$lang_iso_code|escape:'quotes':'UTF-8'}/93_proquality" target="_blank" class="last_item count-new-parent" ><span class="icon-puzzle"></span><span class="np-menu-text-ourmodules">{l s='Modules' mod='newsletterpro'}</span></a>
</div>
</div>
<div class="pqnp-module-version">
<span class="label label-info">v{$pqnpModuleVersion|escape:'html':'UTF-8'}</span>
</div>
</div> <!-- end of col-log-2 -->
<div id="np-right-side" class="np-right-side {if isset($CONFIGURATION.LEFT_MENU_ACTIVE) && $CONFIGURATION.LEFT_MENU_ACTIVE == 0}col-sm-12{else}col-sm-10{/if}">
<div id="tab_content" class="newsletter clearfix {if isset($CONFIGURATION.LEFT_MENU_ACTIVE) && $CONFIGURATION.LEFT_MENU_ACTIVE == 0}np-menu-top-content{/if}" style="position: relative;">
<div id="tab_content_loading" class="tab-content-loading">
<div class="tab-content-loading-content">
<i class="icon icon-refresh icon-spin"></i> {l s='loading...' mod='newsletterpro'}
</div>
<div class="tab-content-loading-bg"></div>
</div>
{include file="$tpl_location"|cat:"templates/admin/tabs/csv.tpl" tab_id="tab_newsletter_content_0"}
{include file="$tpl_location"|cat:"templates/admin/tabs/manage_images.tpl" tab_id="tab_newsletter_content_1"}
{include file="$tpl_location"|cat:"templates/admin/tabs/select_products.tpl" tab_id="tab_newsletter_content_3"}
{include file="$tpl_location"|cat:"templates/admin/tabs/create_template.tpl" tab_id="tab_newsletter_content_4"}
{include file="$tpl_location"|cat:"templates/admin/tabs/send_newsletters.tpl" tab_id="tab_newsletter_content_5"}
{include file="$tpl_location"|cat:"templates/admin/tabs/history.tpl" tab_id="tab_newsletter_content_6"}
{include file="$tpl_location"|cat:"templates/admin/tabs/statistics.tpl" tab_id="tab_newsletter_content_11"}
{include file="$tpl_location"|cat:"templates/admin/tabs/settings.tpl" tab_id="tab_newsletter_content_7"}
{include file="$tpl_location"|cat:"templates/admin/tabs/campaign.tpl" tab_id="tab_newsletter_content_8"}
{include file="$tpl_location"|cat:"templates/admin/tabs/smtp.tpl" tab_id="tab_newsletter_content_9"}
{include file="$tpl_location"|cat:"templates/admin/tabs/task.tpl" tab_id="tab_newsletter_content_10"}
{include file="$tpl_location"|cat:"templates/admin/tabs/tutorials.tpl" tab_id="tab_newsletter_content_2"}
{include file="$tpl_location"|cat:"templates/admin/tabs/mailchimp.tpl" tab_id="tab_newsletter_content_13"}
{include file="$tpl_location"|cat:"templates/admin/tabs/forward.tpl" tab_id="tab_newsletter_content_14"}
{include file="$tpl_location"|cat:"templates/admin/tabs/privacy.tpl" tab_id="tab_newsletter_content_17"}
{* HTML CONTENT *}
{$CONTROLLER_FRONT_SUBSCRIPTION|strval}
{if isset($CONFIGURATION.DEV_MODE) && $CONFIGURATION.DEV_MODE == 1}
{include file="$tpl_location"|cat:"templates/admin/tabs/dev_mode.tpl" tab_id="tab_newsletter_content_16"}
{/if}
</div>
<div class="clear" style="clear: both;"></div>
</div>
<div class="clear" style="clear: both;"></div>
</div>
{include file="$tpl_location"|cat:"templates/admin/javascript/js_settings.tpl"}
{include file="$tpl_location"|cat:"templates/admin/task/template.tpl"}
{include file="$tpl_location"|cat:"templates/admin/tiny_init.tpl"}
{include file="$tpl_location"|cat:"templates/admin/javascript/js_translations.tpl"}

View File

@@ -0,0 +1,97 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{*
*** LICENSE ***
Copyright (c) Cimpean Andrei . All Rights Reserved
*** LICENSE ***
*}
<div class="our-modules-content clearfix">
{foreach $items as $item}
<div class="module-item">
<div class="module-icon">
{if $display_details == true && $item->displayDetails|intval == true}
<a target="_blank" href="{$item->details|escape:'quotes':'UTF-8'}"><img class="m-icon" src="{$item->icon|escape:'quotes':'UTF-8'}"></a>
{else}
<img class="m-icon" src="{$item->icon|escape:'quotes':'UTF-8'}">
{/if}
{if $display_badge == true && $item->displayBadge|intval == true}
<img class="m-badge" src="{$item->badge|escape:'quotes':'UTF-8'}"><br>
{$item->downloads|escape:'html':'UTF-8'}
{/if}
</div>
<div class="module-content">
<div class="module-header clearfix">
<h3 class="module-name">{$item->name|escape:'html':'UTF-8'}</h3>
{if $display_version == true}
<span class="module-version">{$item->version|escape:'html':'UTF-8'}</span>
{/if}
<div class="clear" style="clear: both;"></div>
</div>
<div class="module-info clearfix">
{if $display_rating == true && $item->displayRating|intval == true}
<div class="module-rating"><img src="{$item->rating|escape:'quotes':'UTF-8'}"></div>
{/if}
<div class="module-links">
<ul>
{if $display_details == true && $item->displayDetails|intval == true}
<li><a class="module-details" target="_blank" href="{$item->details|escape:'quotes':'UTF-8'}">{$item->detailsHTML|escape:'html':'UTF-8'}</a> | </li>
{/if}
{if $display_video == true && $item->displayVideo|intval == true}
<li><a class="module-video" target="_blank" href="{$item->video|escape:'quotes':'UTF-8'}">{$item->videoHTML|escape:'html':'UTF-8'}</a> | </li>
{/if}
{if $display_demo == true && $item->displayDemo|intval == true}
<li><a class="module-demo" target="_blank" href="{$item->demo|escape:'quotes':'UTF-8'}">{$item->demoHTML|escape:'html':'UTF-8'}</a></li>
{/if}
</ul>
</div>
<div class="clear" style="clear: both;"></div>
</div>
<div class="module-description clearfix">
<p>{$item->description|escape:'html':'UTF-8'|truncate:160:"..."}</p>
</div>
<div class="module-price clearfix">
{if $display_price == true && $item->price|floatval > 0}
<a class="btn btn-default text-decoration-none" target="_blank" href="{if $display_details == true && $item->displayDetails|intval == true}{$item->details|escape:'quotes':'UTF-8'}{else}javascript:{ldelim}{rdelim}{/if}" >
<span class="icon-shopping-cart fa fa-shopping-cart"></span>
{$item->price|escape:'html':'UTF-8'}
</a>
{/if}
{if $display_new == true && $item->displayNew|intval == 1}
<span class="module-new"> {$item->newHTML|escape:'quotes':'UTF-8'} </span>
{/if}
</div>
</div>
</div>
{/foreach}
<div class="clear" style="clear: both;"></div>
</div>
<script type="text/javascript">
(function(){
try
{
var countNew = parseInt('{$count_new|escape:'html':'UTF-8'}');
if (countNew > 0)
$('.count-new').show().html(countNew + ' {$item->newHTML|escape:'quotes':'UTF-8'}');
}
catch (e)
{
}
}());
</script>

View File

@@ -0,0 +1,72 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="form-group clearfix">
<div class="form-inline clearfix">
<div class="form-group">
<a class="btn btn-default pull-left" href="javascript:{}" onclick="NewsletterProComponents.objs.uploadCSV.geBack();"><i class="icon icon-chevron-left on-left" style="font-size: 11px;"></i> <span>{l s='Go Back' mod='newsletterpro'}</span></a>
</div>
<div class="form-group">
<span class="import-info">{l s='There are' mod='newsletterpro'} {$count|escape:'html':'UTF-8'} {l s='rows' mod='newsletterpro'}</span>
</div>
<div class="form-group pull-right">
<div class="form-group">
<label class="control-label"><span class="label-tooltip">{l s='Filter Name' mod='newsletterpro'}</span></label>
</div>
<div class="form-group">
<input id="import-csv-filter-name" class="form-control fixed-width-xxl" value="">
</div>
<div class="form-group">
<a class="btn btn-default" href="javascript:{}" onclick="NewsletterProComponents.objs.uploadCSV.importCSV( $(this) );" data-no-fields="{l s='There are no fields assigned to the column.' mod='newsletterpro'}" data-no-email="{l s='You have to set the email field!' mod='newsletterpro'}">
<i class="icon icon-upload"></i> {l s='Import' mod='newsletterpro'}
</a>
</div>
</div>
</div>
</div>
<table class="table">
<thead>
<tr>
{foreach $header as $head}
<th>{$head|escape:'html':'UTF-8'}</th>
{/foreach}
</tr>
<tr class="second">
{foreach $header as $head}
<th>
<select autocomplete="off" data-field="{$head|escape:'html':'UTF-8'}" onchange="NewsletterProComponents.objs.uploadCSV.addField( $(this) );">
<option value="0">-</option>
{foreach $db_fields key=key item=name}
<option value="{$key|escape:'html':'UTF-8'}">{$name|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</th>
{/foreach}
</tr>
</thead>
<tbody>
{foreach $rows as $row}
<tr>
{foreach $row as $line}
<td>{$line|escape:'html':'UTF-8'}</td>
{/foreach}
</tr>
{/foreach}
</tbody>
</table>
<div class="clear"></div>

View File

@@ -0,0 +1,42 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($errors) && !empty($errors)}
<div style="color: red; font-family: Arial, sans-serif; font-size: 12px;">
{foreach $errors as $error}
<p>{$error|escape:'quotes':'UTF-8'}</p>
{/foreach}
</div>
{else}
<div style="color: red; font-family: Arial, sans-serif; font-size: 12px;">
<p>{l s='There is an error regards Menu (ps_tab), the (ps_tab_lang) is not found!' mod='newsletterpro'}</p>
<p>{l s='To solve this error follow the steps:' mod='newsletterpro'}</p>
<ol>
<li>{l s='Go the the "Administration > Menus"' mod='newsletterpro'}</li>
<li>{l s='Find the row with the "ID" 11 ( this should have the "Name" of "Customers" )' mod='newsletterpro'}</li>
<li>{l s='Click on the plus sign on the right of the row' mod='newsletterpro'}</li>
<li>{l s='If at the column "Module" you find the row with "newsletterpro", delete that row.' mod='newsletterpro'}</li>
<li>{l s='Now you have to add a new menu, click on the button at top of the page "Add new"' mod='newsletterpro'}</li>
<li>{l s='Fill the fields:' mod='newsletterpro'}</li>
<li>{l s='Name -> Newsletter Pro' mod='newsletterpro'}</li>
<li>{l s='Class -> AdminNewsletterPro' mod='newsletterpro'}</li>
<li>{l s='Module -> newsletterpro' mod='newsletterpro'}</li>
<li>{l s='Status -> yes' mod='newsletterpro'}</li>
<li>{l s='Parent -> Customers' mod='newsletterpro'}</li>
</ol>
<p>{l s='All done!' mod='newsletterpro'}</p>
</div>
{/if}

View File

@@ -0,0 +1,48 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{$title_name|escape:'html':'UTF-8'}</span></label>
<div class="col-sm-9">
<div class="fixed-width-l clearfix">
<div class="col-sm-3">
<div class="row">
<span class="switch prestashop-switch">
<input id="{$label_id|escape:'html':'UTF-8'}_yes" type="radio" value="1" name="{$label_name|escape:'html':'UTF-8'}" {if isset($is_checked) && $is_checked}checked{/if}
{if isset($input_onchange)}onchange="{$input_onchange|escape:'html':'UTF-8'}"{/if}>
<label for="{$label_id|escape:'html':'UTF-8'}_yes">
{l s='Yes' mod='newsletterpro'}
</label>
<input id="{$label_id|escape:'html':'UTF-8'}_no" type="radio" value="0" name="{$label_name|escape:'html':'UTF-8'}" {if isset($is_checked) && !$is_checked}checked{/if}
{if isset($input_onchange)}onchange="{$input_onchange|escape:'html':'UTF-8'}"{/if}>
<label for="{$label_id|escape:'html':'UTF-8'}_no">
{l s='No' mod='newsletterpro'}
</label>
<a class="slide-button btn"></a>
</span>
</div>
</div>
</div>
{if isset($description)}
<p class="help-block">{$description|escape:'quotes':'UTF-8'}</p>
{/if}
</div>
</div>

View File

@@ -0,0 +1,28 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div class="load-backup-subscription-templates-win">
<table id="load-backup-subscription-templates" class="table table-bordered load-backup-subscription-templates">
<tr>
<thead>
<th class="name_display" data-field="name_display">{l s='Name' mod='newsletterpro'}</th>
<th class="m_date" data-field="m_date">{l s='Name' mod='newsletterpro'}</th>
<th class="module_version" data-field="module_version">{l s='Module Version' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</thead>
</tr>
</table>
</div>

View File

@@ -0,0 +1,27 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!DOCTYPE html>
<html>
<head>
<title>{l s='Front Subscription View' mod='newsletterpro'}</title>
{* HTML CONTENT *}
{$head|strval}
</head>
<body>
{include file="$tpl_location"|cat:"templates/hook/newsletter_subscribe.tpl" render_template=$render_template class_name="in-preview" subscription_template_front_info=$subscription_template_front_info}
</body>
</html>

View File

@@ -0,0 +1,52 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if !empty($errors)}
<pre>
<span style="color: red;">{foreach $errors as $error}{$error|replace:'&quot;':'"'|escape:'html':'UTF-8'}<br>{/foreach}</span>
</pre>
{/if}
{if isset($couts.added)}
<pre>
{l s='Added List' mod='newsletterpro'} : ({$last_date_chimp_sync|escape:'html':'UTF-8'} - {l s='last lists synchronization date' mod='newsletterpro'})
-------------------------------------------------------------
( <span style="color: green; font-weight: bold;">{$couts.added.adds|intval} )</span> {l s='emails created' mod='newsletterpro'}, ( <span style="color: green; font-weight: bold;">{$couts.added.updates|intval}</span> ) {l s='emails updated' mod='newsletterpro'}, ( <span style="color: red; font-weight: bold;">{$couts.added.errors|intval}</span> ) {l s='emails error' mod='newsletterpro'}
</pre>
{/if}
{if isset($couts.visitors)}
<pre>
{l s='Visitors List' mod='newsletterpro'} {if isset($subscription_active) && $subscription_active == true}{l s='(subscribed at the Newsletter Pro module)' mod='newsletterpro'}{else}{l s='(subscribed at the Block Newsletter module)' mod='newsletterpro'}{/if} : ({$last_date_chimp_sync|escape:'html':'UTF-8'} - {l s='last lists synchronization date' mod='newsletterpro'})
-------------------------------------------------------------
( <span style="color: green; font-weight: bold;">{$couts.visitors.adds|intval}</span> ) {l s='emails created' mod='newsletterpro'}, <span style="color: green; font-weight: bold;">( {$couts.visitors.updates|intval}</span> ) {l s='emails updated' mod='newsletterpro'}, ( <span style="color: red; font-weight: bold;">{$couts.visitors.errors|intval}</span> ) {l s='emails error' mod='newsletterpro'}
</pre>
{/if}
{if isset($couts.customers)}
<pre>
{l s='Customers List' mod='newsletterpro'} : ({$last_date_chimp_sync|escape:'html':'UTF-8'} - {l s='last lists synchronization date' mod='newsletterpro'})
-------------------------------------------------------------
( <span style="color: green; font-weight: bold;">{$couts.customers.adds|intval}</span> ) {l s='emails created' mod='newsletterpro'}, ( <span style="color: green; font-weight: bold;">{$couts.customers.updates|intval}</span> ) {l s='emails updated' mod='newsletterpro'}, ( <span style="color: red; font-weight: bold;">{$couts.customers.errors|intval}</span> ) {l s='emails error' mod='newsletterpro'}
</pre>
{/if}
{if isset($couts.orders)}
<pre>
{l s='Orders' mod='newsletterpro'} : ({$chimp_last_date_sync_orders|escape:'html':'UTF-8'} - {l s='last orders synchronization date' mod='newsletterpro'})
-------------------------------------------------------------
( <span style="color: green; font-weight: bold;">{$couts.orders.adds|intval}</span> ) {l s='emails created' mod='newsletterpro'}, <span style="display: none;">( <span style="color: green; font-weight: bold;">{$couts.orders.updates|intval}</span> ) {l s='emails updated' mod='newsletterpro'},</span> ( <span style="color: red; font-weight: bold;">{$couts.orders.errors|intval}</span> ) {l s='emails error' mod='newsletterpro'} ({l s='The orders already exists in MailChimp' mod='newsletterpro'})
</pre>
{/if}

View File

@@ -0,0 +1,179 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-campaign" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#campaign') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-campaign" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-campaign" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Campaign Statistics' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="form-group clearfix">
<form id="campaignForm" method="POST" action="{$page_link|escape:'quotes':'UTF-8'}#campaign">
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div class="checkbox">
<label for="set-universal-analytics" class="in-win control-label">
<input class="smtp-checkbox" id="set-universal-analytics" type="checkbox" onclick="NewsletterProControllers.SettingsController.universalAnaliytics( $(this) );" {if $CONFIGURATION.GOOGLE_UNIVERSAL_ANALYTICS_ACTIVE == 1}checked="checked"{/if}>
{l s='Universal Analytics' mod='newsletterpro'}
</label>
</div>
<p class="help-block" style="margin-top: 10px; width: 100%;">
{l s='Connect to your Google Analytics account and check if the Universal Analytics is activated. If the answer is yes then check this option. Also if you use this option and you have installed the ganalytics module please check if it is compatible with the Google Universal Analytics.' mod='newsletterpro'}
</p>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div class="checkbox">
<label for="set-campaign" class="in-win control-label">
<input class="smtp-checkbox" id="set-campaign" type="checkbox" onclick="NewsletterProControllers.SettingsController.activeCampaign( $(this) );" {if $CONFIGURATION.CAMPAIGN_ACTIVE == 1}checked="checked"{/if}>
{l s='Activate Campaign' mod='newsletterpro'}
</label>
</div>
<p class="help-block" style="margin-top: 10px; width: 100%;">
{l s='This campaign works with Google Analytics, so the Google Analytics must to run in to your website.' mod='newsletterpro'}
</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Source' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<input class="form-control fixed-width-xxl" type="text" id="utm_source" name="utm_source" value="{$CONFIGURATION.CAMPAIGN.UTM_SOURCE|escape:'htmlall':'UTF-8'}" {if $CONFIGURATION.CAMPAIGN_ACTIVE == 0}disabled="disabled"{/if}>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Medium' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<input class="form-control fixed-width-xxl" type="text" id="utm_medium" name="utm_medium" value="{$CONFIGURATION.CAMPAIGN.UTM_MEDIUM|escape:'htmlall':'UTF-8'}" {if $CONFIGURATION.CAMPAIGN_ACTIVE == 0}disabled="disabled"{/if}>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Campaign Name' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<input class="form-control fixed-width-xxl" type="text" id="utm_campaign" name="utm_campaign" value="{$CONFIGURATION.CAMPAIGN.UTM_CAMPAIGN|escape:'htmlall':'UTF-8'}" {if $CONFIGURATION.CAMPAIGN_ACTIVE == 0}disabled="disabled"{/if}>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Product Name' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<input class="form-control fixed-width-xxl" type="text" id="utm_content" name="utm_content" value="{$CONFIGURATION.CAMPAIGN.UTM_CONTENT|escape:'htmlall':'UTF-8'}" {if $CONFIGURATION.CAMPAIGN_ACTIVE == 0}disabled="disabled"{/if}>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Parameters' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="form-group clearfix">
<textarea class="form-control fixed-width-xxl gk-textarea" id="set-params" name="params" spellcheck="false" {if $CONFIGURATION.CAMPAIGN_ACTIVE == 0}disabled="disabled"{/if}>{$CAMPAIGN_PARAMETERS|escape:'html':'UTF-8'}</textarea>
</div>
<div class="clearfix">
<a id="set-params-default" href="javascript:{}" class="btn btn-default btn-margin pull-left {if $CONFIGURATION.CAMPAIGN_ACTIVE == 0}disabled{/if}" onclick="NewsletterProControllers.SettingsController.makeDefaultParameteres();">
<i class="icon icon-eraser"></i> {l s='Default' mod='newsletterpro'}
</a>
<a id="set-params-save" href="javascript:{}" class="btn btn-default btn-margin pull-left {if $CONFIGURATION.CAMPAIGN_ACTIVE == 0}disabled{/if}" onclick="NewsletterProControllers.SettingsController.saveCampaign();">
<i class="icon icon-save"></i> {l s='Save' mod='newsletterpro'}
</a>
<div class="form-group clearfix">
<span id="set-params-save-message" style="display: none;"></span>
</div>
<div class="clearfix">
<p class="help-block">{l s='One parameter per line' mod='newsletterpro'}</p>
</div>
</div>
</div>
</div>
</form>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<a id="campaign-is-running" href="javascript:{}" class="btn btn-default" onclick="NewsletterProControllers.SettingsController.checkIfCampaignIsRunning($(this));">
<span class="btn-ajax-loader"></span>
<i class="icon icon-check-circle"></i>
<span>{l s='Check Campaign' mod='newsletterpro'}</span>
</a>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div class="checkbox">
<label for="set-ganalytics" class="in-win control-label">
<input class="smtp-checkbox" id="set-ganalytics" type="checkbox" onclick="NewsletterProControllers.SettingsController.activeGAnalytics( $(this) );" {if $CONFIGURATION.GOOGLE_ANALYTICS_ACTIVE == 1}checked="checked"{/if}>
{l s='Activate Google Analytics' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Tracking ID' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="from-control fixed-width-xxl" id="ganalytics-id" type="text" value="{$CONFIGURATION.GOOGLE_ANALYTICS_ID|escape:'html':'UTF-8'}" onblur="NewsletterProControllers.SettingsController.updateGAnalyticsID( $(this) );" {if $CONFIGURATION.GOOGLE_ANALYTICS_ACTIVE == 0}disabled="disabled"{/if}>
</div>
<div class="form-group clearfix">
<span id="ganalytics-id-message" style="display: none;"></span>
</div>
<div class="clearfix">
<p class="help-block">{l s='Example: UA-1234567-1' mod='newsletterpro'}</p>
</div>
</div>
</div>
</div>
<div class="alert alert-info">
{l s='If you already configured your google analytics account with another module as "ganalytics", don\'t enable this option and follow the instructions.' mod='newsletterpro'}
<br/>
<span style="color: red;">{l s='It\'s important to have a little knowledge of php in order to proceed to the next step. I\'ts important to not generate errors in the script.' mod='newsletterpro'}</span>
<br/>
<br/>
1. {l s='Find the "ganalytics" module folder and open the "ganalytics.php".' mod='newsletterpro'}
<br>
2. {l s='If you find the line: ' mod='newsletterpro'} <span style="color: #222; font-style: normal;"> ga(\'create\', ... </span> {l s='paste after that line, on a new row, the following code: ' mod='newsletterpro'} <span style="color: #222; font-style: normal; font-weight: bold;"> '.(class_exists('NewsletterPro') ? NewsletterPro::getNewsletterCampaign() : '').' </span>
<br>
<br>
{l s='If you find that line of code at the step 2, you don\'t need follow the next steps.' mod='newsletterpro'}
<br>
<br>
3. {l s='Find the "ganalytics" module folder and open the "header.tpl".' mod='newsletterpro'}
<br/>
4. {l s='Find the line:' mod='newsletterpro'} <span style="color: #222; font-style: normal;"> ga('create', ... </span>
<br/>
5. {l s='Find the line:' mod='newsletterpro'} <span style="color: #222; font-style: normal;"> _gaq.push(['_setAccount', ... </span>
<br/>
6. {l s='Paste after this line the following code:' mod='newsletterpro'}
<span style="color: #222; font-style: normal; font-weight: bold;"> {ldelim}if isset($NEWSLETTER_CAMPAIGN){rdelim}{ldelim}$NEWSLETTER_CAMPAIGN{rdelim}{ldelim}/if{rdelim} </span>
<br/>
7. {l s='Save the file "header.tpl".' mod='newsletterpro'}
<br/>
8. {l s='Make sure the position of module "Newsletter Pro" is lower than module "ganalytics" on the page "Modules > Positions" tab "Pages header".' mod='newsletterpro'}
</div>
</div>

View File

@@ -0,0 +1,256 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#createTemplate') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<h4 style="float: left;">{l s='Create newsletter template' mod='newsletterpro'}</h4>
<a id="newsletter_help" href="javascript:{}" class="btn btn-default newsletter-help" onclick="NewsletterProControllers.TemplateController.showNewsletterHelp();"><i class="icon icon-eye"></i> {l s='View available variables' mod='newsletterpro'}</a>
<a href="javascript:{}" id="chimp-import-html" class="btn btn-default chimp-import-html" style="float: right; margin-right: 10px; display: none;"><img src="{$module_img_path|escape:'quotes':'UTF-8'}chimp16.png"><span>{l s='Import from Mail Chimp' mod='newsletterpro'}</span></a>
<div class="clear"></div>
<div class="separation"></div>
<div class="data-grid-div">
<table id="newsletter-template-list" class="table table-bordered newsletter-template-list">
<thead>
<tr>
<th class="name" data-field="name">{l s='Template Name' mod='newsletterpro'}</th>
<th class="date" data-field="date">{l s='Date Modified' mod='newsletterpro'}</th>
<th class="attachment" data-template="attachment">{l s='Attachment' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
<br>
<div>
<h4>{l s='Template adjustments' mod='newsletterpro'}:</h4>
<div class="separation"></div>
<p class="help-block" style="width: auto;">{l s='The responsive templates are not adjustable, because the responsive layout can be damaged by the adjustments. You can adjust them by changing the CSS and HTML.' mod='newsletterpro'}</p>
<div class="template-settings">
<div class="ts-left">
<div id="slider-container" class="slider-container" style="display: none;">
<label>{l s='Template width:' mod='newsletterpro'}</label>
<div id="template-width-slider"></div>
<div class="clear"></div>
</div>
</div>
<div class="ts-right">
<div class="color-container">
<div style="display: none;">
<label>{l s='Template bg color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="template-container-color" class="gk-color" value="FFFFFF">
</div>
<div style="display: none;">
<label>{l s='Content bg color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="template-content-color" class="gk-color" value="FFFFFF">
</div>
<div>
<label>{l s='All links color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="links-color" class="gk-color" value="FFFFFF">
</div>
</div>
<div class="color-container">
<div style="display: none;">
<label>{l s='Products bg color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="products-bg-color" class="gk-color" value="FFFFFF">
</div>
<div style="display: none;">
<label>{l s='Products name color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="products-name-color" class="gk-color" value="FFFFFF">
</div>
<div style="display: none;">
<label>{l s='Description color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="products-description-color" class="gk-color" value="FFFFFF">
</div>
</div>
<div class="color-container">
<div style="display: none;">
<label>{l s='Products border color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="products-border-color" class="gk-color" value="FFFFFF">
</div>
<div style="display: none;">
<label>{l s='Short description color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="products-s-description-color" class="gk-color" value="FFFFFF">
</div>
<div style="display: none;">
<label>{l s='Price color:' mod='newsletterpro'}</label>
<div class="clear" style="margin-bottom: 6px;"></div>
<input id="products-price-color" class="gk-color" value="FFFFFF">
</div>
</div>
<div class="clear"></div>
</div>
<div class="clear"></div>
</div>
</div>
<div class="newsletter-template-div">
<div class="clearfix">
<div class="col-sm-1">
<label class="control-label">
<span class="label-tooltip">{l s='Title' mod='newsletterpro'}</span>
</label>
</div>
<div class="col-sm-11">
<div class="form-inline">
<div class="form-group">
{foreach $newsletter_template.title as $id_lang => $title}
<input id="page-title-{$id_lang|intval}" data-lang="{$id_lang|intval}" class="form-control pull-left fixed-width-xxl" type="text" name="page_title" value="{$title|escape:'html':'UTF-8'}" style="{if $id_lang == $default_lang}display: block;{else}display: none;{/if}"/>
{/foreach}
</div>
<div class="form-group">
<div class="gk_lang_select"></div>
</div>
<div class="form-group">
<span id="page-title-message">&nbsp;</span>
</div>
</div>
</div>
</div>
<div id="newsletter-template" style="display: inline-block;">
<p class="help-block">{l s='Press the help button in the upper right corner to see full list of available variables.' mod='newsletterpro'}</p>
<div id="newsletter-template-content" class="form-group clearfix">
<div class="form-inline">
<div class="form-group">
<div id="tab_template" class="newsletter-template">
<a id="tab_newsletter-template_0" href="#createTemplate" class="btn btn-default first_item"><i class="icon icon-edit"></i> {l s='Edit' mod='newsletterpro'}</a>
<a id="tab_newsletter-template_1" href="#createTemplate" class="btn btn-default item"><i class="icon icon-eye"></i> {l s='View' mod='newsletterpro'}</a>
<a id="tab_newsletter-template_3" href="#createTemplate" class="btn btn-default item"><i class="icon icon-code"></i> {l s='Header' mod='newsletterpro'}</a>
<a id="tab_newsletter-template_4" href="#createTemplate" class="btn btn-default item"><i class="icon icon-code"></i> {l s='Footer' mod='newsletterpro'}</a>
<a id="tab_newsletter-template_5" href="#createTemplate" class="btn btn-default item"><i class="icon icon-code"></i> {l s='CSS Style' mod='newsletterpro'}</a>
<a id="tab_newsletter-template_2" href="#createTemplate" class="btn btn-default last_item tab-global-css"><i class="icon icon-code"></i> {l s='Global CSS ( for all templates )' mod='newsletterpro'}</a>
</div>
</div>
<div class="form-group pull-right">
<div id="newsletter-template-lang-select" class="gk_lang_select"></div>
</div>
<div class="form-group pull-right btn-margin">
<a id="np-view-newsletter-template-in-browser" href="javascript:{}" target="_blank" class="btn btn-default item"><i class="icon icon-eye"></i> {l s='View in Browser' mod='newsletterpro'}</a>
</div>
</div>
<div id="tab_template_content" class="newsletter-template clearfix">
<div id="tab_content_newsletter-template_0">
{include file="$tpl_location"|cat:"templates/admin/textarea_multilang_template.tpl"
class_name='newsletter_rte'
config='newsletter_config'
content_name='newsletter_content'
input_name="newsletter_template_text"
input_value=$newsletter_template.body
content_css=$newsletter_template.css_link
init_callback='NewsletterPro.modules.createTemplate.initTinyCallback'
}
</div>
<div id="tab_content_newsletter-template_1" style="display: none;">
<div class="view-content">
<iframe id="view-newsletter-template-content" style="display: block; vertical-align: top;" scrolling="no" src="about:blank" class="view-newsletter-template-content"> </iframe>
<div class="clear"></div>
</div>
</div>
<div id="tab_content_newsletter-template_2" style="display: none;">
<textarea id="template-css" class="template-css" wrap="off" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">{$newsletter_template.css_global_file[$default_lang]|escape:'html':'UTF-8'}</textarea>
</div>
<div id="tab_content_newsletter-template_3" style="display: none;">
{foreach $newsletter_template.header as $id_lang => $header}
<textarea id="template-header-{$id_lang|intval}" data-lang="{$id_lang|intval}" class="template-header" wrap="off" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" style="{if $id_lang == $default_lang}display: block;{else}display: none;{/if}">{$header|escape:'html':'UTF-8'}</textarea>
{/foreach}
</div>
<div id="tab_content_newsletter-template_4" style="display: none;">
{foreach $newsletter_template.footer as $id_lang => $footer}
<textarea id="template-footer-{$id_lang|intval}" data-lang="{$id_lang|intval}" class="template-footer" wrap="off" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false" style="{if $id_lang == $default_lang}display: block;{else}display: none;{/if}">{$footer|escape:'html':'UTF-8'}</textarea>
{/foreach}
</div>
<div id="tab_content_newsletter-template_5" style="display: none;">
<textarea id="template-css-style" class="template-css-style" wrap="off" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">{$newsletter_template.css_file[$default_lang]|escape:'html':'UTF-8'}</textarea>
</div>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-4">
<div id="save-newsletter-template-message" style="display: none;">&nbsp;</div>
</div>
<div class="col-sm-8">
<a id="save-newsletter-template" href="javascript:{}" class="btn btn-default pull-right btn-margin">
<span class="btn-ajax-loader"></span>
<i class="icon icon-save"></i> <span>{l s='Save' mod='newsletterpro'}</span>
</a>
<a id="save-as-newsletter-template" href="javascript:{}" class="btn btn-default pull-right btn-margin">
<span class="btn-ajax-loader"></span>
<i class="icon icon-save"></i> <span>{l s='Save As' mod='newsletterpro'}</span>
</a>
<form id="inputImportHTMLForm" class="defaultForm" action="{$page_link|escape:'quotes':'UTF-8'}#createTemplate" method="post" enctype="multipart/form-data">
<div class="fileUpload btn btn-default pull-right btn-margin" style="margin-left: 2px; margin-right: 2px; margin-top: 0; margin-bottom: 0;">
<i class="icon icon-upload"></i> <span>{l s='Import HTML' mod='newsletterpro'}</span>
<input id="inputImportHTML" type="file" name="inputImportHTML" class="upload">
</div>
</form>
<a id="export-html" href="{$page_link|escape:'quotes':'UTF-8'}&exportHTML#createTemplate" class="btn btn-default pull-right btn-margin">
<i class="icon icon-download"></i> <span>{l s='Export HTML' mod='newsletterpro'}</span>
</a>
<a id="chimp-export-html" href="javascript:{}" class="btn btn-default pull-right btn-margin">
<i class="icon icon-download"></i> <span>{l s='Export to Mail Chimp' mod='newsletterpro'}</span>
</a>
</div>
</div>
<a id="setp1" href="#selectProducts" class="btn btn-primary pull-left btn-margin" onclick="NewsletterProControllers.NavigationController.goToStep( 3 );">
<span>&laquo; {l s='Previous Step' mod='newsletterpro'}</span>
</a>
<a id="setp2" href="#sendNewsletters" class="btn btn-primary pull-right btn-margin" onclick="NewsletterProControllers.NavigationController.goToStep( 5 );">
<span>{l s='Next Step' mod='newsletterpro'} &raquo;</span>
</a>
</div>
</div>
</div>

View File

@@ -0,0 +1,182 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-csv" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#csv') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-csv" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-csv" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Import and export emails addresses from CSV files' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div id="import-export-container" class="form-group">
<div class="col-lg-6">
<h4>{l s='Import' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="clear">&nbsp;</div>
<div class="form-group clearfix">
<form id="upload-csv-form" class="defaultForm" action="{$page_link|escape:'quotes':'UTF-8'}#csv" method="post" enctype="multipart/form-data" {if isset($style)}style="{$style|escape:'quotes':'UTF-8'}"{/if}>
<label class="control-label col-sm-4">
<span class="label-tooltip">{l s='CSV file' mod='newsletterpro'}</span>
</label>
<div class="col-sm-8 clearfix">
<input id="upload-csv" class="form-control" type="file" name="upload_csv"/>
</div>
<div class="clear">&nbsp;</div>
<div class="file-msg" id="upload-csv-message"><br></div>
</form>
<div class="clear">&nbsp;</div>
<div class="form-group">
<table id="upload-csv-files" class="table table-bordered upload-csv-files">
<thead>
<tr>
<th class="name">{l s='Name' mod='newsletterpro'}</th>
<th class="actions center">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
<tbody>
{foreach $csv_import_files as $file}
<tr data-name="{$file|escape:'quotes':'UTF-8'}">
<td class="name"> {$file|escape:'quotes':'UTF-8'} </td>
<td class="actions center" style="text-align: center !important;">
<a class="delete-added" href="javascript:{}" style="text-align: center;" onclick="NewsletterProComponents.objs.uploadCSV.deleteItemByName('{$file|escape:'quotes':'UTF-8'}');">
<i class="icon icon-remove cross-white"></i>
</a>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="form-group clearfix">
<div class="input-group">
<span class="input-group-addon">{l s='CSV separator' mod='newsletterpro'}</span>
<input class="form-control text-center" id="import-separator" type="text" name="separator_csv" maxlength="1" value=";"/>
<span class="input-group-addon">{l s='From line' mod='newsletterpro'}</span>
<input class="form-control text-center" id="from-linenumber" type="text" name="from_linenumber" value="2"/>
<span class="input-group-addon">{l s='To line' mod='newsletterpro'}</span>
<input class="form-control text-center" id="to-linenumber" type="text" name="to_linenumber" value="0"/>
</div>
<p class="help-block" style="margin-top: 5px;">
{l s='Fill a value below %s or %s into the "to line" input field if you want to import all the emails from the .csv file.' sprintf=['2','0'] mod='newsletterpro'}
</p>
</div>
<div class="form-group clearfix">
<a class="btn btn-default" href="javascript:{}" onclick="NewsletterProComponents.objs.uploadCSV.nextStep( $(this) );" data-bad-separator="{l s='Bad CSV separator.' mod='newsletterpro'}" data-no-file="{l s='You don\'t choose a CSV file.' mod='newsletterpro'}">
<span>{l s='Next Step' mod='newsletterpro'}
<i class="icon icon-chevron-right on-right" style="font-size: 11px;"></i>
</span>
</a>
</div>
<div class="form-group clearfix">
<div class="alert alert-info">
<a href="{$page_link|escape:'quotes':'UTF-8'}&downloadImportSample#csv" download="{l s='Import Sample.csv' mod='newsletterpro'}">{l s='Download Import Sample' mod='newsletterpro'}</a>
<p>{l s='Use ; or , for separator.' mod='newsletterpro'}</p>
<p>{l s='All email are imported in the tab "Send newsletters" on column' mod='newsletterpro'} <a href="#sendNewsletters" onclick="NewsletterProControllers.NavigationController.goToStep( 5, $('#added-list') );">{l s='"Added users"' mod='newsletterpro'}</a>.</p>
<p>{l s='Available field to import' mod='newsletterpro'}: {l s='\"Email\", \"First Name\", \"Last Name\", \"Language ID\", \"Shop ID\", \"Shop Group ID\", \"Registration IP Address\", \"Active\"' mod='newsletterpro'}</p>
</div>
</div>
</div>
</div>
<div class="col-lg-6">
<h4>{l s='Export' mod='newsletterpro'}</h4>
<div class="separation"></div>
{if isset($export_email_addresses_errors) && count($export_email_addresses_errors)}
<div class="alert alert-danger">
{foreach $export_email_addresses_errors as $error}
<div class="clearfix">{$error|escape:'quotes':'UTF-8'}</div>
{/foreach}
</div>
{/if}
{assign var=LIST_CUSTOMERS value=NewsletterPro::LIST_CUSTOMERS}
{assign var=LIST_VISITORS value=NewsletterPro::LIST_VISITORS}
{assign var=LIST_VISITORS_NP value=NewsletterPro::LIST_VISITORS_NP}
{assign var=LIST_ADDED value=NewsletterPro::LIST_ADDED}
<div class="form-group clearfix">
<label class="control-label col-sm-4 np-control-lable-radio">{l s='Select List' mod='newsletterpro'}</label>
<div class="col-sm-8">
<div class="radio">
<label class="control-label in-win">
<input class="form-group" type="radio" name="exportEmailAddresses" value="{$LIST_CUSTOMERS|intval}" checked>
{l s='Customers' mod='newsletterpro'}
</label>
</div>
{if $newsletter_table_exists}
<div class="radio">
<label class="control-label in-win">
<input class="form-group" type="radio" name="exportEmailAddresses" value="{$LIST_VISITORS|intval}">
{if $newsletter_table_exists == 'newsletter'}
{l s='Visitors (Block Newsletter)' mod='newsletterpro'}
{elseif $newsletter_table_exists == 'emailsubscription'}
{l s='Visitors (Email Subscription)' mod='newsletterpro'}
{/if}
</label>
</div>
{/if}
<div class="radio">
<label class="control-label in-win">
<input class="form-group" type="radio" name="exportEmailAddresses" value="{$LIST_VISITORS_NP|intval}">
{l s='Visitors (Newsletter Pro)' mod='newsletterpro'}
</label>
</div>
<div class="radio">
<label class="control-label in-win">
<input class="form-group" type="radio" name="exportEmailAddresses" value="{$LIST_ADDED|intval}">
{l s='Added' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-8 col-sm-offset-4">
<a id="btn-export-email-addresses" href="#csv" class="btn btn-default">
{l s='Next Step' mod='newsletterpro'}
<i class="icon icon-chevron-right on-right"></i>
</a>
</div>
</div>
</div>
<div class="clear">&nbsp;</div>
</div>
<div id="import-details" class="import-details" style="display: none;">
{include file="$import_details_tpl"}
</div>
<div id="export-details" class="export-details" style="display: none;">
{include file="$tpl_location"|cat:"templates/admin/export_details.tpl"}
</div>
</div>

View File

@@ -0,0 +1,38 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#devMode') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Developer Section' mod='newsletterpro'}</h4>
<div class="np-dev-mode">
<div class="clearfix no-console-box">
<i class="icon icon-refresh icon-spin np-console-loading"></i>
<form action="POST">
<pre id="np-dev-output-box" class="np-dev-output"><code id="np-dev-output"></code></pre>
<textarea class="np-dev-command" id="np-dev-input" name="np_dev_command" placeholder="help" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/></textarea>
</form>
</div>
</div>
</div>

View File

@@ -0,0 +1,61 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#forward') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<div class="clear">&nbsp;</div>
<h4>{l s='Forward' mod='newsletterpro'}</h4>
<div class="separation"></div>
{if $CONFIGURATION.FWD_FEATURE_ACTIVE == 0}
<div style="margin-bottom: 5px;" class="alert alert-warning clearfix">
{l s='The forward feature is not activated for you customers. Go to the settings tab to activate it.' mod='newsletterpro'}
<div class="clear"></div>
</div>
{/if}
<div class="form-group clearfix">
<h4 style="float: left;">{l s='Active forwarders' mod='newsletterpro'}</h4>
<a href="javascript:{}" id="clear-forwarders" class="btn btn-default" style="float: right;">
<i class="icon icon-eraser"></i>
{l s='Clear Forwarders' mod='newsletterpro'}
</a>
<div class="clear"></div>
<div class="separation"></div>
</div>
<table id="forward-list" class="table table-bordered forward-list">
<thead>
<tr>
<th class="count" data-template="count">{l s='Forwarders' mod='newsletterpro'}</th>
<th class="from" data-field="from">{l s='Forwarder Email' mod='newsletterpro'}</th>
<th class="date_add" data-field="date_add">{l s='Date Added' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>

View File

@@ -0,0 +1,539 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{capture name="voucher"}
<input class="form-control form-control fixed-width-xxl subscription-template-voucher" type="text" value="{$subscription_template.voucher|escape:'quotes':'UTF-8'}" name="subscriptionVoucher">
{/capture}
{capture name="voucher_description"}
{l s='Leave this empty if there is not voucher. If it\'s empty the voucher message will not be displayed.' mod='newsletterpro'}
{/capture}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;" class="front-subscription">
{else}
<script type="text/javascript">
if(window.location.hash == '#frontSubscription') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;" class="front-subscription">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;" class="front-subscription">');
{rdelim}
</script>
{/if}
<div class="clear">&nbsp;</div>
<div class="title-box clearfix">
<h4 class="title pull-left">{l s='Front Subscription Configuration' mod='newsletterpro'}</h4>
<a href="javascript:{}" id="np-create-custom-field" class="btn btn-default pull-right">
<i class="icon icon-plus-square"></i>
{l s='Create Custom Fields' mod='newsletterpro'}
</a>
<div class="separation"></div>
</div>
{if $CONFIGURATION.SUBSCRIPTION_ACTIVE == 0}
<div style="margin-bottom: 5px;" class="alert alert-warning clearfix">
{l s='The front subscription feature is not activated. Go to the settings tab to activate it.' mod='newsletterpro'}
<div class="clear"></div>
</div>
{/if}
<div class="form-group clearfix content-box">
<div class="form-group clearfix">
<div class="form-inline">
<div class="clearfix">
<h4 class="pull-left">{l s='Templates List' mod='newsletterpro'}</h4>
<a id="subscription_template_help" href="javascript:{}" class="btn btn-default pull-right btn-margin subscription-template-help" onclick="NewsletterPro.modules.frontSubscription.showSubscriptionHelp();"><i class="icon icon-eye"></i> {l s='View available variables' mod='newsletterpro'}</a>
<a id="load-subscription-template-backup" href="javascript:{}" class="btn btn-default pull-right btn-margin"><i class="icon icon-database"></i> {l s='Restore' mod='newsletterpro'}</a>
<a id="create-subscription-template-backup" href="javascript:{}" class="btn btn-default pull-right btn-margin"><span class="btn-ajax-loader"></span> <i class="icon icon-database"></i> {l s='Create backup' mod='newsletterpro'}</a>
</div>
<div class="separation"></div>
</div>
</div>
<table id="subscription-templates-table" class="table table-bordered subscription-templates-table">
<thead>
<tr>
<th class="name" data-field="name">{l s='Name' mod='newsletterpro'}</th>
<th class="date_add" data-field="date_add">{l s='Date Add' mod='newsletterpro'}</th>
<th class="display_gender" data-field="display_gender">{l s='Gender' mod='newsletterpro'}</th>
<th class="display_firstname" data-field="display_firstname">{l s='First Name' mod='newsletterpro'}</th>
<th class="display_lastname" data-field="display_lastname">{l s='Last Name' mod='newsletterpro'}</th>
<th class="display_language" data-field="display_language">{l s='Language' mod='newsletterpro'}</th>
<th class="display_birthday" data-field="display_birthday">{l s='Birthday' mod='newsletterpro'}</th>
<th class="display_list_of_interest" data-field="display_list_of_interest">{l s='List Of Interest' mod='newsletterpro'}</th>
<th class="list_of_interest_type" data-field="list_of_interest_type">{l s='List Type Checkbox' mod='newsletterpro'}</th>
<th class="np-active" data-field="active">{l s='Active' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
<div class="form-group clearfix content-box">
<div class="form-group clearfix content-box">
<h4>{l s='Subscription Template' mod='newsletterpro'}</h4>
<div class="separation"></div>
</div>
<div id="subscription-template-box" class="subscription-template-box">
<div>
<div id="tab_subscription_template" class="tab-subacription-template" style="float: left;">
<a id="tab_subscription_template-template_0" class="btn btn-default first_item">
<i class="icon icon-edit"></i> {l s='Edit Template' mod='newsletterpro'}
</a>
<a id="tab_subscription_template-template_6" class="btn btn-default item">
<i class="icon icon-edit"></i> {l s='Edit Messages' mod='newsletterpro'}
</a>
{if $load_subscription_hook_header == true}
<a id="tab_subscription_template-template_1" class="btn btn-default item">
<i class="icon icon-eye"></i> {l s='View' mod='newsletterpro'}
</a>
{/if}
<a id="tab_subscription_template-template_2" class="btn btn-default item">
<i class="icon icon-code"></i> {l s='CSS Style' mod='newsletterpro'}
</a>
<a id="tab_subscription_template-template_4" class="btn btn-default item">
<i class="icon icon-code"></i> {l s='CSS Style (Global)' mod='newsletterpro'}
</a>
<a id="tab_subscription_template-template_3" class="btn btn-default item">
<i class="icon icon-gear"></i> {l s='Template Settings' mod='newsletterpro'}
</a>
<a id="tab_subscription_template-template_7" class="btn btn-default item">
<i class="icon icon-gear"></i> {l s='Popup Settings' mod='newsletterpro'}
</a>
<a id="tab_subscription_template-template_5" class="btn btn-default item">
<i class="icon icon-info-circle"></i> {l s='Info' mod='newsletterpro'}
</a>
</div>
<div class="language-box" style="float: right;">
<div id="subscription-template-language" class="gk_lang_select"></div>
</div>
<div class="clear">&nbsp;</div>
</div>
<div id="tab_subscription_template_content" class="tab-subacription-template-content">
<div id="tab_subscription_template_content-template_0">
{include file="$textarea_tpl_multilang" class_name='subscription_rte' content_name='subscription_content' input_name="subscription_template" input_value=$subscription_template.content content_css=$subscription_template.css_links init_callback='NewsletterPro.modules.frontSubscription.initTinyCallback'}
</div>
{if $load_subscription_hook_header == true}
<div id="tab_subscription_template_content-template_1" style="display: none;">
<div class="view-content">
<iframe id="subscription-template-view" style="display: block; vertical-align: top;" scrolling="no" src="{$subscription_template.view|escape:'quotes':'UTF-8'}" class="view-newsletter-template-content"> </iframe>
<div class="clear"></div>
</div>
</div>
{/if}
<div id="tab_subscription_template_content-template_2" style="display: none;">
<div class="settings-tab">
<div class="clearfix">
<h4>{l s='Setup the CSS for this template' mod='newsletterpro'}</h4>
<div class="alert alert-info">
{l s='Use the class ".np-front-subscription" in front of the selection. If you don\'t respect this, the global style of the website will be affected.' mod='newsletterpro'}
</div>
</div>
<textarea id="subscription-template-css" class="template-css" style="box-sizing: border-box; width: 100%;" wrap="off" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">{$subscription_template.css_style|escape:'html':'UTF-8'}</textarea>
</div>
</div>
<div id="tab_subscription_template_content-template_4" style="display: none;">
<div class="settings-tab clearfix">
<div class="clearfix">
<h4>{l s='Setup the global CSS for all the templates' mod='newsletterpro'}</h4>
<div class="alert alert-info">
{l s='This style is applied to all the templates.' mod='newsletterpro'} {l s='Use the class ".np-front-subscription" in front of the selection. If you don\'t respect this, the global style of the website will be affected.' mod='newsletterpro'}
</div>
</div>
<textarea id="subscription-template-css-global" class="template-css" style="box-sizing: border-box; width: 100%;" wrap="off" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false">{$subscription_template.css_style_global|escape:'html':'UTF-8'}</textarea>
</div>
</div>
<div id="tab_subscription_template_content-template_3" style="display: none;">
<div class="settings-tab clearfix">
<div class="clearfix">
<h4>{l s='Template Settings' mod='newsletterpro'}</h4>
</div>
<div id="pqnp-subscription-tpl-template-width" class="slider-box clearfix" style="{if $subscription_template.render_loader|intval == $subscription_template_defined.RENDER_LOADER_BETTER|intval}display: none;{/if}">
<label class="control-label col-sm-3" style="padding-top: 27px;"><span class="label-tooltip">{l s='Template Width' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="col-sm-9">
<div id="slider-fs-template-width"></div>
</div>
<div class="col-sm-3">
<div class="radio">
<label for="radio-fs-percent" class="in-win control-label">
<input id="radio-fs-percent" type="radio" value="0" name="sliderFsTemplateWidth">
{l s='percent' mod='newsletterpro'}
</label>
</div>
<div class="radio">
<label for="radio-fs-pixels" class="in-win control-label">
<input id="radio-fs-pixels" type="radio" value="1" name="sliderFsTemplateWidth">
{l s='pixels' mod='newsletterpro'}
</label>
</div>
</div>
</div>
</div>
<div class="slider-box clearfix">
<label class="control-label col-sm-3" style="padding-top: 27px;"><span class="label-tooltip">{l s='Template Max-Min Width' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="col-sm-9">
<div id="slider-fs-template-maxmin-width"></div>
</div>
<div class="col-sm-3">
<label class="in-win control-label" style="padding-top: 25px;">{l s='pixels' mod='newsletterpro'}</label>
</div>
</div>
</div>
<div class="slider-box clearfix">
<label class="control-label col-sm-3" style="padding-top: 27px;"><span class="label-tooltip">{l s='Template Top' mod='newsletterpro'}</label>
<div class="col-sm-9">
<div class="col-sm-9">
<div id="slider-fs-template-top"></div>
</div>
<div class="col-sm-3">
<label class="in-win control-label" style="padding-top: 25px;">{l s='pixels' mod='newsletterpro'}</label>
</div>
</div>
</div>
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Show Message After Subscribe' mod='newsletterpro'}
description={l s='Show a message after a visitor has subscribed to the newsletter in a new windows. If this option is \"No\" the message will be also displayed but in the same window. Empty the message if you want to display the standard message.' mod='newsletterpro'}
label_id='display_subscribe_message'
label_name='displaySubscribeMessage'
input_onchange=""
is_checked=$subscription_template.display_subscribe_message}
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Voucher' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
{$smarty.capture.voucher|escape:'quotes':'UTF-8'}
</div>
<p class="help-block">{$smarty.capture.voucher_description|escape:'html':'UTF-8'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Terms and conditions url' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input type="text" id="np-terms-and-conditions" name="np_terms_and_conditions" class="form-control fixed-width-xxl" value="{$subscription_template.terms_and_conditions_url|escape:'quotes':'UTF-8'}">
</div>
<p class="help-block">{l s='Insert the terms and conditions url.' mod='newsletterpro'}</p>
</div>
</div>
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Display Gender' mod='newsletterpro'} description={l s='Display gender options in the front office subscription.' mod='newsletterpro'} label_id='display_gender' label_name='displayGender' input_onchange="" is_checked=$subscription_template.display_gender}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Display First Name' mod='newsletterpro'} description={l s='Display the First Name input field in the front office subscription.' mod='newsletterpro'} label_id='display_firstname' label_name='displayFirstName' input_onchange="" is_checked=$subscription_template.display_firstname}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Display Last Name' mod='newsletterpro'} description={l s='Display the Last Name input field in the front office subscription.' mod='newsletterpro'} label_id='display_lastname' label_name='displayLastName' input_onchange="" is_checked=$subscription_template.display_lastname}
<div id="pqnp-subscription-tpl-display-language" style="{if $subscription_template.render_loader|intval == $subscription_template_defined.RENDER_LOADER_BETTER|intval}display: none;{/if}">
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Display Language' mod='newsletterpro'} description={l s='Display language options in the front office subscription.' mod='newsletterpro'} label_id='display_language' label_name='displayLanguage' input_onchange="" is_checked=$subscription_template.display_language}
</div>
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Display Birthday' mod='newsletterpro'} description={l s='Display birthday options in the front office subscription.' mod='newsletterpro'} label_id='display_birthday' label_name='displayBirthday' input_onchange="" is_checked=$subscription_template.display_birthday}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Display List Of Interest' mod='newsletterpro'} description={l s='Display list of interest options in the front office subscription.' mod='newsletterpro'} label_id='display_list_of_interest' label_name='displayListOfInterest' input_onchange="" is_checked=$subscription_template.display_list_of_interest}
<div id="pqnp-subscription-tpl-loi-type" style="{if $subscription_template.render_loader|intval == $subscription_template_defined.RENDER_LOADER_BETTER|intval}display: none;{/if}">
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Display List Of Interest Type Checkbox' mod='newsletterpro'} description={l s='Display the list of interest as a checkbox type or as a selected option type.' mod='newsletterpro'} label_id='list_of_interest_type' label_name='listOfInterestType' input_onchange="" is_checked=$subscription_template.list_of_interest_type}
</div>
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl" title_name={l s='Multiple time subscription' mod='newsletterpro'} description={l s='Allow the users to subscribe multiple times at the newsletter with the save email address.' mod='newsletterpro'} label_id='allow_multiple_time_subscription' label_name='allowMultipleTimeSubscription' input_onchange="" is_checked=$subscription_template.allow_multiple_time_subscription}
<div id="activate-template-box" class="activate-template-box" style="{if $subscription_template.active}display: none;{else}display: block;{/if}">
<a href="javascript:{}" id="activate-template" class="btn btn-default"><span class="icon incon-power-off"></span>{l s='Activate Template' mod='newsletterpro'}</a>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3" style="padding-top: 13px;">{l s='Mandatory Fields' mod='newsletterpro'}</label>
<div class="col-sm-9">
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" name="newsletter_pro_subscription_mandatory_firstname">
{l s='First Name' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" name="newsletter_pro_subscription_mandatory_lastname">
{l s='Last Name' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div class="col-sm-9 col-sm-offset-3">
<div class="clearfix">
<h4>{l s='Global Configuration' mod='newsletterpro'}</h4>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Cross Type' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="np-subscription-cross clearfix">
<span id="np-cross" class="np-icon-cross"></span>
<span id="np-cross1" class="np-icon-cross_1"></span>
<span id="np-cross2" class="np-icon-cross_2"></span>
<span id="np-cross3" class="np-icon-cross_3"></span>
<span id="np-cross4" class="np-icon-cross_4"></span>
<span id="np-cross5" class="np-icon-cross_5"></span>
</div>
<p class="help-block">{l s='Choose the popup corss type.' mod='newsletterpro'}</p>
</div>
</div>
</div>
</div>
<div id="tab_subscription_template_content-template_5" style="display: none;">
<div class="settings-tab">
<div class="clearfix">
<h4>{l s='Informations' mod='newsletterpro'}</h4>
</div>
<div class="clearfix">
<div class="alert alert-info">
<p>{l s='For the "email confirmation on subscribe option" or if you want to import emails addresses from the default prestashop subscription module visit the settings tab.' mod='newsletterpro'}</p>
<p>{l s='The template input attribute class and name are very important, don\'t change them in order the subscription to work properly.' mod='newsletterpro'}</p>
<p>{l s='View the available variabes by clicking ' mod='newsletterpro'} <a id="subscription_template_help" href="javascript:{}" style="color: #49B2FF;" onclick="NewsletterPro.modules.frontSubscription.showSubscriptionHelp();">{l s='here' mod='newsletterpro'}</a>. </p>
</div>
<div class="form-group clearfix">
<div>
<h4 style="margin-bottom: 0; border: none;">{l s='Front Subscription Popup Links by Language' mod='newsletterpro'}</h4>
</div>
<table class="table front-view-links">
<thead>
<tr>
<th>{l s='Language Name' mod='newsletterpro'}</th>
<th>{l s='Link' mod='newsletterpro'}</th>
</tr>
</thead>
<tbody>
{foreach $subscription_template_view_in_front_lang as $result}
<tr>
<td>{$result.name|escape:'html':'UTF-8'}</td>
<td>{$result.link|escape:'quotes':'UTF-8'}</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="alert alert-info">
{l s='The subscription link can is available in the newsletter template by using the variable %s or %s.' sprintf=['{front_subscription}','{front_subscription_link}'] mod='newsletterpro'}
</div>
</div>
</div>
</div>
<div id="tab_subscription_template_content-template_6" style="display: none;">
<div class="settings-tab">
<div class="clearfix">
<h4>{l s='After Subscribe Success Message' mod='newsletterpro'}</h4>
</div>
<div class="alert alert-info">
{l s='Don\'t forget to check if you want to display this message in a new window or not from "Template Settings" tab. Empty the message if you want to display a standard message.' mod='newsletterpro'}
</div>
<div class="form-group clearfix">
{include file="$textarea_tpl_multilang" class_name='subscription_rte_sm' content_name='content_name_s_subscribe_message' input_name="s_subscribe_message" input_value=$subscription_template.subscribe_message content_css=$subscription_template.css_links init_callback='NewsletterPro.modules.frontSubscription.initTinyCallback'}
</div>
<div class="clearfix">
<h4>{l s='Email Subscribe Voucher Message' mod='newsletterpro'}</h4>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Voucher' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
{$smarty.capture.voucher|escape:'quotes':'UTF-8'}
</div>
</div>
<div class="alert alert-info clearfix">
{$smarty.capture.voucher_description|escape:'html':'UTF-8'}
{l s='The content style is important to be setup as inline style, because this template will be shown in the the subscriber email account.' mod='newsletterpro'}
</div>
<div class="form-group clearfix">
{include file="$textarea_tpl_multilang" class_name='subscription_rte_esvm' content_name='content_name_s_email_subscribe_voucher_message' input_name="s_email_subscribe_voucher_message" input_value=$subscription_template.email_subscribe_voucher_message init_callback='NewsletterPro.modules.frontSubscription.initTinyCallback' plugins="fullpage"}
</div>
<div class="clearfix">
<h4>{l s='Email Subscribe Confirmation Message' mod='newsletterpro'}</h4>
</div>
<div class="alert alert-info">
<p>{l s='The email subscribe confirmation message option is global for all the templates and only the template messages are different. The option can be changes from the settings tab.' mod='newsletterpro'}</p>
<p>{l s='The content style is important to be setup as inline style, because this template will be shown in the the subscriber email account.' mod='newsletterpro'}</p>
<p>{l s='Additional variables on this templates are: %s and %s.' sprintf=['{email_confirmation}','{email_confirmation_link}'] mod='newsletterpro'}</p>
</div>
<div class="form-group clearfix">
{include file="$textarea_tpl_multilang" class_name='subscription_rte_escm' content_name='content_name_s_email_subscribe_confirmation_message' input_name="s_email_subscribe_confirmation_message" input_value=$subscription_template.email_subscribe_confirmation_message init_callback='NewsletterPro.modules.frontSubscription.initTinyCallback' plugins="fullpage"}
</div>
<div class="clearfix">
<h4>{l s='Email Unubscribe Confirmation Message' mod='newsletterpro'}</h4>
</div>
<div class="alert alert-info">
<p>{l s='The email unsubscribe confirmation message option is global for all the templates and only the template messages are different. The option can be changes from the settings tab.' mod='newsletterpro'}</p>
<p>{l s='The content style is important to be setup as inline style, because this template will be shown in the the subscriber email account.' mod='newsletterpro'}</p>
<p>{l s='Additional variables on this templates are: %s and %s.' sprintf=['{unubscribe}','{unubscribe_link}'] mod='newsletterpro'}</p>
</div>
<div class="form-group clearfix">
{include file="$textarea_tpl_multilang" class_name='subscription_rte_euscm' content_name='content_name_s_email_unsubscribe_confirmation_message' input_name="s_email_unsubscribe_confirmation_message" input_value=$subscription_template.email_unsubscribe_confirmation_message init_callback='NewsletterPro.modules.frontSubscription.initTinyCallback' plugins="fullpage"}
</div>
</div>
</div>
<div id="tab_subscription_template_content-template_7" style="display: none;">
<div class="clearfix settings-tab">
<div class="clearfix">
<h4>{l s='Auto popup settings' mod='newsletterpro'}</h4>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Show on Pages' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<select id="show-on-pages" name="show_on_pages" class="fixed-width-xxl gk-select">
{foreach $show_on_pages as $value => $title}
<option value="{$value|escape:'html':'UTF-8'}" {if $subscription_template.show_on_pages == $value}selected="selected"{/if}> - {$title|escape:'html':'UTF-8'} - </option>
{/foreach}
{foreach $front_pages as $page}
<option value="{$page.value|escape:'html':'UTF-8'}" {if $subscription_template.show_on_pages == $page.value}selected="selected"{/if}>{$page.title|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
<p class="help-block">{l s='Set none if you want to disable the auto popup. The popup will be availabe when the user will click on the subscription button.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='When to show popup to user' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<select id="when-shop-popup" name="when_shop_popup" class="fixed-width-xxl gk-select">
{foreach $when_to_show as $key => $value}
<option value="{$key|escape:'html':'UTF-8'}" {if $subscription_template.when_to_show|intval == $key}selected="selected"{/if}>{$value|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Start Timer' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input id="start-timer" type="text" name="start_timer" class="fixed-width-xxl gk-input" value="{$subscription_template.start_timer|intval}">
</div>
<p class="help-block">{l s='After how many seconds the popup will be shown. Set 0 to start immediately.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Cookie Lifetime (in days)' mod='newsletterpro'}</label>
<div class="col-sm-9">
<div class="clearfix">
<input id="cookie-lifetime" type="text" name="cookie_lifetime" class="fixed-width-xxl gk-input" value="{$subscription_template.cookie_lifetime|escape:'html':'UTF-8'}" style="float: left;">
<label class="control-label in-win pull-left seconds-text" style="margin-left: 10px;">
<span id="cookie-lifetime-seconds"> {math equation="round(time * 60 * 60 * 24)" time=$subscription_template.cookie_lifetime}</span> {l s='seconds' mod='newsletterpro'}
</label>
</div>
<p class="help-block">{l s='How long should be cookie started (in days). (0 = when your browser closes). This field also accept math if you want a cookie that is less at one day. (1/24/60/60 * 5 = 5 seconds)' mod='newsletterpro'}</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="form-group clearfix content-box">
<div class="form-inline">
<div class="col-sm-4">
<div id="save-subscription-template-message" class="save-subscription-template-message" style="display: none; float: left;">&nbsp;</div>
</div>
<div class="col-sm-8">
<a id="save-subscription-template" href="javascript:{}" class="btn btn-default btn-margin pull-right">
<i class="icon icon-save"></i> <span>{l s='Save' mod='newsletterpro'}</span>
</a>
<a id="save-as-subscription-template" href="javascript:{}" class="btn btn-default btn-margin pull-right">
<i class="icon icon-save"></i> <span>{l s='Save As' mod='newsletterpro'}</span>
</a>
{if $load_subscription_hook_header == true}
<a id="subscription-view-in-a-new-window" href="{$subscription_template.view|escape:'quotes':'UTF-8'}" target="_blank" class="btn btn-default btn-margin pull-right">
<i class="icon icon-eye"></i> <span>{l s='View in a New Window' mod='newsletterpro'}</span>
</a>
{/if}
<a href="{$subscription_template_view_in_front|escape:'quotes':'UTF-8'}" target="_blank" class="btn btn-default btn-margin pull-right">
<i class="icon icon-eye"></i> <span>{l s='View in Front' mod='newsletterpro'}</span>
</a>
</div>
</div>
</div>
<div class="from-group clearfix content-box">
<div class="form-group clearfix">
<div class="clearfix">
<h4 class="pull-left">{l s='Manage List of Interest' mod='newsletterpro'}</h4>
<div class="language-box">
<div id="front-subscription-lang" class="front-subscription-lang"> </div>
</div>
<a id="pqnp-manage-loi" href="javascript:{}" class="btn btn-default btn-margin pull-right">
<i class="icon icon-pencil fa fa-pencil"></i> <span>{l s='Manage' mod='newsletterpro'}</span>
</a>
</div>
<div class="separation"></div>
</div>
<table id="list-of-interest-table" class="table table-bordered list-of-interest-table">
<thead>
<tr>
<th class="name" data-field="name">{l s='Name' mod='newsletterpro'}</th>
<th class="np-active" data-field="active">{l s='Active' mod='newsletterpro'}</th>
<th class="position" data-field="position">{l s='Position' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
</div>

View File

@@ -0,0 +1,83 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#history') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<div class="clear">&nbsp;</div>
<h4>{l s='History' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div style="margin-bottom: 5px;">
<h4 style="float: left;">{l s='Send history' mod='newsletterpro'}</h4>
<a href="javascript:{}" id="clear-send-history" class="btn btn-default pull-right btn-margin"><i class="icon icon-eraser"></i> {l s='Clear Send History' mod='newsletterpro'}</a>
<a href="javascript:{}" id="clear-send-details" class="btn btn-default pull-right btn-margin"><span class="btn-ajax-loader" style="display: none;"></span><i class="icon icon-eraser"></i> {l s='Clear Details' mod='newsletterpro'}</a>
<div class="clear"></div>
<div class="separation"></div>
</div>
<table id="send-history" class="table table-bordered send-history">
<thead>
<tr>
<th class="template" data-field="template">{l s='Template' mod='newsletterpro'}</th>
<th class="date" data-field="date">{l s='Date' mod='newsletterpro'}</th>
<th class="emails-count" data-field="emails_count">{l s='Total emails' mod='newsletterpro'}</th>
<th class="emails-success" data-field="emails_success">{l s='Succeed' mod='newsletterpro'}</th>
<th class="emails-error" data-field="emails_error">{l s='Errors' mod='newsletterpro'}</th>
<th class="clicks" data-field="clicks">{l s='Clicks' mod='newsletterpro'}</th>
<th class="opened" data-field="opened">{l s='Read' mod='newsletterpro'}</th>
<th class="unsubscribed" data-field="unsubscribed">{l s='Unsubscribed' mod='newsletterpro'}</th>
<th class="fwd_unsubscribed" data-field="fwd_unsubscribed">{l s='Forward Uns' mod='newsletterpro'}</th>
<th class="emails-msg" data-field="error_msg">{l s='Messages' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
<br>
<div style="margin-bottom: 5px;">
<h4 style="float: left;">{l s='Task history' mod='newsletterpro'}</h4>
<a href="javascript:{}" id="clear-task-history" class="btn btn-default pull-right btn-margin"><i class="icon icon-eraser"></i> {l s='Clear Task History' mod='newsletterpro'}</a>
<a href="javascript:{}" id="clear-task-details" class="btn btn-default pull-right btn-margin"><span class="btn-ajax-loader" style="display: none;"></span><i class="icon icon-eraser"></i> {l s='Clear Details' mod='newsletterpro'}</a>
<div class="clear"></div>
<div class="separation"></div>
</div>
<table id="task-history" class="table table-bordered task-history">
<thead>
<tr>
<th class="template" data-field="template">{l s='Template' mod='newsletterpro'}</th>
<th class="date-start" data-field="date_start">{l s='Start Date' mod='newsletterpro'}</th>
<th class="emails-count" data-field="emails_count">{l s='Total emails' mod='newsletterpro'}</th>
<th class="emails-success" data-field="emails_success">{l s='Succeed' mod='newsletterpro'}</th>
<th class="emails-error" data-field="emails_error">{l s='Errors' mod='newsletterpro'}</th>
<th class="clicks" data-field="clicks">{l s='Clicks' mod='newsletterpro'}</th>
<th class="opened" data-field="opened">{l s='Read' mod='newsletterpro'}</th>
<th class="unsubscribed" data-field="unsubscribed">{l s='Unsubscribed' mod='newsletterpro'}</th>
<th class="fwd_unsubscribed" data-field="fwd_unsubscribed">{l s='Forward Uns.' mod='newsletterpro'}</th>
<th class="emails-msg" data-field="error_msg">{l s='Messages' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,239 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-mailchimp" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#mailchimp') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-mailchimp" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-mailchimp" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Mail Chimp' mod='newsletterpro'}</h4>
<div class="separation"></div>
<form id="chimp-settings">
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Api Key' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="chimp-api-key" name="chimp_api_key" value="{if isset($CONFIGURATION.CHIMP.API_KYE)}{$CONFIGURATION.CHIMP.API_KYE|escape:'html':'UTF-8'}{/if}">
</div>
<p class="help-block">{l s='Insert your Mail Chimp Api Key. Log-in into your Mail Chimp account and go to the section "My Account" > "Extras" > "Api Key" and then copy the Api Key.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Audiance ID' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="chimp-list-id" name="chimp_list_id" value="{if isset($CONFIGURATION.CHIMP.ID_LIST)}{$CONFIGURATION.CHIMP.ID_LIST|escape:'html':'UTF-8'}{/if}">
</div>
<p class="help-block">{l s='Insert your Mail Chimp Audiance ID. Log-in into your Mail Chimp account and go to the "Lists" section. Create a new list with the name "Newsletter Pro". After the list was created, go to the section "Settings" > "Audiance name & defaults" and then copy Audiance ID.' mod='newsletterpro'}</p>
</div>
</div>
<div class="clearfix">
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<a id="install-chimp" href="javascript:{}" class="btn btn-default btn-margin" style="display: none;">
<span id="install-chimp-loading"></span>
<i class="icon icon-plug"></i>
{l s='Install Mail Chimp' mod='newsletterpro'}
</a>
<a id="uninstall-chimp" href="javascript:{}" class="btn btn-default btn-margin" style="display: none;">
<span id="uninstall-chimp-loading"></span>
<i class="icon icon-remove"></i>
{l s='Uninstall Mail Chimp' mod='newsletterpro'}
</a>
<a id="ping-chimp" href="javascript:{}" class="btn btn-default btn-margin ping-chimp">
<i class="icon icon-refresh"></i>
{l s='Ping' mod='newsletterpro'}
</a>
</div>
</div>
<div id="chimp-menu" class="form-group clearfix chimp-menu" style="display: none;">
<h4>{l s='Synchronization' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="clearfix">
<div class="col-sm-9 col-sm-offset-3">
<span style="font-weight: normal;"><span id="last-sync-lists">{if isset($last_date_chimp_sync)}{$last_date_chimp_sync|escape:'html':'UTF-8'}{/if}</span> - {l s='last lists synchronization date' mod='newsletterpro'}</span>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3" style="padding-top: 13px;">{l s='Select Lists' mod='newsletterpro'}</label>
<div class="col-sm-9">
<div class="checkbox">
<label for="sync-customers" class="in-win control-label chimp-label">
<input type="checkbox" id="sync-customers" name="sync_customers">
{l s='Sync Customers List' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label for="sync-visitors" class="in-win control-label chimp-label">
<input type="checkbox" id="sync-visitors" name="sync_visitors">
{l s='Sync Visitors List' mod='newsletterpro'}
{if $CONFIGURATION.SUBSCRIPTION_ACTIVE == true}
{l s='(subscribed at the Newsletter Pro module)' mod='newsletterpro'}
{else}
{l s='(subscribed at the Block Newsletter module)' mod='newsletterpro'}
{/if}
</label>
</div>
<div class="checkbox">
<label for="sync-added" class="in-win control-label chimp-label">
<input type="checkbox" id="sync-added" name="sync_added">
{l s='Sync Added List' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div class="clearfix">
<div class="col-sm-9 col-sm-offset-3">
<span style="font-weight: normal;"><span id="last-sync-orders">{if isset($chimp_last_date_sync_orders)}{$chimp_last_date_sync_orders|escape:'html':'UTF-8'}{/if}</span> - {l s='last orders synchronization date' mod='newsletterpro'} (<a id="reset-sync-order-date" href="javascript:{}" style="color: #49B2FF;">{l s='reset date' mod='newsletterpro'}</a>)</span>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div class="checkbox">
<label for="sync-orders" class="in-win control-label chimp-label">
<input type="checkbox" id="sync-orders" name="sync_added">
{l s='Sync Orders' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<a id="sync-lists" href="javascript:{}" class="btn btn-default sync-lists" style="display: none;">
<span class="ajax-loader" style="display: none; float: left; margin-right: 6px; margin-top: 0px; margin-left: 0;"></span>
<i class="icon icon-refresh"></i>
<span>{l s='Sync Lists' mod='newsletterpro'}</span>
<span id="sync-orders-button-text">& {l s='Sync Orders' mod='newsletterpro'}</span>
</a>
<a id="stop-sync-lists" href="javascript:{}" class="btn btn-default stop-sync-lists" style="display: none;">
<i class="icon icon-remove"></i>
{l s='Stop Sync Lists' mod='newsletterpro'}
</a>
<a id="delete-chimp-orders" href="javascript:{}" class="btn btn-default delete-chimp-orders" style="display: none;">
<span class="ajax-loader" style="display: none; float: left; margin-right: 6px; margin-top: 0px; margin-left: 0;"></span>
<i class="icon icon-trash-o"></i>
<span>{l s='Delete Orders from MailChimp' mod='newsletterpro'}</span>
</a>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div id="sync-lists-progress-box" class="sync-lists-progress-box" style="display: none;">
<div id="sync-error-message-box" style="display: none;">
<span class="sync-error-message" style="color: red;"></span>
</div>
<div id="sync-added-progress" class="sync-added-progress" style="display: none;">
<h4>{l s='Added List' mod='newsletterpro'} ( <span class="sync-emails-total">0</span> ) <span class="ajax-loader" style="display: none;"></span></h4>
<p>( <span class="sync-emails-created">0</span> ) {l s='emails created' mod='newsletterpro'}, ( <span class="sync-emails-updated">0</span> ) {l s='emails updated' mod='newsletterpro'}, ( <span class="sync-emails-errors">0</span> ) {l s='emails errors' mod='newsletterpro'}</p>
<div class="clear"></div>
</div>
<div id="sync-visitors-progress" class="sync-visitors-progress" style="display: none;">
<h4>{l s='Visitors List' mod='newsletterpro'} ( <span class="sync-emails-total">0</span> ) <span class="ajax-loader" style="display: none;"></span></h4>
<p>( <span class="sync-emails-created">0</span> ) {l s='emails created' mod='newsletterpro'}, ( <span class="sync-emails-updated">0</span> ) {l s='emails updated' mod='newsletterpro'}, ( <span class="sync-emails-errors">0</span> ) {l s='emails errors' mod='newsletterpro'}</p>
<div class="clear"></div>
</div>
<div id="sync-customers-progress" class="sync-customers-progress" style="display: none;">
<h4>{l s='Customers List' mod='newsletterpro'} ( <span class="sync-emails-total">0</span> ) <span class="ajax-loader" style="display: none;"></span></h4>
<p>( <span class="sync-emails-created">0</span> ) {l s='emails created' mod='newsletterpro'}, ( <span class="sync-emails-updated">0</span> ) {l s='emails updated' mod='newsletterpro'}, ( <span class="sync-emails-errors">0</span> ) {l s='emails errors' mod='newsletterpro'}</p>
<div class="clear"></div>
</div>
<div id="sync-orders-progress" class="sync-orders-progress" style="display: none;">
<h4>{l s='Orders' mod='newsletterpro'} ( <span class="sync-emails-total">0</span> ) <span class="ajax-loader" style="display: none;"></span></h4>
<p>( <span class="sync-emails-created">0</span> ) {l s='orders created' mod='newsletterpro'}, <span style="display: none;">( <span class="sync-emails-updated">0</span> ) {l s='orders updated' mod='newsletterpro'},</span> ( <span class="sync-emails-errors">0</span> ) {l s='orders errors' mod='newsletterpro'} <span style="font-weight: normal;">({l s='The orders already exists in MailChimp' mod='newsletterpro'})</span></p>
<div class="clear"></div>
</div>
</div>
<div id="sync-chimp-errors-message" class="alert alert-danger" style="display: none;">
</div>
</div>
</div>
</div>
<div id="sync-back-chimp-content" class="form-group clearfix" style="display: none;">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Import emails from MailChimp' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<a id="sync-chimp-lists-back" href="javascript:{}" class="btn btn-default">
<span class="btn-ajax-loader"></span>
<i class="icon icon-refresh"></i>
<span>{l s='Sync Back' mod='newsletterpro'}</span>
</a>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div id="sync-lists-back-progress-box" class="sync-lists-progress-box" style="display: none;">
<div id="sync-list-back-error-message-box" style="display: none;">
<span class="sync-error-message" style="color: red;"></span>
</div>
<div id="sync-list-back-progress" class="sync-added-progress" style="display: none;">
<h4>{l s='Import emails from MailChimp' mod='newsletterpro'} ( <span class="sync-emails-total">0</span> ) <span class="ajax-loader" style="display: none;"></span></h4>
<p>( <span class="sync-emails-created">0</span> ) {l s='emails created' mod='newsletterpro'}, ( <span class="sync-emails-updated">0</span> ) {l s='emails updated' mod='newsletterpro'}, ( <span class="sync-emails-errors">0</span> ) {l s='emails errors' mod='newsletterpro'}</p>
<div class="clear"></div>
</div>
</div>
</div>
</div>
<div class="from-group clearfix">
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Synchronize unsubscribed users' mod='newsletterpro'}
description={l s='Synchronize the unsubscribed users to MailChimp.' mod='newsletterpro'}
label_id='mailchimp_synchronize_users'
label_name=''
input_onchange='NewsletterProControllers.SettingsController.chimpSyncUnsubscribed($(this));'
is_checked=$CONFIGURATION.CHIMP_SYNC_UNSUBSCRIBED
}
</div>
<div class="alert alert-info clearfix chimp-cron-job">
<p style="margin-top: 0;" class="cron-link"><span style="color: black;">CRON URL:</span> <span class="icon-cron-link"></span>{$sync_chimp_link|escape:'quotes':'UTF-8'}</p>
<p style="margin-top: 0;">{l s='To make the Mail Chimp synchronization to run automatically every day set the CRON job from your website control panel (Plesk, cPanel, DirectAdmin, etc.). Run this script every day.' mod='newsletterpro'}</p>
<p style="margin-top: 0;">{l s='Synchronize all the users list before to setup the CRON job.' mod='newsletterpro'}</p>
</div>
<div class="alert alert-info clearfix chimp-cron-job">
<p style="margin-top: 0;" class="cron-link"><span style="color: black;">WEBHOOK URL:</span> <span class="icon-cron-link"></span>{$webhook_chimp_link|escape:'quotes':'UTF-8'}</p>
<p style="margin-top: 0;">{l s='With this link you can create webhooks in MailChimp account.' mod='newsletterpro'}</p>
<p style="margin-top: 0;">{l s='The webhook features supported by the module are: \"Subscribe\", \"Unsubscribes\" and \"Cleaned Emails\".' mod='newsletterpro'}</p>
<p style="margin-top: 0;">{l s='For unexpected behavior the \"Cleaned Emails\" feature is deactivated by default. The webhook features \"Unsubscribes\" and \"Cleaned Emails\" can be configured in the file \"%s\".' sprintf="config.ini" mod='newsletterpro'}</p>
</div>
</div>
</form>
</div>

View File

@@ -0,0 +1,73 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;" class="images">
{else}
<script type="text/javascript">
if(window.location.hash == '#manageImages') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;" class="images">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;" class="images">');
{rdelim}
</script>
{/if}
<h4>{l s='Manage Images' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="form-group clearfix">
<form id="upload-image-form" class="defaultForm" method="post" enctype="multipart/form-data" {if isset($style)}style="{$style|escape:'quotes':'UTF-8'}"{/if}>
<div class="form-inline">
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-addon">{l s='Upload image' mod='newsletterpro'}</span>
<input class="form-control" type="file" name="upload_image"/>
</div>
</div>
<div class="col-sm-2">
<div class="input-group">
<span class="input-group-addon">{l s='Width' mod='newsletterpro'}</span>
<input class="form-control text-center" type="text" name="upload_image_width" id="upload-image-width" value="">
</div>
</div>
<div class="col-sm-4">
<a href="javascript:{}" id="upload-image" class="btn btn-default">
<i class="icon icon-upload on-left"></i> <span>{l s='Upload' mod='newsletterpro'}</span>
</a>
</div>
</div>
</form>
</div>
<div class="images-grid-box">
<table id="images-list" class="table table-bordered images-list">
<thead>
<tr>
<th class="preview" data-template="preview">&nbsp;</th>
<th class="dimensions" data-template="dimensions">{l s='Dimensions' mod='newsletterpro'}</th>
<th class="size" data-field="size">{l s='Size' mod='newsletterpro'}</th>
<th class="date" data-field="date">{l s='Date Add' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
<br>
</div>

View File

@@ -0,0 +1,88 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#privacy') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Privacy' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div>
<div class="form-group">
<h4>{l s='Subscription Consent' mod='newsletterpro'}</h4>
</div>
<div class="form-group">
<div class="input-group">
<span class="input-group-addon" style="width: 40px;">
<span id="privacy-datagrid-serach-loading" class="btn-ajax-loader" style="display: none;"></span>
<i id="privacy-datagrid-serach-icon" class="icon icon-search fa fa-search"></i>
</span>
<input type="text" id="privacy-datagrid-serach" class="form-constrol fixed-width-xxl" placeholder="{l s='email address' mod='newsletterpro'}">
</div>
</div>
<div class="from-group">
<table id="privacy-datagrid" class="table table-bordered send-history">
<thead>
<tr>
<th class="consent_date" data-field="consent_date">{l s='Consent Date' mod='newsletterpro'}</th>
<th class="email" data-field="email">{l s='Email' mod='newsletterpro'}</th>
<th class="subscribed" data-field="subscribed">{l s='Subscribed' mod='newsletterpro'}</th>
<th class="ip_address" data-field="ip_address">{l s='IP' mod='newsletterpro'}</th>
<th class="date_add" data-field="date_add">{l s='Date Add' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
<br>
<div class="form-group">
<h4>{l s='Delete Email Address and related data' mod='newsletterpro'}</h4>
</div>
<div class="form-group">
<div class="form-inline">
<div class="input-group" style="width: auto; margin: 0; margin-right: 5px;">
<span class="input-group-addon" style="width: 40px;">
<span id="delete-email-serach-loading" class="btn-ajax-loader" style="display: none;"></span>
<i id="delete-email-serach-icon" class="icon icon-search fa fa-search"></i>
</span>
<input type="text" id="delete-email-serach" class="form-constrol fixed-width-xxl" placeholder="{l s='email address' mod='newsletterpro'}">
</div>
<button id="delete-email-serach-button" type="button" href="javascript:{}" class="btn btn-primary">{l s='Search' mod='newsletterpro'}</button>
<button id="clear-email-serach-button" type="button" href="javascript:{}" class="btn btn-default">{l s='Clear Search' mod='newsletterpro'}</button>
</div>
</div>
<p class="help-block">{l s='You must search for complete email address. Partial search will not find the desired email address.' mod='newsletterpro'}</p>
<div id="delete-email-content" class="form-group clearfix" style="display: none;"></div>
<div class="alert alert-info">{l s='If you synchronize the email address with MailChimp, you must delete the manually from MailChimp.' mod='newsletterpro'}</div>
<div class="alert alert-info">{l s='If you have activated the Google Analytics you must check for the email address in your Google Analytics account.' mod='newsletterpro'}</div>
</div>
</div>

View File

@@ -0,0 +1,242 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">
{else}
<script type="text/javascript">
if(window.location.hash == '#selectProducts') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<h4 style="float: left;">{l s='Select products to insert into template' mod='newsletterpro'}</h4>
<a id="product_help" href="javascript:{}" class="btn btn-default product-help" onclick="NewsletterProControllers.TemplateController.showProductHelp();"><i class="icon icon-eye"></i> {l s='View available variables' mod='newsletterpro'}</a>
<div class="clear"></div>
<div class="separation" style="clear: both;"></div>
<div class="data-grid-div">
<table id="product-template-list" class="table table-bordered product-template-list">
<thead>
<tr>
<th class="name" data-field="name">{l s='Template Name' mod='newsletterpro'}</th>
<th class="date" data-field="date">{l s='Date Modified' mod='newsletterpro'}</th>
<th class="np-info" data-template="info">{l s='For Newsletter Template' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
<br>
<div>
<a href="javascript:{}" class="btn btn-default pull-left" onclick="NewsletterProControllers.TemplateController.toggleShowProductTpl( $(this) )" data-name='{ldelim}"show":"{l s='Show product template' mod='newsletterpro'}","hide":"{l s='Hide product template' mod='newsletterpro'}"{rdelim}'>
<i class="icon icon-eye"></i>
<span>{l s='Show product template' mod='newsletterpro'}</span>
</a>
<a href="javascript:{}" class="button" style="margin-left: 15px; display: none;" onclick="NewsletterProControllers.TemplateController.loadProductTemplate()">{l s='Load product template' mod='newsletterpro'}</a>
<div class="clear" style="height: 0;"></div>
<div id="product-template" style="display: none;">
<div>
<div class="br">&nbsp;</div>
<p class="help-block">{l s='Press the help button in the upper right corner to see full list of available variables.' mod='newsletterpro'}</p>
<div id="product-template-content">
<textarea style="display: none;" id="product-template-content-textarea" class="template-css">{$product_tpl_content|escape:'html':'UTF-8'}</textarea>
<div id="product-content-box">
{include file="$textarea_tpl" class_name='product_rte' content_name='product_content' config='product_config' input_name='product_template_text' input_value=$product_tpl_content}
</div>
</div>
</div>
<div class="view-content">
<div id="view-product-template-content" style="display: none;">&nbsp;</div>
<div class="clear"></div>
</div>
<br />
<div class="form-group">
<div class="col-sm-8">
<div id="save-product-template-message" style="display: none;">&nbsp;</div>
</div>
<div class="col-sm-4">
<a id="save-product-template" href="javascript:{}" class="btn btn-default pull-right" onclick="NewsletterProControllers.TemplateController.saveToggleProductTemplate( $(this) )" data-name='{ldelim}"view":"{l s='Save and View' mod='newsletterpro'}","edit":"{l s='Edit' mod='newsletterpro'}"{rdelim}'>
<i class="icon icon-edit"></i>
<span>{l s='Save and view' mod='newsletterpro'}</span>
</a>
<a href="javascript:{}" class="btn btn-default pull-right btn-margin-right" onclick="NewsletterProControllers.TemplateController.saveAsProductTemplate( $(this) );" data-message="{l s='Please insert the name of the new product template:' mod='newsletterpro'}">
<i class="icon icon-save"></i>
<span>{l s='Save as' mod='newsletterpro'}</span>
</a>
</div>
</div>
</div>
<div class="clear"></div>
</div>
<br>
<div class="clear">&nbsp;</div>
<div class="clearfix" style="">
<div id="categories-list" class="div_userlist categories-list">
<h4>{l s='Categories' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="clear">&nbsp;</div>
<ul class="userlist"></ul>
<div class="clear">&nbsp;</div>
</div>
<div id="product-list" class="div_userlist products-list">
<h4 style="margin-left: 10px;">{l s='Products' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="clear">&nbsp;</div>
<div class="poduct-search-container">
<span class="product-search-span ajax-loader" style="display: none;">&nbsp;</span>
<input id="poduct-search" class="search-bar empty" tyle="text" value="{l s='search products by:' mod='newsletterpro'} {l s='name, reference, category or type:' mod='newsletterpro'} {l s='new products' mod='newsletterpro'} {l s='or' mod='newsletterpro'} {l s='price drop' mod='newsletterpro'}">
</div>
<div class="clear">&nbsp;</div>
<a id="toggle-categories" href="javascript:{}" class="slide-toggle" onclick="NewsletterProControllers.NavigationController.toggleCategories( $(this) )">&nbsp;</a>
<div class="userlist">
<table>
<tbody>
</tbody>
</table>
</div>
<div class="clear">&nbsp;</div>
</div>
<div class="clear">&nbsp;</div>
<div id="display-product-image-container" class="display-product-image-container">
<label for="display-product-image" class="control-label">
<input id="display-product-image" type="checkbox" {if $display_product_image == true} checked {/if} onclick="NewsletterProControllers.NavigationController.displayProductImage( $(this) )"> {l s='Display product image' mod='newsletterpro'}
</label>
<span id="display-product-image-message">&nbsp;</span>
<div class="clear">&nbsp;</div>
</div>
<div class="margin-top" style="float: right;">
<a href="javascript:{}" style="float: right;" onclick="NewsletterPro.components.Product.removeAllProducts();" class="btn btn-default">
<i class="icon icon-minus-circle"></i> {l s='remove all' mod='newsletterpro'}
</a>
<div class="clear">&nbsp;</div>
</div>
</div>
<div class="clear">&nbsp;</div>
<br>
<div id="products-adjustments-div">
<h4>{l s='Products adjustments' mod='newsletterpro'}</h4>
<div class="separation"></div>
<p class="help-block" style="width: auto;">{l s='The responsive templates are not adjustable, because the responsive layout can be damaged by the adjustments. You can adjust them by changing the CSS and HTML.' mod='newsletterpro'}</p>
<div id="products-adjustments" class="products-adjustments" style="background: #FFF; border: solid thin #d0d0d0; padding: 10px; display: block; margin: 0 auto;">
<table>
<tr>
<td class="first-item">
<div class="slider-container">
<label>{l s='Products per row:' mod='newsletterpro'}</label>
<div id="slider-products-per-row"></div>
</div>
</td>
<td>
<div class="slider-container" style="display: none;">
<label>{l s='Image size:' mod='newsletterpro'}</label>
<div id="slider-image-size"></div>
</div>
</td>
<td>
<div class="slider-container" style="display: none;">
<label>{l s='Products width:' mod='newsletterpro'}</label>
<div id="slider-product-width"></div>
</div>
</td>
</tr>
<tr>
<td class="first-item">
<div class="slider-container" style="display: none;">
<label>{l s='Trim product name:' mod='newsletterpro'}</label>
<div id="slider-name"></div>
</div>
</td>
<td class="item">
<div class="slider-container" style="display: none;">
<label>{l s='Trim product short description:' mod='newsletterpro'}</label>
<div id="slider-description-short"></div>
</div>
</td>
<td class="last-item">
<div class="slider-container" style="display: none;">
<label>{l s='Trim product description:' mod='newsletterpro'}</label>
<div id="slider-description"></div>
</div>
</td>
</tr>
</table>
<div class="clear"></div>
</div>
</div>
<div class="clear">&nbsp;</div>
<br>
<div id="np-view-products-box" class="clearfix" style="display: block;">
<div class="form-group clearfix">
<div class="form-inline">
<div class="form-group pull-left">
<h4>{l s='View selected products' mod='newsletterpro'} <i id="slider-ppr-loading" class="icon icon-refresh icon-spin slider-ppr-loading" style="display: none;"></i><span style="font-size: 12px; color: #3586AE;margin-left: 10px;">{l s='width' mod='newsletterpro'}: <span id="sp-width">0</span>px</span></h4>
</div>
<div class="form-group pull-right">
<label class="control-label np-margin-5"><span class="label-tooltip">{l s='Language' mod='newsletterpro'}</span></label>
<div id="np-change-view-template-lang" class="gk_lang_select pull-right np-margin-5-left"></div>
</div>
<div class="form-group pull-right">
<label class="control-label np-margin-5"><span class="label-tooltip">{l s='Currency for this language' mod='newsletterpro'}</span></label>
<div id="products-currency-change" class="gk_currency_select pull-right np-margin-5"></div>
</div>
<div class="form-group pull-right np-margin-5">
<select id="np-selected-products-sort-order" class="gk-select form-control" style="margin: 0;">
<option value="1">{l s='asc' mod='newsletterpro'}</option>
<option value="0">{l s='desc' mod='newsletterpro'}</option>
</select>
</div>
<div class="form-group pull-right np-margin-5">
<label class="control-label np-margin-5"><span class="label-tooltip">{l s='Sort by' mod='newsletterpro'}</span></label>
<select id="np-selected-products-sort" class="gk-select form-control" style="margin: 0;">
<option value="0">- {l s='none' mod='newsletterpro'} -</option>
<option value="name">{l s='Name' mod='newsletterpro'}</option>
<option value="price">{l s='Price' mod='newsletterpro'}</option>
<option value="reduction">{l s='Reduction' mod='newsletterpro'}</option>
<option value="discount">{l s='Discount' mod='newsletterpro'}</option>
</select>
</div>
</div>
<div class="separation" style="clear: both;"></div>
</div>
<div style="background: #FFF; border: solid thin #d0d0d0; padding: 10px; display: block; margin: 0 auto;" class="view-selected-products">
<div id="selected-products" class="clearfix" style="margin: 0 auto; display: block; position: relative; width: 100%;"></div>
</div>
</div>
<div class="clear">&nbsp;</div>
<br>
<a id="setp1" href="#createTemplate" class="btn btn-primary pull-right" onclick="NewsletterProControllers.NavigationController.goToStep( 4 );" >
<span>{l s='Next Step' mod='newsletterpro'} &raquo;</span></a>
</div>

View File

@@ -0,0 +1,327 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#sendNewsletters') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<div style="0px 0px 15px -5px;">
<h4 style="float: left;">{l s='Select Customers & Send newsletters' mod='newsletterpro'}</h4>
<a id="btn-bounced-emails" class="btn btn-default btn-bounced-emails" href="javascript:{}"><i class="icon icon-eraser"></i> {l s='Manage Bounced Emails' mod='newsletterpro'}</a>
<div class="clear" style="clear: both;"></div>
<div class="separation"></div>
</div>
<div class="clear" style="clear: both;"></div>
<div class="form-group clearfix">
<div class="clearfix">
<label class="control-label col-sm-2"><span class="label-tooltip">{l s='Filter Selection' mod='newsletterpro'}</span></label>
<div class="col-sm-10">
<div class="form-inline">
<div class="form-group">
<select id="np-filter-selection" class="fixed-width-xxl gk-select">
<option value="0">- {l s='none' mod='newsletterpro'} -</option>
{foreach $filters_selection as $filter}
<option value="{$filter.id_newsletter_pro_filters_selection|intval}">{$filter.name|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
<div class="form-group">
<a id="np-delete-filter-selection" href="javascript:{}" class="btn btn-default btn-margin" style="display: none;">
<i class="icon icon-trash-o"></i>
{l s='Delete' mod='newsletterpro'}
</a>
</div>
<div class="form-group pull-right">
<label class="control-label"><span class="label-tooltip">{l s='Filter Name' mod='newsletterpro'}</span></label>
<input id="np-name-filter-selection" class="form-control fixed-width-xxl" type="text">
<a id="np-add-filter-selection" href="javascript:{}" class="btn btn-default btn-margin">
<i class="icon icon-plus-square"></i>
{l s='Add' mod='newsletterpro'}
</a>
</div>
</div>
</div>
</div>
<div class="col-sm-10 col-sm-offset-2">
<p class="help-block">{l s='Select you users with your predefined filters. The filter selection can be applied only to the drop down filters.' mod='newsletterpro'}</p>
</div>
</div>
<div class="label-on-row">
<h4>
{if $CONFIGURATION.VIEW_ACTIVE_ONLY == true}
{l s='Users subscribed' mod='newsletterpro'}
{else}
{l s='Users' mod='newsletterpro'}
{/if}
: <span id="customers-count">0</span>
{if $CONFIGURATION.PS_MULTISHOP_FEATURE_ACTIVE == true}{$users_lists_shop_count_message|escape:'html':'UTF-8'}{/if}
</h4>
<span id="users-ajax-loader" class="ajax-loader" style="display: none; margin: 0; margin-left: 6px;"></span>
<div class="clear">&nbsp;</div>
<div class="separation"></div>
</div>
<div class="data-grid-div customers-list-box">
<table id="customers-list" class="table table-bordered customers-list">
<thead>
<tr>
<th class="chackbox" data-template="chackbox">&nbsp;</th>
<th class="image" data-field="img_path">&nbsp;</th>
<th class="firstname" data-field="firstname">{l s='First Name' mod='newsletterpro'}</th>
<th class="lastname" data-field="lastname">{l s='Last Name' mod='newsletterpro'}</th>
<th class="email" data-field="email">{l s='Email' mod='newsletterpro'}</th>
<th class="shop_name" data-field="shop_name">{l s='Shop Name' mod='newsletterpro'}</th>
<th class="newsletter" data-field="newsletter">{l s='Subscribed' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
<div id="visitors-list-display" {if $CONFIGURATION.SUBSCRIPTION_ACTIVE == false}style="display:block;"{else}style="display:none;"{/if}>
<br>
<div class="label-on-row">
<h4>
{if $CONFIGURATION.VIEW_ACTIVE_ONLY == true}
{l s='Visitors subscribed' mod='newsletterpro'} <span style="font-weight: normal;">{l s='(at the Block Newsletter module)' mod='newsletterpro'}</span>
{else}
{l s='Visitors' mod='newsletterpro'} <span style="font-weight: normal;">{l s='(at the Block Newsletter module)' mod='newsletterpro'}</span>
{/if}
: <span id="visitors-count">0</span>
{if $CONFIGURATION.PS_MULTISHOP_FEATURE_ACTIVE == true}{$users_lists_shop_count_message|escape:'html':'UTF-8'}{/if}
</h4>
<span id="visitors-ajax-loader" class="ajax-loader" style="display: none; margin: 0; margin-left: 6px;"></span>
<div class="clear"></div>
<div class="separation"></div>
</div>
<div class="data-grid-div visitors-list-box">
<table id="visitors-list" class="table table-bordered visitors-list">
<thead>
<tr>
<th class="chackbox" data-template="chackbox">&nbsp;</th>
<th class="image" data-field="img_path">&nbsp;</th>
<th class="email" data-field="email">{l s='Email' mod='newsletterpro'}</th>
<th class="shop_name" data-field="shop_name">{l s='Shop Name' mod='newsletterpro'}</th>
<th class="ip" data-field="ip_registration_newsletter">{l s='IP' mod='newsletterpro'}</th>
<th class="np-active" data-field="active">{l s='Subscribed' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
</div>
<div id="visitors-np-list-display" {if $CONFIGURATION.SUBSCRIPTION_ACTIVE == true}style="display:block;"{else}style="display:none;"{/if}>
<br>
<div class="label-on-row">
<h4>
{if $CONFIGURATION.VIEW_ACTIVE_ONLY == true}
{l s='Visitors subscribed' mod='newsletterpro'} <span style="font-weight: normal;">{l s='(at the Newsletter Pro module)' mod='newsletterpro'}</span>
{else}
{l s='Visitors' mod='newsletterpro'} <span style="font-weight: normal;">{l s='(at the Newsletter Pro module)' mod='newsletterpro'}</span>
{/if}
: <span id="visitors-np-count">0</span>
{if $CONFIGURATION.PS_MULTISHOP_FEATURE_ACTIVE == true}{$users_lists_shop_count_message|escape:'html':'UTF-8'}{/if}
</h4>
<span id="visitors-np-ajax-loader" class="ajax-loader" style="display: none; margin: 0; margin-left: 6px;"></span>
<div class="clear"></div>
<div class="separation"></div>
</div>
<div class="data-grid-div visitors-np-list-box">
<table id="visitors-np-list" class="table table-bordered visitors-np-list">
<thead>
<tr>
<th class="chackbox" data-template="chackbox">&nbsp;</th>
<th class="image" data-field="img_path">&nbsp;</th>
<th class="firstname" data-field="firstname">{l s='First Name' mod='newsletterpro'}</th>
<th class="lastname" data-field="lastname">{l s='Last Name' mod='newsletterpro'}</th>
<th class="email" data-field="email">{l s='Email' mod='newsletterpro'}</th>
<th class="shop_name" data-field="shop_name">{l s='Shop Name' mod='newsletterpro'}</th>
<th class="np-active" data-field="active">{l s='Subscribed' mod='newsletterpro'}</th>
{if isset($show_custom_columns_format) && !empty($show_custom_columns_format)}
{foreach $show_custom_columns_format as $column => $name}
<th class="head_custom_column_{$column|escape:'html':'UTF-8'}" data-field="{$column|escape:'html':'UTF-8'}">{$name|escape:'htmlall':'UTF-8'}</th>
{/foreach}
{/if}
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
</div>
<br>
<div class="label-on-row">
<h4>
{if $CONFIGURATION.VIEW_ACTIVE_ONLY == true}
{l s='Added users subscribed' mod='newsletterpro'}
{else}
{l s='Added users' mod='newsletterpro'}
{/if}
: <span id="added-count">0</span>
{if $CONFIGURATION.PS_MULTISHOP_FEATURE_ACTIVE == true}{$users_lists_shop_count_message|escape:'html':'UTF-8'}{/if}
</h4>
<span id="added-ajax-loader" class="ajax-loader" style="display: none; margin: 0; margin-left: 6px;"></span>
<div class="clear"></div>
<div class="separation"></div>
</div>
<div class="data-grid-div added-list-box">
<table id="added-list" class="table table-bordered added-list">
<thead>
<tr>
<th class="chackbox" data-template="chackbox">&nbsp;</th>
<th class="image" data-field="img_path">&nbsp;</th>
<th class="firstname" data-field="firstname">{l s='First Name' mod='newsletterpro'}</th>
<th class="lastname" data-field="lastname">{l s='Last Name' mod='newsletterpro'}</th>
<th class="email" data-field="email">{l s='Email' mod='newsletterpro'}</th>
<th class="shop_name" data-field="shop_name">{l s='Shop Name' mod='newsletterpro'}</th>
<th class="np-active" data-field="active">{l s='Subscribed' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
</div>
<br>
<div class="add-exclusion-box">
<div class="form-group clearfix">
<span>{l s='There are' mod='newsletterpro'} <span style="color: red;" id="exclusion-emails-count">{$exclusion_emails_count|intval}</span> {l s='excluded emails from the process of sending newsletters.' mod='newsletterpro'}</span>
</div>
<div>
<a id="btn-add-exclusion" href="javascript:{}" class="btn btn-default btn-add-exclusion"><i class="icon icon-plus-square"></i> {l s='Add Exclusion Emails' mod='newsletterpro'}</a>
<a id="btn-clear-exclusion" href="javascript:{}" class="btn btn-default btn-add-exclusion"><span class="btn-ajax-loader"></span><i class="icon icon-eraser"></i> {l s='Clear Exclusion Emails' mod='newsletterpro'}</a>
</div>
</div>
<br>
<h4>{l s='Send newsletters' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="div_userlist">
<div id="emails-to-send"></div>
<div id="emails-sent" class="div_userlist"></div>
<div class="clear">&nbsp;</div>
<div class="form-group clearfix">
<div class="send-progressbar-box">
<div id="send-progressbar"></div>
</div>
</div>
<div class="form-group clearfix">
<div id="last-send-error-div" class="last-send-error-div" style="display: none;">
<div class="col-sm-12 clearfix">
<span class="waring-icon pull-left"></span>
<label class="control-label" style="padding-top: 0; margin-left: 10px;">{l s='Last error message:' mod='newsletterpro'}</label>
</div>
<div class="col-sm-12 clearfix row">
<div id="last-send-error" class="alert alert-danger" style="display: none;"></div>
</div>
</div>
</div>
<div class="form-group clearfix">
<div id="test-email" class="test-email br-space">
<div class="form-group clearfix">
<div class="col-sm-8">
<div class="col-sm-4">
<input id="test-email-checkbox" type="checkbox"/>
<label class="control-label" style="width: auto;" for="test-email-checkbox"><span class="label-tooltip">{l s='Send a test email' mod='newsletterpro'}</span></label>
</div>
<div class="col-sm-8">
<input id="test-email-input" class="form-control fixed-width-xxl" type="text" value="{$shop_email|escape:'html':'UTF-8'}"/>
<span id="test-email-success-message" class="test-email-success-message" style="display: none;"></span>
</div>
</div>
<div class="col-sm-4">
<div id="test-send-email-box" class="form-inline" style="display: none;">
<div class="form-group pull-right btn-margin-left">
<a id="test-email-button" class="btn btn-default pull-right" href="javascript:{}" onclick="NewsletterProControllers.SendController.sendTestEmail($(this))">
<span class="btn-ajax-loader"></span>
<i class="icon icon-envelope"></i> {l s='Send test' mod='newsletterpro'}
</a>
</div>
<div class="form-group pull-right btn-margin-right">
<div id="send-test-email-language-switcher"></div>
</div>
</div>
</div>
</div>
<div class="col-sm-12 clearfix">
<span id="test-email-message" class="test-email-message">&nbsp;</span>
</div>
</div>
</div>
<div class="br-space np-send-method-box-">
<div class="np-send-method-box-left">
<div id="np-send-method-display" class="np-send-method-display"></div>
<span id="email-sleep-message">&nbsp;</span>
</div>
<div class="np-send-method-box-right">
<a id="np-btn-performances" href="javascript:{}" class="btn btn-warning pull-right np-btn-performances">
<i class="icon icon-bolt"></i> <span class="np-button-text">{l s='Performances & Limits' mod='newsletterpro'}</span></a>
</div>
<div class="clear">&nbsp;</div>
</div>
<div class="clear" height="0;">&nbsp;</div>
<br />
<a id="previous-send-newsletters" href="#createTemplate" class="btn btn-primary pull-left np-send-previous-step" onclick="NewsletterProControllers.NavigationController.goToStep( 4 );">
&laquo; {l s='Previous Step' mod='newsletterpro'}</span>
</a>
<a id="send-newsletters" href="javascript:{}" class="btn btn-success pull-right btn-margin np-send-newsletters" style="display: none;">
<i class="icon icon-send"></i> {l s='Send' mod='newsletterpro'}
</a>
<a id="new-task" href="javascript:{}" class="btn btn-success pull-right task-button btn-margin np-send-new-task" data-trans-noemail="{l s='You have not select any email for this task!' mod='newsletterpro'}" style="display: none;">
<i class="icon icon-clock-o"></i> {l s='New Task' mod='newsletterpro'}
</a>
<a id="stop-send-newsletters" href="javascript:{}" class="btn btn-danger pull-left btn-margin np-send-stop-newsletters" style="display: none;">
<i class="icon icon-remove"></i> {l s='Cancel' mod='newsletterpro'}
</a>
<a id="continue-send-newsletters" href="javascript:{}" class="btn btn-success pull-right btn-margin np-send-continue-newsletters" style="display: none;">
<i class="icon icon-refresh"></i> {l s='Continue' mod='newsletterpro'}
</a>
<a id="pause-send-newsletters" href="javascript:{}" class="btn btn-primary pull-right btn-margin np-send-pause-newsletter" style="display: none; text-transform: capitalize;">
<i class="icon icon-pause"></i> {l s='Pause' mod='newsletterpro'}
</a>
<div class="clear">&nbsp;</div>
</div>
</div>

View File

@@ -0,0 +1,451 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-settings" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#settings') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-settings" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-settings" style="display: none;">');
{rdelim}
</script>
{/if}
<div class="settings">
<h4>{l s='Settings' mod='newsletterpro'}</h4>
<div class="separation"></div>
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Display only subscribed emails' mod='newsletterpro'}
description={l s='If this option is "yes", only users has subscribed at newsletter will be visible in "Send newsletters" tab, else all users will be visible.' mod='newsletterpro'}
label_id='view_active_only'
label_name='view_active_only'
input_onchange='NewsletterProControllers.SettingsController.viewActiveOnly( $(this) );'
is_checked=$CONFIGURATION.VIEW_ACTIVE_ONLY
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Convert CSS to Inline Style' mod='newsletterpro'}
description={l s='If this option is activated, the header style from the newsletter templates will be converted to inline style when you send a newsletter. This help the newsletter to be displayed properly into the client email.' mod='newsletterpro'}
label_id='convert_css_to_inline_style'
label_name='convert_css_to_inline_style'
input_onchange='NewsletterProControllers.SettingsController.convertCssToInlineStyle( $(this) );'
is_checked=$CONFIGURATION.CONVERT_CSS_TO_INLINE_STYLE
}
{if $CONFIGURATION.PS_REWRITING_SETTINGS == 1}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Product Friendly URL' mod='newsletterpro'}
description={l s='Enable only if your server allows URL rewriting. In some cases this option do not works properly ( disable is recommended ).' mod='newsletterpro'}
label_id='product_friendly_url'
label_name='product_friendly_url'
input_onchange='NewsletterProControllers.SettingsController.productFriendlyURL( $(this) );'
is_checked=$CONFIGURATION.PRODUCT_LINK_REWRITE
}
{/if}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Display only active products' mod='newsletterpro'}
description={l s='If the option is "yes" you will display only products that are active in the search list.' mod='newsletterpro'}
label_id='display_only_active_products'
label_name='display_only_active_products'
input_onchange='NewsletterProControllers.SettingsController.displayOnliActiveProducts( $(this) );'
is_checked=$CONFIGURATION.ONLY_ACTIVE_PRODUCTS
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Customer Account Settings' mod='newsletterpro'}
description={l s='Enable or disable the customer account newsletter pro settings.' mod='newsletterpro'}
label_id='displya_my_account_np_settings'
label_name='displya_my_account_np_settings'
input_onchange='NewsletterProControllers.SettingsController.displayCustomerAccountSettings( $(this) );'
is_checked=$CONFIGURATION.DISPLYA_MY_ACCOUNT_NP_SETTINGS
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Subscribe by category' mod='newsletterpro'}
description={l s='Allow each customer to subscribe by a category of interest. Then the employee can filter the customers by their categories of interests.' mod='newsletterpro'}
label_id='subscribe_by_category'
label_name='subscribe_by_category'
input_onchange='NewsletterProControllers.SettingsController.subscribeByCategory( $(this) );'
is_checked=$CONFIGURATION.SUBSCRIBE_BY_CATEGORY
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Subscribe by List Of Interest' mod='newsletterpro'}
description={l s='Allow each customer to subscribe by a category of interest. Then the employee can filter the customers by their list of interests.' mod='newsletterpro'}
label_id='subscribe_by_c_list_of_interest'
label_name='subscribe_by_c_list_of_interest'
input_onchange='NewsletterProControllers.SettingsController.subscribeByCListOfInterest( $(this) );'
is_checked=$CONFIGURATION.CUSTOMER_SUBSCRIBE_BY_LOI
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Customer Information - List Of Interest' mod='newsletterpro'}
description={l s='Display it in customer account information. Allow each customer to subscribe by a category of interest. Then the employee can filter the customers by their list of interests.' mod='newsletterpro'}
label_id='subscribe_by_ca_list_of_interest'
label_name='subscribe_by_ca_list_of_interest'
input_onchange='NewsletterProControllers.SettingsController.subscribeByCAListOfInterest( $(this) );'
is_checked=$CONFIGURATION.CUSTOMER_ACCOUNT_SUBSCRIBE_BY_LOI
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Send the last newsletter on subscribe' mod='newsletterpro'}
description={l s='Send the last newsletter when a customer create a new account. If a newsletter is send more then 10 people then it becomes the last newsletter send.' mod='newsletterpro'}
label_id='sendnewsletter_on_subscribe'
label_name='sendnewsletter_on_subscribe'
input_onchange='NewsletterProControllers.SettingsController.sendNewsletterOnSubscribe( $(this) );'
is_checked=$CONFIGURATION.SEND_NEWSLETTER_ON_SUBSCRIBE
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Forwarding Feature Active' mod='newsletterpro'}
description={l s='This feature allow your customers to forward the newsletter to this friends. The friends can also forward the newsletter to other friends. Each recipient has a forward limit of %s friends. This option is available in the templates only with of use of the {forward} or {forward_link} variables.' sprintf=$fwd_limit mod='newsletterpro'}
label_id='forwaring_on_subscribe'
label_name='forwaring_on_subscribe'
input_onchange='NewsletterProControllers.SettingsController.forwardingFeatureActive( $(this) );'
is_checked=$CONFIGURATION.FWD_FEATURE_ACTIVE
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Embed Newsletter Images' mod='newsletterpro'}
description={l s='Embed images in your newsletter. You can embed files from a URL if allow_url_fopen is on in php.ini.' mod='newsletterpro'}
label_id='send_embeded_images'
label_name='send_embeded_images'
input_onchange='NewsletterProControllers.SettingsController.sendEmbededImagesActive( $(this) );'
is_checked=$CONFIGURATION.SEND_EMBEDED_IMAGES
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Send Newsletter MIME Text' mod='newsletterpro'}
description={l s='Send the mime text of the newsletter template.' mod='newsletterpro'}
label_id='send_newsletter_mime_text'
label_name='send_newsletter_mime_text'
input_onchange='NewsletterProControllers.SettingsController.sendEmailMimeText( $(this) );'
is_checked=$CONFIGURATION.EMAIL_MIME_TEXT
}
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Front Subscribe Feature Options' mod='newsletterpro'}</span></label>
<div class="col-sm-9 table-bordered" style="border-left: none; border-right: none;">
<div class="form-group clearfix">
<div class="alert alert-info" style="margin-bottom: 0;">
{l s='Here you can setup the subscription at the newsletter in the front office. This option allow you to collect more informations about your customers (first name, last name, language, birthday, gender).' mod='newsletterpro'}
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3" style="padding-top: 14px;">{l s='Subscription by the module' mod='newsletterpro'}</label>
<div class="col-sm-9">
<div class="radio">
<label for="newsletter-pro-subscribe-settings" class="control-label in-win">
<input id="newsletter-pro-subscribe-settings" type="radio" name="newsletterproSubscriptionActive" onchange="NewsletterPro.modules.settings.newsletterproSubscriptionOption($(this));" value="1" {if $CONFIGURATION.SUBSCRIPTION_ACTIVE == 1} checked {/if}>
{l s='Newsletter Pro' mod='newsletterpro'}
</label>
</div>
<div class="radio">
<label for="block-newsletter-subscribe-settings" class="control-label in-win">
<input id="block-newsletter-subscribe-settings" type="radio" name="newsletterproSubscriptionActive" onchange="NewsletterPro.modules.settings.newsletterproSubscriptionOption($(this));" value="0" {if $CONFIGURATION.SUBSCRIPTION_ACTIVE == 0} checked {/if}>
{l s='Block Newsletter (Prestashop Default)' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div class="form-group clearfix">
<div id="newsletter-pro-subscribe-options" style="{if $CONFIGURATION.SUBSCRIPTION_ACTIVE == 0} display:none; {/if}">
{if count($subscribe_hooks) > 0}
<div class="input-group clearfix">
<p class="help-block">{l s='Check the hooks from the list in which you want to install the newsletter subscription option.' mod='newsletterpro'}</p>
</div>
{foreach $subscribe_hooks as $hook}
<div class="clearfix">
<div class="checkbox" style="margin-top: 0;">
<label for="hook_{$hook.name|escape:'html':'UTF-8'}" class="control-label in-row radio-label">
<input id="hook_{$hook.name|escape:'html':'UTF-8'}" class="checkbox-input" type="checkbox" name="hook_{$hook.name|escape:'html':'UTF-8'}" value="{$hook.name|escape:'html':'UTF-8'}" {if $hook.isRegistred == 1} checked {/if}>
{$hook.name|escape:'html':'UTF-8'}
</label>
</div>
<label class="control-label" style="margin-left: 20px;">Hook display type:</label>
<div class="radio" style="margin-left: 20px; margin-top: 0; margin-bottom: 0;">
<label class="control-label in-row radio-label">
<input type="radio" name="popup_type_hook_{$hook.name|escape:'html':'UTF-8'}" value="0" {if $hook.popup_type|intval == 0}checked{/if}>
<span>{l s='email input' mod='newsletterpro'}</span>
</label>
</div>
<div class="radio" style="margin-left: 20px; margin-top: 0; margin-bottom: 0;">
<label class="control-label in-row radio-label">
<input type="radio" name="popup_type_hook_{$hook.name|escape:'html':'UTF-8'}" value="1" {if $hook.popup_type|intval == 1}checked{/if}>
<span>{l s='popup content' mod='newsletterpro'}</span>
</label>
</div>
</div>
{/foreach}
{/if}
<div class="clearfix">
<p class="help-block">{l s='Don\'t forget to check, add and update the module front hooks position after you activate this option.' mod='newsletterpro'}</p>
</div>
{if $blocknewsletter_info.isInstalled}
<a href="javascript:{}" class="btn btn-default" onclick="NewsletterPro.modules.settings.importEmailsFromBlockNewsletter($(this));"><span class="btn-ajax-loader"></span><i class="icon icon-upload"></i> {l s='Import Email Addresses' mod='newsletterpro'}</a>
<div class="clearfix">
<p class="help-block">{l s='Import the email addresses from the Block Newsletter module to the Newsletter Pro Subscription feature.' mod='newsletterpro'}</p>
</div>
<div class="alert alert-info clearfix">
<p style="margin-top: 0;" class="cron-link"><span style="color: black;">CRON URL:</span> <span class="icon-cron-link"></span>{$sync_newsletter_block|escape:'quotes':'UTF-8'}</p>
<p style="margin-top: 0;">{l s='Synchronize all the users list before to setup the CRON job.' mod='newsletterpro'}</p>
</div>
{/if}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Email Confirmation on Subscribe (Secure Subscribe)' mod='newsletterpro'}
description={l s='This option will send a confirmation email at, where the visitor will confirm the subscription.' mod='newsletterpro'}
label_id='subscription_secure_subscribe'
label_name=''
input_onchange='NewsletterPro.modules.settings.subscriptionSecureSubscribe($(this));'
is_checked=$CONFIGURATION.SUBSCRIPTION_SECURE_SUBSCRIBE
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Subscription page' mod='newsletterpro'}
description={l s='This will allow the customers to subscribe to the newsletter in a page on your website. %s' sprintf=$subscription_controller_link mod='newsletterpro'}
label_id='subscription_controller_enabled'
label_name='subscription_controller_enabled'
input_onchange='NewsletterPro.modules.settings.subscriptionControllerEnabled($(this));'
is_checked=$CONFIGURATION.SUBSCRIPTION_CONTROLLER_ENABLED
}
<div class="pqnp-subscription-select-template-box form-group clearfix" {if $CONFIGURATION.SUBSCRIPTION_CONTROLLER_ENABLED|intval == 0}style="display: none;"{/if}>
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Subscription Template' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<select id="pqnp-subscription-selecte-template" class="form-control fixed-width-xxl">
<option value="0">- {l s='none' mod='newsletterpro'} -</option>
</select>
<p class="help-block">{l s='Select the subscription template you want to display on the page.' mod='newsletterpro'}</p>
</div>
</div>
<div class="clearfix">
<a href="javascript:{}" class="btn btn-default" onclick="NewsletterPro.modules.settings.clearSubscribersTemp($(this));"><span class="btn-ajax-loader"></span><i class="icon icon-eraser"></i> {l s='Clear Emails' mod='newsletterpro'}</a>
</div>
<div class="clearfix">
<p class="help-block">{l s='Clear the older emails that did not confirm the subscription at the newsletter.' mod='newsletterpro'}</p>
</div>
</div>
<div class="clearfix">
<div class="clearfix">
<p class="help-block">{l s='You can\'t use the both methods. If you choose the option Newsletter Pro the Block Newsletter module will be disabled.' mod='newsletterpro'}</p>
</div>
<a href="javascript:{}" class="btn btn-success" onclick="NewsletterPro.modules.settings.newsletterproSubscriptionActive();"><span class="btn-ajax-loader"></span> <i class="icon icon-save"></i> {l s='Save Subscription Settings' mod='newsletterpro'}</a>
<div class="clearfix">
<p class="help-block" style="margin-top: 5px;">{l s='Save the subscription settings. Press this button only if you change the subscription module option, or if you want to register the newsletterpro module to a new hook.' mod='newsletterpro'}</p>
</div>
</div>
</div>
</div>
</div>
</div>
{if $isPS16}
<div id="np-top-shortcuts" class="form-group">
<label class="control-label col-sm-3" style="padding-top: 13px;">{l s='Top Shortcuts' mod='newsletterpro'}</label>
<div class="col-sm-9">
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="CSV" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.CSV}checked{/if}>
{l s='Import & Export' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="MANAGE_IMAGES" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.MANAGE_IMAGES}checked{/if}>
{l s='Manage Images' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="SELECT_PRODUCTS" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.SELECT_PRODUCTS}checked{/if}>
{l s='Select Products' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="CREATE_TEMPLATE" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.CREATE_TEMPLATE}checked{/if}>
{l s='Create Template' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="SEND_NEWSLETTERS" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.SEND_NEWSLETTERS}checked{/if}>
{l s='Send Newsletters' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="TASK" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.TASK}checked{/if}>
{l s='Tasks' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="HISTORY" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.HISTORY}checked{/if}>
{l s='History' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="STATISTICS" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.STATISTICS}checked{/if}>
{l s='Statistics' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="CAMPAIGN" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.CAMPAIGN}checked{/if}>
{l s='Campaign Statistics' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="SMTP" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.SMTP}checked{/if}>
{l s='E-mail Configuration' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="MAILCHIMP" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.MAILCHIMP}checked{/if}>
{l s='Mail Chimp' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="FORWARD" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.FORWARD}checked{/if}>
{l s='Forwarders' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="FRONT_SUBSCRIPTION" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.FRONT_SUBSCRIPTION}checked{/if}>
{l s='Front Subscription' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="SETTINGS" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.SETTINGS}checked{/if}>
{l s='Settings' mod='newsletterpro'}
</label>
</div>
<div class="checkbox">
<label class="control-label in-win">
<input type="checkbox" value="TUTORIALS" {if $CONFIGURATION.PAGE_HEADER_TOOLBAR.TUTORIALS}checked{/if}>
{l s='Tutorials' mod='newsletterpro'}
</label>
</div>
</div>
</div>
{/if}
{if isset($INI_CONFIGURATION) && $INI_CONFIGURATION.demo_mode == 0}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Debug Mode' mod='newsletterpro'}
description={l s='This option should be "No" in a production website. This option will enable/disable the smarty force compilation that can cause errors to the compilation process. This option will override the default force compilation option, only for the module pages. This option will also show a detailed error if occurred.' mod='newsletterpro'}
label_id='debug_mode'
label_name=''
input_onchange='NewsletterProControllers.SettingsController.debugMode( $(this) );'
is_checked=$CONFIGURATION.DEBUG_MODE
}
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Dev Mode' mod='newsletterpro'}
description={l s='Extends the menu for the developer.' mod='newsletterpro'}
label_id='dev_mode'
label_name=''
input_onchange='NewsletterProControllers.SettingsController.devMode( $(this) );'
is_checked=$CONFIGURATION.DEV_MODE
}
{/if}
{if isset($clear_cache) && $clear_cache == true}
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Smarty' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<a class="btn btn-default" href="{$controller_path|escape:'quotes':'UTF-8'}&recompileTemplates#settings"><span class="icon icon-eraser"></span> {l s='Clear Cache' mod='newsletterpro'}</a>
</div>
<p class="help-block">{l s='Press this button after you made an update to the module. This button will clear the shop cache.' mod='newsletterpro'}</p>
</div>
</div>
{/if}
{if !empty($log_files)}
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Logs' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
{foreach $log_files as $log}
<a class="btn btn-default np-btn-open-log-file" href="{$log.path|escape:'quotes':'UTF-8'}" target="_blank" style="margin-top: 0; margin-right: 5px;">
<span class="btn-ajax-loader"></span>
<i class="icon icon-info"></i> {$log.name|escape:'html':'UTF-8'}
</a>
{/foreach}
<a class="btn btn-default" href="javascript:{}" onclick="NewsletterPro.modules.settings.clearLogFiles($(this));" style="margin-top: 0; float: right;"><span class="btn-ajax-loader"></span> <span class="icon icon-eraser"></span> {l s='Clear Log' mod='newsletterpro'}</a>
</div>
<p class="help-block">{l s='View the log files.' mod='newsletterpro'}</p>
</div>
</div>
{/if}
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Databse Backup' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<a id="module-create-backup-button" class="btn btn-default" href="javascript:{}"><span class="btn-ajax-loader"></span> <span class="icon icon-database"></span> {l s='Create Backup' mod='newsletterpro'}</a>
<a id="module-load-backup-button" class="btn btn-default" href="javascript:{}"><span class="btn-ajax-loader"></span> <span class="icon icon-database"></span> {l s='Restore' mod='newsletterpro'}</a>
</div>
<p class="help-block">{l s='Create a module database backup.' mod='newsletterpro'}</p>
</div>
</div>
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='Load Minified' mod='newsletterpro'}
description={l s='Load minified javascript and css.' mod='newsletterpro'}
label_id='load_minified'
label_name=''
input_onchange='NewsletterProControllers.SettingsController.loadMinified( $(this) );'
is_checked=$CONFIGURATION.LOAD_MINIFIED
}
</div>
</div>

View File

@@ -0,0 +1,265 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-smtp" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#smtp') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-smtp" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" class="tab-smtp" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='SMTP Configuration' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="clearfix">
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div class="checkbox">
<label for="smtp-active" class="in-win control-label">
<input class="smtp-checkbox" type="checkbox" id="smtp-active" {if $CONFIGURATION.SMTP_ACTIVE == 1}checked="checked"{/if}>
{l s='Activate Connection' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div class="clearfix">
<select id="select-smtp" class="fixed-width-xxl pull-left select-smtp" style="display: none;" {if $CONFIGURATION.SMTP_ACTIVE == 0}disabled="disabled"{/if}></select>
</div>
<p class="help-block" style="margin-top: 10px;">{l s='Don\'t activate this option if you want to send newsletter with the default shop email configuration. By activating this option you will have to configure a new SMTP email.' mod='newsletterpro'}</p>
<div class="clearfix">
<span id="change-smtp-message"></span>
</div>
</div>
</div>
<div id="smpt-config-box" class="clearfix smpt-config-box" style="display: none;">
<form id="smtpForm" method="POST">
<input type="hidden" id="smpt-id" name="id_newsletter_pro_smtp" value="0">
<div class="form-group clearfix" style="margin-bottom: 0;">
<label class="required control-label col-sm-3"><span class="label-tooltip">{l s='Name' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-name" name="name">
</div>
<p class="help-block">{l s='Alias name.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3" style="padding-top: 14px;">{l s='Method' mod='newsletterpro'}</label>
<div class="col-sm-9">
<div class="clearfix">
<div class="radio">
<label for="method-smtp" class="in-win control-label">
<input id="method-smtp" type="radio" name="method" value="2" checked>
{l s='SMTP' mod='newsletterpro'}
</label>
</div>
<div class="radio">
<label for="method-mail" class="in-win control-label">
<input id="method-mail" type="radio" name="method" value="1">
{l s='PHP mail() function' mod='newsletterpro'}
</label>
</div>
</div>
<p class="help-block">{l s='Send method.' mod='newsletterpro'}</p>
</div>
</div>
{include file="$tpl_location"|cat:"templates/admin/settings_option.tpl"
title_name={l s='List-Unsubscribe' mod='newsletterpro'}
description={l s='Add the list unsubscribe header.' mod='newsletterpro'}
label_id='list_unsubscribe_active'
label_name='list_unsubscribe_active'
input_onchange=''
is_checked=0
}
<div id="smtp-list-unsubscribe-email-box" class="form-group clearfix" style="display: none;">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='List-Unsubscribe Email' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-list-unsubscribe-email" name="list_unsubscribe_email">
</div>
<p class="help-block">{l s='Email address.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='From name' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-from-name" name="from_name">
</div>
<p class="help-block">{l s='Email from name. If it is empty the email from name will take the value of the current shop name.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="required control-label col-sm-3"><span class="label-tooltip">{l s='From email' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-from-email" name="from_email">
</div>
<p class="help-block">{l s='From email address.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Reply to email' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-reply-to" name="reply_to">
</div>
<p class="help-block">{l s='The customer can reply to your newsletter at the this email address.' mod='newsletterpro'}</p>
</div>
</div>
<div id="smtp-only">
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Mail domain name' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-domain" name="domain">
</div>
<p class="help-block">{l s='Fully qualified domain name (keep this field empty if you don\'t know).' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="required control-label col-sm-3"><span class="label-tooltip">{l s='SMTP server' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-server" name="server">
</div>
<p class="help-block">{l s='IP address or server name (e.g. smtp.mydomain.com)' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="required control-label col-sm-3"><span class="label-tooltip">{l s='SMTP user' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="30" id="smtp-user" name="user">
</div>
<p class="help-block">{l s='Put your email here (office@mywebsite.com).' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='SMTP password' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="password" size="30" id="smtp-passwd" name="passwd" value="" autocomplete="off">
</div>
<p class="help-block">{l s='Leave blank if not applicable.' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="required control-label col-sm-3"><span class="label-tooltip">{l s='Encryption' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<select id="smtp-encryption" class="fixed-width-xxl gk-select" style="width: 45%" name="encryption" autocomplete="off">
<option value="off">None</option>
<option value="tls">TLS</option>
<option value="ssl">SSL</option>
</select>
</div>
<p class="help-block">{l s='Use an encrypt protocol' mod='newsletterpro'}</p>
</div>
</div>
<div class="form-group clearfix">
<label class="required control-label col-sm-3"><span class="label-tooltip">{l s='Port' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="clearfix">
<input class="form-control fixed-width-xxl" type="text" size="5" id="smtp-port" name="port">
</div>
<p class="help-block">{l s='Port number to use' mod='newsletterpro'}</p>
</div>
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-9 col-sm-offset-3">
<div class="form-group clearfix">
<a id="save-smtp" href="javascript:{}" class="btn btn-default btn-margin pull-left">
<i class="icon icon-save"></i> {l s='Save' mod='newsletterpro'}
</a>
<a id="add-smtp" href="javascript:{}" class="btn btn-default btn-margin pull-left">
<i class="icon icon-plus-square"></i> {l s='Add' mod='newsletterpro'}
</a>
<a id="delete-smtp" href="javascript:{}" class="btn btn-default btn-margin pull-left">
<i class="icon icon-remove"></i> {l s='Delete' mod='newsletterpro'}
</a>
<span id="save-smtp-success" style="margin-left: 0;"></span>
</div>
<div class="clearfix">
<div class="alert alert-danger" id="save-smtp-message" style="display: none;"></div>
</div>
</div>
</div>
</form>
</div>
<h4>{l s='Test Connection' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div class="form-group clearfix">
<label class="control-label col-sm-3"><span class="label-tooltip">{l s='Send a test email to' mod='newsletterpro'}</span></label>
<div class="col-sm-9">
<div class="form-group form-inline">
<div class="clearfix">
<div class="form-group">
<input class="form-control fixed-width-xxl" type="text" id="smtp-test-email" size="40" value="{$shop_email|escape:'html':'UTF-8'}">
</div>
<div class="form-group">
<a id="smtp-test-email-button" class="btn btn-default pull-left" href="javascript:{}">
<span class="btn-ajax-loader"></span>
<i class="icon icon-envelope"></i>
{l s='Send an email test' mod='newsletterpro'}
</a>
</div>
</div>
<div class="clearix">
<p class="help-block">
{l s='Send a test with the current connection. When you send the newsletter don\'t forget the verify the used connection by clicking on the button \"Performances & Limits\".' mod='newsletterpro'}
</p>
</div>
<span id="smtp-test-email-success" style="display: none;"></span>
</div>
<div class="clearfix">
<span id="smtp-test-email-message"></span>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,50 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#statistics') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Statistics' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div style="margin-bottom: 5px;">
<h4 style="float: left;">{l s='Top clicked products from the newsletter' mod='newsletterpro'}</h4>
<a href="javascript:{}" id="clear-statistics" class="btn btn-default pull-right">
<i class="icon icon-eraser"></i> {l s='Clear Statistics' mod='newsletterpro'}
</a>
<div class="clear"></div>
<div class="separation"></div>
</div>
<table id="statistics-table" class="table table-bordered statistics-table">
<thead>
<tr>
<th class="top" data-field="top">{l s='Top' mod='newsletterpro'}</th>
<th class="clicks" data-field="clicks">{l s='Clicks' mod='newsletterpro'}</th>
<th class="image" data-template="image">{l s='Image' mod='newsletterpro'}</th>
<th class="name" data-field="name">{l s='Name' mod='newsletterpro'}</th>
<th class="price_display" data-field="price_display">{l s='Price' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
<br>
</div>

View File

@@ -0,0 +1,64 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#task') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Tasks' mod='newsletterpro'}</h4>
<div class="separation"></div>
<table id="task-list" class="table table-bordered task-list">
<thead>
<tr>
<th class="template" data-field="template">{l s='Template' mod='newsletterpro'}</th>
<th class="date-start" data-field="date_start">{l s='Start Date' mod='newsletterpro'}</th>
<th class="smtp-select" data-template="smtp">{l s='Send Method' mod='newsletterpro'}</th>
<th class="task-active" data-field="active">{l s='Active' mod='newsletterpro'}</th>
<th class="task-status" data-field="status">{l s='Status' mod='newsletterpro'}</th>
<th class="actions" data-template="actions">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
</table>
<br>
<div style="display: block; height: auto; background-position: 5px; padding-top: 10px; padding-bottom: 10px;" class="alert alert-info">
<p style="margin-top: 0;" class="cron-link"><span style="color: black;">{l s='CRON URL:' mod='newsletterpro'}</span> <span class="icon icon-cron-link"></span>{$cron_link|escape:'quotes':'UTF-8'}</p>
<p style="margin-bottom: 0;">{l s='To make tasks to run automatically every day set the CRON job from your website control panel (Plesk, cPanel, DirectAdmin, etc.). Run this script every %s minutes.' sprintf=['1'] mod='newsletterpro'}</p>
<div id="task-more-info" style="display: none;">
<div class="clear" style="height: 5px;"></div>
<p>
{l s='Cron jobs allow you to automate certain commands or scripts on your site. You can set a command or script to run at a specific time every day, week, etc.' mod='newsletterpro'}
</p>
<p>
<span style="color: red;">{l s='Warning:' mod='newsletterpro'}</span> {l s='A good knowledge of Linux commands may be necessary before you can use cron jobs effectively. Check your script with your hosting administrator before adding a cron job.' mod='newsletterpro'}
</p>
<div class="clear" style="height: 5px;"></div>
<p>{l s='If your server sends you a CRON "ERROR 406: Not Acceptable", add an htaccess file in the module containing the following information:' mod='newsletterpro'}</p>
<span>
&lt;IfModule mod_security.c&gt;<br>SecFilterEngine Off<br>SecFilterScanPOST Off<br>&lt;/IfModule&gt;
</span>
</div>
<a id="task-more-info-button" class="pull-right" href="javascript:{}" style="height: 8px; overflow: visible;">{l s='more info' mod='newsletterpro'}</a>
<div class="clear"></div>
</div>
</div>

View File

@@ -0,0 +1,60 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($fix_document_write) && $fix_document_write == 1}
<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">
{else}
<script type="text/javascript">
if(window.location.hash == '#tutorials') {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: block;">');
{rdelim} else {ldelim}
document.write('<div id="{$tab_id|escape:'html':'UTF-8'}" style="display: none;">');
{rdelim}
</script>
{/if}
<h4>{l s='Tutorials' mod='newsletterpro'}</h4>
<div class="separation"></div>
<div>
<div class="clearfix tutorial-video">
<a class="tutorial-button" href="{$tutorial_link|escape:'quotes':'UTF-8'}" target="_blank">
<img class="tutorial-img" src="{$module_img_path|escape:'quotes':'UTF-8'}full.jpg">
</a>
<div class="description">
<h4>{l s='How to' mod='newsletterpro'}</h4>
<div class="separation"></div>
<p> {l s='Create a custom template with Newsletter Pro.' mod='newsletterpro'} </p>
<p> {l s='Insert selected products into template.' mod='newsletterpro'} </p>
<p> {l s='Upload and add images into template.' mod='newsletterpro'} </p>
<p> {l s='Select the customers with filters and then send newsletters.' mod='newsletterpro'} </p>
<p> {l s='Select the customers with filters and then schedule multiple tasks.' mod='newsletterpro'} </p>
<p> {l s='View newsletter history.' mod='newsletterpro'} </p>
<p> {l s='Newsletter Statistics. View top 100 clicked products.' mod='newsletterpro'} </p>
<p> {l s='Setup the newsletter statistics for Google Analytics.' mod='newsletterpro'}
<p> {l s='Create multiple SMTP configurations (Gmail, Mailjet, Mandrill, ...)' mod='newsletterpro'}
<p> {l s='Mail Chimp synchronization. (The Customers, Visitors and Personal list)' mod='newsletterpro'}
<p> {l s='Import & Export templates from Mail Chimp.' mod='newsletterpro'}
<p> {l s='Change template appearance using CSS style.' mod='newsletterpro'}
<p> {l s='Import email addresses from a CSV file.' mod='newsletterpro'}
<p> {l s='Allow customers to subscribe at multiple categories.' mod='newsletterpro'}
<p> {l s='The power of dynamic variables.' mod='newsletterpro'}
<p> {l s='Create new variables related to the customers.' mod='newsletterpro'}
<p> {l s='Select the new products.' mod='newsletterpro'}
<p> {l s='Preview the products on multiple templates in real time.' mod='newsletterpro'}
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,53 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $result}
<div class="thd-step">
<div style="width: 100%; float: left;">
<table class="table table-unsubscribed" style="width: 100%;">
<thead>
<tr>
<th class="x-icon">&nbsp;</th>
<th style="width: 50%;">{l s='Email' mod='newsletterpro'}</th>
<th class="item">{l s='Date Added' mod='newsletterpro'}</th>
<th class="last-item">{l s='Actions' mod='newsletterpro'}</th>
</tr>
</thead>
<tbody>
{foreach $result as $item}
<tr>
<td class="x-icon">
<span class="status"><span class="list-action-enable action-enabled"><i class="icon icon-check"></i></span></span>
</td>
<td>
<span class="email_text">{$item.to|escape:'html':'UTF-8'}</span>
</td>
<td class="item">
<span> {$item.date_add|escape:'html':'UTF-8'} </span>
</td>
<td class="last-item">
<span> <a href="javascript:{}" class="btn btn-default" data-email="{$item.to|escape:'html':'UTF-8'}" onclick="NewsletterPro.modules.forward.deleteForwardToEmail($(this))"><i class="icon icon-trash-o"></i> {l s='Delete' mod='newsletterpro'}</a></span>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="clear">&nbsp;</div>
</div>
{else}
<p>{l s='There are no details.' mod='newsletterpro'}</p>
{/if}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,90 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $step}
<div class="thd-step">
<div style="width: 50%; float: left;">
<div>
<h4>{l s='Remaining email' mod='newsletterpro'}</h4>
<div class="form-inline clearfix">
<input id="resend-left-list-send" class="form-control np-valign-middle resend-left-list-send" type="checkbox">
<label class="control-label in-win" style="padding-top: 0;">{l s='(select all)' mod='newsletterpro'}</label>
<div class="form-group pull-right">
<a id="np-btn-export-send-history-rem" href="javascript:{}" class="btn btn-default np-btn-export-send-history-rem">
<i class="icon icon-download"></i>
{l s='Export' mod='newsletterpro'}
</a>
</div>
</div>
<div class="clear">&nbsp;</div>
<ul class="first_item">
{foreach $step.emails_to_send as $value}
<li> <span class="email_text">{$value|escape:'html':'UTF-8'}</span> </li>
{/foreach}
</ul>
</div>
</div>
<div style="width: 50%; float: left;">
<div>
<h4>{l s='Sent emails' mod='newsletterpro'}</h4>
<div class="form-inline clearfix">
<div class="form-group pull-left">
<input id="resend-undelivered-list-send" class="form-control np-valign-middle resend-undelivered-list-send" type="checkbox">
<label class="control-label in-win" style="padding-top: 0;">{l s='(select only faild)' mod='newsletterpro'}</label>
</div>
<div class="form-group pull-right">
<a id="np-btn-export-send-history" href="javascript:{}" class="btn btn-default np-btn-export-send-history">
<i class="icon icon-download"></i>
{l s='Export' mod='newsletterpro'}
</a>
<a id="np-btn-resend-send" href="javascript:{}" class="btn btn-default np-btn-resend">
<span class="btn-ajax-loader"></span>
<i class="icon icon-send"></i>
{l s='Resend' mod='newsletterpro'}
</a>
</div>
</div>
<div class="clear">&nbsp;</div>
<ul class="last_item">
{foreach $step.emails_sent as $value}
{if isset($value.status) && isset($value.email)}
{if $value.status == true}
<li>
<span class="email_text" style="margin-top: 3px; display: inline-block;">{$value.email|escape:'html':'UTF-8'}</span>
<span class="status pull-left">
<span class="list-action-enable action-enabled"><i class="icon icon-check"></i></span>
</span>
</li>
{else}
<li>
<span class="email_text" style="margin-top: 3px; display: inline-block;">{$value.email|escape:'html':'UTF-8'}</span>
<span class="status pull-left">
<span class="list-action-enable action-disabled"><i class="icon icon-remove"></i></span>
</span>
</li>
{/if}
{/if}
{/foreach}
</ul>
</div>
</div>
<div class="clear">&nbsp;</div>
</div>
{/if}

View File

@@ -0,0 +1,57 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $step}
<div class="thd-step">
<div style="width: 50%; float: left;">
<h4 style="margin-bottom: 5px; margin-left: 8px;">{l s='Remaining email' mod='newsletterpro'}</h4>
<div class="clear">&nbsp;</div>
<ul class="first_item">
{foreach $step.emails_to_send as $value}
<li> <span class="email_text">{$value.email|escape:'html':'UTF-8'}</span> </li>
{/foreach}
</ul>
</div>
<div style="width: 50%; float: left;">
<h4 style="margin-bottom: 5px; margin-left: 8px;">{l s='Sent emails' mod='newsletterpro'}</h4>
<div class="clear">&nbsp;</div>
<ul class="last_item">
{foreach $step.emails_sent as $value}
{if isset($value.status) && isset($value.email)}
{if $value.status == true}
<li>
<span class="email_text" style="margin-top: 3px; display: inline-block;">{$value.email|escape:'html':'UTF-8'}</span>
<span class="status pull-left">
<span class="list-action-enable action-enabled"><i class="icon icon-check"></i></span>
</span>
</li>
{else}
<li>
<span class="email_text" style="margin-top: 3px; display: inline-block;">{$value.email|escape:'html':'UTF-8'}</span>
<span class="status pull-left">
<span class="list-action-enable action-disabled"><i class="icon icon-remove"></i></span>
</span>
</li>
{/if}
{/if}
{/foreach}
</ul>
</div>
<div class="clear">&nbsp;</div>
</div>
{/if}

View File

@@ -0,0 +1,259 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<script id="task-template" type="text/template" style="display: none;">
<div>
<div class="new-task-box">
<div class="form-group clearfix">
<label class="control-label">{l s='You have selected' mod='newsletterpro'} <strong><span id="selected_emails_count">0</span></strong> {l s='emails' mod='newsletterpro'}</label>
</div>
<div class="form-group clearfix">
<div class="form-inline">
<label class="control-label pull-left">{l s='Send one newsletter at' mod='newsletterpro'}</label>
<input id="task-sleep" class="form-control pull-left text-center task-sleep" type="number" step="1" value="{$email_sleep|intval}">
<label class="control-label aona-seconds pull-left">{l s='seconds' mod='newsletterpro'}</label>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4"><span class="label-tooltip">{l s='Date' mod='newsletterpro'}</span></label>
<div class="col-sm-8">
<input type="text" id="task-datepicker" class="form-control task-datepicker">
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4"><span class="label-tooltip">{l s='Template' mod='newsletterpro'}</span></label>
<div class="col-sm-8">
<div class="clearfix task-new-smtp">
<select autocomplete="off" id="task-select-template" class="float-left gk-smtp-select gk-select">
{foreach $newsletter_template_list as $template}
<option value="{$template.filename|escape:'html':'UTF-8'}" {if $template.selected == true} selected="selected" {/if}>{$template.name|replace:'.html':''}</option>
{/foreach}
</select>
</div>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4">{l s='Send method' mod='newsletterpro'}</label>
<div class="col-sm-8">
<div class="radio">
<label class="in-win" for="task-mail-method">
<input id="task-mail-method" type="radio" name="task-send-method" value="mail" checked="checked">
{l s='Function mail()' mod='newsletterpro'}
</label>
</div>
<div class="radio">
<label class="in-win" for="task-smtp-method">
<input id="task-smtp-method" type="radio" name="task-send-method" value="smtp">
{l s='SMTP configuration' mod='newsletterpro'}
</label>
</div>
</div>
</div>
<div id="div-task-smtp-select" class="form-group clearfix" style="display: none;">
<label class="control-label col-sm-4"><span class="label-tooltip">{l s='Select SMTP' mod='newsletterpro'}</span></label>
<div class="col-sm-8 task-new-smtp">
<select id="task-smtp-select"></select>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4"><span class="label-tooltip">{l s='Send a test' mod='newsletterpro'}</span></label>
<div class="col-sm-8">
<input id="task-email-test" class="form-control task-email-test" type="text" value="{$shop_email|escape:'html':'UTF-8'}">
</div>
</div>
<div class="form-group clearfix">
<div class="col-sm-8 col-sm-offset-4">
<div class="form-inline">
<div class="form-group">
<div id="task-test-email-lang-select"></div>
</div>
<div class="form-group">
<a href="javascript:{}" id="task-smtp-test" class="btn btn-default pull-left task-smtp-test">
<span class="btn-ajax-loader" style="display: none;"></span>
<i class="icon icon-envelope"></i> {l s='Send a test' mod='newsletterpro'}
</a>
</div>
</div>
</div>
</div>
<div class="clearfix">
<div id="task-smtp-test-message" class="col-sm-12 task-smtp-test-message"></div>
</div>
<div class="clearfix">
<a href="javascript:{}" id="add-task" class="btn btn-default pull-right">
<i class="icon icon-plus-square"></i>
{l s='Add Task' mod='newsletterpro'}
</a>
</div>
</div>
</div>
</script>
<script id="add-new-email-template" type="text/template" style="display: none;">
<div>
<div>
<form id="add-new-email-from" class="add-new-email-from" method="POST">
<div class="clearfix">
<div class="form-group clearfix">
<label class="control-label col-sm-4">
<span class="label-tooltip">{l s='First Name' mod='newsletterpro'}</span>
</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="firstname">
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4">
<span class="label-tooltip">{l s='Last Name' mod='newsletterpro'}</span>
</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="lastname">
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4">
<span class="label-tooltip">{l s='Email' mod='newsletterpro'}</span>
</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="email">
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4">
<span class="label-tooltip">{l s='Shop' mod='newsletterpro'}</span>
</label>
<div class="col-sm-8">
<select class="gk-select" name="id_shop">
{foreach $pqShops as $shop}
<option value="{$shop.value|escape:'html':'UTF-8'}">{$shop.title|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4">
<span class="label-tooltip">{l s='Language' mod='newsletterpro'}</span>
</label>
<div class="col-sm-8">
<select class="gk-select" name="id_lang">
{foreach $languages as $lang}
<option value="{$lang.id_lang|escape:'html':'UTF-8'}" {if $default_lang == $lang.id_lang} selected="selected" {/if}>{$lang.name|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
</div>
<div class="form-group clearfix">
<label class="control-label col-sm-4">
<span class="label-tooltip">{l s='Filter Name' mod='newsletterpro'}</span>
</label>
<div class="col-sm-8">
<input class="form-control" type="text" name="filter_name">
</div>
</div>
</div>
<a id="add-new-email-action" class="btn btn-default add-new-email-action" href="javascript:{ldelim}{rdelim}">
<i class="icon icon-plus-square"></i>
{l s='Add' mod='newsletterpro'}
</a>
<div id="add-new-email-error" class="error-msg" style="margin: 0; float: none; display: inline-block;">
</div>
</form>
<div class="clear" style="clear: both;"></div>
</div>
</div>
</script>
<script id="list-of-interest-template" type="text/template" style="display: none;">
<div>
<div id="list-of-interest-template-add" class="list-of-interest-template-add">
<div class="form-group clearfix input-list">
<div class="col-sm-6 text-left">
<label class="control-label"><span class="label-tooltip">{l s='Name' mod='newsletterpro'}</span></label>
</div>
<div class="col-sm-6">
<div id="add-new-fs-langs" class="pull-right add-new-fs-langs gk_lang_select"></div>
</div>
</div>
<div class="form-group clearfix">
{foreach $all_active_languages as $lang}
<input data-lang="{$lang.id_lang|escape:'html':'UTF-8'}" name="loi_input_{$lang.id_lang|escape:'html':'UTF-8'}" type="text" class="form-control" style="{if $lang.id_lang == $default_lang}display: block;{else}display: none;{/if}">
{/foreach}
</div>
<div class="clearfix">
<a href="javascript:{}" id="add-loi-button" class="btn btn-default add-button"><i class="icon icon-plus-square"> </i> {l s='Add' mod='newsletterpro'}</a>
</div>
</div>
<div id="list-of-interest-template-update" class="list-of-interest-template-update">
<div class="form-group clearfix input-list">
<div class="form-group clearfix">
<div class="col-sm-6 text-left">
<div class="row">
<label class="control-label"><span class="label-tooltip">{l s='Name' mod='newsletterpro'}</span></label>
</div>
</div>
<div class="col-sm-6">
<div class="row">
<div id="update-fs-langs" class="update-fs-langs gk_lang_select" style="float: right;"></div>
</div>
</div>
</div>
<div class="form-group clearfix">
{foreach $all_active_languages as $lang}
<input data-lang="{$lang.id_lang|escape:'html':'UTF-8'}" name="loi_input_update_{$lang.id_lang|escape:'html':'UTF-8'}" type="text" class="form-control" style="{if $lang.id_lang == $default_lang}display: block;{else}display: none;{/if}">
{/foreach}
</div>
</div>
<div class="clearfix">
<div class="form-inline">
<div class="form-group">
<label class="control-label" style="padding: 0;"><span class="label-tooltip">{l s='Position' mod='newsletterpro'}</span></label>
<input id="loi-position" name="loi_position" type="text" class="form-control text-center fixed-width-xs position">
</div>
<div class="form-group pull-right">
<a href="javascript:{}" id="update-loi-button" class="btn btn-default update-button"><i class="icon icon-save"> </i> {l s='Save' mod='newsletterpro'}</a>
</div>
</div>
</div>
</div>
</div>
</script>
<!-- this is in use -->
<div id="voucher-alert-box" class="voucher-alert-box" style="display: none;"> </div>

View File

@@ -0,0 +1,49 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $result}
<div class="thd-step">
<div style="width: 100%; float: left;">
<table class="table table-unsubscribed" style="width: 100%;">
<thead>
<tr>
<th class="x-icon">&nbsp;</th>
<th class="email">{l s='Email' mod='newsletterpro'}</th>
<th class="last-item">{l s='Unsubscribed Date' mod='newsletterpro'}</th>
</tr>
</thead>
<tbody>
{foreach $result as $item}
<tr>
<td class="x-icon">
<span class="status">
<span class="list-action-enable action-disabled"><i class="icon icon-remove"></i></span>
</span>
</td>
<td>
<span class="email_text">{$item.email|escape:'html':'UTF-8'}</span>
</td>
<td class="last-item">
<span> {$item.date_add|escape:'html':'UTF-8'} </span>
</td>
</tr>
{/foreach}
</tbody>
</table>
</div>
<div class="clear">&nbsp;</div>
</div>
{/if}

View File

@@ -0,0 +1,34 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div {if isset($content_name)}id="{$content_name|escape:'html':'UTF-8'}"{/if} style="display:none;">
<textarea cols="100" rows="10" type="text" id="{$input_name|escape:'html':'UTF-8'}" name="{$input_name|escape:'html':'UTF-8'}" class="{if isset($class_name)}{$class_name|escape:'html':'UTF-8'}{else}autoload_rte{/if}" style="width: 950px; height: 500px;">{$input_value|htmlentitiesUTF8}</textarea>
<span class="counter" max="{if isset($max)}{$max|escape:'html':'UTF-8'}{else}none{/if}"></span>
</div>
<script type="text/javascript">
NewsletterPro.dataStorage.append('tiny_init', {
'content_name': '{if isset($content_name)}{$content_name|escape:'html':'UTF-8'}{/if}',
'input_name': '{$input_name|escape:'html':'UTF-8'}',
'class_name': '{$class_name|escape:'html':'UTF-8'}',
'config': '{if isset($config)}{$config|escape:'html':'UTF-8'}{else}default_config{/if}',
'content_css': {if isset($content_css) && is_array($content_css)}$.parseJSON('{$content_css|json_encode}'){elseif !empty($content_css)}'{$content_css|escape:'quotes':'UTF-8'}'{else}null{/if},
'multilang': false,
'id_lang': 0,
'init_callback': {if isset($init_callback)}'{$init_callback|escape:'quotes':'UTF-8'}'{else}null{/if},
'plugins': {if isset($plugins)}'{$plugins|escape:'quotes':'UTF-8'}'{else}null{/if},
});
</script>

View File

@@ -0,0 +1,41 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{foreach $input_value as $id_lang => $content_lang}
<div data-lang="{$id_lang|escape:'html':'UTF-8'}" {if isset($content_name)}id="{$content_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}"{/if} style="display:none;">
<textarea cols="100" rows="10" type="text" id="{$input_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}" name="{$input_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}" class="{if isset($class_name)}{$class_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}{else}autoload_rte{/if}" style="width: 950px; height: 500px;">{$content_lang|htmlentitiesUTF8}</textarea>
<span class="counter" max="{if isset($max)}{$max|escape:'html':'UTF-8'}{else}none{/if}"></span>
</div>
<script type="text/javascript">
;(function(){
var obj = {
'content_name': '{if isset($content_name)}{$content_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}{/if}',
'input_name': '{$input_name|escape:'html':'UTF-8'}_{$id_lang|intval}',
'class_name': '{$class_name|escape:'html':'UTF-8'}_{$id_lang|intval}',
'config': '{if isset($config)}{$config|escape:'html':'UTF-8'}{else}default_config{/if}',
'multilang': true,
'content_css': {if isset($content_css) && is_array($content_css)}$.parseJSON('{$content_css|json_encode}'){elseif isset($content_css) && !empty($content_css)}'{$content_css|escape:'quotes':'UTF-8'}'{else}null{/if},
'id_lang': parseInt('{$id_lang|intval}'),
'init_callback': {if isset($init_callback)}'{$init_callback|escape:'quotes':'UTF-8'}'{else}null{/if},
'plugins': {if isset($plugins)}'{$plugins|escape:'quotes':'UTF-8'}'{else}null{/if},
};
NewsletterPro.dataStorage.append('tiny_init', obj);
}());
</script>
{/foreach}

View File

@@ -0,0 +1,41 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{foreach $input_value as $id_lang => $content_lang}
<div data-lang="{$id_lang|escape:'html':'UTF-8'}" {if isset($content_name)}id="{$content_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}"{/if} style="display:none;">
<textarea cols="100" rows="10" type="text" id="{$input_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}" name="{$input_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}" class="{if isset($class_name)}{$class_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}{else}autoload_rte{/if}" style="width: 950px; height: 500px;">{$content_lang|htmlentitiesUTF8}</textarea>
<span class="counter" max="{if isset($max)}{$max|escape:'html':'UTF-8'}{else}none{/if}"></span>
</div>
<script type="text/javascript">
;(function(){
var obj = {
'content_name': '{if isset($content_name)}{$content_name|escape:'html':'UTF-8'}_{$id_lang|escape:'html':'UTF-8'}{/if}',
'input_name': '{$input_name|escape:'html':'UTF-8'}_{$id_lang|intval}',
'class_name': '{$class_name|escape:'html':'UTF-8'}_{$id_lang|intval}',
'config': '{if isset($config)}{$config|escape:'html':'UTF-8'}{else}default_config{/if}',
'multilang': true,
'content_css': {if isset($content_css) && isset($content_css[$id_lang]) && is_array($content_css[$id_lang])}$.parseJSON('{$content_css[$id_lang]|json_encode}'){elseif isset($content_css) && isset($content_css[$id_lang]) && !empty($content_css[$id_lang])}'{$content_css[$id_lang]|escape:'quotes':'UTF-8'}'{else}null{/if},
'id_lang': parseInt('{$id_lang|intval}'),
'init_callback': {if isset($init_callback)}'{$init_callback|escape:'quotes':'UTF-8'}'{else}null{/if},
'plugins': {if isset($plugins)}'{$plugins|escape:'quotes':'UTF-8'}'{else}null{/if},
};
NewsletterPro.dataStorage.append('tiny_init', obj);
}());
</script>
{/foreach}

View File

@@ -0,0 +1,842 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<script type="text/javascript">
var iso = '{$iso_tiny_mce|escape:'html':'UTF-8'}';
var pathCSS = '{$css_mails_path|escape:'html':'UTF-8'}';
var ad = '{$ad|escape:'html':'UTF-8'}';
function isTinyHigherVersion()
{
if (typeof tinyMCE === 'undefined')
return true;
else if (tinyMCE.majorVersion >= 4)
return true;
return false;
};
jQuery(document).ready(function() {
var idCurrentLang = NewsletterPro.dataStorage.get('id_current_lang');
var box = NewsletterPro,
attachmentsWindow,
dataModelAttachments,
dataSourceAttachments,
dataGridAttachments;
box.dataStorage.on('change', 'configuration.NEWSLETTER_TEMPLATE', function(value){
if (typeof dataSourceAttachments !== 'undefined')
{
dataSourceAttachments.transport.read.data = {
'template_name': box.dataStorage.get('configuration.NEWSLETTER_TEMPLATE')
};
}
});
function overrideOther(ed)
{
if (!confirm('{l s='Are you sure you want to override the other languages?' mod='newsletterpro'}'))
return false;
var body = $(ed.getBody()),
lang = ed.lang(),
box = NewsletterPro,
newsletterTemplate = box.modules.createTemplate.newsletterTemplate;
var headerVal = newsletterTemplate.getHeaderByIdLang(lang).val(),
footerVal = newsletterTemplate.getFooterByIdLang(lang).val();
newsletterTemplate.parseTiny(function(id, idLang, editor){
if (Number(idLang) != Number(lang))
{
var products = $(editor.dom.select('.clear-newsletter-template-products')),
bodyClone = body.clone(),
bodyProducts = bodyClone.find('.clear-newsletter-template-products'),
content,
newHeader = newsletterTemplate.getHeaderByIdLang(idLang),
newFooter = newsletterTemplate.getFooterByIdLang(idLang);
newHeader.val(headerVal);
newFooter.val(footerVal);
if (products.length && bodyProducts.length)
{
bodyProducts.replaceWith(products);
}
content = bodyClone.get(0).outerHTML;
editor.setContent(content);
}
});
}
function insertProducts(ed, global)
{
global = typeof global !== 'undefined' ? global : false;
var lang = ed.lang(),
node = ed.selection.getNode(),
nodeIndex = $(node).parents().index(),
newsletterTemplate = box.modules.createTemplate.newsletterTemplate,
productsClear = '\
<table class="clear-newsletter-template-products" border="0" cellspacing="0" cellpadding="0" style="margin: 0; padding: 0; border-collapse: collapse;">\
<tbody>\
<tr>\
<td class="newsletter-products-container">\
</td>\
</tr>\
</tbody>\
</table>\
';
if (global)
{
newsletterTemplate.parseTiny(function(id, idLang, editor){
if (box.components.Product.view.hasOwnProperty(idLang))
{
var html,
content = $(productsClear),
view = box.components.Product.view[idLang].clone(),
edit = view.find('.np-edit-product-menu');
edit.remove();
if (view.length)
{
view.find('td[class^="np-newsletter-column-product-id-"]:last-child').children().css('margin-right', '0');
html = view.html();
content.find('.newsletter-products-container').html(html);
content = content.get(0).outerHTML
if (Number(lang) == Number(idLang))
{
editor.selection.setContent(content);
}
else
{
var newNode = editor.dom.select('.np-products-target');
if (newNode.length) {
var span = editor.dom.select('.np-products-template-info-remove');
if (span.length) {
$(span).empty();
}
} else {
newNode = editor.dom.select('.newsletter-pro-content td td:eq('+nodeIndex+')');
}
editor.selection.setCursorLocation($(newNode).get(0));
editor.selection.setContent(content);
}
}
}
});
}
else
{
if (box.components.Product.view.hasOwnProperty(lang))
{
var html,
content = $(productsClear),
view = box.components.Product.view[lang].clone(),
edit = view.find('.np-edit-product-menu');
edit.remove();
if (view.length)
{
view.find('td[class^="np-newsletter-column-product-id-"]:last-child').children().css('margin-right', '0');
html = view.html();
content.find('.newsletter-products-container').html(html);
content = content.get(0).outerHTML
ed.selection.setContent(content);
}
}
}
}
function refreshStyleLinks(ed, contentCSS)
{
var oldContentCSS = ed.settings.content_css,
oldContentCSSArray = [],
hasContentCSS = (typeof contentCSS !== 'undefined'),
newContentCSS,
newContentCSSArray = [],
getHref = function(href)
{
// var href = link.attr('href'),
var sign,
uidStr,
regex;
sign = (/\?/.test(href) ? '&' : '?' );
uidStr = 'uid=';
var guid = function(){ return uidStr + box.uniqueId(); };
if (/(\?|&)uid=/.test(href))
{
href = href.replace(/(\?|&)uid=[A-Za-z0-9_-]+/, '$1' + guid());
}
else
href = href + sign + guid();
return href;
};
if (hasContentCSS)
{
if (isTinyHigherVersion())
{
newContentCSS = contentCSS
if (typeof contentCSS === 'object')
newContentCSSArray = contentCSS;
else if (/,/.test(contentCSS))
newContentCSSArray = contentCSS.split(',');
else
newContentCSSArray = [contentCSS];
}
else if (typeof contentCSS === 'object')
{
newContentCSS = contentCSS.join(',');
newContentCSSArray = contentCSS;
}
else
{
newContentCSS = contentCSS
newContentCSSArray = [contentCSS];
}
ed.settings.content_css = newContentCSS;
}
if (typeof oldContentCSS === 'object')
oldContentCSSArray = oldContentCSS;
else if (/,/.test(oldContentCSS))
oldContentCSSArray = oldContentCSSArray.split(',');
else
oldContentCSSArray = [oldContentCSS];
$.each(getLinks(ed), function(i, link){
link = $(link);
var href = link.attr('href');
if (newContentCSSArray.length)
{
for (var i = 0; i < oldContentCSSArray.length; i++)
{
var current = oldContentCSSArray[i].split('/uid=.*/')[0];
if (href.indexOf(current) != -1) {
link.remove();
}
}
}
});
if (newContentCSSArray.length)
{
for (var i = 0; i < newContentCSSArray.length; i++)
{
var href = newContentCSSArray[i];
ed.dom.loadCSS(href);
}
}
// this is only for refresh style
if (!newContentCSSArray.length)
{
$.each(getLinks(ed), function(i, link){
link = $(link);
var href = getHref(link.attr('href'));
ed.dom.loadCSS(href);
setTimeout(function(){
link.remove();
}, 1000);
});
}
}
function getLinks(ed)
{
return $(ed.dom.select('link'));
}
function loadCSS(ed, link)
{
ed.dom.loadCSS(link);
}
function removeProducts(ed, global)
{
global = typeof global !== 'undefined' ? global : false;
var newsletterTemplate = box.modules.createTemplate.newsletterTemplate;
if (global)
{
newsletterTemplate.parseTiny(function(id, idLang, editor){
var select = $(editor.dom.select('.clear-newsletter-template-products'));
select.remove();
});
}
else
{
var select = $(ed.dom.select('.clear-newsletter-template-products'));
select.remove();
}
}
function openAttachments(ed)
{
if (typeof attachmentsWindow === 'undefined')
{
attachmentsWindow = new gkWindow({
width: 800,
height: 500,
setScrollContent: 438,
title: "{l s='Attachments' mod='newsletterpro'}",
show: function(win)
{
if (typeof dataSourceAttachments !== 'undefined')
{
dataSourceAttachments.sync();
}
},
content: function(win)
{
var template = $('\
<div class="form-group clearfix">\
<form id="template-attachment-form" class="defaultForm" method="post" enctype="multipart/form-data">\
<div class="form-inline">\
<div class="form-group">\
<label class="control-label"><span class="label-tooltip">{l s='File' mod='newsletterpro'}</span></label>\
</div>\
<div class="form-group">\
<input type="file" class="form-control" name="template_attachment">\
</div>\
<div class="form-group pull-right">\
<a id="btn-add-template-attachment" href="javascript:{}" class="btn btn-default"><i class="icon icon-plus-square"></i> {l s='Attach File' mod='newsletterpro'}</a>\
</div>\
</div>\
</form>\
</div>\
<div class="form-group clearfix">\
<table id="np-template-attachments" class="table table-bordered np-send-connection">\
<thead>\
<tr>\
<th class="filename" data-template="filename">'+"{l s='File Name' mod='newsletterpro'}"+'</th>\
<th class="actions" data-template="actions">'+"{l s='Actions' mod='newsletterpro'}"+'</th>\
</tr>\
</thead>\
</table>\
</div>\
');
dataModelAttachments = new gk.data.Model({
'id': 'id_newsletter_pro_attachment'
});
dataSourceAttachments = new gk.data.DataSource({
pageSize: 7,
transport: {
read:
{
url: NewsletterPro.dataStorage.get('ajax_url')+'&submit=ajaxGetAttachments',
dataType: 'json',
data: {
'template_name': box.dataStorage.get('configuration.NEWSLETTER_TEMPLATE')
}
},
},
schema: {
model: dataModelAttachments
},
trySteps: 2,
errors: {
read: function(xhr, ajaxOptions, thrownError)
{
dataSourceAttachments.syncStepAvailableAdd(3000, function(){
dataSourceAttachments.sync();
});
}
},
done: function()
{
}
});
dataGridAttachments = template.find('#np-template-attachments');
dataGridAttachments.gkGrid({
dataSource: dataSourceAttachments,
checkable: false,
selectable: false,
currentPage: 1,
pageable: true,
template: {
actions: function(item, value)
{
var deleteAttachment = $('#delete-attachment').gkButton({
name: 'delete',
title: "{l s='Delete' mod='newsletterpro'}",
className: 'attachment-delete pull-right',
item: item,
icon: '<i class="icon icon-trash-o"></i> '
});
deleteAttachment.on('click', function(){
$.postAjax({
'submit': 'ajaxDeleteAttachment',
id: item.data.id,
filename: item.data.filename
}).done(function(response){
if (!response.success)
box.alertErrors(response.errors);
}).always(function(){
dataSourceAttachments.sync();
box.modules.createTemplate.vars.templateDataSource.sync();
});
});
return deleteAttachment;
},
filename: function(item, value)
{
return item.data.filename;
}
}
});
var form = template.find('#template-attachment-form'),
addAttachment = template.find('#btn-add-template-attachment');
addAttachment.on('click', function(){
$.submitAjax({ldelim} 'submit': 'ajaxTemplateAttachFile', name : 'ajaxTemplateAttachFile', form: form, data: {ldelim}template_name: box.dataStorage.get('configuration.NEWSLETTER_TEMPLATE') {rdelim}{rdelim}).done(function(response) {
if (!response.success)
NewsletterPro.alertErrors(response.errors);
else
{
dataSourceAttachments.sync();
box.modules.createTemplate.vars.templateDataSource.sync();
}
});
});
return template;
}
});
}
attachmentsWindow.show();
}
function tinyNewsletterInit(ed, cfg)
{
NewsletterPro.onObject.run('tinyNewsletter', ed);
showTiny(cfg);
}
function tinyProductsInit(ed, cfg)
{
NewsletterPro.onObject.run('tinyProduct', ed);
showTiny(cfg);
}
function tinyDefaultInit(ed, cfg)
{
if (ed.id.match(/subscription_template_\d+/))
NewsletterPro.onObject.run('subscription_template', ed);
if (ed.id.match(/s_subscribe_message_\d+/))
NewsletterPro.onObject.run('s_subscribe_message', ed);
if (ed.id.match(/s_email_subscribe_voucher_message_\d+/))
NewsletterPro.onObject.run('s_email_subscribe_voucher_message', ed);
if (ed.id.match(/s_email_subscribe_confirmation_message_\d+/))
NewsletterPro.onObject.run('s_email_subscribe_confirmation_message', ed);
if (ed.id.match(/s_email_unsubscribe_confirmation_message_\d+/))
NewsletterPro.onObject.run('s_email_unsubscribe_confirmation_message', ed);
showTiny(cfg);
}
function showTiny(cfg)
{
var digit = cfg.content_name.match(/\d+$/);
if (!cfg.multilang)
$('#' + cfg.content_name).show();
else if (digit.length > 0 && parseInt(digit[0]) == parseInt(idCurrentLang) )
$('#' + cfg.content_name ).show();
}
function getContentCss(cfg)
{
var content_css = pathCSS+'global.css';
if (typeof cfg.content_css !== 'undefined' && cfg.content_css)
content_css = cfg.content_css;
if (typeof content_css === 'string')
return content_css;
else
{
if (isTinyHigherVersion())
return content_css;
else
return content_css.join(',');
}
}
function getDefaultPlugins()
{
var plugins;
if (isTinyHigherVersion())
plugins = "colorpicker link image paste pagebreak table contextmenu filemanager table code media autoresize textcolor";
else
plugins = "safari,pagebreak,style,table,advimage,advlink,inlinepopups,media,contextmenu,paste,fullscreen,xhtmlxtras,preview";
return plugins;
}
function getNewsletterConfig(cfg)
{
var content_css = getContentCss(cfg);
var newsletter_config = {
editor_selector: cfg.class_name,
content_css : content_css,
verify_html : false,
cleanup : false,
allow_script_urls: true,
setup : function(ed)
{
if (isTinyHigherVersion())
{
ed.addButton('insertProducts', {
text: "{l s='Insert Products (all)' mod='newsletterpro'}",
icon: 'icon icon-plus-square',
onclick: function() {
insertProducts(ed, true);
}
});
ed.addButton('removeProducts', {
text : "{l s='Remove Products (all)' mod='newsletterpro'}",
icon: 'icon icon-eraser',
onclick : function () {
removeProducts(ed, true);
}
});
ed.addButton('insertProductsCurrent', {
text: "{l s='Insert Products (lang)' mod='newsletterpro'}",
icon: 'icon icon-plus-square',
onclick: function() {
insertProducts(ed, false);
}
});
ed.addButton('removeCurrentProducts', {
text : "{l s='Remove Products (lang)' mod='newsletterpro'}",
icon: 'icon icon-eraser',
onclick : function () {
removeProducts(ed, false);
}
});
ed.addButton('overrideOther', {
text: "{l s='Make Default' mod='newsletterpro'}",
icon: 'icon icon-pencil-square-o',
onclick: function()
{
overrideOther(ed);
}
});
ed.addButton('attachments', {
text : "{l s='Attachments' mod='newsletterpro'}",
icon: 'icon icon-file',
onclick : function () {
openAttachments(ed);
}
});
ed.on('init', function(e){
tinyNewsletterInit(ed, cfg);
});
}
else
{
var imgPath = NewsletterPro.dataStorage.get('module_img_path');
ed.addButton('shopLogo', {
title : "{l s='Insert shop logo' mod='newsletterpro'}",
image : imgPath + 'syringe_small.png',
onclick : function () {
ed.focus();
ed.selection.setContent('{ldelim}shop_logo{rdelim}');
}
});
ed.addButton('shopName', {
title : "{l s='Insert shop name' mod='newsletterpro'}",
image : imgPath + 'syringe_small.png',
onclick : function () {
ed.focus();
ed.selection.setContent('{ldelim}shop_name{rdelim}');
}
});
ed.addButton('insertProducts', {
title : "{l s='Insert Products (all)' mod='newsletterpro'}",
image : imgPath + 'add.gif',
onclick : function () {
insertProducts(ed, true);
}
});
ed.addButton('removeProducts', {
title : "{l s='Remove Products (all)' mod='newsletterpro'}",
image : imgPath + 'cancel.png',
onclick : function () {
removeProducts(ed, true);
}
});
ed.addButton('insertProductsCurrent', {
title: "{l s='Insert Products (lang)' mod='newsletterpro'}",
image : imgPath + 'add.gif',
onclick: function() {
insertProducts(ed, false);
}
});
ed.addButton('removeCurrentProducts', {
title : "{l s='Remove Products (lang)' mod='newsletterpro'}",
image : imgPath + 'cancel.png',
onclick : function () {
removeProducts(ed, false);
}
});
ed.addButton('overrideOther', {
title: "{l s='Make Default' mod='newsletterpro'}",
image : imgPath + 'asterisk_orange.png',
onclick: function()
{
overrideOther(ed);
}
});
ed.addButton('attachments', {
title : "{l s='Attachments' mod='newsletterpro'}",
image : imgPath + 'attach.png',
onclick : function () {
openAttachments(ed);
}
});
ed.onInit.add(function(ed) {
tinyNewsletterInit(ed, cfg);
});
}
ed.refreshStyle = function(contentCSS)
{
refreshStyleLinks(this, contentCSS);
};
ed.lang = function() // moeified to getLangId
{
return Number(this.id.match(/\d+$/)[0])
};
}
};
newsletter_config['variable_mapper'] = {
module_url: box.dataStorage.get('module_url'),
shop_logo_url: box.dataStorage.get('shop_logo_url'),
};
if (isTinyHigherVersion())
{
newsletter_config['toolbar1'] = "code,|,bold,italic,underline,strikethrough,fontsizeselect,|,formatselect,|,table,|,alignleft,aligncenter,alignright,alignjustify,|,blockquote,colorpicker,pasteword,|,bullist,numlist,|,outdent,indent,|,link,unlink,|,cleanup,|,media,image";
newsletter_config['toolbar2'] = "insertProducts,removeProducts,attachments,overrideOther,insertProductsCurrent,removeCurrentProducts";
newsletter_config['convert_urls'] = false;
newsletter_config['statusbar'] = true;
newsletter_config['fontsize_formats'] = "8pt 10pt 12pt 14pt 18pt 24pt 36pt";
// NOTE: The variable plugin is disabled
// newsletter_config['plugins'] = "align colorpicker link image filemanager table media placeholder advlist code table autoresize variable";
newsletter_config['relative_urls'] = false;
newsletter_config['remove_script_host'] = false;
}
else
{
newsletter_config['width'] = "100%";
newsletter_config['height'] = "500";
// NOTE: The variable plugin is disabled
// newsletter_config['plugins'] = 'colorpicker link image paste pagebreak table contextmenu filemanager table code media autoresize textcolor anchor variable';
newsletter_config['toolbar'] = "undo redo | styleselect | bold italic | link image";
newsletter_config['theme_advanced_buttons1'] = "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect";
newsletter_config['theme_advanced_buttons2'] = "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,,|,forecolor,backcolor";
newsletter_config['theme_advanced_buttons3'] = "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media,|,ltr,rtl,|,fullscreen";
newsletter_config['theme_advanced_buttons4'] = "styleprops,|,cite,abbr,acronym,del,ins,attribs,pagebreak,shopLogo,shopName";
newsletter_config['theme_advanced_buttons5'] = "insertProducts,removeProducts,attachments,overrideOther,insertProductsCurrent,removeCurrentProducts";
}
return newsletter_config;
}
function getDefaultConfig(cfg)
{
var content_css = getContentCss(cfg);
var default_config = {
editor_selector: cfg.class_name,
content_css : content_css,
forced_root_block: '', // don't add the <p> tag
verify_html : false,
cleanup : false,
allow_script_urls: true,
setup : function(ed)
{
if (isTinyHigherVersion())
{
ed.on('init', function(e){
if (cfg.config == 'product_config')
tinyProductsInit(ed, cfg);
else
tinyDefaultInit(ed, cfg);
});
}
else
{
ed.onInit.add(function(ed) {
if (cfg.config == 'product_config')
tinyProductsInit(ed, cfg);
else
tinyDefaultInit(ed, cfg);
});
}
ed.refreshStyle = function()
{
refreshStyleLinks(this);
};
}
};
if (isTinyHigherVersion())
{
default_config['convert_urls'] = false;
default_config['statusbar'] = true;
if (cfg.plugins !== 'undefined' && cfg.plugins != null)
{
var plugins = getDefaultPlugins();
plugins += ' ' + cfg.plugins;
default_config['plugins'] = plugins;
}
}
else
{
default_config['width'] = "100%";
default_config['height'] = "400";
if (cfg.plugins !== 'undefined' && cfg.plugins != null)
{
var plugins = getDefaultPlugins();
plugins += ',' + cfg.plugins;
default_config['plugins'] = plugins;
}
default_config['theme_advanced_buttons1'] = "newdocument,|,bold,italic,underline,strikethrough,|,alignleft,aligncenter,alignright,alignjustify,|,styleselect,formatselect,fontselect,fontsizeselect";
default_config['theme_advanced_buttons2'] = "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,,|,forecolor,backcolor";
default_config['theme_advanced_buttons3'] = "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,media,|,ltr,rtl,|,fullscreen";
default_config['theme_advanced_buttons4'] = "styleprops,|,cite,abbr,acronym,del,ins,attribs,pagebreak";
}
return default_config;
}
// Initialize TinyMce Instances
$.each(NewsletterPro.dataStorage.get('tiny_init'), function(key, cfg){
var config = getDefaultConfig(cfg);
switch(cfg.config)
{
case 'default_config':
config = getDefaultConfig(cfg);
break;
case 'product_config':
config = getDefaultConfig(cfg);
break;
case 'newsletter_config':
config = getNewsletterConfig(cfg);
break;
default:
config = getDefaultConfig(cfg);
}
if (typeof cfg.init_callback !== 'undefined' && cfg.init_callback != null)
{
if (eval("typeof "+cfg.init_callback+" === 'function'"))
{
var callbackParent = eval(cfg.init_callback.replace(/\.\w+$/, ''));
eval(cfg.init_callback).call(callbackParent, config, cfg);
}
else
console.error('Tiny Mce init callback function '+cfg.init_callback+' does not exits.');
}
else
{
tinySetup( config );
}
});
});
</script>

View File

@@ -0,0 +1,17 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{ldelim}gender{rdelim} - {l s='Display the customer gender.' mod='newsletterpro'}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,17 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{ldelim}last_delivery_address{rdelim} - {l s='Display the customer last order delivery address.' mod='newsletterpro'}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,56 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{capture name=path}<a href="{$link->getPageLink('my-account', true)|escape:'quotes':'UTF-8'}">{l s='My account' mod='newsletterpro'}</a><span class="navigation-pipe">{$navigationPipe|escape:'html':'UTF-8'}</span>{l s='Newsletter Pro Settings' mod='newsletterpro'}{/capture}
{include file="$tpl_dir./breadcrumb.tpl"}
{include file="$tpl_dir./errors.tpl"}
<h1>{l s='Newsletter Pro Settings' mod='newsletterpro'}</h1>
<h2>{l s='Set up your newsletter preferences.' mod='newsletterpro'}</h2>
<div>
<form action="{$my_account_url|escape:'quotes':'UTF-8'}" method="post" class="std">
<fieldset>
<div>
<input type="checkbox" id="newsletter" name="newsletter" value="1" {if $is_subscribed == 1} checked="checked" {/if} autocomplete="off">
<label for="newsletter">{l s='Sign up for our newsletter!' mod='newsletterpro'}</label>
</div>
<div class="clearfix">
{include file="$tpl_location"|cat:"templates/front/list_of_interests.tpl"}
</div>
{if $subscribe_by_category_active}
<div class="clearfix">
<h2 style="margin-bottom: 5px;">{l s='Choose your categories of interest:' mod='newsletterpro'}</h2>
<div id="category-tree" class="category-tree">
{* HTML CONTENT *}
{$category_tree|strval}
</div>
</div>
{/if}
<div class="clearfix" style="margin-top: 15px;">
<input style="padding-left: 20px; padding-right: 20px;" type="submit" class="button" name="submitNewsletterProSettings" value="Save">
</div>
</fieldset>
</form>
</div>
<ul class="footer_links clearfix">
<li><a href="{$link->getPageLink('my-account', true)|escape:'quotes':'UTF-8'}"><img src="{$img_dir|escape:'quotes':'UTF-8'}icon/my-account.gif" alt="" class="icon" /> {l s='Back to Your Account' mod='newsletterpro'}</a></li>
<li class="f_right"><a href="{$base_dir|escape:'quotes':'UTF-8'}"><img src="{$img_dir|escape:'quotes':'UTF-8'}icon/home.gif" alt="" class="icon" /> {l s='Home' mod='newsletterpro'}</a></li>
</ul>

View File

@@ -0,0 +1,17 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<li><a href="{$my_account_url|escape:'quotes':'UTF-8'}" title="{l s='Newsletter Pro Settings' mod='newsletterpro'}"><img src="{$url_location|escape:'quotes':'UTF-8'}views/img/newsletterpro_icon.png" alt="{l s='Newsletter Pro Settings' mod='newsletterpro'}" class="icon" /> {l s='Newsletter Pro Settings' mod='newsletterpro'}</a></li>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,76 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<div id="newsletterpro-my-account" class="newsletterpro-my-account">
{capture name=path}<a href="{$link->getPageLink('my-account', true)|escape:'quotes':'UTF-8'}">{l s='My account' mod='newsletterpro'}</a><span class="navigation-pipe">{$navigationPipe|escape:'html':'UTF-8'}</span>{l s='Newsletter Pro Settings' mod='newsletterpro'}{/capture}
{include file="$tpl_dir./errors.tpl"}
<div class="box">
<h1 class="page-heading">{l s='Newsletter Pro Settings' mod='newsletterpro'}</h1>
<h2>{l s='Set up your newsletter preferences.' mod='newsletterpro'}</h2>
<div>
<form action="{$my_account_url|escape:'quotes':'UTF-8'}" method="post" class="std">
<div class="checkbox">
<input type="checkbox" id="newsletter" name="newsletter" value="1" {if $is_subscribed == 1} checked="checked" {/if} autocomplete="off">
<label for="newsletter">{l s='Sign up for our newsletter!' mod='newsletterpro'}</label>
</div>
<div class="clearfix">
{include file="$tpl_location"|cat:"templates/front/list_of_interests.tpl"}
</div>
{if $subscribe_by_category_active}
<div class="clearfix">
<h2>{l s='Choose your categories of interest:' mod='newsletterpro'}</h2>
<div id="category-tree" class="category-tree">
{* HTML CONTENT *}
{$category_tree|strval}
</div>
</div>
{/if}
<div class="clearfix">
{hook h='displayGDPRConsent' mod='psgdpr' id_module=$id_module}
</div>
<div class="clearfix submit">
<button id="submitNewsletterProSettings"class="btn btn-default button button-medium"type="submit"name="submitNewsletterProSettings">
<span>{l s='Save' mod='newsletterpro'}<i class="icon icon-chevron-right right"></i></span>
</button>
</div>
</form>
</div>
</div>
<ul class="footer_links clearfix">
<li>
<a class="btn btn-default button button-small" href="{$link->getPageLink('my-account', true)|escape:'quotes':'UTF-8'}">
<span>
<i class="icon icon-chevron-left"></i> {l s='Back to Your Account' mod='newsletterpro'}
</span>
</a>
</li>
<li>
<a class="btn btn-default button button-small" href="{$base_dir|escape:'quotes':'UTF-8'}">
<span>
<i class="icon icon-chevron-left"></i> {l s='Home' mod='newsletterpro'}
</span>
</a>
</li>
</ul>
</div>

View File

@@ -0,0 +1,17 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<li><a href="{$my_account_url|escape:'quotes':'UTF-8'}" title="{l s='Newsletter Pro Settings' mod='newsletterpro'}"><img style="float: left; margin-top: 12px; margin-left: 13px; vertical-align: middle;" src="{$url_location|escape:'quotes':'UTF-8'}views/img/newsletterpro_icon.png" alt="{l s='Newsletter Pro Settings' mod='newsletterpro'}" class="icon" /><span>{l s='Newsletter Pro Settings' mod='newsletterpro'}</span></a></li>

View File

@@ -0,0 +1,75 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{extends 'customer/page.tpl'}
{block name='page_title'}
{l s='Forward' mod='newsletterpro'}
{/block}
{block name='page_content'}
<div id="newsletterpro-forward" class="box clearfix">
<div id="ajax-errors" class="alert alert-danger" style="display: none;"></div>
<div class="clear"></div>
<div id="ajax-success" class="alert alert-success" style="display: none;"></div>
<div class="clear"></div>
{if isset($dispalyForm) && dispalyForm == true}
<div id="dispalyForm">
<h1 class="page-subheading">{l s='Forward newsletter' mod='newsletterpro'}</h1>
<p class="info-title">
<span>{l s='Make sure your friends receive our newsletters the next time when we will send them.' mod='newsletterpro'}</span>
<br>
<span id="fwd-limit" class="fwd-limit">{l s='You can add %s friends emails for forwarding.' mod='newsletterpro'}</span>
</p>
<div id="fwd-left-side" class="col-sm-6 left-side" style="display: none;">
<label>{l s='Add your friend email address:' mod='newsletterpro'}</label>
<div id="emails-list" class="emails-list">
<div class="required form-group">
<input id="first-email" class="validate form-control" data-validate="isEmail" type="text" name="email_{$fwd_limit|intval}" value="">
</div>
</div>
<a href="javascript:{}" id="add-new-email" class="btn btn-default button button-small">
<span>{l s='Add New Email' mod='newsletterpro'}</span>
</a>
</div>
<div id="fwd-right-side" class="col-sm-6 right-side" style="display: none;">
<label>{l s='You have forward the newsletter to:' mod='newsletterpro'}</label>
<div>
<table id="friends-emails-list" class="table friends-emails-list"></table>
</div>
</div>
<script type="text/javascript">
NewsletterPro_Ready.load(function(box) {
{* ESCAPED CONTENT *}
box.dataStorage.addObject(jQuery.parseJSON('{$jsData nofilter}'));
box.dataStorage.add('fwdLimit', '{$fwd_limit|intval}');
{* ESCAPED CONTENT *}
box.dataStorage.add('ajaxLink', '{$ajax_link nofilter}');
box.dataStorage.add('translations', {
'ajax request error' : "{l s='An error occurred at the ajax request!' mod='newsletterpro'}"
});
{* ESCAPED CONTENT *}
box.dataStorage.add('emailsJs', $.parseJSON('{$emails_js nofilter}'));
});
</script>
{/if}
</div>
<div class="clear"></div>
</div>
{/block}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,123 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{extends 'customer/page.tpl'}
{block name='page_title'}
{l s='Newsletter Pro Settings' mod='newsletterpro'}
{/block}
{block name='page_content'}
<div id="newsletterpro-my-account" class="newsletterpro-my-account clearfix">
<form action="{$my_account_url}" method="POST">
<section>
<div class="form-group row">
<div class="col-md-3"></div>
<div class="col-md-6">
<h4>{l s='Set up your newsletter preferences.' mod='newsletterpro'}</h4>
</div>
<div class="col-md-3"></div>
</div>
<div class="form-group row">
<div class="col-md-3"></div>
<div class="col-md-6">
<span class="custom-checkbox">
<label>
<input name="newsletter" type="checkbox" value="1" {if $is_subscribed == 1} checked="checked" {/if}>
<span>
<i class="material-icons checkbox-checked">&#xE5CA;</i>
</span>
<span class="11">{l s='Sign up for our newsletter' mod='newsletterpro'}</span>
</label>
</span>
</div>
<div class="col-md-3"></div>
</div>
{if $customer_subscribe_by_loi_active && count($list_of_interest) > 0}
<div class="form-group row">
<div class="col-md-3"></div>
<div class="col-md-6">
<h4>{l s='Are you interested in:' mod='newsletterpro'}</h4>
</div>
<div class="col-md-3"></div>
</div>
<div class="form-group row">
<div class="col-md-3"></div>
<div class="col-md-6">
<ul class="newsletterpro-list-of-interests">
{foreach $list_of_interest as $item}
<li>
<span class="custom-checkbox">
<label>
<input name="list_of_interest[]" type="checkbox" value="{$item.id_newsletter_pro_list_of_interest}" {if $item.checked} checked="checked" {/if}>
<span>
<i class="material-icons checkbox-checked">&#xE5CA;</i>
</span>
<span>{$item.name}</span>
</label>
</span>
</li>
{/foreach}
</ul>
</div>
<div class="col-md-3"></div>
</div>
{/if}
{if $subscribe_by_category_active}
{if $subscribed_categories && strlen((string)$subscribed_categories) > 0}
<input type="hidden" name="subscribed_categories" value="{$subscribed_categories}">
{/if}
<div class="form-group row">
<div class="col-md-3"></div>
<div class="col-md-6">
<h4>{l s='Choose your categories of interest:' mod='newsletterpro'}</h4>
</div>
<div class="col-md-3"></div>
</div>
<div class="form-group row">
<div class="col-md-3"></div>
<div class="col-md-6">
<div id="np-category-tree" class="np-category-tree"></div>
</div>
<div class="col-md-3"></div>
</div>
{/if}
<div class="form-group row">
<div class="col-md-3"></div>
<div class="col-md-6">
{hook h='displayGDPRConsent' mod='psgdpr' id_module=$id_module}
</div>
<div class="col-md-3"></div>
</div>
</section>
<footer>
<input type="hidden" name="submitNewsletterProSettings" value="1">
<button class="btn btn-primary form-control-submit pull-xs-right" type="submit">
{l s='Save' mod='newsletterpro'}
</button>
</footer>
</form>
</div>
{/block}

View File

@@ -0,0 +1,22 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<a class="col-lg-4 col-md-6 col-sm-6 col-xs-12" href="{$my_account_url|escape:'quotes':'UTF-8'}" style="display: block;">
<span class="link-item">
<i class="material-icons">&#xE0BE;</i>
{l s='Newsletter Pro Settings' mod='newsletterpro'}
</span>
</a>

View File

@@ -0,0 +1,30 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{extends 'customer/page.tpl'}
{block name='page_title'}
{l s='Subscribe' mod='newsletterpro'}
{/block}
{block name='page_content'}
<div id="newsletterpro-subscribe">
{if isset($success_message)}
<div class="alert alert-success success">{$success_message|escape:'html':'UTF-8'}</div>
{/if}
</div>
{/block}

View File

@@ -0,0 +1,44 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{extends 'customer/page.tpl'}
{block name='page_title'}
{l s='Subscribe' mod='newsletterpro'}
{/block}
{block name='page_content'}
<div id="newsletterpro-subscribe">
{*
<!-- {include file="$tpl_dir./errors.tpl"} -->
*}
{if isset($success_message)}
<div class="alert alert-success success">
{foreach $success_message as $value}
{$value|escape:'html':'UTF-8'} <br>
{/foreach}
</div>
{/if}
</div>
{/block}

View File

@@ -0,0 +1,29 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{extends 'customer/page.tpl'}
{block name='page_title'}
{l s='Subscribe at our newsletter' mod='newsletterpro'}
{/block}
{block name='page_content'}
<div class="pqnp-popup-subscription-container">
<div class="pqnp-subscription-controller-content"></div>
</div>
{/block}

View File

@@ -0,0 +1,39 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{extends 'customer/page.tpl'}
{block name='page_title'}
{l s='Unsubscribe' mod='newsletterpro'}
{/block}
{block name='page_content'}
<div id="newsletterpro-unsubscribe">
{if isset($unsubscribe)}
<p class="alert alert-success success">{l s='You have successfully unsubscribed from our newsletter.' mod='newsletterpro'}</p>
{elseif isset($email_not_found)}
<p class="alert alert-success success">{l s='You are not subscribed at our newsletter.' mod='newsletterpro'}</p>
{elseif isset($email_not_valid)}
<p class="alert alert-danger error">{l s='Your email is not valid.' mod='newsletterpro'}</p>
{elseif isset($token_not_valid)}
<p class="alert alert-danger error">{l s='Invalid unsubscription token.' mod='newsletterpro'}</p>
{elseif isset($pqnp_errors)}
<p class="alert alert-danger error">{$pqnp_errors}</p>
{else}
&nbsp;
{/if}
</div>
{/block}

View File

@@ -0,0 +1,93 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<script type="text/javascript">
var inputName = '{$input_name|escape:'html':'UTF-8'}';
var selectedCat = '{$selected_cat|escape:'html':'UTF-8'}';
var selectedLabel = '{$selected_label|escape:'html':'UTF-8'}';
var home = '{$home|escape:'html':'UTF-8'}';
var use_radio = Number('{$use_radio|intval}');
var ajaxRequestUrl = '{$ajax_request_url|escape:'quotes':'UTF-8'}';
{if !$use_in_popup}
$(document).ready(function(){
buildTreeView(Number('{$use_shop_context|intval}'));
});
{else}
buildTreeView(Number('{$use_shop_context|intval}'));
{/if}
</script>
<div class="form-group clearfix category-filter">
<div class="form-group col-sm-12 clearfix">
<span><a href="#" id="collapse_all" class="btn btn-default">{l s='Collapse All' mod='newsletterpro'}</a>&nbsp;|&nbsp;</span>
<span><a href="#" id="expand_all" class="btn btn-default">{l s='Expand All' mod='newsletterpro'}</a>&nbsp;|&nbsp;</span>
{if !$use_radio}
<span><a href="#" id="check_all" class="btn btn-default">{l s='Check All' mod='newsletterpro'}</a>&nbsp;|&nbsp;</span>
<span><a href="#" id="uncheck_all" class="btn btn-default">{l s='Uncheck All' mod='newsletterpro'}</a></span>
{/if}
</div>
<div class="form-group col-sm-12 clearfix">
{if $use_search}
<div class="form-inline">
<div class="form-group">
<label class="control-label" style="padding-top: 0;"><span class="label-tooltip">{l s='search' mod='newsletterpro'}</span></label>
<input type="text" name="search_cat" id="search_cat" class="form-control">
</div>
</div>
{/if}
</div>
{* HTML CONTENT *}
{$content|strval}
{if $option_no_decide}
<ul class="filetree" style="list-style: none;">
<li class="hasChildren">
<input type="{if !$use_radio}checkbox{else}radio{/if}" name="{$input_name|escape:'html':'UTF-8'}" value="-1" onclick="clickOnCategoryBox($(this));" />
<span class="category_label">{l s='Customers who have not chosen any category' mod='newsletterpro'}</span>
</li>
</ul>
{/if}
<ul id="categories-treeview" class="filetree">
<li id="{$root.id_category|escape:'html':'UTF-8'}" class="hasChildren">
<span class="folder">
{if $root_input}
<input type="{if !$use_radio}checkbox{else}radio{/if}" name="{$input_name|escape:'html':'UTF-8'}" value="{$root.id_category|escape:'html':'UTF-8'}" {if $home_is_selected} checked {/if} onclick="clickOnCategoryBox($(this));" />
<span class="category_label"> {$root.name|escape:'html':'UTF-8'} </span>
{else}
&nbsp;
{/if}
</span>
<ul>
<li><span class="placeholder">&nbsp;</span></li>
</ul>
</li>
</ul>
</div>
{if $use_search}
<script type="text/javascript">
$(document).ready(function(){
searchCategory();
});
</script>
{/if}

View File

@@ -0,0 +1,72 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{capture name=path}
<span class="navigation-pipe">{$navigationPipe|escape:'html':'UTF-8'}</span>{l s='Forward' mod='newsletterpro'}
{/capture}
<div id="newsletterpro-forward" class="box clearfix">
{include file="$tpl_dir./errors.tpl"}
<div id="ajax-errors" class="alert alert-danger" style="display: none;"></div>
<div class="clear"></div>
<div id="ajax-success" class="alert alert-success" style="display: none;"></div>
<div class="clear"></div>
{if isset($dispalyForm) && dispalyForm == true}
<div id="dispalyForm">
<h1 class="page-subheading">{l s='Forward newsletter' mod='newsletterpro'}</h1>
<p class="info-title">
<span>{l s='Make sure your friends receive our newsletters the next time when we will send them.' mod='newsletterpro'}</span>
<br>
<span id="fwd-limit" class="fwd-limit">{l s='You can add %s friends emails for forwarding.' mod='newsletterpro'}</span>
</p>
<div id="fwd-left-side" class="col-sm-6 left-side" style="display: none;">
<label>{l s='Add your friend email address:' mod='newsletterpro'}</label>
<div id="emails-list" class="emails-list">
<div class="required form-group">
<input id="first-email" class="validate form-control" data-validate="isEmail" type="text" name="email_{$fwd_limit|intval}" value="">
</div>
</div>
<a href="javascript:{}" id="add-new-email" class="btn btn-default button button-small">
<span>{l s='Add New Email' mod='newsletterpro'}</span>
</a>
</div>
<div id="fwd-right-side" class="col-sm-6 right-side" style="display: none;">
<label>{l s='You have forward the newsletter to:' mod='newsletterpro'}</label>
<div>
<table id="friends-emails-list" class="table friends-emails-list"></table>
</div>
</div>
<script type="text/javascript">
NewsletterPro_Ready.load(function(box) {
{* ESCAPED CONTENT *}
box.dataStorage.addObject(jQuery.parseJSON('{$jsData|strval}'));
box.dataStorage.add('fwdLimit', '{$fwd_limit|intval}');
box.dataStorage.add('ajaxLink', '{$ajax_link|escape:'quotes':'UTF-8'}');
box.dataStorage.add('translations', {
'ajax request error' : "{l s='An error occurred at the ajax request!' mod='newsletterpro'}",
'remove' : "{l s='remove' mod='newsletterpro'}"
});
box.dataStorage.add('emailsJs', $.parseJSON('{$emails_js|escape:'quotes':'UTF-8'}'));
});
</script>
{/if}
</div>
<div class="clear"></div>
</div>

View File

@@ -0,0 +1,94 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!DOCTYPE html>
<html>
<head>
<title>{l s='Your friend want to subscribe!' mod='newsletterpro'}</title>
<style type="text/css">
.main {
width: 600px;
margin: 0 auto;
background-color: #fff;
min-height: 100px;
padding: 10px;
}
body {
background-color: #F5F5F5;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
table.newsletter-pro-content td {
font-size: 13px;
}
a.link,
a.link:link,
a.link:visited {
border: none;
color: #337ed0;
font-size: 12px;
font-weight: bold;
text-align: center;
text-decoration: none;
cursor: pointer;
display: block;
line-height: 22px;
width: 100%;
height: 22px;
}
a img {
border: none; border-style: none;
}
h2 {
margin-bottom: 5px;
margin-top: 5px;
}
</style>
</head>
<body>
<div class="main">
<table class="table-content">
<tr>
<td><div>{ldelim}shop_logo{rdelim}</div></td>
</tr>
<tr>
<td><h2>{l s='Subscribe at our newsletter!' mod='newsletterpro'}</h2></td>
</tr>
<tr>
<td>
{l s='You\'re friend with the email address %s sent you a subscribe request at our newsletter.' sprintf=$from_email mod='newsletterpro'}
</td>
</tr>
<tr>
<td>{l s='You can subscribe by clicking' mod='newsletterpro'} <a href="{ldelim}subscribe_link{rdelim}" style="color: blue;">{l s='here' mod='newsletterpro'}</a>.</td>
</tr>
<tr>
<td><br>{l s='Thank you,' mod='newsletterpro'} <br> {ldelim}shop_name{rdelim}</td>
</tr>
</table>
</div>
</body>
</html>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,35 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $customer_subscribe_by_loi_active && count($list_of_interest) > 0}
<div class="newsletterpro-list-of-interests">
<h2>{l s='Are you interested in:' mod='newsletterpro'}</h2>
<div class="clearfix">
<ul>
{foreach $list_of_interest as $list}
<li>
<div class="checkbox">
<label class="control-label">
<input type="checkbox" class="input-group" name="list_of_interest[]" value="{$list.id_newsletter_pro_list_of_interest|intval}" {if $list.checked} checked="checked" {/if}>
{$list.name|escape:'html':'UTF-8'}
</label>
</div>
</li>
{/foreach}
</ul>
</div>
</div>
{/if}

View File

@@ -0,0 +1,34 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($template)}
{* HTML CONTENT *}
{$template|strval nofilter}
{if !$jquery_no_conflict && isset($jquery_url_exists)}
<script type="text/javascript" src="{$jquery_url|escape:'quotes':'UTF-8'}"></script>
<script type="text/javascript">
$(document).ready(function(){
var body = $('body'),
table = body.find('table').first();
if (body.length && table.length) {
body.css({
'background-color': table.css('background-color')
});
}
});
</script>
{/if}
{/if}

View File

@@ -0,0 +1,89 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!DOCTYPE html>
<html>
<head>
<title>{l s='Subscription Confirmation' mod='newsletterpro'}</title>
<style type="text/css">
.main {
width: 600px;
margin: 0 auto;
background-color: #fff;
min-height: 100px;
padding: 10px;
}
body {
background-color: #F5F5F5;
font-family: Arial, Helvetica, sans-serif;
font-size: 13px;
margin: 0;
padding: 0;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
table.newsletter-pro-content td {
font-size: 13px;
}
a.link,
a.link:link,
a.link:visited {
border: none;
color: #337ed0;
font-size: 12px;
font-weight: bold;
text-align: center;
text-decoration: none;
cursor: pointer;
display: block;
line-height: 22px;
width: 100%;
height: 22px;
}
a img {
border: none; border-style: none;
}
h2 {
margin-bottom: 5px;
margin-top: 5px;
}
</style>
</head>
<body>
<div class="main">
<table class="table-content">
<tr>
<td><div>{ldelim}shop_logo{rdelim}</div></td>
</tr>
<tr>
<td><h2>{l s='Subscribe at our newsletter!' mod='newsletterpro'}</h2></td>
</tr>
<tr>
<td>{l s='Confirm your subscription at our newsletter by clicking' mod='newsletterpro'} <a href="{$confirmation_link|escape:'quotes':'UTF-8'}" style="color: blue;">{l s='here' mod='newsletterpro'}</a>.</td>
</tr>
<tr>
<td><br>{l s='Thank you,' mod='newsletterpro'} <br> {ldelim}shop_name{rdelim}</td>
</tr>
</table>
</div>
</body>
</html>

View File

@@ -0,0 +1,27 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{capture name=path}
<span class="navigation-pipe">{$navigationPipe|escape:'html':'UTF-8'}</span>{l s='Subscribe' mod='newsletterpro'}
{/capture}
<div id="newsletterpro-subscribe">
{include file="$tpl_dir./errors.tpl"}
{if isset($success_message)}
<div class="alert alert-success success">{$success_message|escape:'html':'UTF-8'}</div>
{/if}
</div>

View File

@@ -0,0 +1,31 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{capture name=path}
<span class="navigation-pipe">{$navigationPipe|escape:'html':'UTF-8'}</span>{l s='Subscribe' mod='newsletterpro'}
{/capture}
<div id="newsletterpro-subscribe">
{include file="$tpl_dir./errors.tpl"}
{if isset($success_message)}
<div class="alert alert-success success">
{foreach $success_message as $value}
{$value|escape:'html':'UTF-8'} <br>
{/foreach}
</div>
{/if}
</div>

View File

@@ -0,0 +1,26 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{capture name=path}
<span class="navigation-pipe">{$navigationPipe|escape:'html':'UTF-8'}</span>{l s='Subscribe at our newsletter' mod='newsletterpro'}
{/capture}
<div id="newsletterpro-subscribe">
{include file="$tpl_dir./errors.tpl"}
<div class="pqnp-popup-subscription-container">
<div class="pqnp-subscription-controller-content"></div>
</div>

View File

@@ -0,0 +1,35 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{capture name=path}
<span class="navigation-pipe">{$navigationPipe|escape:'html':'UTF-8'}</span>{l s='Unsubscribe' mod='newsletterpro'}
{/capture}
<div id="newsletterpro-unsubscribe">
{if isset($unsubscribe)}
<p class="success">{l s='You have successfully unsubscribed from our newsletter.' mod='newsletterpro'}</p>
{elseif isset($email_not_found)}
<p class="error">{l s='You are not subscribed at our newsletter.' mod='newsletterpro'}</p>
{elseif isset($email_not_valid)}
<p class="error">{l s='Your email is not valid.' mod='newsletterpro'}</p>
{elseif isset($token_not_valid)}
<p class="error">{l s='Invalid unsubscription token.' mod='newsletterpro'}</p>
{elseif isset($pqnp_errors)}
<p class="alert alert-danger error">{$pqnp_errors}</p>
{else}
&nbsp;
{/if}
</div>

View File

@@ -0,0 +1,38 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $customer_account_subscribe_by_loi_active|intval && count($list_of_interest) > 0}
<div class="pqnp-list-of-interest form-group row ">
<label class="pqnp-list-of-interest-label">
{l s='Interested in' mod='newsletterpro'}
</label>
<div>
{foreach $list_of_interest as $item}
<div class="checkbox">
<label>
<div class="checker" id="uniform-newsletter">
<span class="checked">
<input name="pqnp_list_of_interest[]" type="checkbox" value="{$item.id_newsletter_pro_list_of_interest}" {if $item.checked|intval}checked="checked"{/if}>
</span>
</div>
{$item.name}
</label>
</div>
{/foreach}
</div>
</div>
{/if}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,34 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!-- Newsletter Pro Subscribe Footer-->
<div class="clearfix pqnp-subscribe-block {if isset($display_hook)} {$display_hook|escape:'html':'UTF-8'} {/if} np-footer-section-sm">
<div>
<h4 class="text-uppercase block-contact-title">{l s='Newsletter' mod='newsletterpro'}</h4>
<div class="pqnp-subscribe-container category_footer toggle-footer">
<div class="block_content">
<div class="form-group np-input-email clearfix">
<input class="inputNew form-control grey newsletter-input pqnp-email-address" type="text" name="email" size="18" placeholder="{l s='Enter your e-mail' mod='newsletterpro'}">
<a href="javascript:{}" name="newsletterProSubscribe" class="btn btn-primary pull-xs-right hidden-xs-down pqnp-subscribe-button">
{l s='Subscribe' mod='newsletterpro'}
</a>
<input type="hidden" name="action" value="0">
</div>
</div>
</div>
</div>
</div>
<!-- /Newsletter Pro Subscribe Footer -->

View File

@@ -0,0 +1,38 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $customer_account_subscribe_by_loi_active|intval && count($list_of_interest) > 0}
<div class="pqnp-list-of-interest form-group row ">
<label class="pqnp-list-of-interest-label">
{l s='Interested in' mod='newsletterpro'}
</label>
<div>
{foreach $list_of_interest as $item}
<div class="checkbox">
<label>
<div class="checker" id="uniform-newsletter">
<span class="checked">
<input name="pqnp_list_of_interest[]" type="checkbox" value="{$item.id_newsletter_pro_list_of_interest}" {if $item.checked|intval}checked="checked"{/if}>
</span>
</div>
{$item.name}
</label>
</div>
{/foreach}
</div>
</div>
{/if}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,34 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!-- Newsletter Pro Subscribe Footer-->
<section class="col-xs-6 wrapper clearfix pqnp-subscribe-block {if isset($display_hook)} {$display_hook|escape:'html':'UTF-8'} {/if} np-footer-section-sm">
<div>
<h4 class="text-uppercase block-contact-title">{l s='Newsletter' mod='newsletterpro'}</h4>
<div class="pqnp-subscribe-container row">
<div class="block_content">
<div class="form-group np-input-email clearfix">
<input class="inputNew form-control grey newsletter-input pqnp-email-address" type="text" name="email" size="18" placeholder="{l s='Enter your e-mail' mod='newsletterpro'}">
<a href="javascript:{}" name="newsletterProSubscribe" class="btn btn-primary pull-xs-right hidden-xs-down pqnp-subscribe-button">
{l s='Subscribe' mod='newsletterpro'}
</a>
<input type="hidden" name="action" value="0">
</div>
</div>
</div>
</div>
</section>
<!-- /Newsletter Pro Subscribe Footer -->

View File

@@ -0,0 +1,32 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!-- Newsletter Pro Subscribe Footer-->
<div class="pqnp-subscribe-block {if isset($display_hook)}pqnp-{$display_hook|escape:'html':'UTF-8'}{/if}">
<div class="row">
<div class="col-xs-12">
<h6 class="pqnp-subscribe-title">{l s='Newsletter' mod='newsletterpro'}</h6>
<a href="javascript:{}" class="btn btn-primary float-xs-right pqnp-subscribe-button">{l s='OK' mod='newsletterpro'}</a>
<div class="input-wrapper">
<input type="email" class="inputNew form-control grey pqnp-email-address" value="" placeholder="{l s='Your email address' mod='newsletterpro'}">
</div>
</div>
<div class="col-xs-12">
<p class='pqnp-subscribe-description'>{l s='You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.' mod='newsletterpro'}</p>
</div>
</div>
</div>
<!-- /Newsletter Pro Subscribe Footer -->

View File

@@ -0,0 +1,32 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!-- Newsletter Pro Subscribe Footer-->
<div class="pqnp-subscribe-block {if isset($display_hook)}pqnp-{$display_hook|escape:'html':'UTF-8'}{/if}">
<div class="row">
<div class="col-xs-12">
<h6 class="pqnp-subscribe-title">{l s='Newsletter' mod='newsletterpro'}</h6>
<a href="javascript:{}" class="btn btn-primary float-xs-right pqnp-subscribe-button">{l s='OK' mod='newsletterpro'}</a>
<div class="input-wrapper">
<input type="email" class="inputNew form-control grey pqnp-email-address" value="" placeholder="{l s='Your email address' mod='newsletterpro'}">
</div>
</div>
<div class="col-xs-12">
<p class='pqnp-subscribe-description'>{l s='You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.' mod='newsletterpro'}</p>
</div>
</div>
</div>
<!-- /Newsletter Pro Subscribe Footer -->

View File

@@ -0,0 +1,35 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $customer_account_subscribe_by_loi_active|intval && count($list_of_interest) > 0}
<div class="pqnp-list-of-interest form-group row ">
<label class="pqnp-list-of-interest-label col-md-3 form-control-label">
{l s='Interested in' mod='newsletterpro'}
</label>
<div class="col-md-6">
{foreach $list_of_interest as $item}
<span class="pqnp-custom-checkbox">
<label>
<input name="pqnp_list_of_interest[]" type="checkbox" value="{$item.id_newsletter_pro_list_of_interest}" {if $item.checked|intval}checked="checked"{/if}>
<span><i class="pqnp-icon-checkbox-checked pqnp-checkbox-checked"></i></span>
<span>{$item.name}</span>
</label>
</span>
{/foreach}
</div>
</div>
{/if}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,55 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{*
* Available hooks
*
* displayFooterBefore
* displayFooter
* displayRightColumn
* displayLeftColumn
*
* newsletter_subscribe_block.tpl
*
* To create a new template for a different hook
*
* newsletter_subscribe_block_display_footer_before.tpl
* newsletter_subscribe_block_display_footer.tpl
* newsletter_subscribe_block_display_right_column.tpl
* newsletter_subscribe_block_display_left_column.tpl
*}
<div class="pqnp-subscribe-block col-lg-8 col-md-12 col-sm-12 {if isset($display_hook)}pqnp-{$display_hook|escape:'html':'UTF-8'}{/if}">
<div class="row">
<p class="col-md-5 col-xs-12 pqnp-subscribe-title">{l s='Get our latest news and special sales' mod='newsletterpro'}</p>
<div class="col-md-7 col-xs-12">
<div class="row">
<div class="col-xs-12">
<a href="javascript:{}" class="btn btn-primary float-xs-right hidden-xs-down pqnp-subscribe-button">{l s='Subscribe' mod='newsletterpro'}</a>
<a href="javascript:{}" class="btn btn-primary float-xs-right hidden-sm-up pqnp-subscribe-button">{l s='OK' mod='newsletterpro'}</a>
<div class="input-wrapper">
<input type="email" class="inputNew form-control grey pqnp-email-address" value="" placeholder="{l s='Your email address' mod='newsletterpro'}">
</div>
</div>
<div class="col-xs-12">
<p class='pqnp-subscribe-description'>{l s='You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.' mod='newsletterpro'}</p>
</div>
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,48 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{*
* Available hooks
*
* displayFooterBefore
* displayFooter
* displayRightColumn
* displayLeftColumn
*
* newsletter_subscribe_block.tpl
*
* To create a new template for a different hook
*
* newsletter_subscribe_block_display_footer_before.tpl
* newsletter_subscribe_block_display_footer.tpl
* newsletter_subscribe_block_display_right_column.tpl
* newsletter_subscribe_block_display_left_column.tpl
*}
<div class="pqnp-subscribe-block {if isset($display_hook)}pqnp-{$display_hook|escape:'html':'UTF-8'}{/if}">
<div class="row">
<div class="col-xs-12">
<h6 class="pqnp-subscribe-title">{l s='Newsletter' mod='newsletterpro'}</h6>
<a href="javascript:{}" class="btn btn-primary float-xs-right pqnp-subscribe-button">{l s='OK' mod='newsletterpro'}</a>
<div class="input-wrapper">
<input type="email" class="inputNew form-control grey pqnp-email-address" value="" placeholder="{l s='Your email address' mod='newsletterpro'}">
</div>
</div>
<div class="col-xs-12">
<p class='pqnp-subscribe-description'>{l s='You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.' mod='newsletterpro'}</p>
</div>
</div>
</div>

View File

@@ -0,0 +1,50 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{*
* Available hooks
*
* displayFooterBefore
* displayFooter
* displayRightColumn
* displayLeftColumn
*
* newsletter_subscribe_block.tpl
*
* To create a new template for a different hook
*
* newsletter_subscribe_block_display_footer_before.tpl
* newsletter_subscribe_block_display_footer.tpl
* newsletter_subscribe_block_display_right_column.tpl
* newsletter_subscribe_block_display_left_column.tpl
*}
<div class="pqnp-subscribe-block {if isset($display_hook)}pqnp-{$display_hook|escape:'html':'UTF-8'}{/if}">
<div class="row">
<div class="col-xs-12">
<h6 class="pqnp-subscribe-title">{l s='Newsletter' mod='newsletterpro'}</h6>
<a href="javascript:{}" class="btn btn-primary float-xs-right pqnp-subscribe-button">{l s='OK' mod='newsletterpro'}</a>
<div class="input-wrapper">
<input type="email" class="inputNew form-control grey pqnp-email-address" value="" placeholder="{l s='Your email address' mod='newsletterpro'}">
</div>
</div>
<div class="col-xs-12">
<p class='pqnp-subscribe-description'>{l s='You may unsubscribe at any moment. For that purpose, please find our contact info in the legal notice.' mod='newsletterpro'}</p>
</div>
</div>
</div>

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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,44 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
<!-- Newsletter Pro Subscribe -->
<div id="newsletter_pro_subscribe">
<form id="np-subscribe-form" class="np-subscribe-form" style="margin: 0; padding: 0;" action="{$link->getPageLink('index')|escape:'quotes':'UTF-8'}" method="post">
<div id="nps-popup" class="nps-popup {if isset($class_name)}{$class_name|escape:'html':'UTF-8'}{/if}" style="display:none;">
{* HTML CONTENT *}
<div id="nps-popup-content" class="nps-popup-content">{$render_template nofilter}</div>
<div id="nps-popup-response" class="nps-popup-response" style="display:none;"></div>
</div>
</form>
</div>
<!-- /Newsletter Pro Subscribe -->
<script type="text/javascript">
NewsletterPro_Ready.load(function(box) {
box.dataStorage.add('translations_subscribe', {
'ajax request error' : "{l s='An error occurred at the ajax request!' mod='newsletterpro'}",
'You must agree to the terms of service before subscribing.' : "{l s='You must agree to the terms of service before subscribing.' mod='newsletterpro'}"
});
try {
{* ESCAPED CONTENT *}
box.dataStorage.addObject(jQuery.parseJSON('{$subscription_template_front_info nofilter}'));
} catch (e) {
console.error(e.message);
}
});
</script>

View File

@@ -0,0 +1,118 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if isset($get_gender) && $get_gender}
{foreach from=$genders key=k item=gender}
<div class="radio-inline" style="margin-bottom: 0; height: 20px;">
<label for="id_gender{$gender->id|intval}" class="top" style="margin-bottom: 0;">
<input type="radio" name="id_gender" id="id_gender{$gender->id|intval}" class="np-input-radio" value="{$gender->id|intval}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} />
{$gender->name|escape:'html':'UTF-8'}
</label>
</div>
{/foreach}
{else if isset($get_firstname) && $get_firstname}
<input class="form-control" type="text" name="firstname" value="">
{else if isset($get_lastname) && $get_lastname}
<input class="form-control" type="text" name="lastname" value="">
{else if isset($get_languages) && $get_languages}
<div class="select-group">
<select id="np-lang-select" class="form-control np-select-option" name="id_lang">
{foreach $langs_sub as $lang}
<option value="{$lang.id_lang|intval}" {if $lang.selected == true}selected="selected"{/if}>{$lang.name|escape:'html':'UTF-8'}</option>
{/foreach}
</select>
</div>
{else if isset($get_birthday) && $get_birthday}
<div class="np-col-4">
<div class="select-group">
<select id="np-days" name="days" class="form-control np-select-option np-days">
<option value="">-</option>
{foreach from=$days item=day}
<option value="{$day|intval}">{$day|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</div>
</div>
<div class="np-col-4">
<div class="select-group">
<select id="np-months" name="months" class="form-control np-select-option np-months">
<option value="">-</option>
{foreach from=$months key=k item=month}
<option value="{$k|escape:'html':'UTF-8'}">{$month|escape:'html':'UTF-8'}&nbsp;</option>
{/foreach}
</select>
</div>
</div>
<div class="np-col-4">
<div class="select-group">
<select id="np-years" name="years" class="form-control np-select-option np-years">
<option value="">-</option>
{foreach from=$years item=year}
<option value="{$year|intval}">{$year|intval}&nbsp;&nbsp;</option>
{/foreach}
</select>
</div>
</div>
{else if isset($get_list_of_interest) && $get_list_of_interest}
{if $list_of_interest_type == $LIST_OF_INTEREST_TYPE_SELECT}
<div class="select-group">
<select id="np-list-of-interest" name="list_of_interest" class="form-control np-select-option np-list-of-interest">
<option value="">-</option>
{foreach from=$list_of_interest item=item}
<option value="{$item.id_newsletter_pro_list_of_interest|intval}">{$item.name|escape:'html':'UTF-8'}&nbsp;&nbsp;</option>
{/foreach}
</select>
</div>
{else}
<ul class="np-list-of-interest-checkbox">
{foreach from=$list_of_interest item=item}
<li>
<input type="checkbox" class="np-input-checkbox" id="np-list-of-interest-{$item.id_newsletter_pro_list_of_interest|intval}" name="list_of_interest_{$item.id_newsletter_pro_list_of_interest|intval}" value="{$item.id_newsletter_pro_list_of_interest|intval}">
<label for="np-list-of-interest-{$item.id_newsletter_pro_list_of_interest|intval}" style="font-weight: normal;">{$item.name|escape:'html':'UTF-8'}</label>
</li>
{/foreach}
</ul>
{/if}
{else if isset($get_email) && $get_email}
<input id="np-popup-email" class="form-control np-popup-email" type="text" name="email" value="">
{else if isset($get_submit) && $get_submit}
<a href="javascript:{}" id="submit-newsletterpro-subscribe" class="np-button submit-newsletterpro-subscribe">
<span>{l s='Subscribe' mod='newsletterpro'}</span>
</a>
{else if isset($get_close_forever) && $get_close_forever}
<a href="javascript:{}" id="newsletterpro-subscribe-close-forever" class="close-forever newsletterpro-subscribe-close-forever">
<span>{l s='Don\'t show next time.' mod='newsletterpro'}</span>
</a>
{else if isset($get_info) && $get_info}
<div id="ajax-errors-subscribe" class="alert alert-danger ajax-errors-subscribe" style="display: none;"></div>
<div class="clear"></div>
<div id="ajax-success-subscribe" class="alert alert-success ajax-success-subscribe" style="display: none;"></div>
<div class="clear"></div>
{else if isset($get_terms_and_conditions_link) && $get_terms_and_conditions_link}
<a href="{$terms_and_conditions_url|escape:'quotes':'UTF-8'}" target="_blank" id="np-terms-and-conditions-link" class="np-link">{l s='terms and conditions' mod='newsletterpro'}</a>
{else if isset($get_terms_and_conditions_checkbox) && $get_terms_and_conditions_checkbox}
<input type="checkbox" id="np-terms-and-conditions-checkbox" class="np-terms-and-conditions-checkbox">
{else if isset($get_terms_and_conditions_full) && $get_terms_and_conditions_full}
<div class="np-terms-and-conditions-full">
{* HTML CONTENT *}
{$gtac_checkbox|strval}
<span class="np-terms-and-concitions-text">{l s='I agree to the' mod='newsletterpro'}
{* HTML CONTENT *}
{$gtac_link|strval}.
</span>
<div class="clear"></div>
</div>
{/if}

View File

@@ -0,0 +1,61 @@
{*
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*}
{if $type == $types.TYPE_SELECT}
<div class="select-group">
<input type="hidden" name="hidden_custom_variable_{$variable_name|escape:'html':'UTF-8'}">
<select id="custom_variable_{$variable_name|escape:'html':'UTF-8'}" name="custom_variable_{$variable_name|escape:'html':'UTF-8'}" class="np-select-option">
<option value="">- {l s='none' mod='newsletterpro'} -</option>
{foreach from=$value item=item}
<option value="{$item|escape:'htmlall':'UTF-8'}">{$item|escape:'htmlall':'UTF-8'}</option>
{/foreach}
</select>
</div>
{else if $type == $types.TYPE_CHECKBOX}
<ul class="ul_custom_variable_{$variable_name|escape:'html':'UTF-8'}">
<input type="hidden" name="hidden_custom_variable_{$variable_name|escape:'html':'UTF-8'}">
{foreach from=$value key=key item=item}
<li class="clearfix">
<div class="np-fs-checkbox">
<input type="checkbox" class="custom_variable_{$variable_name|escape:'html':'UTF-8'} np-fs-checkbox" id="custom_variable_{$variable_name|escape:'html':'UTF-8'}_{$key|escape:'html':'UTF-8'}" name="custom_variable_{$variable_name|escape:'html':'UTF-8'}[{$key|escape:'html':'UTF-8'}]" value="{$item|escape:'htmlall':'UTF-8'}">
</div>
<div class="np-fs-checkbox-label">
<label for="custom_variable_{$variable_name|escape:'html':'UTF-8'}_{$key|escape:'html':'UTF-8'}" class="np-fs-checkbox-label" style="font-weight: normal;">{$item|escape:'htmlall':'UTF-8'}</label>
</div>
</li>
{/foreach}
</ul>
{else if $type == $types.TYPE_RADIO}
<ul class="ul_custom_variable_{$variable_name|escape:'html':'UTF-8'}">
<input type="hidden" name="hidden_custom_variable_{$variable_name|escape:'html':'UTF-8'}">
{foreach from=$value key=key item=item}
<li class="clearfix">
<div class="np-fs-checkbox">
<input type="radio" class="custom_variable_{$variable_name|escape:'html':'UTF-8'}" id="custom_variable_{$variable_name|escape:'html':'UTF-8'}_{$key|escape:'html':'UTF-8'}" name="custom_variable_{$variable_name|escape:'html':'UTF-8'}" value="{$item|escape:'htmlall':'UTF-8'}">
</div>
<div class="np-fs-checkbox-label">
<label for="custom_variable_{$variable_name|escape:'html':'UTF-8'}_{$key|escape:'html':'UTF-8'}" class="" style="font-weight: normal;">{$item|escape:'htmlall':'UTF-8'}</label>
</div>
</li>
{/foreach}
</ul>
{else if $type == $types.TYPE_INPUT_TEXT}
<input type="hidden" name="hidden_custom_variable_{$variable_name|escape:'html':'UTF-8'}">
<input class="form-control" type="text" name="custom_variable_{$variable_name|escape:'html':'UTF-8'}" value="">
{else if $type == $types.TYPE_TEXTAREA}
<input type="hidden" name="hidden_custom_variable_{$variable_name|escape:'html':'UTF-8'}">
<textarea class="form-control-textarea" name="custom_variable_{$variable_name|escape:'html':'UTF-8'}"></textarea>
{/if}

View File

@@ -0,0 +1,26 @@
<?php
/**
* Since 2013 Ovidiu Cimpean
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
* @version Release: 4
*/
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;