PluginProbe ʕ •ᴥ•ʔ
MailPoet – Newsletters, Email Marketing, and Automation / 3.42.0
MailPoet – Newsletters, Email Marketing, and Automation v3.42.0
5.28.1 5.28.0 5.27.0 5.26.0 5.26.1 5.25.0 5.24.0 4.43.0 4.43.1 4.44.0 4.44.1 4.45.0 4.46.0 4.47.0 4.48.0 4.48.1 4.48.2 4.49.0 4.49.1 4.5.0 4.5.1 4.5.2 4.50.0 4.50.1 4.51.0 4.51.1 4.51.2 4.52.0 4.53.0 4.54.0 4.55.0 4.56.0 4.57.0 4.58.0 4.58.1 4.58.2 4.6.0 4.6.1 4.6.2 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 5.0.0 5.0.1 5.0.2 5.1.0 5.1.1 5.10.0 5.10.1 5.11.0 5.12.0 5.12.1 5.12.10 5.12.11 5.12.12 5.12.13 5.12.2 5.12.3 5.12.4 5.12.5 5.12.6 5.12.7 5.12.8 5.12.9 5.13.0 5.13.1 5.13.2 5.14.0 5.14.1 5.14.2 5.14.3 5.15.0 5.15.1 5.16.0 5.16.1 5.16.2 5.16.3 5.16.4 5.17.0 5.17.1 5.17.2 5.17.3 5.17.4 5.17.5 5.17.6 5.18.0 5.19.0 5.2.0 5.2.1 5.2.2 5.2.3 5.20.0 5.21.0 5.21.1 5.21.2 5.21.3 5.22.0 5.22.1 5.22.2 5.22.3 5.22.4 5.23.0 5.23.1 5.23.2 5.3.0 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 5.4.0 5.4.1 5.4.2 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.6.3 5.6.4 5.7.0 5.7.1 5.8.0 5.8.1 5.9.0 3.0.0-beta.15 3.7.1 3.0.0-beta.16 3.7.2 3.0.0-beta.17 3.7.3 3.0.0-beta.18 3.7.4 3.0.0-beta.19 3.7.5 3.0.0-beta.2 3.7.6 3.0.0-beta.20 3.7.8 3.0.0-beta.21 3.70.0 3.0.0-beta.22 3.71.0 3.0.0-beta.23 3.71.1 3.0.0-beta.23.1 3.71.2 3.0.0-beta.23.2 3.71.3 3.0.0-beta.24 3.72.0 3.0.0-beta.25 3.73.0 3.0.0-beta.26 3.73.1 3.0.0-beta.27 3.73.2 3.0.0-beta.28 3.74.0 3.0.0-beta.29 3.74.1 3.0.0-beta.3 3.74.2 3.0.0-beta.30 3.74.3 3.0.0-beta.31 3.75.0 3.0.0-beta.32 3.75.1 3.0.0-beta.33 3.76.0 3.0.0-beta.33.1 3.77.0 3.0.0-beta.34.0.0 3.77.1 3.0.0-beta.36.0.0 3.78.0 3.0.0-beta.36.0.1 3.79.0 3.0.0-beta.36.2.0 3.8 3.0.0-beta.36.3.0 3.8.1 3.0.0-beta.36.3.1 3.8.2 3.0.0-beta.37.0.0 3.8.3 3.0.0-beta.4 3.8.4 3.0.0-beta.5 3.8.5 3.0.0-beta.6 3.8.6 3.0.0-beta.7 3.80.0 3.0.0-beta.7.1 3.81.0 3.0.0-beta.8 3.82.0 3.0.0-beta.9 3.83.0 3.0.0-rc.1.0.0 3.84.0 3.0.0-rc.1.0.1 3.84.1 3.0.0-rc.1.0.2 3.85.0 3.0.0-rc.1.0.3 3.85.1 3.0.0-rc.1.0.4 3.86.0 3.0.0-rc.2.0.0 3.87.0 3.0.0-rc.2.0.1 3.87.1 3.0.0-rc.2.0.2 3.87.2 3.0.0-rc.2.0.3 3.88.0 3.0.1 3.88.1 3.0.2 3.88.2 3.0.3 3.89.0 3.0.4 3.89.1 3.0.5 3.89.2 3.0.6 3.89.3 3.0.7 3.89.4 3.0.8 3.9.0 3.0.9 3.9.1 3.1.0 3.90.0 3.10 3.90.1 3.10.1 3.90.2 3.100.0 3.91.0 3.100.1 3.91.1 3.100.2 3.92.0 3.101.0 3.92.1 3.101.1 3.93.0 3.102.0 3.93.1 3.102.1 3.94.0 3.103.0 3.95.0 3.103.1 3.95.1 3.11.0 3.96.0 3.11.1 3.96.1 3.11.2 3.97.0 3.11.3 3.98.0 3.11.4 3.98.1 3.11.5 3.99.0 3.12.0 3.99.1 3.12.1 4.0.0 3.13.0 4.0.1 3.14.0 4.1.0 3.14.1 4.1.1 3.15.0 4.10.0 3.16.0 4.11.0 3.16.1 4.11.1 3.16.2 4.12.0 3.16.3 4.12.1 3.17.0 4.12.2 3.17.1 4.13.0 3.17.2 4.14.0 3.18.0 4.15.0 3.18.1 4.16.0 3.18.2 4.17.0 3.19.0 4.17.1 3.19.1 4.18.0 3.19.2 4.18.1 3.19.3 4.19.0 3.2.0 4.2.0 3.2.1 4.20.0 3.2.2 4.20.1 3.2.3 4.20.2 3.2.4 4.21.0 3.2.5 4.22.0 3.20.0 4.22.1 3.21.0 4.22.2 3.21.1 4.23.0 3.22.0 4.24.0 3.23.0 4.25.0 3.23.1 4.26.0 3.23.2 4.26.1 3.24.0 4.27.0 3.25.0 4.28.0 3.25.1 4.29.0 3.26.0 4.3.0 3.26.1 4.3.1 3.27.0 4.30.0 3.28.0 4.31.0 3.29.0 4.31.1 3.3.0 4.32.0 3.3.1 4.33.0 3.3.2 4.34.0 3.3.3 4.35.0 3.3.4 4.35.1 3.3.5 4.36.0 3.3.6 4.37.0 3.30.0 4.38.0 3.31.0 4.39.0 3.31.1 4.4.0 3.32.0 4.40.0 3.32.1 4.41.0 3.32.2 4.41.1 3.33.0 4.41.2 3.34.0 4.41.3 3.34.1 4.42.0 3.34.2 4.42.1 3.34.3 3.34.4 3.35.0 3.35.1 3.35.3 3.35.4 3.36.0 3.37.0 3.37.1 3.37.2 3.37.3 3.38.0 3.38.1 3.39.0 3.39.1 3.39.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.40.0 3.40.1 3.41.0 3.41.1 3.41.2 3.42.0 3.42.1 3.42.2 3.42.3 3.43.0 3.43.1 3.44.0 3.45.0 3.45.1 3.46.0 3.46.1 3.46.10 3.46.11 3.46.12 3.46.13 3.46.14 3.46.2 3.46.3 3.46.4 3.46.5 3.46.6 3.46.7 3.46.8 3.46.9 3.47.0 3.47.1 3.47.10 3.47.11 3.47.2 3.47.3 3.47.5 3.47.6 3.47.7 3.47.9 3.48.0 3.48.1 3.49.0 3.49.1 3.5.0 3.5.1 3.50.0 3.51.0 3.51.1 3.51.2 3.52.0 3.53.0 3.54.0 3.54.1 3.54.2 3.54.3 3.55.0 3.55.1 3.56.0 3.56.1 3.56.2 3.57.0 3.57.1 3.58.0 3.59.0 3.59.1 3.59.2 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.60.0 3.60.1 3.60.10 3.60.11 3.60.12 3.60.2 3.60.3 3.60.4 3.60.6 3.60.7 3.60.8 3.60.9 3.61.0 3.62.0 3.62.1 3.63.0 3.64.0 3.64.1 3.64.2 3.64.3 3.65.0 trunk 3.65.1 3.0.0 3.66.0 3.0.0-beta.1 3.67.0 3.0.0-beta.10 3.67.1 3.0.0-beta.11 3.68.0 3.0.0-beta.12 3.69.0 3.0.0-beta.13 3.69.1 3.0.0-beta.14 3.7.0
mailpoet / views / settings.html
mailpoet / views Last commit date
deactivationSurvey 7 years ago emails 6 years ago form 6 years ago newsletter 6 years ago settings 6 years ago subscribers 6 years ago woocommerce 6 years ago automatic_emails.html 6 years ago blank.html 8 years ago dynamicSegments.html 6 years ago experimental-features.html 7 years ago forms.html 6 years ago help.html 7 years ago index.html 8 years ago index.php 9 years ago invalidkey.html 6 years ago layout.html 6 years ago mp2migration.html 7 years ago mss_pitch_translations.html 6 years ago newsletters.html 6 years ago premium.html 6 years ago revenue_tracking_permission.html 6 years ago segments.html 6 years ago settings.html 6 years ago update.html 7 years ago welcome_wizard.html 6 years ago woocommerce_list_import.html 7 years ago
settings.html
302 lines
1 <% extends 'layout.html' %>
2
3 <% block content %>
4 <div id="mailpoet_settings">
5
6 <h1 class="title"><%= __('Settings') %></h1>
7
8 <!-- settings form -->
9 <form
10 id="mailpoet_settings_form"
11 name="mailpoet_settings_form"
12 class="mailpoet_form"
13 autocomplete="off"
14 novalidate
15 >
16 <!-- tabs -->
17 <h2 class="nav-tab-wrapper" id="mailpoet_settings_tabs">
18 <a class="nav-tab" href="#basics" data-automation-id="basic_settings_tab"><%= __('Basics') %></a>
19 <a class="nav-tab" href="#signup" data-automation-id="signup_settings_tab"><%= __('Sign-up Confirmation') %></a>
20 <a class="nav-tab" href="#mta" data-automation-id="send_with_settings_tab"><%= __('Send With...') %></a>
21 <% if is_woocommerce_active %>
22 <a class="nav-tab" href="#woocommerce" data-automation-id="woocommerce_settings_tab"><%= __('WooCommerce') %></a>
23 <% endif %>
24 <a class="nav-tab" href="#advanced" data-automation-id="settings-advanced-tab"><%= __('Advanced') %></a>
25 <a class="nav-tab" href="#premium" data-automation-id="activation_settings_tab"><%= __('Key Activation') %></a>
26 </h2>
27
28 <!-- sending method -->
29 <div data-tab="mta" class="mailpoet_tab_panel">
30 <% include 'settings/mta.html' %>
31 </div>
32
33 <!-- basics -->
34 <div data-tab="basics" class="mailpoet_tab_panel">
35 <% include 'settings/basics.html' %>
36 </div>
37
38 <!-- sign-up confirmation -->
39 <div data-tab="signup" class="mailpoet_tab_panel">
40 <% include 'settings/signup.html' %>
41 </div>
42
43 <% if is_woocommerce_active %>
44 <!-- woocommerce -->
45 <div data-tab="woocommerce" class="mailpoet_tab_panel">
46 <% include 'settings/woocommerce.html' %>
47 </div>
48 <% endif %>
49
50 <!-- advanced -->
51 <div data-tab="advanced" class="mailpoet_tab_panel">
52 <% include 'settings/advanced.html' %>
53 </div>
54
55 <!-- premium -->
56 <div data-tab="premium" class="mailpoet_tab_panel">
57 <% include 'settings/premium.html' %>
58 </div>
59
60 <p class="submit mailpoet_settings_submit" style="display:none;">
61 <input
62 type="submit"
63 class="button button-primary"
64 name="submit"
65 data-automation-id="settings-submit-button"
66 value="<%= __('Save settings') %>"
67 />
68 </p>
69 </form>
70 </div>
71
72 <script type="text/javascript">
73 jQuery(function($) {
74 // on dom loaded
75 $(function() {
76 // on form submission
77 $('#mailpoet_settings_form').on('submit', function() {
78 var errorFound = false;
79 // Check if filled emails are valid
80 var invalidEmails = $.map($('#mailpoet_settings_form')[0].elements, function(el) {
81 return el.type === 'email' && el.value && !window.mailpoet_email_regex.test(el.value) ? el.value : null;
82 }).filter(function(val) { return !!val; });
83 if (invalidEmails.length) {
84 MailPoet.Notice.error(
85 "<%= __('Invalid email addresses: ') | escape('js') %>" + invalidEmails.join(', '),
86 { scroll: true }
87 );
88 errorFound = true;
89 }
90 // if reCAPTCHA is enabled but keys are emty, show error
91 var enabled = $('input[name="captcha[type]"]:checked').val() == 'recaptcha',
92 site_key = $('input[name="captcha[recaptcha_site_token]"]').val().trim(),
93 secret_key = $('input[name="captcha[recaptcha_secret_token]"]').val().trim();
94 if (enabled && (site_key == '' || secret_key == '')) {
95 $('#settings_recaptcha_tokens_error').show();
96 window.location.href = '#advanced';
97 errorFound = true;
98 } else {
99 $('#settings_recaptcha_tokens_error').hide();
100 }
101 // if new subscriber notification is enabled but sender is empty, show error
102 var notifications_enabled = $('input[name="subscriber_email_notification[enabled]"]:checked').val(),
103 address = $('input[name="subscriber_email_notification[address]"]').val().trim();
104 if (notifications_enabled && address == '') {
105 $('#settings_subscriber_email_notification_error').show();
106 window.location.href = '#basics';
107 errorFound = true;
108 } else {
109 $('#settings_subscriber_email_notification_error').hide();
110 }
111 var stats_notifications_enabled = $('input[name="stats_notifications[enabled]"]:checked').val(),
112 stats_notifications_address = $('input[name="stats_notifications[address]"]').val().trim();
113 if (stats_notifications_enabled && stats_notifications_address == '') {
114 $('#settings_stats_notifications_error').show();
115 window.location.href = '#basics';
116 errorFound = true;
117 } else {
118 $('#settings_stats_notifications_error').hide();
119 }
120
121 <% if is_woocommerce_active %>
122 // if WooCommerce opt-in on checkout is enabled but the checkbox message is empty, show an error
123 var woocommerce_optin_on_checkout_enabled = $('input[name="woocommerce[optin_on_checkout][enabled]"]:checked').val(),
124 woocommerce_optin_on_checkout_message = $('input[name="woocommerce[optin_on_checkout][message]"]').val().trim();
125 if (woocommerce_optin_on_checkout_enabled && woocommerce_optin_on_checkout_message == '') {
126 $('#settings_woocommerce_optin_on_checkout_error').show();
127 window.location.href = '#woocommerce';
128 errorFound = true;
129 } else {
130 $('#settings_woocommerce_optin_on_checkout_error').hide();
131 }
132 <% endif %>
133 // stop processing if an error was found
134 if (errorFound) {
135 return false;
136 }
137 // if we're setting up a sending method, try to activate it
138 if ($('.mailpoet_mta_setup_save').is(':visible')) {
139 $('.mailpoet_mta_setup_save').trigger('click');
140 }
141 var mailpoet_premium_key = $('#mailpoet_premium_key').val();
142 // sync mss key with premium key
143 $('#mailpoet_api_key').val(mailpoet_premium_key);
144 if (mailpoet_premium_key.length > 0) {
145 $('#mailpoet_premium_key_verify').trigger('click', false);
146 }
147 saveSettings();
148 return false;
149 });
150
151 function saveSettings() {
152 // serialize form data
153 var settings_data = $('#mailpoet_settings_form').mailpoetSerializeObject();
154
155 // show loading screen
156 MailPoet.Modal.loading(true);
157
158 MailPoet.Ajax.post({
159 api_version: window.mailpoet_api_version,
160 endpoint: 'settings',
161 action: 'set',
162 data: settings_data
163 }).always(function() {
164 MailPoet.Modal.loading(false);
165 }).done(function(response) {
166 MailPoet.Notice.success(
167 "<%= __('Settings saved') | escape('js') %>",
168 { scroll: true }
169 );
170 MailPoet.trackEvent(
171 'User has saved Settings',
172 {
173 'MailPoet Free version': window.mailpoet_version,
174 'Sending method type': settings_data.mta_group || null,
175 'Sending frequency (emails)': settings_data.mta_group != 'mailpoet' && settings_data.mta && settings_data.mta.frequency && settings_data.mta.frequency.emails,
176 'Sending frequency (interval)': settings_data.mta_group != 'mailpoet' && settings_data.mta && settings_data.mta.frequency && settings_data.mta.frequency.interval,
177 'Sending provider': settings_data.mta_group == 'smtp' && settings_data.smtp_provider,
178 'Sign-up confirmation enabled': (settings_data.signup_confirmation && settings_data.signup_confirmation.enabled == true),
179 'Bounce email is present': (settings_data.bounce && settings_data.bounce.address != ""),
180 <% if is_woocommerce_active %>
181 'WooCommerce email customizer enabled': (settings_data.woocommerce && settings_data.woocommerce.use_mailpoet_editor),
182 <% endif %>
183 'Newsletter task scheduler method': (settings_data.cron_trigger && settings_data.cron_trigger.method)
184 }
185 );
186 }).fail(function(response) {
187 if (response.errors.length > 0) {
188 MailPoet.Notice.error(
189 response.errors.map(function(error) { return error.message; }),
190 { scroll: true }
191 );
192 }
193 });
194 }
195
196 // setup toggle checkboxes
197 function toggleContent() {
198 $('#'+$(this).data('toggle'))[
199 ($(this).is(':checked'))
200 ? 'show'
201 : 'hide'
202 ]();
203 }
204
205 $(document).on('click', 'input[data-toggle]', toggleContent);
206 $('input[data-toggle]').each(toggleContent);
207
208 function toggleReCaptchaSettings() {
209 if ($('input[name="captcha[type]"]:checked').val() == 'recaptcha') {
210 $('#settings_recaptcha_tokens').show();
211 } else {
212 $('#settings_recaptcha_tokens').hide();
213 }
214 }
215 $('input[name="captcha[type]"]').on('click', toggleReCaptchaSettings);
216 toggleReCaptchaSettings();
217 $('#settings_recaptcha_tokens_error').hide();
218
219 $('#settings_subscriber_email_notification_error').hide();
220 $('#settings_stats_notifications_error').hide();
221
222 <% if is_woocommerce_active %>
223 $('#settings_woocommerce_optin_on_checkout_error').hide();
224
225 $('.mailpoet_woocommerce_editor_button').on('click', function() {
226 var emailId = "<%= settings.woocommerce.transactional_email_id %>";
227 if (!emailId) {
228 MailPoet.Ajax.post({
229 api_version: window.mailpoet_api_version,
230 endpoint: 'settings',
231 action: 'set',
232 data: {
233 'woocommerce.use_mailpoet_editor': 1,
234 },
235 }).done(function (response) {
236 emailId = response.data.woocommerce.transactional_email_id;
237 window.location.href = '?page=mailpoet-newsletter-editor&id=' + emailId;
238 }).fail(function (response) {
239 MailPoet.Notice.showApiErrorNotice(response, { scroll: true });
240 });
241 } else {
242 window.location.href = '?page=mailpoet-newsletter-editor&id=' + emailId;
243 }
244 });
245 <% endif %>
246
247 function toggleLinuxCronSettings() {
248 if ($('input[name="cron_trigger[method]"]:checked').val() === '<%= cron_trigger.linux_cron %>') {
249 $('#settings_linux_cron').show();
250 } else {
251 $('#settings_linux_cron').hide();
252 }
253 }
254 $('input[name="cron_trigger[method]"]').on('click', toggleLinuxCronSettings);
255 toggleLinuxCronSettings();
256
257 // page preview
258 $('.mailpoet_page_preview').on('click', function() {
259 var selection = $(this).siblings('.mailpoet_page_selection');
260
261 if (selection.length > 0) {
262 $(this).attr('href', $(selection).find('option[value="'+$(selection).val()+'"]').data('preview-url'));
263 $(this).attr('target', '_blank');
264 } else {
265 $(this).attr('href', 'javascript:;');
266 $(this).removeAttr('target');
267 }
268 });
269 });
270 });
271 <% set newUser = (is_new_user == true) ? 'true' : 'false' %>
272 <% autoescape 'js' %>
273 var mailpoet_is_new_user = <%= newUser %>;
274 var mailpoet_settings_sender_name = "<%= settings.sender.name %>";
275 var mailpoet_settings_sender_adddress = "<%= settings.sender.address %>";
276 var mailpoet_settings_reply_to_name = "<%= settings.reply_to.name %>";
277 var mailpoet_settings_reply_to_address = "<%= settings.reply_to.address %>";
278 var mailpoet_settings_signup_confirmation_name = "<%= settings.signup_confirmation.from.name %>";
279 var mailpoet_settings_signup_confirmation_address = "<%= settings.signup_confirmation.from.address %>";
280 var mailpoet_installed_at = '<%= settings.installed_at %>';
281 var mailpoet_mss_active = <%= json_encode(settings.mta_group == 'mailpoet') %>;
282 <% endautoescape %>
283 var mailpoet_beacon_articles = [
284 '57f71d49c697911f2d323486',
285 '57fb0e1d9033600277a681ca',
286 '57f49a929033602e61d4b9f4',
287 '57fb134cc697911f2d323e3b',
288 ];
289 </script>
290 <% endblock %>
291 <% block translations %>
292 <%= localize({
293 'reinstallConfirmation': __('Are you sure? All of your MailPoet data will be permanently erased (newsletters, statistics, subscribers, etc.).'),
294 'announcementHeader': __('Get notified when someone subscribes'),
295 'announcementParagraph1': __('It’s been a popular feature request from our users, we hope you get lots of emails about all your new subscribers!'),
296 'announcementParagraph2': __('(You can turn this feature off if it’s too many emails.)'),
297 'yourName': __('Your name'),
298 'from': __('From'),
299 'replyTo': __('Reply-to'),
300 }) %>
301 <% endblock %>
302