Version Description
- 2018-08-01 =
- Fixed: resolved potential duplicate sending issue.
Download this release
Release Info
Developer | wysija |
Plugin | MailPoet Newsletters (New) |
Version | 3.8.3 |
Comparing to | |
See all releases |
Code changes from version 3.8.2 to 3.8.3
- lang/mailpoet-ca.mo +0 -0
- lang/mailpoet-da_DK.mo +0 -0
- lang/mailpoet-de_DE.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-zh_CN.mo +0 -0
- lang/mailpoet.pot +3 -3
- lib/Cron/CronHelper.php +17 -1
- lib/Cron/Daemon.php +3 -5
- 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 +6 -6
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-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-zh_CN.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-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -1124,11 +1124,11 @@ msgstr ""
|
|
1124 |
msgid "Preview in a new tab"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
-
#: lib/Cron/CronHelper.php:
|
1128 |
msgid "Site URL is unreachable."
|
1129 |
msgstr ""
|
1130 |
|
1131 |
-
#: lib/Cron/CronHelper.php:
|
1132 |
msgid "Maximum execution time has been reached."
|
1133 |
msgstr ""
|
1134 |
|
4 |
msgstr ""
|
5 |
"Project-Id-Version: \n"
|
6 |
"Report-Msgid-Bugs-To: http://support.mailpoet.com/\n"
|
7 |
+
"POT-Creation-Date: 2018-08-01 12:29:35+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
1124 |
msgid "Preview in a new tab"
|
1125 |
msgstr ""
|
1126 |
|
1127 |
+
#: lib/Cron/CronHelper.php:175
|
1128 |
msgid "Site URL is unreachable."
|
1129 |
msgstr ""
|
1130 |
|
1131 |
+
#: lib/Cron/CronHelper.php:181
|
1132 |
msgid "Maximum execution time has been reached."
|
1133 |
msgstr ""
|
1134 |
|
lib/Cron/CronHelper.php
CHANGED
@@ -40,6 +40,22 @@ class CronHelper {
|
|
40 |
return Setting::getValue(self::DAEMON_SETTING);
|
41 |
}
|
42 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
static function saveDaemon($daemon) {
|
44 |
$daemon['updated_at'] = time();
|
45 |
return Setting::setValue(
|
@@ -165,4 +181,4 @@ class CronHelper {
|
|
165 |
throw new \Exception(__('Maximum execution time has been reached.', 'mailpoet'));
|
166 |
}
|
167 |
}
|
168 |
-
}
|
40 |
return Setting::getValue(self::DAEMON_SETTING);
|
41 |
}
|
42 |
|
43 |
+
static function saveDaemonLastError($error) {
|
44 |
+
$daemon = self::getDaemon();
|
45 |
+
if($daemon) {
|
46 |
+
$daemon['last_error'] = $error;
|
47 |
+
self::saveDaemon($daemon);
|
48 |
+
}
|
49 |
+
}
|
50 |
+
|
51 |
+
static function saveDaemonRunCompleted($run_completed_at) {
|
52 |
+
$daemon = self::getDaemon();
|
53 |
+
if($daemon) {
|
54 |
+
$daemon['run_completed_at'] = $run_completed_at;
|
55 |
+
self::saveDaemon($daemon);
|
56 |
+
}
|
57 |
+
}
|
58 |
+
|
59 |
static function saveDaemon($daemon) {
|
60 |
$daemon['updated_at'] = time();
|
61 |
return Setting::setValue(
|
181 |
throw new \Exception(__('Maximum execution time has been reached.', 'mailpoet'));
|
182 |
}
|
183 |
}
|
184 |
+
}
|
lib/Cron/Daemon.php
CHANGED
@@ -61,12 +61,10 @@ class Daemon {
|
|
61 |
$this->executePremiumKeyCheckWorker();
|
62 |
$this->executeBounceWorker();
|
63 |
} catch(\Exception $e) {
|
64 |
-
$
|
65 |
-
CronHelper::saveDaemon($daemon);
|
66 |
}
|
67 |
// Log successful execution
|
68 |
-
|
69 |
-
CronHelper::saveDaemon($daemon);
|
70 |
// if workers took less time to execute than the daemon execution limit,
|
71 |
// pause daemon execution to ensure that daemon runs only once every X seconds
|
72 |
$elapsed_time = microtime(true) - $this->timer;
|
@@ -137,4 +135,4 @@ class Daemon {
|
|
137 |
$daemon['token'] !== $this->token ||
|
138 |
(isset($daemon['status']) && $daemon['status'] !== CronHelper::DAEMON_STATUS_ACTIVE);
|
139 |
}
|
140 |
-
}
|
61 |
$this->executePremiumKeyCheckWorker();
|
62 |
$this->executeBounceWorker();
|
63 |
} catch(\Exception $e) {
|
64 |
+
CronHelper::saveDaemonLastError($e->getMessage());
|
|
|
65 |
}
|
66 |
// Log successful execution
|
67 |
+
CronHelper::saveDaemonRunCompleted(time());
|
|
|
68 |
// if workers took less time to execute than the daemon execution limit,
|
69 |
// pause daemon execution to ensure that daemon runs only once every X seconds
|
70 |
$elapsed_time = microtime(true) - $this->timer;
|
135 |
$daemon['token'] !== $this->token ||
|
136 |
(isset($daemon['status']) && $daemon['status'] !== CronHelper::DAEMON_STATUS_ACTIVE);
|
137 |
}
|
138 |
+
}
|
mailpoet.php
CHANGED
@@ -4,7 +4,7 @@ if(!defined('ABSPATH')) exit;
|
|
4 |
|
5 |
/*
|
6 |
* Plugin Name: MailPoet 3 (New)
|
7 |
-
* Version: 3.8.
|
8 |
* Plugin URI: http://www.mailpoet.com
|
9 |
* Description: Create and send newsletters, post notifications and welcome emails from your WordPress.
|
10 |
* Author: MailPoet
|
@@ -18,7 +18,7 @@ if(!defined('ABSPATH')) exit;
|
|
18 |
*/
|
19 |
|
20 |
$mailpoet_plugin = array(
|
21 |
-
'version' => '3.8.
|
22 |
'filename' => __FILE__,
|
23 |
'path' => dirname(__FILE__),
|
24 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
4 |
|
5 |
/*
|
6 |
* Plugin Name: MailPoet 3 (New)
|
7 |
+
* Version: 3.8.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
|
18 |
*/
|
19 |
|
20 |
$mailpoet_plugin = array(
|
21 |
+
'version' => '3.8.3',
|
22 |
'filename' => __FILE__,
|
23 |
'path' => dirname(__FILE__),
|
24 |
'autoloader' => dirname(__FILE__) . '/vendor/autoload.php',
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: newsletter, newsletter subscribers, email, welcome email, post notificatio
|
|
4 |
Requires at least: 4.7
|
5 |
Tested up to: 4.9
|
6 |
Requires PHP: 5.6
|
7 |
-
Stable tag: 3.8.
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -146,6 +146,9 @@ Stop by our [support site](https://www.mailpoet.com/support).
|
|
146 |
|
147 |
== Changelog ==
|
148 |
|
|
|
|
|
|
|
149 |
= 3.8.2 - 2018-07-31 =
|
150 |
* Added: more useful sending status information in Help page.
|
151 |
|
4 |
Requires at least: 4.7
|
5 |
Tested up to: 4.9
|
6 |
Requires PHP: 5.6
|
7 |
+
Stable tag: 3.8.3
|
8 |
License: GPLv3
|
9 |
License URI: https://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
146 |
|
147 |
== Changelog ==
|
148 |
|
149 |
+
= 3.8.3 - 2018-08-01 =
|
150 |
+
* Fixed: resolved potential duplicate sending issue.
|
151 |
+
|
152 |
= 3.8.2 - 2018-07-31 =
|
153 |
* Added: more useful sending status information in Help page.
|
154 |
|
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 ComposerAutoloaderInit887f2d17e39efcdc79504c61b7a29413::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 ComposerAutoloaderInitb1f3f9f3e9c68636b51d53ce8275d19e
|
|
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 ComposerAutoloaderInitb1f3f9f3e9c68636b51d53ce8275d19e
|
|
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 ComposerAutoloaderInit887f2d17e39efcdc79504c61b7a29413
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit887f2d17e39efcdc79504c61b7a29413', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit887f2d17e39efcdc79504c61b7a29413', '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\ComposerStaticInit887f2d17e39efcdc79504c61b7a29413::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\ComposerStaticInit887f2d17e39efcdc79504c61b7a29413::$files;
|
52 |
} else {
|
53 |
$includeFiles = require __DIR__ . '/autoload_files.php';
|
54 |
}
|
55 |
foreach ($includeFiles as $fileIdentifier => $file) {
|
56 |
+
composerRequire887f2d17e39efcdc79504c61b7a29413($fileIdentifier, $file);
|
57 |
}
|
58 |
|
59 |
return $loader;
|
60 |
}
|
61 |
}
|
62 |
|
63 |
+
function composerRequire887f2d17e39efcdc79504c61b7a29413($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',
|
@@ -1001,11 +1001,11 @@ class ComposerStaticInitb1f3f9f3e9c68636b51d53ce8275d19e
|
|
1001 |
public static function getInitializer(ClassLoader $loader)
|
1002 |
{
|
1003 |
return \Closure::bind(function () use ($loader) {
|
1004 |
-
$loader->prefixLengthsPsr4 =
|
1005 |
-
$loader->prefixDirsPsr4 =
|
1006 |
-
$loader->fallbackDirsPsr4 =
|
1007 |
-
$loader->prefixesPsr0 =
|
1008 |
-
$loader->classMap =
|
1009 |
|
1010 |
}, null, ClassLoader::class);
|
1011 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit887f2d17e39efcdc79504c61b7a29413
|
8 |
{
|
9 |
public static $files = array (
|
10 |
'0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php',
|
1001 |
public static function getInitializer(ClassLoader $loader)
|
1002 |
{
|
1003 |
return \Closure::bind(function () use ($loader) {
|
1004 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit887f2d17e39efcdc79504c61b7a29413::$prefixLengthsPsr4;
|
1005 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit887f2d17e39efcdc79504c61b7a29413::$prefixDirsPsr4;
|
1006 |
+
$loader->fallbackDirsPsr4 = ComposerStaticInit887f2d17e39efcdc79504c61b7a29413::$fallbackDirsPsr4;
|
1007 |
+
$loader->prefixesPsr0 = ComposerStaticInit887f2d17e39efcdc79504c61b7a29413::$prefixesPsr0;
|
1008 |
+
$loader->classMap = ComposerStaticInit887f2d17e39efcdc79504c61b7a29413::$classMap;
|
1009 |
|
1010 |
}, null, ClassLoader::class);
|
1011 |
}
|