- Updates cron's sending queue worker to use model objects
- Adds new method to render newsletter to the newsletter model - Adds new transient object to newsletter model that will hold temporary values (i.e., rendered body) when working with the model
This commit is contained in:
@@ -7,27 +7,28 @@ use MailPoet\Util\Helpers;
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class Links {
|
||||
static function process(array $newsletter, array $queue) {
|
||||
list($newsletter, $links) = self::hashAndReplaceLinks($newsletter, $queue);
|
||||
static function process($newsletter, $queue) {
|
||||
list($rendered_body, $links) =
|
||||
self::hashAndReplaceLinks($newsletter->_transient->rendered_body);
|
||||
self::saveLinks($links, $newsletter, $queue);
|
||||
$newsletter->_transient->rendered_body = $rendered_body;
|
||||
return $newsletter;
|
||||
}
|
||||
|
||||
static function hashAndReplaceLinks(array $newsletter, array $queue) {
|
||||
static function hashAndReplaceLinks($newsletter_rendered_body) {
|
||||
// join HTML and TEXT rendered body into a text string
|
||||
$content = Helpers::joinObject($newsletter['rendered_body']);
|
||||
$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'])
|
||||
list($newsletter_rendered_body['html'], $newsletter_rendered_body['text'])
|
||||
= Helpers::splitObject($content);
|
||||
return array(
|
||||
$newsletter,
|
||||
$newsletter_rendered_body,
|
||||
$links
|
||||
);
|
||||
}
|
||||
|
||||
static function saveLinks($links, $newsletter, $queue) {
|
||||
return NewsletterLinks::save($links, $newsletter['id'], $queue['id']);
|
||||
return NewsletterLinks::save($links, $newsletter->id, $queue->id);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user