- Updates Mailer class to use default values from Settings

This commit is contained in:
Vlad
2016-07-21 10:29:16 -04:00
parent 9b9cb1455a
commit 067b3ff3e6
2 changed files with 32 additions and 26 deletions

View File

@ -19,6 +19,7 @@ class TaskScheduler {
} }
function init() { function init() {
try {
// configure task scheduler only outside of cli environment // configure task scheduler only outside of cli environment
if(php_sapi_name() === 'cli') return; if(php_sapi_name() === 'cli') return;
switch($this->method) { switch($this->method) {
@ -32,15 +33,15 @@ class TaskScheduler {
throw new \Exception(__("Task scheduler is not configured")); throw new \Exception(__("Task scheduler is not configured"));
break; break;
}; };
} catch(\Exception $e) {
// ignore exceptions as they should not prevent the rest of the site from loading
}
} }
function configureMailpoetScheduler() { function configureMailpoetScheduler() {
try {
$supervisor = new Supervisor(); $supervisor = new Supervisor();
$supervisor->checkDaemon(); $supervisor->checkDaemon();
} catch(\Exception $e) { return;
// exceptions should not prevent the rest of the site loading
}
} }
function configureWordpressScheduler() { function configureWordpressScheduler() {

View File

@ -103,6 +103,11 @@ class Mailer {
$mailer = Setting::getValue(self::MAILER_CONFIG); $mailer = Setting::getValue(self::MAILER_CONFIG);
if(!$mailer || !isset($mailer['method'])) throw new \Exception(__('Mailer is not configured')); if(!$mailer || !isset($mailer['method'])) throw new \Exception(__('Mailer is not configured'));
} }
if(empty($mailer['frequency'])) {
$default_settings = Setting::getDefaults();
$mailer['frequency'] = $default_settings['mta']['frequency'];
}
// add additional variables to the mailer object
$mailer['class'] = 'MailPoet\\Mailer\\Methods\\' . $mailer['method']; $mailer['class'] = 'MailPoet\\Mailer\\Methods\\' . $mailer['method'];
$mailer['frequency_interval'] = $mailer['frequency_interval'] =
(int)$mailer['frequency']['interval'] * self::SENDING_LIMIT_INTERVAL_MULTIPLIER; (int)$mailer['frequency']['interval'] * self::SENDING_LIMIT_INTERVAL_MULTIPLIER;