- Refactors sending queue worker by breaking it into smaller tasks

- Adds arrayUnique method to Helpers for multidimensional arrays
This commit is contained in:
Vlad
2016-06-17 07:27:06 -04:00
parent 6daecd6466
commit 999a0b3ede
13 changed files with 556 additions and 417 deletions

View File

@@ -0,0 +1,29 @@
<?php
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
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;
}
preg_match_all(
'/data-post-id="(\d+)"/ism',
$newsletter['rendered_body']['html'],
$matached_posts);
$matached_posts = $matached_posts[1];
if(!count($matached_posts)) {
return $newsletter;
}
foreach($matached_posts as $post) {
$newletter_post = NewsletterPost::create();
$newletter_post->newsletter_id = $newsletter['id'];
$newletter_post->post_id = $post;
$newletter_post->save();
}
return $newsletter;
}
}