- 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,26 +7,27 @@ use MailPoet\Models\NewsletterPost;
|
||||
if(!defined('ABSPATH')) exit;
|
||||
|
||||
class Posts {
|
||||
static function extractAndSave(array $newsletter) {
|
||||
if(empty($newsletter['rendered_body']['html']) || empty($newsletter['id'])) {
|
||||
return;
|
||||
static function extractAndSave($newsletter) {
|
||||
if(empty($newsletter->_transient->rendered_body['html']) || empty($newsletter->id)) {
|
||||
return false;
|
||||
}
|
||||
preg_match_all(
|
||||
'/data-post-id="(\d+)"/ism',
|
||||
$newsletter['rendered_body']['html'],
|
||||
$newsletter->_transient->rendered_body['html'],
|
||||
$matched_posts_ids);
|
||||
$matched_posts_ids = $matched_posts_ids[1];
|
||||
if(!count($matched_posts_ids)) {
|
||||
return $newsletter;
|
||||
return false;
|
||||
}
|
||||
$newsletter_id = ($newsletter['type'] === NewsletterModel::TYPE_NOTIFICATION_HISTORY) ?
|
||||
$newsletter['parent_id'] :
|
||||
$newsletter['id'];
|
||||
$newsletter_id = ($newsletter->type === NewsletterModel::TYPE_NOTIFICATION_HISTORY) ?
|
||||
$newsletter->parent_id :
|
||||
$newsletter->id;
|
||||
foreach($matched_posts_ids as $post_id) {
|
||||
$newletter_post = NewsletterPost::create();
|
||||
$newletter_post->newsletter_id = $newsletter_id;
|
||||
$newletter_post->post_id = $post_id;
|
||||
$newletter_post->save();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user