- Refactors sending queue worker by breaking it into smaller tasks
- Adds arrayUnique method to Helpers for multidimensional arrays
This commit is contained in:
33
lib/Cron/Workers/SendingQueue/Tasks/Links.php
Normal file
33
lib/Cron/Workers/SendingQueue/Tasks/Links.php
Normal file
@ -0,0 +1,33 @@
|
||||
<?php
|
||||
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
|
||||
|
||||
use MailPoet\Newsletter\Links\Links as NewsletterLinks;
|
||||
use MailPoet\Util\Helpers;
|
||||
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class Links {
|
||||
static function process(array $newsletter, array $queue) {
|
||||
list($newsletter, $links) = self::hashAndReplaceLinks($newsletter, $queue);
|
||||
self::saveLinks($links, $newsletter, $queue);
|
||||
return $newsletter;
|
||||
}
|
||||
|
||||
static function hashAndReplaceLinks(array $newsletter, array $queue) {
|
||||
// join HTML and TEXT rendered body into a text string
|
||||
$content = Helpers::joinObject($newsletter['rendered_body']);
|
||||
list($content, $links) = NewsletterLinks::process($content);
|
||||
// split the processed body with hashed links back to HTML and TEXT
|
||||
list($newsletter['rendered_body']['html'], $newsletter['rendered_body']['text'])
|
||||
= Helpers::splitObject($content);
|
||||
return array(
|
||||
$newsletter,
|
||||
$links
|
||||
);
|
||||
}
|
||||
|
||||
static function saveLinks($links, $newsletter, $queue) {
|
||||
return NewsletterLinks::save($links, $newsletter['id'], $queue['id']);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user