- Avoids sending duplicate posts

This commit is contained in:
Vlad
2016-07-21 20:54:32 -04:00
parent 12c036dbef
commit e83d01ff28
2 changed files with 13 additions and 5 deletions

View File

@ -1,6 +1,7 @@
<?php
namespace MailPoet\Cron\Workers\SendingQueue\Tasks;
use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterPost;
if(!defined('ABSPATH')) exit;
@ -18,9 +19,12 @@ class Posts {
if(!count($matched_posts_ids)) {
return $newsletter;
}
$newsletter_id = ($newsletter['type'] === Newsletter::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->newsletter_id = $newsletter_id;
$newletter_post->post_id = $post_id;
$newletter_post->save();
}

View File

@ -1,6 +1,7 @@
<?php
namespace MailPoet\Newsletter\Renderer\Blocks;
use MailPoet\Models\Newsletter;
use MailPoet\Newsletter\Renderer\StylesHelper;
class Renderer {
@ -10,7 +11,10 @@ class Renderer {
function __construct(array $newsletter, $posts = false) {
$this->newsletter = $newsletter;
$this->posts = array();
$this->ALC = new \MailPoet\Newsletter\AutomatedLatestContent($this->newsletter['id']);
$newsletter_id = ($newsletter['type'] === Newsletter::TYPE_NOTIFICATION_HISTORY) ?
$newsletter['parent_id'] :
$newsletter['id'];
$this->ALC = new \MailPoet\Newsletter\AutomatedLatestContent($newsletter_id);
}
function render($data, $column_count) {
@ -45,12 +49,12 @@ class Renderer {
function processAutomatedLatestContent($args, $column_count) {
$posts_to_exclude = $this->getPosts();
$ALCPosts = $this->ALC->getPosts($args, $posts_to_exclude);
foreach($ALCPosts as $post) {
$ALC_posts = $this->ALC->getPosts($args, $posts_to_exclude);
foreach($ALC_posts as $post) {
$posts_to_exclude[] = $post->ID;
}
$transformed_posts = array(
'blocks' => $this->ALC->transformPosts($args, $ALCPosts)
'blocks' => $this->ALC->transformPosts($args, $ALC_posts)
);
$this->setPosts($posts_to_exclude);
$transformed_posts = StylesHelper::applyTextAlignment($transformed_posts);