- Updates mailer task to store mailer instance
This commit is contained in:
@ -21,7 +21,7 @@ class SendingQueue {
|
|||||||
|
|
||||||
function __construct($timer = false) {
|
function __construct($timer = false) {
|
||||||
$this->mailer_task = new MailerTask();
|
$this->mailer_task = new MailerTask();
|
||||||
$this->newsletter_task = new NewsletterTask($this->mailer_task);
|
$this->newsletter_task = new NewsletterTask();
|
||||||
$this->timer = ($timer) ? $timer : microtime(true);
|
$this->timer = ($timer) ? $timer : microtime(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -34,6 +34,8 @@ class SendingQueue {
|
|||||||
$queue->delete();
|
$queue->delete();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
// configure mailer
|
||||||
|
$this->mailer_task->configureMailer($newsletter);
|
||||||
if(is_null($queue->newsletter_rendered_body)) {
|
if(is_null($queue->newsletter_rendered_body)) {
|
||||||
$queue->newsletter_rendered_body = json_encode($newsletter['rendered_body']);
|
$queue->newsletter_rendered_body = json_encode($newsletter['rendered_body']);
|
||||||
$queue->save();
|
$queue->save();
|
||||||
@ -98,7 +100,6 @@ class SendingQueue {
|
|||||||
if($processing_method === 'individual') {
|
if($processing_method === 'individual') {
|
||||||
$queue = $this->sendNewsletters(
|
$queue = $this->sendNewsletters(
|
||||||
$queue,
|
$queue,
|
||||||
$newsletter,
|
|
||||||
$prepared_subscribers_ids,
|
$prepared_subscribers_ids,
|
||||||
$prepared_newsletters[0],
|
$prepared_newsletters[0],
|
||||||
$prepared_subscribers[0],
|
$prepared_subscribers[0],
|
||||||
@ -112,7 +113,6 @@ class SendingQueue {
|
|||||||
if($processing_method === 'bulk') {
|
if($processing_method === 'bulk') {
|
||||||
$queue = $this->sendNewsletters(
|
$queue = $this->sendNewsletters(
|
||||||
$queue,
|
$queue,
|
||||||
$newsletter,
|
|
||||||
$prepared_subscribers_ids,
|
$prepared_subscribers_ids,
|
||||||
$prepared_newsletters,
|
$prepared_newsletters,
|
||||||
$prepared_subscribers,
|
$prepared_subscribers,
|
||||||
@ -123,12 +123,11 @@ class SendingQueue {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function sendNewsletters(
|
function sendNewsletters(
|
||||||
$queue, $newsletter_object, $prepared_subscribers_ids, $prepared_newsletters,
|
$queue, $prepared_subscribers_ids, $prepared_newsletters,
|
||||||
$prepared_subscribers, $statistics
|
$prepared_subscribers, $statistics
|
||||||
) {
|
) {
|
||||||
// send newsletter
|
// send newsletter
|
||||||
$send_result = $this->mailer_task->send(
|
$send_result = $this->mailer_task->send(
|
||||||
$newsletter_object,
|
|
||||||
$prepared_newsletters,
|
$prepared_newsletters,
|
||||||
$prepared_subscribers
|
$prepared_subscribers
|
||||||
);
|
);
|
||||||
|
@ -9,14 +9,14 @@ if(!defined('ABSPATH')) exit;
|
|||||||
class Mailer {
|
class Mailer {
|
||||||
public $mta_config;
|
public $mta_config;
|
||||||
public $mta_log;
|
public $mta_log;
|
||||||
|
public $mailer = null;
|
||||||
|
|
||||||
function __construct() {
|
function __construct() {
|
||||||
$this->mta_config = $this->getMailerConfig();
|
$this->mta_config = $this->getMailerConfig();
|
||||||
$this->mta_log = $this->getMailerLog();
|
$this->mta_log = $this->getMailerLog();
|
||||||
$this->mailer = $this->configureMailer();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function configureMailer(array $newsletter = null, $mailer = false) {
|
function configureMailer(array $newsletter = null) {
|
||||||
$sender['address'] = (!empty($newsletter['sender_address'])) ?
|
$sender['address'] = (!empty($newsletter['sender_address'])) ?
|
||||||
$newsletter['sender_address'] :
|
$newsletter['sender_address'] :
|
||||||
false;
|
false;
|
||||||
@ -35,14 +35,8 @@ class Mailer {
|
|||||||
if(!$reply_to['address']) {
|
if(!$reply_to['address']) {
|
||||||
$reply_to = false;
|
$reply_to = false;
|
||||||
}
|
}
|
||||||
if (!$mailer) {
|
$this->mailer = new MailerFactory($method = false, $sender, $reply_to);
|
||||||
$mailer = new MailerFactory($method = false, $sender, $reply_to);
|
return $this->mailer;
|
||||||
}
|
|
||||||
else {
|
|
||||||
$mailer->mailer_instance->sender = $mailer->getSender($sender);
|
|
||||||
$mailer->mailer_instance->reply_to = $mailer->getReplyTo($reply_to);
|
|
||||||
}
|
|
||||||
return $mailer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function getMailerConfig() {
|
function getMailerConfig() {
|
||||||
@ -80,11 +74,10 @@ class Mailer {
|
|||||||
return $this->mailer->transformSubscriber($subscriber);
|
return $this->mailer->transformSubscriber($subscriber);
|
||||||
}
|
}
|
||||||
|
|
||||||
function send(array $newsletter_object, $prepared_newsletters,
|
function send($prepared_newsletters, $prepared_subscribers) {
|
||||||
$prepared_subscribers
|
return ($this->mailer) ?
|
||||||
) {
|
$this->mailer->mailer_instance->send($prepared_newsletters, $prepared_subscribers) :
|
||||||
$mailer = $this->configureMailer($newsletter_object, $this->mailer);
|
false;
|
||||||
return $mailer->mailer_instance->send($prepared_newsletters, $prepared_subscribers);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkSendingLimit() {
|
function checkSendingLimit() {
|
||||||
|
Reference in New Issue
Block a user