Version Description
- 2018-01-23 =
- Added: optional reCAPTCHA to protect subscription forms from fake signups.
Download this release
Release Info
| Developer | wysija |
| Plugin | |
| Version | 3.3.6 |
| Comparing to | |
| See all releases | |
Code changes from version 3.3.5 to 3.3.6
- assets/js/{admin.76e45773.js → admin.d5dc3994.js} +6 -2
- assets/js/{admin_vendor.fa88de45.js → admin_vendor.2bc811e8.js} +0 -0
- assets/js/manifest.json +4 -4
- assets/js/{public.d12800d0.js → public.ea9ffa3f.js} +28 -1
- assets/js/{vendor.ae69bbf6.js → vendor.e3b41dc0.js} +1 -1
- lang/mailpoet-ca.mo +0 -0
- lang/mailpoet-da_DK.mo +0 -0
- lang/mailpoet-de_DE.mo +0 -0
- lang/mailpoet-en_GB.mo +0 -0
- lang/mailpoet-es_ES.mo +0 -0
- lang/mailpoet-fa_IR.mo +0 -0
- lang/mailpoet-fr_CA.mo +0 -0
- lang/mailpoet-fr_FR.mo +0 -0
- lang/mailpoet-it_IT.mo +0 -0
- lang/mailpoet-ja.mo +0 -0
- lang/mailpoet-nl_NL.mo +0 -0
- lang/mailpoet-pl_PL.mo +0 -0
- lang/mailpoet-pt_BR.mo +0 -0
- lang/mailpoet-pt_PT.mo +0 -0
- lang/mailpoet-ru_RU.mo +0 -0
- lang/mailpoet-sq.mo +0 -0
- lang/mailpoet-sv_SE.mo +0 -0
- lang/mailpoet-tr_TR.mo +0 -0
- lang/mailpoet.pot +87 -55
- lib/API/JSON/API.php +8 -1
- lib/API/JSON/v1/Subscribers.php +31 -2
- lib/Config/Menu.php +8 -1
- lib/Config/Populator.php +10 -0
- lib/Form/Renderer.php +24 -1
- lib/Form/Widget.php +14 -2
- lib/Util/Helpers.php +6 -4
- mailpoet.php +2 -2
- readme.txt +4 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +7 -7
- vendor/composer/autoload_static.php +5 -5
- views/form/iframe.html +1 -1
- views/form/widget.html +1 -1
- views/settings.html +177 -155
- views/settings/advanced.html +61 -0
- views/update.html +6 -18
assets/js/{admin.76e45773.js → admin.d5dc3994.js}
RENAMED
|
@@ -740,7 +740,7 @@ webpackJsonp([0],{
|
|
| 740 |
_react2['default'].createElement(_reactRouter.Route, { name: 'template', path: 'template/:id', component: _newslettersTemplatesJsx2['default'] }),
|
| 741 |
_react2['default'].createElement(_reactRouter.Route, { path: 'send/:id', component: _newslettersSendJsx2['default'] }),
|
| 742 |
extraRoutes.map(function (rt) {
|
| 743 |
-
return _react2['default'].createElement(_reactRouter.Route, { key: rt.path, path: rt.path, component: rt.component });
|
| 744 |
})
|
| 745 |
)
|
| 746 |
), container);
|
|
@@ -858,7 +858,11 @@ webpackJsonp([0],{
|
|
| 858 |
React.createElement(
|
| 859 |
'div',
|
| 860 |
null,
|
| 861 |
-
React.createElement(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 862 |
React.createElement(
|
| 863 |
'div',
|
| 864 |
{ className: 'mailpoet_description' },
|
| 740 |
_react2['default'].createElement(_reactRouter.Route, { name: 'template', path: 'template/:id', component: _newslettersTemplatesJsx2['default'] }),
|
| 741 |
_react2['default'].createElement(_reactRouter.Route, { path: 'send/:id', component: _newslettersSendJsx2['default'] }),
|
| 742 |
extraRoutes.map(function (rt) {
|
| 743 |
+
return _react2['default'].createElement(_reactRouter.Route, { key: rt.path, path: rt.path, component: rt.component, data: rt.data || null });
|
| 744 |
})
|
| 745 |
)
|
| 746 |
), container);
|
| 858 |
React.createElement(
|
| 859 |
'div',
|
| 860 |
null,
|
| 861 |
+
React.createElement(
|
| 862 |
+
'div',
|
| 863 |
+
{ className: 'mailpoet_thumbnail' },
|
| 864 |
+
type.thumbnailImage ? React.createElement('img', { src: type.thumbnailImage }) : null
|
| 865 |
+
),
|
| 866 |
React.createElement(
|
| 867 |
'div',
|
| 868 |
{ className: 'mailpoet_description' },
|
assets/js/{admin_vendor.fa88de45.js → admin_vendor.2bc811e8.js}
RENAMED
|
File without changes
|
assets/js/manifest.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
{
|
| 2 |
"mp2migrator.js": "mp2migrator.dc0d6e2b.js",
|
| 3 |
-
"public.js": "public.
|
| 4 |
-
"admin.js": "admin.
|
| 5 |
-
"admin_vendor.js": "admin_vendor.
|
| 6 |
"form_editor.js": "form_editor.13982476.js",
|
| 7 |
"mailpoet.js": "mailpoet.a55b11ee.js",
|
| 8 |
"newsletter_editor.js": "newsletter_editor.1de7c9b5.js",
|
| 9 |
-
"vendor.js": "vendor.
|
| 10 |
}
|
| 1 |
{
|
| 2 |
"mp2migrator.js": "mp2migrator.dc0d6e2b.js",
|
| 3 |
+
"public.js": "public.ea9ffa3f.js",
|
| 4 |
+
"admin.js": "admin.d5dc3994.js",
|
| 5 |
+
"admin_vendor.js": "admin_vendor.2bc811e8.js",
|
| 6 |
"form_editor.js": "form_editor.13982476.js",
|
| 7 |
"mailpoet.js": "mailpoet.a55b11ee.js",
|
| 8 |
"newsletter_editor.js": "newsletter_editor.1de7c9b5.js",
|
| 9 |
+
"vendor.js": "vendor.e3b41dc0.js"
|
| 10 |
}
|
assets/js/{public.d12800d0.js → public.ea9ffa3f.js}
RENAMED
|
@@ -1910,6 +1910,19 @@
|
|
| 1910 |
jQuery
|
| 1911 |
) {
|
| 1912 |
jQuery(function ($) { // eslint-disable-line func-names
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1913 |
function isSameDomain(url) {
|
| 1914 |
var link = document.createElement('a');
|
| 1915 |
link.href = url;
|
|
@@ -1938,7 +1951,12 @@
|
|
| 1938 |
// non ajax post request
|
| 1939 |
return true;
|
| 1940 |
}
|
| 1941 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1942 |
MailPoet.Ajax.post({
|
| 1943 |
url: window.MailPoetForm.ajax_url,
|
| 1944 |
token: formData.token,
|
|
@@ -1952,6 +1970,11 @@
|
|
| 1952 |
return error.message;
|
| 1953 |
}).join('<br />')
|
| 1954 |
).show();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1955 |
}).done(function (response) { // eslint-disable-line func-names
|
| 1956 |
// successfully subscribed
|
| 1957 |
if (
|
|
@@ -1969,6 +1992,10 @@
|
|
| 1969 |
form.trigger('reset');
|
| 1970 |
// reset validation
|
| 1971 |
parsley.reset();
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1972 |
|
| 1973 |
// resize iframe
|
| 1974 |
if (
|
| 1910 |
jQuery
|
| 1911 |
) {
|
| 1912 |
jQuery(function ($) { // eslint-disable-line func-names
|
| 1913 |
+
window.reCaptchaCallback = function reCaptchaCallback() {
|
| 1914 |
+
$('.mailpoet_recaptcha').each(function () { // eslint-disable-line func-names
|
| 1915 |
+
var sitekey = $(this).attr('data-sitekey');
|
| 1916 |
+
var container = $(this).find('> .mailpoet_recaptcha_container').get(0);
|
| 1917 |
+
var field = $(this).find('> .mailpoet_recaptcha_field');
|
| 1918 |
+
var widgetId;
|
| 1919 |
+
if (sitekey) {
|
| 1920 |
+
widgetId = window.grecaptcha.render(container, { sitekey: sitekey, size: 'compact' });
|
| 1921 |
+
field.val(widgetId);
|
| 1922 |
+
}
|
| 1923 |
+
});
|
| 1924 |
+
};
|
| 1925 |
+
|
| 1926 |
function isSameDomain(url) {
|
| 1927 |
var link = document.createElement('a');
|
| 1928 |
link.href = url;
|
| 1951 |
// non ajax post request
|
| 1952 |
return true;
|
| 1953 |
}
|
| 1954 |
+
|
| 1955 |
+
if (window.grecaptcha && formData.recaptcha) {
|
| 1956 |
+
formData.data.recaptcha = window.grecaptcha.getResponse(formData.recaptcha);
|
| 1957 |
+
}
|
| 1958 |
+
|
| 1959 |
+
// ajax request
|
| 1960 |
MailPoet.Ajax.post({
|
| 1961 |
url: window.MailPoetForm.ajax_url,
|
| 1962 |
token: formData.token,
|
| 1970 |
return error.message;
|
| 1971 |
}).join('<br />')
|
| 1972 |
).show();
|
| 1973 |
+
}).done(function (response) { // eslint-disable-line func-names
|
| 1974 |
+
if (window.grecaptcha && formData.recaptcha) {
|
| 1975 |
+
window.grecaptcha.reset(formData.recaptcha);
|
| 1976 |
+
}
|
| 1977 |
+
return response;
|
| 1978 |
}).done(function (response) { // eslint-disable-line func-names
|
| 1979 |
// successfully subscribed
|
| 1980 |
if (
|
| 1992 |
form.trigger('reset');
|
| 1993 |
// reset validation
|
| 1994 |
parsley.reset();
|
| 1995 |
+
// reset captcha
|
| 1996 |
+
if (window.grecaptcha && formData.recaptcha) {
|
| 1997 |
+
window.grecaptcha.reset(formData.recaptcha);
|
| 1998 |
+
}
|
| 1999 |
|
| 2000 |
// resize iframe
|
| 2001 |
if (
|
assets/js/{vendor.ae69bbf6.js → vendor.e3b41dc0.js}
RENAMED
|
@@ -76,7 +76,7 @@
|
|
| 76 |
/******/ script.charset = 'utf-8';
|
| 77 |
/******/ script.async = true;
|
| 78 |
|
| 79 |
-
/******/ script.src = __webpack_require__.p + "" + ({"0":"admin","1":"admin_vendor","2":"form_editor","3":"mailpoet","4":"newsletter_editor"}[chunkId]||chunkId) + "." + {"0":"
|
| 80 |
/******/ head.appendChild(script);
|
| 81 |
/******/ }
|
| 82 |
/******/ };
|
| 76 |
/******/ script.charset = 'utf-8';
|
| 77 |
/******/ script.async = true;
|
| 78 |
|
| 79 |
+
/******/ script.src = __webpack_require__.p + "" + ({"0":"admin","1":"admin_vendor","2":"form_editor","3":"mailpoet","4":"newsletter_editor"}[chunkId]||chunkId) + "." + {"0":"d5dc3994","1":"2bc811e8","2":"13982476","3":"a55b11ee","4":"1de7c9b5"}[chunkId] + ".chunk.js";
|
| 80 |
/******/ head.appendChild(script);
|
| 81 |
/******/ }
|
| 82 |
/******/ };
|
lang/mailpoet-ca.mo
CHANGED
|
Binary file
|
lang/mailpoet-da_DK.mo
CHANGED
|
Binary file
|
lang/mailpoet-de_DE.mo
CHANGED
|
Binary file
|
lang/mailpoet-en_GB.mo
CHANGED
|
Binary file
|
lang/mailpoet-es_ES.mo
CHANGED
|
Binary file
|
lang/mailpoet-fa_IR.mo
CHANGED
|
Binary file
|
lang/mailpoet-fr_CA.mo
CHANGED
|
Binary file
|
lang/mailpoet-fr_FR.mo
CHANGED
|
Binary file
|
lang/mailpoet-it_IT.mo
CHANGED
|
Binary file
|
lang/mailpoet-ja.mo
CHANGED
|
Binary file
|
lang/mailpoet-nl_NL.mo
CHANGED
|
Binary file
|
lang/mailpoet-pl_PL.mo
CHANGED
|
Binary file
|
lang/mailpoet-pt_BR.mo
CHANGED
|
Binary file
|
lang/mailpoet-pt_PT.mo
CHANGED
|
Binary file
|
lang/mailpoet-ru_RU.mo
CHANGED
|
Binary file
|
lang/mailpoet-sq.mo
CHANGED
|
Binary file
|
lang/mailpoet-sv_SE.mo
CHANGED
|
Binary file
|
lang/mailpoet-tr_TR.mo
CHANGED
|
Binary file
|
lang/mailpoet.pot
CHANGED
|
@@ -4,7 +4,7 @@ msgid ""
|
|
| 4 |
msgstr ""
|
| 5 |
"Project-Id-Version: \n"
|
| 6 |
"Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
|
| 7 |
-
"POT-Creation-Date: 2018-01-
|
| 8 |
"MIME-Version: 1.0\n"
|
| 9 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 10 |
"Content-Transfer-Encoding: 8bit\n"
|
|
@@ -30,25 +30,25 @@ msgstr ""
|
|
| 30 |
msgid "Invalid API version."
|
| 31 |
msgstr ""
|
| 32 |
|
| 33 |
-
#: lib/API/JSON/API.php:
|
| 34 |
msgid ""
|
| 35 |
"Sorry, but we couldn't connect to the MailPoet server. Please refresh the "
|
| 36 |
"web page and try again."
|
| 37 |
msgstr ""
|
| 38 |
|
| 39 |
-
#: lib/API/JSON/API.php:
|
| 40 |
msgid "Invalid API request."
|
| 41 |
msgstr ""
|
| 42 |
|
| 43 |
-
#: lib/API/JSON/API.php:
|
| 44 |
msgid "Invalid API endpoint."
|
| 45 |
msgstr ""
|
| 46 |
|
| 47 |
-
#: lib/API/JSON/API.php:
|
| 48 |
msgid "Invalid API endpoint method."
|
| 49 |
msgstr ""
|
| 50 |
|
| 51 |
-
#: lib/API/JSON/API.php:
|
| 52 |
msgid "You do not have the required permissions."
|
| 53 |
msgstr ""
|
| 54 |
|
|
@@ -205,25 +205,33 @@ msgstr ""
|
|
| 205 |
msgid "You have not specified any settings to be saved."
|
| 206 |
msgstr ""
|
| 207 |
|
| 208 |
-
#: lib/API/JSON/v1/Subscribers.php:
|
| 209 |
-
#: lib/API/JSON/v1/Subscribers.php:
|
| 210 |
#: lib/API/MP/v1/API.php:52 lib/API/MP/v1/API.php:97 lib/API/MP/v1/API.php:225
|
| 211 |
msgid "This subscriber does not exist."
|
| 212 |
msgstr ""
|
| 213 |
|
| 214 |
-
#: lib/API/JSON/v1/Subscribers.php:
|
| 215 |
msgid "Please specify a valid form ID."
|
| 216 |
msgstr ""
|
| 217 |
|
| 218 |
-
#: lib/API/JSON/v1/Subscribers.php:
|
| 219 |
msgid "Please leave the first field empty."
|
| 220 |
msgstr ""
|
| 221 |
|
| 222 |
-
#: lib/API/JSON/v1/Subscribers.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 223 |
msgid "Please select a list."
|
| 224 |
msgstr ""
|
| 225 |
|
| 226 |
-
#: lib/API/JSON/v1/Subscribers.php:
|
| 227 |
msgid "You need to wait %d seconds before subscribing again."
|
| 228 |
msgstr ""
|
| 229 |
|
|
@@ -291,7 +299,7 @@ msgstr ""
|
|
| 291 |
msgid "Manage segments"
|
| 292 |
msgstr ""
|
| 293 |
|
| 294 |
-
#: lib/Config/Capabilities.php:67 lib/Config/Menu.php:
|
| 295 |
msgid "MailPoet"
|
| 296 |
msgstr ""
|
| 297 |
|
|
@@ -392,80 +400,80 @@ msgstr[1] ""
|
|
| 392 |
msgid "Settings imported"
|
| 393 |
msgstr ""
|
| 394 |
|
| 395 |
-
#: lib/Config/Menu.php:
|
| 396 |
msgid "Emails"
|
| 397 |
msgstr ""
|
| 398 |
|
| 399 |
-
#: lib/Config/Menu.php:
|
| 400 |
#: views/newsletter/templates/components/sidebar/styles.hbs:75
|
| 401 |
#: views/newsletters.html:123
|
| 402 |
msgid "Newsletter"
|
| 403 |
msgstr ""
|
| 404 |
|
| 405 |
-
#: lib/Config/Menu.php:
|
| 406 |
msgid "Newsletter Editor"
|
| 407 |
msgstr ""
|
| 408 |
|
| 409 |
-
#: lib/Config/Menu.php:
|
| 410 |
#: views/mp2migration.html:14
|
| 411 |
msgid "Forms"
|
| 412 |
msgstr ""
|
| 413 |
|
| 414 |
-
#: lib/Config/Menu.php:
|
| 415 |
msgid "Form Editor"
|
| 416 |
msgstr ""
|
| 417 |
|
| 418 |
-
#: lib/Config/Menu.php:
|
| 419 |
#: views/subscribers/subscribers.html:18
|
| 420 |
msgid "Subscribers"
|
| 421 |
msgstr ""
|
| 422 |
|
| 423 |
-
#: lib/Config/Menu.php:
|
| 424 |
#: views/subscribers/importExport/import.html:7
|
| 425 |
#: views/subscribers/subscribers.html:95
|
| 426 |
msgid "Import"
|
| 427 |
msgstr ""
|
| 428 |
|
| 429 |
-
#: lib/Config/Menu.php:
|
| 430 |
#: views/subscribers/importExport/export.html:6
|
| 431 |
#: views/subscribers/importExport/export.html:96
|
| 432 |
#: views/subscribers/subscribers.html:96
|
| 433 |
msgid "Export"
|
| 434 |
msgstr ""
|
| 435 |
|
| 436 |
-
#: lib/Config/Menu.php:
|
| 437 |
#: views/newsletters.html:66 views/newsletters.html:168 views/segments.html:13
|
| 438 |
#: views/subscribers/subscribers.html:67
|
| 439 |
msgid "Lists"
|
| 440 |
msgstr ""
|
| 441 |
|
| 442 |
-
#: lib/Config/Menu.php:
|
| 443 |
#: views/mp2migration.html:15 views/newsletters.html:67 views/settings.html:6
|
| 444 |
msgid "Settings"
|
| 445 |
msgstr ""
|
| 446 |
|
| 447 |
-
#: lib/Config/Menu.php:
|
| 448 |
msgid "Help"
|
| 449 |
msgstr ""
|
| 450 |
|
| 451 |
-
#: lib/Config/Menu.php:
|
| 452 |
msgid "Premium"
|
| 453 |
msgstr ""
|
| 454 |
|
| 455 |
-
#: lib/Config/Menu.php:
|
| 456 |
#: views/welcome.html:12
|
| 457 |
msgid "Welcome"
|
| 458 |
msgstr ""
|
| 459 |
|
| 460 |
-
#: lib/Config/Menu.php:
|
| 461 |
msgid "Update"
|
| 462 |
msgstr ""
|
| 463 |
|
| 464 |
-
#: lib/Config/Menu.php:
|
| 465 |
msgid "Migration"
|
| 466 |
msgstr ""
|
| 467 |
|
| 468 |
-
#: lib/Config/Menu.php:
|
| 469 |
msgid "In any WordPress role"
|
| 470 |
msgstr ""
|
| 471 |
|
|
@@ -475,11 +483,11 @@ msgid ""
|
|
| 475 |
"might work within a MultiSite environment, we don’t support it."
|
| 476 |
msgstr ""
|
| 477 |
|
| 478 |
-
#: lib/Config/Populator.php:
|
| 479 |
msgid "My First List"
|
| 480 |
msgstr ""
|
| 481 |
|
| 482 |
-
#: lib/Config/Populator.php:
|
| 483 |
msgid "This list is automatically created when you install MailPoet."
|
| 484 |
msgstr ""
|
| 485 |
|
|
@@ -1220,7 +1228,7 @@ msgstr ""
|
|
| 1220 |
msgid "December"
|
| 1221 |
msgstr ""
|
| 1222 |
|
| 1223 |
-
#: lib/Form/Renderer.php:
|
| 1224 |
msgid "Please leave this field empty"
|
| 1225 |
msgstr ""
|
| 1226 |
|
|
@@ -1232,27 +1240,27 @@ msgstr ""
|
|
| 1232 |
msgid "END Scripts"
|
| 1233 |
msgstr ""
|
| 1234 |
|
| 1235 |
-
#: lib/Form/Widget.php:
|
| 1236 |
msgid "MailPoet Form"
|
| 1237 |
msgstr ""
|
| 1238 |
|
| 1239 |
-
#: lib/Form/Widget.php:
|
| 1240 |
msgid "Add a newsletter subscription form"
|
| 1241 |
msgstr ""
|
| 1242 |
|
| 1243 |
-
#: lib/Form/Widget.php:
|
| 1244 |
msgid "An error has happened while performing a request, please try again later."
|
| 1245 |
msgstr ""
|
| 1246 |
|
| 1247 |
-
#: lib/Form/Widget.php:
|
| 1248 |
msgid "Subscribe to Our Newsletter"
|
| 1249 |
msgstr ""
|
| 1250 |
|
| 1251 |
-
#: lib/Form/Widget.php:
|
| 1252 |
msgid "Title:"
|
| 1253 |
msgstr ""
|
| 1254 |
|
| 1255 |
-
#: lib/Form/Widget.php:
|
| 1256 |
msgid "Create a new form"
|
| 1257 |
msgstr ""
|
| 1258 |
|
|
@@ -1936,9 +1944,9 @@ msgstr ""
|
|
| 1936 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:79
|
| 1937 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:221
|
| 1938 |
#: views/premium.html:56 views/settings/advanced.html:111
|
| 1939 |
-
#: views/settings/advanced.html:151 views/settings/
|
| 1940 |
-
#: views/settings/
|
| 1941 |
-
#: views/subscribers/importExport/export.html:33
|
| 1942 |
#: views/subscribers/importExport/import/step2.html:63
|
| 1943 |
msgid "Yes"
|
| 1944 |
msgstr ""
|
|
@@ -1955,10 +1963,10 @@ msgstr ""
|
|
| 1955 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:165
|
| 1956 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:227
|
| 1957 |
#: views/premium.html:62 views/premium.html:63 views/settings/advanced.html:122
|
| 1958 |
-
#: views/settings/advanced.html:162 views/settings/
|
| 1959 |
-
#: views/settings/bounce.html:
|
| 1960 |
-
#: views/settings/mta.html:
|
| 1961 |
-
#: views/subscribers/importExport/export.html:38
|
| 1962 |
#: views/subscribers/importExport/import/step2.html:67
|
| 1963 |
msgid "No"
|
| 1964 |
msgstr ""
|
|
@@ -4225,17 +4233,41 @@ msgid ""
|
|
| 4225 |
"help!"
|
| 4226 |
msgstr ""
|
| 4227 |
|
| 4228 |
-
#: views/settings/advanced.html:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 4229 |
msgid "Reinstall from scratch"
|
| 4230 |
msgstr ""
|
| 4231 |
|
| 4232 |
-
#: views/settings/advanced.html:
|
| 4233 |
msgid ""
|
| 4234 |
"Want to start from the beginning? This will completely delete MailPoet and "
|
| 4235 |
"reinstall it from scratch. Remember: you will lose all of your data!"
|
| 4236 |
msgstr ""
|
| 4237 |
|
| 4238 |
-
#: views/settings/advanced.html:
|
| 4239 |
msgid "Reinstall now..."
|
| 4240 |
msgstr ""
|
| 4241 |
|
|
@@ -4852,11 +4884,11 @@ msgstr ""
|
|
| 4852 |
msgid "Save settings"
|
| 4853 |
msgstr ""
|
| 4854 |
|
| 4855 |
-
#: views/settings.html:
|
| 4856 |
msgid "Settings saved"
|
| 4857 |
msgstr ""
|
| 4858 |
|
| 4859 |
-
#: views/settings.html:
|
| 4860 |
msgid ""
|
| 4861 |
"Are you sure? All of your MailPoet data will be permanently erased "
|
| 4862 |
"(newsletters, statistics, subscribers, etc.)."
|
|
@@ -5290,7 +5322,7 @@ msgstr ""
|
|
| 5290 |
msgid "Care to Give Your Opinion?"
|
| 5291 |
msgstr ""
|
| 5292 |
|
| 5293 |
-
#: views/update.html:
|
| 5294 |
msgid "Awesome! Now, take me to MailPoet"
|
| 5295 |
msgstr ""
|
| 5296 |
|
|
@@ -5376,22 +5408,22 @@ msgctxt "Error code (inside parentheses)"
|
|
| 5376 |
msgid "code: %s"
|
| 5377 |
msgstr ""
|
| 5378 |
|
| 5379 |
-
#: lib/Config/Menu.php:
|
| 5380 |
msgctxt "newsletters per page (screen options)"
|
| 5381 |
msgid "Number of newsletters per page"
|
| 5382 |
msgstr ""
|
| 5383 |
|
| 5384 |
-
#: lib/Config/Menu.php:
|
| 5385 |
msgctxt "forms per page (screen options)"
|
| 5386 |
msgid "Number of forms per page"
|
| 5387 |
msgstr ""
|
| 5388 |
|
| 5389 |
-
#: lib/Config/Menu.php:
|
| 5390 |
msgctxt "subscribers per page (screen options)"
|
| 5391 |
msgid "Number of subscribers per page"
|
| 5392 |
msgstr ""
|
| 5393 |
|
| 5394 |
-
#: lib/Config/Menu.php:
|
| 5395 |
msgctxt "segments per page (screen options)"
|
| 5396 |
msgid "Number of segments per page"
|
| 5397 |
msgstr ""
|
| 4 |
msgstr ""
|
| 5 |
"Project-Id-Version: \n"
|
| 6 |
"Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
|
| 7 |
+
"POT-Creation-Date: 2018-01-23 14:57:38+00:00\n"
|
| 8 |
"MIME-Version: 1.0\n"
|
| 9 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 10 |
"Content-Transfer-Encoding: 8bit\n"
|
| 30 |
msgid "Invalid API version."
|
| 31 |
msgstr ""
|
| 32 |
|
| 33 |
+
#: lib/API/JSON/API.php:67
|
| 34 |
msgid ""
|
| 35 |
"Sorry, but we couldn't connect to the MailPoet server. Please refresh the "
|
| 36 |
"web page and try again."
|
| 37 |
msgstr ""
|
| 38 |
|
| 39 |
+
#: lib/API/JSON/API.php:94
|
| 40 |
msgid "Invalid API request."
|
| 41 |
msgstr ""
|
| 42 |
|
| 43 |
+
#: lib/API/JSON/API.php:135
|
| 44 |
msgid "Invalid API endpoint."
|
| 45 |
msgstr ""
|
| 46 |
|
| 47 |
+
#: lib/API/JSON/API.php:141
|
| 48 |
msgid "Invalid API endpoint method."
|
| 49 |
msgstr ""
|
| 50 |
|
| 51 |
+
#: lib/API/JSON/API.php:147 lib/Router/Router.php:45
|
| 52 |
msgid "You do not have the required permissions."
|
| 53 |
msgstr ""
|
| 54 |
|
| 205 |
msgid "You have not specified any settings to be saved."
|
| 206 |
msgstr ""
|
| 207 |
|
| 208 |
+
#: lib/API/JSON/v1/Subscribers.php:34 lib/API/JSON/v1/Subscribers.php:207
|
| 209 |
+
#: lib/API/JSON/v1/Subscribers.php:223 lib/API/JSON/v1/Subscribers.php:239
|
| 210 |
#: lib/API/MP/v1/API.php:52 lib/API/MP/v1/API.php:97 lib/API/MP/v1/API.php:225
|
| 211 |
msgid "This subscriber does not exist."
|
| 212 |
msgstr ""
|
| 213 |
|
| 214 |
+
#: lib/API/JSON/v1/Subscribers.php:84
|
| 215 |
msgid "Please specify a valid form ID."
|
| 216 |
msgstr ""
|
| 217 |
|
| 218 |
+
#: lib/API/JSON/v1/Subscribers.php:89
|
| 219 |
msgid "Please leave the first field empty."
|
| 220 |
msgstr ""
|
| 221 |
|
| 222 |
+
#: lib/API/JSON/v1/Subscribers.php:95
|
| 223 |
+
msgid "Please check the captcha."
|
| 224 |
+
msgstr ""
|
| 225 |
+
|
| 226 |
+
#: lib/API/JSON/v1/Subscribers.php:109 lib/API/JSON/v1/Subscribers.php:115
|
| 227 |
+
msgid "Error while validating the captcha."
|
| 228 |
+
msgstr ""
|
| 229 |
+
|
| 230 |
+
#: lib/API/JSON/v1/Subscribers.php:131 views/form/editor.html:57
|
| 231 |
msgid "Please select a list."
|
| 232 |
msgstr ""
|
| 233 |
|
| 234 |
+
#: lib/API/JSON/v1/Subscribers.php:143
|
| 235 |
msgid "You need to wait %d seconds before subscribing again."
|
| 236 |
msgstr ""
|
| 237 |
|
| 299 |
msgid "Manage segments"
|
| 300 |
msgstr ""
|
| 301 |
|
| 302 |
+
#: lib/Config/Capabilities.php:67 lib/Config/Menu.php:640 views/premium.html:41
|
| 303 |
msgid "MailPoet"
|
| 304 |
msgstr ""
|
| 305 |
|
| 400 |
msgid "Settings imported"
|
| 401 |
msgstr ""
|
| 402 |
|
| 403 |
+
#: lib/Config/Menu.php:86 lib/Config/Menu.php:87 views/newsletters.html:24
|
| 404 |
msgid "Emails"
|
| 405 |
msgstr ""
|
| 406 |
|
| 407 |
+
#: lib/Config/Menu.php:111 lib/Newsletter/Shortcodes/ShortcodesHelper.php:33
|
| 408 |
#: views/newsletter/templates/components/sidebar/styles.hbs:75
|
| 409 |
#: views/newsletters.html:123
|
| 410 |
msgid "Newsletter"
|
| 411 |
msgstr ""
|
| 412 |
|
| 413 |
+
#: lib/Config/Menu.php:112 views/newsletter/editor.html:228
|
| 414 |
msgid "Newsletter Editor"
|
| 415 |
msgstr ""
|
| 416 |
|
| 417 |
+
#: lib/Config/Menu.php:124 lib/Config/Menu.php:125 views/forms.html:25
|
| 418 |
#: views/mp2migration.html:14
|
| 419 |
msgid "Forms"
|
| 420 |
msgstr ""
|
| 421 |
|
| 422 |
+
#: lib/Config/Menu.php:149 lib/Config/Menu.php:150
|
| 423 |
msgid "Form Editor"
|
| 424 |
msgstr ""
|
| 425 |
|
| 426 |
+
#: lib/Config/Menu.php:162 lib/Config/Menu.php:163
|
| 427 |
#: views/subscribers/subscribers.html:18
|
| 428 |
msgid "Subscribers"
|
| 429 |
msgstr ""
|
| 430 |
|
| 431 |
+
#: lib/Config/Menu.php:187 lib/Config/Menu.php:188
|
| 432 |
#: views/subscribers/importExport/import.html:7
|
| 433 |
#: views/subscribers/subscribers.html:95
|
| 434 |
msgid "Import"
|
| 435 |
msgstr ""
|
| 436 |
|
| 437 |
+
#: lib/Config/Menu.php:200 lib/Config/Menu.php:201
|
| 438 |
#: views/subscribers/importExport/export.html:6
|
| 439 |
#: views/subscribers/importExport/export.html:96
|
| 440 |
#: views/subscribers/subscribers.html:96
|
| 441 |
msgid "Export"
|
| 442 |
msgstr ""
|
| 443 |
|
| 444 |
+
#: lib/Config/Menu.php:213 lib/Config/Menu.php:214 views/forms.html:53
|
| 445 |
#: views/newsletters.html:66 views/newsletters.html:168 views/segments.html:13
|
| 446 |
#: views/subscribers/subscribers.html:67
|
| 447 |
msgid "Lists"
|
| 448 |
msgstr ""
|
| 449 |
|
| 450 |
+
#: lib/Config/Menu.php:240 lib/Config/Menu.php:241 views/form/editor.html:37
|
| 451 |
#: views/mp2migration.html:15 views/newsletters.html:67 views/settings.html:6
|
| 452 |
msgid "Settings"
|
| 453 |
msgstr ""
|
| 454 |
|
| 455 |
+
#: lib/Config/Menu.php:253 lib/Config/Menu.php:254 views/help.html:5
|
| 456 |
msgid "Help"
|
| 457 |
msgstr ""
|
| 458 |
|
| 459 |
+
#: lib/Config/Menu.php:267 lib/Config/Menu.php:268
|
| 460 |
msgid "Premium"
|
| 461 |
msgstr ""
|
| 462 |
|
| 463 |
+
#: lib/Config/Menu.php:280 lib/Config/Menu.php:281 views/update.html:12
|
| 464 |
#: views/welcome.html:12
|
| 465 |
msgid "Welcome"
|
| 466 |
msgstr ""
|
| 467 |
|
| 468 |
+
#: lib/Config/Menu.php:293 lib/Config/Menu.php:294 views/segments.html:43
|
| 469 |
msgid "Update"
|
| 470 |
msgstr ""
|
| 471 |
|
| 472 |
+
#: lib/Config/Menu.php:306
|
| 473 |
msgid "Migration"
|
| 474 |
msgstr ""
|
| 475 |
|
| 476 |
+
#: lib/Config/Menu.php:562
|
| 477 |
msgid "In any WordPress role"
|
| 478 |
msgstr ""
|
| 479 |
|
| 483 |
"might work within a MultiSite environment, we don’t support it."
|
| 484 |
msgstr ""
|
| 485 |
|
| 486 |
+
#: lib/Config/Populator.php:168
|
| 487 |
msgid "My First List"
|
| 488 |
msgstr ""
|
| 489 |
|
| 490 |
+
#: lib/Config/Populator.php:170
|
| 491 |
msgid "This list is automatically created when you install MailPoet."
|
| 492 |
msgstr ""
|
| 493 |
|
| 1228 |
msgid "December"
|
| 1229 |
msgstr ""
|
| 1230 |
|
| 1231 |
+
#: lib/Form/Renderer.php:46
|
| 1232 |
msgid "Please leave this field empty"
|
| 1233 |
msgstr ""
|
| 1234 |
|
| 1240 |
msgid "END Scripts"
|
| 1241 |
msgstr ""
|
| 1242 |
|
| 1243 |
+
#: lib/Form/Widget.php:24
|
| 1244 |
msgid "MailPoet Form"
|
| 1245 |
msgstr ""
|
| 1246 |
|
| 1247 |
+
#: lib/Form/Widget.php:25
|
| 1248 |
msgid "Add a newsletter subscription form"
|
| 1249 |
msgstr ""
|
| 1250 |
|
| 1251 |
+
#: lib/Form/Widget.php:129
|
| 1252 |
msgid "An error has happened while performing a request, please try again later."
|
| 1253 |
msgstr ""
|
| 1254 |
|
| 1255 |
+
#: lib/Form/Widget.php:183
|
| 1256 |
msgid "Subscribe to Our Newsletter"
|
| 1257 |
msgstr ""
|
| 1258 |
|
| 1259 |
+
#: lib/Form/Widget.php:198
|
| 1260 |
msgid "Title:"
|
| 1261 |
msgstr ""
|
| 1262 |
|
| 1263 |
+
#: lib/Form/Widget.php:218
|
| 1264 |
msgid "Create a new form"
|
| 1265 |
msgstr ""
|
| 1266 |
|
| 1944 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:79
|
| 1945 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:221
|
| 1946 |
#: views/premium.html:56 views/settings/advanced.html:111
|
| 1947 |
+
#: views/settings/advanced.html:151 views/settings/advanced.html:191
|
| 1948 |
+
#: views/settings/bounce.html:190 views/settings/mta.html:588
|
| 1949 |
+
#: views/settings/signup.html:34 views/subscribers/importExport/export.html:33
|
| 1950 |
#: views/subscribers/importExport/import/step2.html:63
|
| 1951 |
msgid "Yes"
|
| 1952 |
msgstr ""
|
| 1963 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:165
|
| 1964 |
#: views/newsletter/templates/blocks/posts/settingsDisplayOptions.hbs:227
|
| 1965 |
#: views/premium.html:62 views/premium.html:63 views/settings/advanced.html:122
|
| 1966 |
+
#: views/settings/advanced.html:162 views/settings/advanced.html:202
|
| 1967 |
+
#: views/settings/bounce.html:148 views/settings/bounce.html:179
|
| 1968 |
+
#: views/settings/mta.html:545 views/settings/mta.html:599
|
| 1969 |
+
#: views/settings/signup.html:46 views/subscribers/importExport/export.html:38
|
| 1970 |
#: views/subscribers/importExport/import/step2.html:67
|
| 1971 |
msgid "No"
|
| 1972 |
msgstr ""
|
| 4233 |
"help!"
|
| 4234 |
msgstr ""
|
| 4235 |
|
| 4236 |
+
#: views/settings/advanced.html:171
|
| 4237 |
+
msgid "Enable reCAPTCHA"
|
| 4238 |
+
msgstr ""
|
| 4239 |
+
|
| 4240 |
+
#: views/settings/advanced.html:174
|
| 4241 |
+
msgid "Use reCAPTCHA to protect MailPoet subscription forms."
|
| 4242 |
+
msgstr ""
|
| 4243 |
+
|
| 4244 |
+
#: views/settings/advanced.html:178
|
| 4245 |
+
msgid "Sign up for an API key pair here."
|
| 4246 |
+
msgstr ""
|
| 4247 |
+
|
| 4248 |
+
#: views/settings/advanced.html:210
|
| 4249 |
+
msgid "Your reCAPTCHA Site Key"
|
| 4250 |
+
msgstr ""
|
| 4251 |
+
|
| 4252 |
+
#: views/settings/advanced.html:218
|
| 4253 |
+
msgid "Your reCAPTCHA Secret Key"
|
| 4254 |
+
msgstr ""
|
| 4255 |
+
|
| 4256 |
+
#: views/settings/advanced.html:223
|
| 4257 |
+
msgid "Please fill the reCAPTCHA keys."
|
| 4258 |
+
msgstr ""
|
| 4259 |
+
|
| 4260 |
+
#: views/settings/advanced.html:231
|
| 4261 |
msgid "Reinstall from scratch"
|
| 4262 |
msgstr ""
|
| 4263 |
|
| 4264 |
+
#: views/settings/advanced.html:233
|
| 4265 |
msgid ""
|
| 4266 |
"Want to start from the beginning? This will completely delete MailPoet and "
|
| 4267 |
"reinstall it from scratch. Remember: you will lose all of your data!"
|
| 4268 |
msgstr ""
|
| 4269 |
|
| 4270 |
+
#: views/settings/advanced.html:241
|
| 4271 |
msgid "Reinstall now..."
|
| 4272 |
msgstr ""
|
| 4273 |
|
| 4884 |
msgid "Save settings"
|
| 4885 |
msgstr ""
|
| 4886 |
|
| 4887 |
+
#: views/settings.html:108
|
| 4888 |
msgid "Settings saved"
|
| 4889 |
msgstr ""
|
| 4890 |
|
| 4891 |
+
#: views/settings.html:175
|
| 4892 |
msgid ""
|
| 4893 |
"Are you sure? All of your MailPoet data will be permanently erased "
|
| 4894 |
"(newsletters, statistics, subscribers, etc.)."
|
| 5322 |
msgid "Care to Give Your Opinion?"
|
| 5323 |
msgstr ""
|
| 5324 |
|
| 5325 |
+
#: views/update.html:59 views/welcome.html:60
|
| 5326 |
msgid "Awesome! Now, take me to MailPoet"
|
| 5327 |
msgstr ""
|
| 5328 |
|
| 5408 |
msgid "code: %s"
|
| 5409 |
msgstr ""
|
| 5410 |
|
| 5411 |
+
#: lib/Config/Menu.php:99
|
| 5412 |
msgctxt "newsletters per page (screen options)"
|
| 5413 |
msgid "Number of newsletters per page"
|
| 5414 |
msgstr ""
|
| 5415 |
|
| 5416 |
+
#: lib/Config/Menu.php:137
|
| 5417 |
msgctxt "forms per page (screen options)"
|
| 5418 |
msgid "Number of forms per page"
|
| 5419 |
msgstr ""
|
| 5420 |
|
| 5421 |
+
#: lib/Config/Menu.php:175
|
| 5422 |
msgctxt "subscribers per page (screen options)"
|
| 5423 |
msgid "Number of subscribers per page"
|
| 5424 |
msgstr ""
|
| 5425 |
|
| 5426 |
+
#: lib/Config/Menu.php:226
|
| 5427 |
msgctxt "segments per page (screen options)"
|
| 5428 |
msgid "Number of segments per page"
|
| 5429 |
msgstr ""
|
lib/API/JSON/API.php
CHANGED
|
@@ -2,6 +2,7 @@
|
|
| 2 |
namespace MailPoet\API\JSON;
|
| 3 |
|
| 4 |
use MailPoet\Config\AccessControl;
|
|
|
|
| 5 |
use MailPoet\Util\Helpers;
|
| 6 |
use MailPoet\Util\Security;
|
| 7 |
use MailPoet\WP\Hooks;
|
|
@@ -56,7 +57,13 @@ class API {
|
|
| 56 |
Hooks::doAction('mailpoet_api_setup', array($this));
|
| 57 |
$this->setRequestData($_POST);
|
| 58 |
|
| 59 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
$error_message = __('Sorry, but we couldn\'t connect to the MailPoet server. Please refresh the web page and try again.', 'mailpoet');
|
| 61 |
$error_response = $this->createErrorResponse(Error::UNAUTHORIZED, $error_message, Response::STATUS_UNAUTHORIZED);
|
| 62 |
return $error_response->send();
|
| 2 |
namespace MailPoet\API\JSON;
|
| 3 |
|
| 4 |
use MailPoet\Config\AccessControl;
|
| 5 |
+
use MailPoet\Models\Setting;
|
| 6 |
use MailPoet\Util\Helpers;
|
| 7 |
use MailPoet\Util\Security;
|
| 8 |
use MailPoet\WP\Hooks;
|
| 57 |
Hooks::doAction('mailpoet_api_setup', array($this));
|
| 58 |
$this->setRequestData($_POST);
|
| 59 |
|
| 60 |
+
$ignoreToken = (
|
| 61 |
+
Setting::getValue('re_captcha.enabled') &&
|
| 62 |
+
$this->_request_endpoint === 'subscribers' &&
|
| 63 |
+
$this->_request_method === 'subscribe'
|
| 64 |
+
);
|
| 65 |
+
|
| 66 |
+
if(!$ignoreToken && $this->checkToken() === false) {
|
| 67 |
$error_message = __('Sorry, but we couldn\'t connect to the MailPoet server. Please refresh the web page and try again.', 'mailpoet');
|
| 68 |
$error_response = $this->createErrorResponse(Error::UNAUTHORIZED, $error_message, Response::STATUS_UNAUTHORIZED);
|
| 69 |
return $error_response->send();
|
lib/API/JSON/v1/Subscribers.php
CHANGED
|
@@ -5,9 +5,10 @@ namespace MailPoet\API\JSON\v1;
|
|
| 5 |
use MailPoet\API\JSON\Endpoint as APIEndpoint;
|
| 6 |
use MailPoet\API\JSON\Error as APIError;
|
| 7 |
use MailPoet\Config\AccessControl;
|
| 8 |
-
use MailPoet\Listing;
|
| 9 |
use MailPoet\Form\Util\FieldNameObfuscator;
|
|
|
|
| 10 |
use MailPoet\Models\Form;
|
|
|
|
| 11 |
use MailPoet\Models\StatisticsForms;
|
| 12 |
use MailPoet\Models\Subscriber;
|
| 13 |
use MailPoet\Newsletter\Scheduler\Scheduler;
|
|
@@ -76,6 +77,8 @@ class Subscribers extends APIEndpoint {
|
|
| 76 |
$form = Form::findOne($form_id);
|
| 77 |
unset($data['form_id']);
|
| 78 |
|
|
|
|
|
|
|
| 79 |
if(!$form) {
|
| 80 |
return $this->badRequest(array(
|
| 81 |
APIError::BAD_REQUEST => __('Please specify a valid form ID.', 'mailpoet')
|
|
@@ -87,6 +90,33 @@ class Subscribers extends APIEndpoint {
|
|
| 87 |
));
|
| 88 |
}
|
| 89 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
$data = $this->deobfuscateFormPayload($data);
|
| 91 |
|
| 92 |
$segment_ids = (!empty($data['segments'])
|
|
@@ -96,7 +126,6 @@ class Subscribers extends APIEndpoint {
|
|
| 96 |
$segment_ids = $form->filterSegments($segment_ids);
|
| 97 |
unset($data['segments']);
|
| 98 |
|
| 99 |
-
|
| 100 |
if(empty($segment_ids)) {
|
| 101 |
return $this->badRequest(array(
|
| 102 |
APIError::BAD_REQUEST => __('Please select a list.', 'mailpoet')
|
| 5 |
use MailPoet\API\JSON\Endpoint as APIEndpoint;
|
| 6 |
use MailPoet\API\JSON\Error as APIError;
|
| 7 |
use MailPoet\Config\AccessControl;
|
|
|
|
| 8 |
use MailPoet\Form\Util\FieldNameObfuscator;
|
| 9 |
+
use MailPoet\Listing;
|
| 10 |
use MailPoet\Models\Form;
|
| 11 |
+
use MailPoet\Models\Setting;
|
| 12 |
use MailPoet\Models\StatisticsForms;
|
| 13 |
use MailPoet\Models\Subscriber;
|
| 14 |
use MailPoet\Newsletter\Scheduler\Scheduler;
|
| 77 |
$form = Form::findOne($form_id);
|
| 78 |
unset($data['form_id']);
|
| 79 |
|
| 80 |
+
$recaptcha = Setting::getValue('re_captcha');
|
| 81 |
+
|
| 82 |
if(!$form) {
|
| 83 |
return $this->badRequest(array(
|
| 84 |
APIError::BAD_REQUEST => __('Please specify a valid form ID.', 'mailpoet')
|
| 90 |
));
|
| 91 |
}
|
| 92 |
|
| 93 |
+
if(!empty($recaptcha['enabled']) && empty($data['recaptcha'])) {
|
| 94 |
+
return $this->badRequest(array(
|
| 95 |
+
APIError::BAD_REQUEST => __('Please check the captcha.', 'mailpoet')
|
| 96 |
+
));
|
| 97 |
+
}
|
| 98 |
+
|
| 99 |
+
if(!empty($recaptcha['enabled'])) {
|
| 100 |
+
$res = empty($data['recaptcha']) ? $data['recaptcha-no-js'] : $data['recaptcha'];
|
| 101 |
+
$res = wp_remote_post('https://www.google.com/recaptcha/api/siteverify', array(
|
| 102 |
+
'body' => array(
|
| 103 |
+
'secret' => $recaptcha['secret_token'],
|
| 104 |
+
'response' => $res
|
| 105 |
+
)
|
| 106 |
+
));
|
| 107 |
+
if(is_wp_error($res)) {
|
| 108 |
+
return $this->badRequest(array(
|
| 109 |
+
APIError::BAD_REQUEST => __('Error while validating the captcha.', 'mailpoet')
|
| 110 |
+
));
|
| 111 |
+
}
|
| 112 |
+
$res = json_decode(wp_remote_retrieve_body($res));
|
| 113 |
+
if(empty($res->success)) {
|
| 114 |
+
return $this->badRequest(array(
|
| 115 |
+
APIError::BAD_REQUEST => __('Error while validating the captcha.', 'mailpoet')
|
| 116 |
+
));
|
| 117 |
+
}
|
| 118 |
+
}
|
| 119 |
+
|
| 120 |
$data = $this->deobfuscateFormPayload($data);
|
| 121 |
|
| 122 |
$segment_ids = (!empty($data['segments'])
|
| 126 |
$segment_ids = $form->filterSegments($segment_ids);
|
| 127 |
unset($data['segments']);
|
| 128 |
|
|
|
|
| 129 |
if(empty($segment_ids)) {
|
| 130 |
return $this->badRequest(array(
|
| 131 |
APIError::BAD_REQUEST => __('Please select a list.', 'mailpoet')
|
lib/Config/Menu.php
CHANGED
|
@@ -2,6 +2,7 @@
|
|
| 2 |
|
| 3 |
namespace MailPoet\Config;
|
| 4 |
|
|
|
|
| 5 |
use MailPoet\Cron\CronHelper;
|
| 6 |
use MailPoet\Cron\CronTrigger;
|
| 7 |
use MailPoet\Form\Block;
|
|
@@ -376,9 +377,15 @@ class Menu {
|
|
| 376 |
'current_user' => wp_get_current_user(),
|
| 377 |
'redirect_url' => $redirect_url,
|
| 378 |
'sub_menu' => self::MAIN_PAGE_SLUG,
|
| 379 |
-
'is_woocommerce_available' => is_plugin_active('woocommerce/woocommerce.php'),
|
| 380 |
);
|
| 381 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 382 |
$readme_file = Env::$path . '/readme.txt';
|
| 383 |
if(is_readable($readme_file)) {
|
| 384 |
$changelog = Readme::parseChangelog(file_get_contents($readme_file), 1);
|
| 2 |
|
| 3 |
namespace MailPoet\Config;
|
| 4 |
|
| 5 |
+
use Carbon\Carbon;
|
| 6 |
use MailPoet\Cron\CronHelper;
|
| 7 |
use MailPoet\Cron\CronTrigger;
|
| 8 |
use MailPoet\Form\Block;
|
| 377 |
'current_user' => wp_get_current_user(),
|
| 378 |
'redirect_url' => $redirect_url,
|
| 379 |
'sub_menu' => self::MAIN_PAGE_SLUG,
|
|
|
|
| 380 |
);
|
| 381 |
|
| 382 |
+
$data['is_new_user'] = true;
|
| 383 |
+
if(!empty($data['settings']['installed_at'])) {
|
| 384 |
+
$installed_at = Carbon::createFromTimestamp(strtotime($data['settings']['installed_at']));
|
| 385 |
+
$current_time = Carbon::createFromTimestamp(current_time('timestamp'));
|
| 386 |
+
$data['is_new_user'] = $current_time->diffInDays($installed_at) <= 30;
|
| 387 |
+
}
|
| 388 |
+
|
| 389 |
$readme_file = Env::$path . '/readme.txt';
|
| 390 |
if(is_readable($readme_file)) {
|
| 391 |
$changelog = Readme::parseChangelog(file_get_contents($readme_file), 1);
|
lib/Config/Populator.php
CHANGED
|
@@ -140,6 +140,16 @@ class Populator {
|
|
| 140 |
Setting::setValue('installed_at', date("Y-m-d H:i:s"));
|
| 141 |
}
|
| 142 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 143 |
// reset mailer log
|
| 144 |
MailerLog::resetMailerLog();
|
| 145 |
}
|
| 140 |
Setting::setValue('installed_at', date("Y-m-d H:i:s"));
|
| 141 |
}
|
| 142 |
|
| 143 |
+
// set reCaptcha settings
|
| 144 |
+
$re_captcha = Setting::getValue('re_captcha');
|
| 145 |
+
if(empty($re_captcha)) {
|
| 146 |
+
Setting::setValue('re_captcha', array(
|
| 147 |
+
'enabled' => false,
|
| 148 |
+
'site_token' => '',
|
| 149 |
+
'secret_token' => ''
|
| 150 |
+
));
|
| 151 |
+
}
|
| 152 |
+
|
| 153 |
// reset mailer log
|
| 154 |
MailerLog::resetMailerLog();
|
| 155 |
}
|
lib/Form/Renderer.php
CHANGED
|
@@ -1,6 +1,8 @@
|
|
| 1 |
<?php
|
| 2 |
namespace MailPoet\Form;
|
| 3 |
|
|
|
|
|
|
|
| 4 |
if(!defined('ABSPATH')) exit;
|
| 5 |
|
| 6 |
class Renderer {
|
|
@@ -44,9 +46,30 @@ class Renderer {
|
|
| 44 |
'<label class="mailpoet_hp_email_label">' . __('Please leave this field empty', 'mailpoet') . '<input type="email" name="data[email]"></label>' :
|
| 45 |
'';
|
| 46 |
foreach($blocks as $key => $block) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 47 |
$html .= static::renderBlock($block) . PHP_EOL;
|
| 48 |
}
|
| 49 |
-
|
| 50 |
return $html;
|
| 51 |
}
|
| 52 |
|
| 1 |
<?php
|
| 2 |
namespace MailPoet\Form;
|
| 3 |
|
| 4 |
+
use MailPoet\Models\Setting;
|
| 5 |
+
|
| 6 |
if(!defined('ABSPATH')) exit;
|
| 7 |
|
| 8 |
class Renderer {
|
| 46 |
'<label class="mailpoet_hp_email_label">' . __('Please leave this field empty', 'mailpoet') . '<input type="email" name="data[email]"></label>' :
|
| 47 |
'';
|
| 48 |
foreach($blocks as $key => $block) {
|
| 49 |
+
if($block['type'] == 'submit' && Setting::getValue('re_captcha.enabled')) {
|
| 50 |
+
$site_key = Setting::getValue('re_captcha.site_token');
|
| 51 |
+
$html .= '<div class="mailpoet_recaptcha" data-sitekey="'. $site_key .'">
|
| 52 |
+
<div class="mailpoet_recaptcha_container"></div>
|
| 53 |
+
<noscript>
|
| 54 |
+
<div>
|
| 55 |
+
<div style="width: 302px; height: 422px; position: relative;">
|
| 56 |
+
<div style="width: 302px; height: 422px; position: absolute;">
|
| 57 |
+
<iframe src="https://www.google.com/recaptcha/api/fallback?k='. $site_key .'" frameborder="0" scrolling="no" style="width: 302px; height:422px; border-style: none;">
|
| 58 |
+
</iframe>
|
| 59 |
+
</div>
|
| 60 |
+
</div>
|
| 61 |
+
<div style="width: 300px; height: 60px; border-style: none; bottom: 12px; left: 25px; margin: 0px; padding: 0px; right: 25px; background: #f9f9f9; border: 1px solid #c1c1c1; border-radius: 3px;">
|
| 62 |
+
<textarea id="g-recaptcha-response" name="data[recaptcha]" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid #c1c1c1; margin: 10px 25px; padding: 0px; resize: none;" >
|
| 63 |
+
</textarea>
|
| 64 |
+
</div>
|
| 65 |
+
</div>
|
| 66 |
+
</noscript>
|
| 67 |
+
<input class="mailpoet_recaptcha_field" type="hidden" name="recaptcha">
|
| 68 |
+
</div>';
|
| 69 |
+
}
|
| 70 |
$html .= static::renderBlock($block) . PHP_EOL;
|
| 71 |
}
|
| 72 |
+
|
| 73 |
return $html;
|
| 74 |
}
|
| 75 |
|
lib/Form/Widget.php
CHANGED
|
@@ -7,6 +7,7 @@ use MailPoet\Config\Env;
|
|
| 7 |
use MailPoet\Config\Renderer as ConfigRenderer;
|
| 8 |
use MailPoet\Form\Renderer as FormRenderer;
|
| 9 |
use MailPoet\Models\Form;
|
|
|
|
| 10 |
use MailPoet\Util\Security;
|
| 11 |
use MailPoet\WP\Hooks;
|
| 12 |
|
|
@@ -15,6 +16,8 @@ if(!defined('ABSPATH')) exit;
|
|
| 15 |
class Widget extends \WP_Widget {
|
| 16 |
private $renderer;
|
| 17 |
|
|
|
|
|
|
|
| 18 |
function __construct() {
|
| 19 |
parent::__construct(
|
| 20 |
'mailpoet_form',
|
|
@@ -48,6 +51,7 @@ class Widget extends \WP_Widget {
|
|
| 48 |
wp_print_scripts('jquery');
|
| 49 |
wp_print_scripts('mailpoet_vendor');
|
| 50 |
wp_print_scripts('mailpoet_public');
|
|
|
|
| 51 |
$scripts = ob_get_contents();
|
| 52 |
ob_end_clean();
|
| 53 |
|
|
@@ -108,6 +112,15 @@ class Widget extends \WP_Widget {
|
|
| 108 |
true
|
| 109 |
);
|
| 110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
wp_localize_script('mailpoet_public', 'MailPoetForm', array(
|
| 112 |
'ajax_url' => admin_url('admin-ajax.php'),
|
| 113 |
'is_rtl' => (function_exists('is_rtl') ? (bool)is_rtl() : false)
|
|
@@ -271,7 +284,6 @@ EOL;
|
|
| 271 |
|
| 272 |
if(!empty($body)) {
|
| 273 |
$form_id = $this->id_base . '_' . $form['id'];
|
| 274 |
-
|
| 275 |
$data = array(
|
| 276 |
'form_id' => $form_id,
|
| 277 |
'form_type' => $form_type,
|
|
@@ -320,4 +332,4 @@ EOL;
|
|
| 320 |
return $output;
|
| 321 |
}
|
| 322 |
}
|
| 323 |
-
}
|
| 7 |
use MailPoet\Config\Renderer as ConfigRenderer;
|
| 8 |
use MailPoet\Form\Renderer as FormRenderer;
|
| 9 |
use MailPoet\Models\Form;
|
| 10 |
+
use MailPoet\Models\Setting;
|
| 11 |
use MailPoet\Util\Security;
|
| 12 |
use MailPoet\WP\Hooks;
|
| 13 |
|
| 16 |
class Widget extends \WP_Widget {
|
| 17 |
private $renderer;
|
| 18 |
|
| 19 |
+
const RECAPTCHA_API_URL = 'https://www.google.com/recaptcha/api.js?onload=reCaptchaCallback&render=explicit';
|
| 20 |
+
|
| 21 |
function __construct() {
|
| 22 |
parent::__construct(
|
| 23 |
'mailpoet_form',
|
| 51 |
wp_print_scripts('jquery');
|
| 52 |
wp_print_scripts('mailpoet_vendor');
|
| 53 |
wp_print_scripts('mailpoet_public');
|
| 54 |
+
echo '<script src="'.self::RECAPTCHA_API_URL.'" async defer></script>';
|
| 55 |
$scripts = ob_get_contents();
|
| 56 |
ob_end_clean();
|
| 57 |
|
| 112 |
true
|
| 113 |
);
|
| 114 |
|
| 115 |
+
$captcha = Setting::getValue('re_captcha');
|
| 116 |
+
if(!empty($captcha['enabled'])) {
|
| 117 |
+
wp_enqueue_script(
|
| 118 |
+
'mailpoet_recaptcha',
|
| 119 |
+
self::RECAPTCHA_API_URL,
|
| 120 |
+
array('mailpoet_public')
|
| 121 |
+
);
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
wp_localize_script('mailpoet_public', 'MailPoetForm', array(
|
| 125 |
'ajax_url' => admin_url('admin-ajax.php'),
|
| 126 |
'is_rtl' => (function_exists('is_rtl') ? (bool)is_rtl() : false)
|
| 284 |
|
| 285 |
if(!empty($body)) {
|
| 286 |
$form_id = $this->id_base . '_' . $form['id'];
|
|
|
|
| 287 |
$data = array(
|
| 288 |
'form_id' => $form_id,
|
| 289 |
'form_type' => $form_type,
|
| 332 |
return $output;
|
| 333 |
}
|
| 334 |
}
|
| 335 |
+
}
|
lib/Util/Helpers.php
CHANGED
|
@@ -134,14 +134,16 @@ class Helpers {
|
|
| 134 |
if($capitalise_first_char) {
|
| 135 |
$str[0] = strtoupper($str[0]);
|
| 136 |
}
|
| 137 |
-
|
| 138 |
-
|
|
|
|
| 139 |
}
|
| 140 |
|
| 141 |
static function camelCaseToUnderscore($str) {
|
| 142 |
$str[0] = strtolower($str[0]);
|
| 143 |
-
|
| 144 |
-
|
|
|
|
| 145 |
}
|
| 146 |
|
| 147 |
static function joinObject($object = array()) {
|
| 134 |
if($capitalise_first_char) {
|
| 135 |
$str[0] = strtoupper($str[0]);
|
| 136 |
}
|
| 137 |
+
return preg_replace_callback('/_([a-z])/', function ($c) {
|
| 138 |
+
return strtoupper($c[1]);
|
| 139 |
+
}, $str);
|
| 140 |
}
|
| 141 |
|
| 142 |
static function camelCaseToUnderscore($str) {
|
| 143 |
$str[0] = strtolower($str[0]);
|
| 144 |
+
return preg_replace_callback('/([A-Z])/', function ($c) {
|
| 145 |
+
return "_" . strtolower($c[1]);
|
| 146 |
+
}, $str);
|
| 147 |
}
|
| 148 |
|
| 149 |
static function joinObject($object = array()) {
|
mailpoet.php
CHANGED
|
@@ -4,7 +4,7 @@ if(!defined('ABSPATH')) exit;
|
|
| 4 |
|
| 5 |
/*
|
| 6 |
* Plugin Name: MailPoet 3 (New)
|
| 7 |
-
* Version: 3.3.
|
| 8 |
* Plugin URI: http://www.mailpoet.com
|
| 9 |
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
| 10 |
* Author: MailPoet
|
|
@@ -20,7 +20,7 @@ if(!defined('ABSPATH')) exit;
|
|
| 20 |
*/
|
| 21 |
|
| 22 |
$mailpoet_plugin = array(
|
| 23 |
-
'version' => '3.3.
|
| 24 |
'filename' => __FILE__,
|
| 25 |
'path' => dirname(__FILE__),
|
| 26 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
| 4 |
|
| 5 |
/*
|
| 6 |
* Plugin Name: MailPoet 3 (New)
|
| 7 |
+
* Version: 3.3.6
|
| 8 |
* Plugin URI: http://www.mailpoet.com
|
| 9 |
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
| 10 |
* Author: MailPoet
|
| 20 |
*/
|
| 21 |
|
| 22 |
$mailpoet_plugin = array(
|
| 23 |
+
'version' => '3.3.6',
|
| 24 |
'filename' => __FILE__,
|
| 25 |
'path' => dirname(__FILE__),
|
| 26 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
readme.txt
CHANGED
|
@@ -4,7 +4,7 @@ Tags: newsletter, email, welcome email, post notification, autoresponder, signup
|
|
| 4 |
Requires at least: 4.7
|
| 5 |
Tested up to: 4.9
|
| 6 |
Requires PHP: 5.3
|
| 7 |
-
Stable tag: 3.3.
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
| 10 |
|
|
@@ -116,6 +116,9 @@ Stop by our [support site](https://www.mailpoet.com/support).
|
|
| 116 |
|
| 117 |
== Changelog ==
|
| 118 |
|
|
|
|
|
|
|
|
|
|
| 119 |
= 3.3.5 - 2018-01-16 =
|
| 120 |
* Added: additional tools for our support team to mitigate sending issues;
|
| 121 |
|
| 4 |
Requires at least: 4.7
|
| 5 |
Tested up to: 4.9
|
| 6 |
Requires PHP: 5.3
|
| 7 |
+
Stable tag: 3.3.6
|
| 8 |
License: GPLv3
|
| 9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
| 10 |
|
| 116 |
|
| 117 |
== Changelog ==
|
| 118 |
|
| 119 |
+
= 3.3.6 - 2018-01-23 =
|
| 120 |
+
* Added: optional reCAPTCHA to protect subscription forms from fake signups.
|
| 121 |
+
|
| 122 |
= 3.3.5 - 2018-01-16 =
|
| 123 |
* Added: additional tools for our support team to mitigate sending issues;
|
| 124 |
|
vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit37cf2f8de55968540738ed368770074d::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit41e65186cd8b74e61cdec872a50c0dfd
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
-
call_user_func(\Composer\Autoload\
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
|
@@ -48,19 +48,19 @@ class ComposerAutoloaderInit41e65186cd8b74e61cdec872a50c0dfd
|
|
| 48 |
$loader->register(true);
|
| 49 |
|
| 50 |
if ($useStaticLoader) {
|
| 51 |
-
$includeFiles = Composer\Autoload\
|
| 52 |
} else {
|
| 53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 54 |
}
|
| 55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 56 |
-
|
| 57 |
}
|
| 58 |
|
| 59 |
return $loader;
|
| 60 |
}
|
| 61 |
}
|
| 62 |
|
| 63 |
-
function
|
| 64 |
{
|
| 65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 66 |
require $file;
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInit37cf2f8de55968540738ed368770074d
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit37cf2f8de55968540738ed368770074d', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit37cf2f8de55968540738ed368770074d', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit37cf2f8de55968540738ed368770074d::getInitializer($loader));
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
| 48 |
$loader->register(true);
|
| 49 |
|
| 50 |
if ($useStaticLoader) {
|
| 51 |
+
$includeFiles = Composer\Autoload\ComposerStaticInit37cf2f8de55968540738ed368770074d::$files;
|
| 52 |
} else {
|
| 53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
| 54 |
}
|
| 55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
| 56 |
+
composerRequire37cf2f8de55968540738ed368770074d($fileIdentifier, $file);
|
| 57 |
}
|
| 58 |
|
| 59 |
return $loader;
|
| 60 |
}
|
| 61 |
}
|
| 62 |
|
| 63 |
+
function composerRequire37cf2f8de55968540738ed368770074d($fileIdentifier, $file)
|
| 64 |
{
|
| 65 |
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
| 66 |
require $file;
|
vendor/composer/autoload_static.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
-
class
|
| 8 |
{
|
| 9 |
public static $files = array (
|
| 10 |
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
|
@@ -985,10 +985,10 @@ class ComposerStaticInit41e65186cd8b74e61cdec872a50c0dfd
|
|
| 985 |
public static function getInitializer(ClassLoader $loader)
|
| 986 |
{
|
| 987 |
return \Closure::bind(function () use ($loader) {
|
| 988 |
-
$loader->prefixLengthsPsr4 =
|
| 989 |
-
$loader->prefixDirsPsr4 =
|
| 990 |
-
$loader->prefixesPsr0 =
|
| 991 |
-
$loader->classMap =
|
| 992 |
|
| 993 |
}, null, ClassLoader::class);
|
| 994 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit37cf2f8de55968540738ed368770074d
|
| 8 |
{
|
| 9 |
public static $files = array (
|
| 10 |
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
| 985 |
public static function getInitializer(ClassLoader $loader)
|
| 986 |
{
|
| 987 |
return \Closure::bind(function () use ($loader) {
|
| 988 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit37cf2f8de55968540738ed368770074d::$prefixLengthsPsr4;
|
| 989 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit37cf2f8de55968540738ed368770074d::$prefixDirsPsr4;
|
| 990 |
+
$loader->prefixesPsr0 = ComposerStaticInit37cf2f8de55968540738ed368770074d::$prefixesPsr0;
|
| 991 |
+
$loader->classMap = ComposerStaticInit37cf2f8de55968540738ed368770074d::$classMap;
|
| 992 |
|
| 993 |
}, null, ClassLoader::class);
|
| 994 |
}
|
views/form/iframe.html
CHANGED
|
@@ -22,4 +22,4 @@
|
|
| 22 |
var MailPoetForm = <%= json_encode(mailpoet_form) %>;
|
| 23 |
</script>
|
| 24 |
</body>
|
| 25 |
-
</html>
|
| 22 |
var MailPoetForm = <%= json_encode(mailpoet_form) %>;
|
| 23 |
</script>
|
| 24 |
</body>
|
| 25 |
+
</html>
|
views/form/widget.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
<% if(title) %>
|
| 5 |
<%= before_title | raw %><%= title | raw %><%= after_title | raw %>
|
| 6 |
<% endif %>
|
| 7 |
-
|
| 8 |
<div id="<%= form_id %>" class="mailpoet_form mailpoet_form_<%= form_type %>">
|
| 9 |
<%= styles | raw %>
|
| 10 |
<form
|
| 4 |
<% if(title) %>
|
| 5 |
<%= before_title | raw %><%= title | raw %><%= after_title | raw %>
|
| 6 |
<% endif %>
|
| 7 |
+
|
| 8 |
<div id="<%= form_id %>" class="mailpoet_form mailpoet_form_<%= form_type %>">
|
| 9 |
<%= styles | raw %>
|
| 10 |
<form
|
views/settings.html
CHANGED
|
@@ -1,155 +1,177 @@
|
|
| 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="#mta"><%= __('Send With...') %></a>
|
| 19 |
-
<a class="nav-tab" href="#basics"><%= __('Basics') %></a>
|
| 20 |
-
<a class="nav-tab" href="#signup"><%= __('Sign-up Confirmation') %></a>
|
| 21 |
-
<a class="nav-tab" href="#advanced"><%= __('Advanced') %></a>
|
| 22 |
-
<a class="nav-tab" href="#premium"><%= __('Key Activation') %></a>
|
| 23 |
-
</h2>
|
| 24 |
-
|
| 25 |
-
<!-- sending method -->
|
| 26 |
-
<div data-tab="mta" class="mailpoet_panel">
|
| 27 |
-
<% include 'settings/mta.html' %>
|
| 28 |
-
</div>
|
| 29 |
-
|
| 30 |
-
<!-- basics -->
|
| 31 |
-
<div data-tab="basics" class="mailpoet_panel">
|
| 32 |
-
<% include 'settings/basics.html' %>
|
| 33 |
-
</div>
|
| 34 |
-
|
| 35 |
-
<!-- sign-up confirmation -->
|
| 36 |
-
<div data-tab="signup" class="mailpoet_panel">
|
| 37 |
-
<% include 'settings/signup.html' %>
|
| 38 |
-
</div>
|
| 39 |
-
|
| 40 |
-
<!-- advanced -->
|
| 41 |
-
<div data-tab="advanced" class="mailpoet_panel">
|
| 42 |
-
<% include 'settings/advanced.html' %>
|
| 43 |
-
</div>
|
| 44 |
-
|
| 45 |
-
<!-- premium -->
|
| 46 |
-
<div data-tab="premium" class="mailpoet_panel">
|
| 47 |
-
<% include 'settings/premium.html' %>
|
| 48 |
-
</div>
|
| 49 |
-
|
| 50 |
-
<p class="submit mailpoet_settings_submit" style="display:none;">
|
| 51 |
-
<input
|
| 52 |
-
type="submit"
|
| 53 |
-
class="button button-primary"
|
| 54 |
-
name="submit"
|
| 55 |
-
value="<%= __('Save settings') %>"
|
| 56 |
-
/>
|
| 57 |
-
</p>
|
| 58 |
-
</form>
|
| 59 |
-
</div>
|
| 60 |
-
|
| 61 |
-
<script type="text/javascript">
|
| 62 |
-
jQuery(function($) {
|
| 63 |
-
// on dom loaded
|
| 64 |
-
$(function() {
|
| 65 |
-
// on form submission
|
| 66 |
-
$('#mailpoet_settings_form').on('submit', function() {
|
| 67 |
-
// if
|
| 68 |
-
|
| 69 |
-
|
| 70 |
-
|
| 71 |
-
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
|
| 75 |
-
|
| 76 |
-
|
| 77 |
-
|
| 78 |
-
|
| 79 |
-
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
| 88 |
-
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
|
| 92 |
-
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
| 117 |
-
|
| 118 |
-
|
| 119 |
-
|
| 120 |
-
|
| 121 |
-
|
| 122 |
-
|
| 123 |
-
|
| 124 |
-
|
| 125 |
-
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
| 129 |
-
|
| 130 |
-
|
| 131 |
-
|
| 132 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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="#mta"><%= __('Send With...') %></a>
|
| 19 |
+
<a class="nav-tab" href="#basics"><%= __('Basics') %></a>
|
| 20 |
+
<a class="nav-tab" href="#signup"><%= __('Sign-up Confirmation') %></a>
|
| 21 |
+
<a class="nav-tab" href="#advanced"><%= __('Advanced') %></a>
|
| 22 |
+
<a class="nav-tab" href="#premium"><%= __('Key Activation') %></a>
|
| 23 |
+
</h2>
|
| 24 |
+
|
| 25 |
+
<!-- sending method -->
|
| 26 |
+
<div data-tab="mta" class="mailpoet_panel">
|
| 27 |
+
<% include 'settings/mta.html' %>
|
| 28 |
+
</div>
|
| 29 |
+
|
| 30 |
+
<!-- basics -->
|
| 31 |
+
<div data-tab="basics" class="mailpoet_panel">
|
| 32 |
+
<% include 'settings/basics.html' %>
|
| 33 |
+
</div>
|
| 34 |
+
|
| 35 |
+
<!-- sign-up confirmation -->
|
| 36 |
+
<div data-tab="signup" class="mailpoet_panel">
|
| 37 |
+
<% include 'settings/signup.html' %>
|
| 38 |
+
</div>
|
| 39 |
+
|
| 40 |
+
<!-- advanced -->
|
| 41 |
+
<div data-tab="advanced" class="mailpoet_panel">
|
| 42 |
+
<% include 'settings/advanced.html' %>
|
| 43 |
+
</div>
|
| 44 |
+
|
| 45 |
+
<!-- premium -->
|
| 46 |
+
<div data-tab="premium" class="mailpoet_panel">
|
| 47 |
+
<% include 'settings/premium.html' %>
|
| 48 |
+
</div>
|
| 49 |
+
|
| 50 |
+
<p class="submit mailpoet_settings_submit" style="display:none;">
|
| 51 |
+
<input
|
| 52 |
+
type="submit"
|
| 53 |
+
class="button button-primary"
|
| 54 |
+
name="submit"
|
| 55 |
+
value="<%= __('Save settings') %>"
|
| 56 |
+
/>
|
| 57 |
+
</p>
|
| 58 |
+
</form>
|
| 59 |
+
</div>
|
| 60 |
+
|
| 61 |
+
<script type="text/javascript">
|
| 62 |
+
jQuery(function($) {
|
| 63 |
+
// on dom loaded
|
| 64 |
+
$(function() {
|
| 65 |
+
// on form submission
|
| 66 |
+
$('#mailpoet_settings_form').on('submit', function() {
|
| 67 |
+
// if reCAPTCHA is enabled but keys are emty, show error
|
| 68 |
+
var enabled = $('input[name="re_captcha[enabled]"]:checked').val(),
|
| 69 |
+
site_key = $('input[name="re_captcha[site_token]"]').val().trim(),
|
| 70 |
+
secret_key = $('input[name="re_captcha[secret_token]"]').val().trim();
|
| 71 |
+
if (enabled && (site_key == '' || secret_key == '')) {
|
| 72 |
+
$('#settings_re_captcha_tokens_error').show();
|
| 73 |
+
window.location.href = '#advanced';
|
| 74 |
+
return false;
|
| 75 |
+
} else {
|
| 76 |
+
$('#settings_re_captcha_tokens_error').hide();
|
| 77 |
+
}
|
| 78 |
+
// if we're setting up a sending method, try to activate it
|
| 79 |
+
if ($('.mailpoet_mta_setup_save').is(':visible')) {
|
| 80 |
+
$('.mailpoet_mta_setup_save').trigger('click');
|
| 81 |
+
}
|
| 82 |
+
var mailpoet_premium_key = $('#mailpoet_premium_key').val();
|
| 83 |
+
// sync mss key with premium key
|
| 84 |
+
$('#mailpoet_api_key').val(mailpoet_premium_key);
|
| 85 |
+
if (mailpoet_premium_key.length > 0) {
|
| 86 |
+
$('#mailpoet_premium_key_verify').trigger('click');
|
| 87 |
+
}
|
| 88 |
+
saveSettings();
|
| 89 |
+
return false;
|
| 90 |
+
});
|
| 91 |
+
|
| 92 |
+
function saveSettings() {
|
| 93 |
+
// serialize form data
|
| 94 |
+
var settings_data = $('#mailpoet_settings_form').mailpoetSerializeObject();
|
| 95 |
+
|
| 96 |
+
// show loading screen
|
| 97 |
+
MailPoet.Modal.loading(true);
|
| 98 |
+
|
| 99 |
+
MailPoet.Ajax.post({
|
| 100 |
+
api_version: window.mailpoet_api_version,
|
| 101 |
+
endpoint: 'settings',
|
| 102 |
+
action: 'set',
|
| 103 |
+
data: settings_data
|
| 104 |
+
}).always(function() {
|
| 105 |
+
MailPoet.Modal.loading(false);
|
| 106 |
+
}).done(function(response) {
|
| 107 |
+
MailPoet.Notice.success(
|
| 108 |
+
"<%= __('Settings saved') | escape('js') %>",
|
| 109 |
+
{ scroll: true }
|
| 110 |
+
);
|
| 111 |
+
MailPoet.trackEvent(
|
| 112 |
+
'User has saved Settings',
|
| 113 |
+
{
|
| 114 |
+
'MailPoet Free version': window.mailpoet_version,
|
| 115 |
+
'Sending method type': settings_data.mta_group || null,
|
| 116 |
+
'Sending frequency (emails)': settings_data.mta_group != 'mailpoet' && settings_data.mta && settings_data.mta.frequency && settings_data.mta.frequency.emails,
|
| 117 |
+
'Sending frequency (interval)': settings_data.mta_group != 'mailpoet' && settings_data.mta && settings_data.mta.frequency && settings_data.mta.frequency.interval,
|
| 118 |
+
'Sending provider': settings_data.mta_group == 'smtp' && settings_data.smtp_provider,
|
| 119 |
+
'Sign-up confirmation enabled': (settings_data.signup_confirmation && settings_data.signup_confirmation.enabled == true),
|
| 120 |
+
'Bounce email is present': (settings_data.bounce && settings_data.bounce.address != ""),
|
| 121 |
+
'Newsletter task scheduler method': (settings_data.cron_trigger && settings_data.cron_trigger.method)
|
| 122 |
+
}
|
| 123 |
+
);
|
| 124 |
+
}).fail(function(response) {
|
| 125 |
+
if (response.errors.length > 0) {
|
| 126 |
+
MailPoet.Notice.error(
|
| 127 |
+
response.errors.map(function(error) { return error.message; }),
|
| 128 |
+
{ scroll: true }
|
| 129 |
+
);
|
| 130 |
+
}
|
| 131 |
+
});
|
| 132 |
+
}
|
| 133 |
+
|
| 134 |
+
// setup toggle checkboxes
|
| 135 |
+
function toggleContent() {
|
| 136 |
+
$('#'+$(this).data('toggle'))[
|
| 137 |
+
($(this).is(':checked'))
|
| 138 |
+
? 'show'
|
| 139 |
+
: 'hide'
|
| 140 |
+
]();
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
$(document).on('click', 'input[data-toggle]', toggleContent);
|
| 144 |
+
$('input[data-toggle]').each(toggleContent);
|
| 145 |
+
|
| 146 |
+
function toggleReCaptchaSettings() {
|
| 147 |
+
if ($('input[name="re_captcha[enabled]"]:checked').val()) {
|
| 148 |
+
$('#settings_re_captcha_tokens').show();
|
| 149 |
+
} else {
|
| 150 |
+
$('#settings_re_captcha_tokens').hide();
|
| 151 |
+
}
|
| 152 |
+
}
|
| 153 |
+
$('input[name="re_captcha[enabled]"]').on('click', toggleReCaptchaSettings);
|
| 154 |
+
toggleReCaptchaSettings();
|
| 155 |
+
$('#settings_re_captcha_tokens_error').hide();
|
| 156 |
+
|
| 157 |
+
// page preview
|
| 158 |
+
$('.mailpoet_page_preview').on('click', function() {
|
| 159 |
+
var selection = $(this).siblings('.mailpoet_page_selection');
|
| 160 |
+
|
| 161 |
+
if (selection.length > 0) {
|
| 162 |
+
$(this).attr('href', $(selection).find('option[value="'+$(selection).val()+'"]').data('preview-url'));
|
| 163 |
+
$(this).attr('target', '_blank');
|
| 164 |
+
} else {
|
| 165 |
+
$(this).attr('href', 'javascript:;');
|
| 166 |
+
$(this).removeAttr('target');
|
| 167 |
+
}
|
| 168 |
+
});
|
| 169 |
+
});
|
| 170 |
+
});
|
| 171 |
+
</script>
|
| 172 |
+
<% endblock %>
|
| 173 |
+
<% block translations %>
|
| 174 |
+
<%= localize({
|
| 175 |
+
'reinstallConfirmation': __('Are you sure? All of your MailPoet data will be permanently erased (newsletters, statistics, subscribers, etc.).')
|
| 176 |
+
}) %>
|
| 177 |
+
<% endblock %>
|
views/settings/advanced.html
CHANGED
|
@@ -164,6 +164,67 @@
|
|
| 164 |
</p>
|
| 165 |
</td>
|
| 166 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 167 |
<!-- reinstall -->
|
| 168 |
<tr>
|
| 169 |
<th scope="row">
|
| 164 |
</p>
|
| 165 |
</td>
|
| 166 |
</tr>
|
| 167 |
+
<!-- reCaptcha settings -->
|
| 168 |
+
<tr>
|
| 169 |
+
<th scope="row">
|
| 170 |
+
<label>
|
| 171 |
+
<%= __('Enable reCAPTCHA') %>
|
| 172 |
+
</label>
|
| 173 |
+
<p class="description">
|
| 174 |
+
<%= __('Use reCAPTCHA to protect MailPoet subscription forms.') %>
|
| 175 |
+
<a
|
| 176 |
+
href="https://www.google.com/recaptcha/admin"
|
| 177 |
+
target="_blank"
|
| 178 |
+
><%= __('Sign up for an API key pair here.') %></a>
|
| 179 |
+
</p>
|
| 180 |
+
</th>
|
| 181 |
+
<td>
|
| 182 |
+
<p>
|
| 183 |
+
<label>
|
| 184 |
+
<input
|
| 185 |
+
type="radio"
|
| 186 |
+
name="re_captcha[enabled]"
|
| 187 |
+
value="1"
|
| 188 |
+
<% if(settings.re_captcha.enabled) %>
|
| 189 |
+
checked="checked"
|
| 190 |
+
<% endif %>
|
| 191 |
+
/><%= __('Yes') %>
|
| 192 |
+
</label>
|
| 193 |
+
|
| 194 |
+
<label>
|
| 195 |
+
<input
|
| 196 |
+
type="radio"
|
| 197 |
+
name="re_captcha[enabled]"
|
| 198 |
+
value=""
|
| 199 |
+
<% if not(settings.re_captcha.enabled) %>
|
| 200 |
+
checked="checked"
|
| 201 |
+
<% endif %>
|
| 202 |
+
/><%= __('No') %>
|
| 203 |
+
</label>
|
| 204 |
+
</p>
|
| 205 |
+
<div id="settings_re_captcha_tokens">
|
| 206 |
+
<p>
|
| 207 |
+
<input type="text"
|
| 208 |
+
name="re_captcha[site_token]"
|
| 209 |
+
value="<%= settings.re_captcha.site_token %>"
|
| 210 |
+
placeholder="<%= __('Your reCAPTCHA Site Key') %>"
|
| 211 |
+
class="regular-text"
|
| 212 |
+
/>
|
| 213 |
+
</p>
|
| 214 |
+
<p>
|
| 215 |
+
<input type="text"
|
| 216 |
+
name="re_captcha[secret_token]"
|
| 217 |
+
value="<%= settings.re_captcha.secret_token %>"
|
| 218 |
+
placeholder="<%= __('Your reCAPTCHA Secret Key') %>"
|
| 219 |
+
class="regular-text"
|
| 220 |
+
/>
|
| 221 |
+
</p>
|
| 222 |
+
<div id="settings_re_captcha_tokens_error" class="mailpoet_error_item mailpoet_error">
|
| 223 |
+
<%= __('Please fill the reCAPTCHA keys.') %>
|
| 224 |
+
</div>
|
| 225 |
+
</div>
|
| 226 |
+
</td>
|
| 227 |
+
</tr>
|
| 228 |
<!-- reinstall -->
|
| 229 |
<tr>
|
| 230 |
<th scope="row">
|
views/update.html
CHANGED
|
@@ -33,8 +33,8 @@
|
|
| 33 |
<div class="feature-section one-col mailpoet_centered">
|
| 34 |
<h2><%= __('Care to Give Your Opinion?') %></h2>
|
| 35 |
|
| 36 |
-
<% if(
|
| 37 |
-
<div class="pd-embed" id="
|
| 38 |
<script type="text/javascript">
|
| 39 |
var _polldaddy = [] || _polldaddy;
|
| 40 |
|
|
@@ -42,27 +42,15 @@
|
|
| 42 |
type: "iframe",
|
| 43 |
auto: "1",
|
| 44 |
domain: "mailpoet.polldaddy.com/s/",
|
| 45 |
-
id: "
|
| 46 |
-
placeholder: "
|
| 47 |
} );
|
| 48 |
|
| 49 |
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/survey.js':'http://i0.poll.fm/survey.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-embed'));
|
| 50 |
</script>
|
| 51 |
<% else %>
|
| 52 |
-
<
|
| 53 |
-
<
|
| 54 |
-
var _polldaddy = [] || _polldaddy;
|
| 55 |
-
|
| 56 |
-
_polldaddy.push( {
|
| 57 |
-
type: "iframe",
|
| 58 |
-
auto: "1",
|
| 59 |
-
domain: "mailpoet.polldaddy.com/s/",
|
| 60 |
-
id: "what-s-one-feature-that-s-missing-in-mailpoet-1",
|
| 61 |
-
placeholder: "pd_1509014259"
|
| 62 |
-
} );
|
| 63 |
-
|
| 64 |
-
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/survey.js':'http://i0.poll.fm/survey.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-embed'));
|
| 65 |
-
</script>
|
| 66 |
<% endif %>
|
| 67 |
|
| 68 |
<hr>
|
| 33 |
<div class="feature-section one-col mailpoet_centered">
|
| 34 |
<h2><%= __('Care to Give Your Opinion?') %></h2>
|
| 35 |
|
| 36 |
+
<% if(is_new_user) %>
|
| 37 |
+
<div class="pd-embed" id="pd_1516701033"></div>
|
| 38 |
<script type="text/javascript">
|
| 39 |
var _polldaddy = [] || _polldaddy;
|
| 40 |
|
| 42 |
type: "iframe",
|
| 43 |
auto: "1",
|
| 44 |
domain: "mailpoet.polldaddy.com/s/",
|
| 45 |
+
id: "experience-so-far",
|
| 46 |
+
placeholder: "pd_1516701033"
|
| 47 |
} );
|
| 48 |
|
| 49 |
(function(d,c,j){if(!document.getElementById(j)){var pd=d.createElement(c),s;pd.id=j;pd.src=('https:'==document.location.protocol)?'https://polldaddy.com/survey.js':'http://i0.poll.fm/survey.js';s=document.getElementsByTagName(c)[0];s.parentNode.insertBefore(pd,s);}}(document,'script','pd-embed'));
|
| 50 |
</script>
|
| 51 |
<% else %>
|
| 52 |
+
<script type="text/javascript" charset="utf-8" src="https://secure.polldaddy.com/p/9917505.js"></script>
|
| 53 |
+
<noscript><a href="https://polldaddy.com/poll/9917505/">Do you find this page useful?</a></noscript>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
<% endif %>
|
| 55 |
|
| 56 |
<hr>
|
