- Refactors sending queue worker

This commit is contained in:
Vlad
2016-04-30 22:18:58 -04:00
parent 90c294f60e
commit 2ba2e3eca5

View File

@@ -109,7 +109,7 @@ class SendingQueue {
$this->renderNewsletter($newsletter); $this->renderNewsletter($newsletter);
} }
$queue->newsletter_rendered_body = json_encode($newsletter['body']); $queue->newsletter_rendered_body = json_encode($newsletter['body']);
$queue->save(); // $queue->save();
} else { } else {
$newsletter['body'] = json_decode($queue->newsletter_rendered_body); $newsletter['body'] = json_decode($queue->newsletter_rendered_body);
} }
@@ -203,7 +203,8 @@ class SendingQueue {
} }
function processLinks($text, $newsletter_id, $queue_id) { function processLinks($text, $newsletter_id, $queue_id) {
list($text, $processed_links) = Links::replace($text); list($text, $processed_links) =
Links::process($text, $links = false, $process_link_shortcodes = true);
foreach($processed_links as $link) { foreach($processed_links as $link) {
// save extracted and processed links // save extracted and processed links
$newsletter_link = NewsletterLink::create(); $newsletter_link = NewsletterLink::create();
@@ -225,10 +226,11 @@ class SendingQueue {
$processed_newsletter = $this->replaceShortcodes( $processed_newsletter = $this->replaceShortcodes(
$newsletter, $newsletter,
$subscriber, $subscriber,
$queue,
$this->joinObject($data_for_shortcodes) $this->joinObject($data_for_shortcodes)
); );
if((boolean) Setting::getValue('tracking.enabled')) { if((boolean) Setting::getValue('tracking.enabled')) {
$processed_newsletter = $this->replaceLinks( $processed_newsletter = Links::replaceSubscriberData(
$newsletter['id'], $newsletter['id'],
$subscriber['id'], $subscriber['id'],
$queue->id, $queue->id,
@@ -242,18 +244,11 @@ class SendingQueue {
return $newsletter; return $newsletter;
} }
function replaceLinks($newsletter_id, $subscriber_id, $queue_id, $body) { function replaceShortcodes($newsletter, $subscriber, $queue, $body) {
return str_replace(
'[mailpoet_data]',
sprintf('%s-%s-%s', $newsletter_id, $subscriber_id, $queue_id),
$body
);
}
function replaceShortcodes($newsletter, $subscriber, $body) {
$shortcodes = new Shortcodes( $shortcodes = new Shortcodes(
$newsletter, $newsletter,
$subscriber $subscriber,
$queue
); );
return $shortcodes->replace($body); return $shortcodes->replace($body);
} }