diff --git a/lib/Models/NewsletterPost.php b/lib/Models/NewsletterPost.php index 706ac3845c..05a114f4d0 100644 --- a/lib/Models/NewsletterPost.php +++ b/lib/Models/NewsletterPost.php @@ -5,4 +5,10 @@ if(!defined('ABSPATH')) exit; class NewsletterPost extends Model { public static $_table = MP_NEWSLETTER_POSTS_TABLE; + + static function getNewestNewsletterPost($newsletter_id) { + return self::where('newsletter_id', $newsletter_id) + ->orderByDesc('created_at') + ->findOne(); + } } diff --git a/lib/Newsletter/Renderer/Blocks/Renderer.php b/lib/Newsletter/Renderer/Blocks/Renderer.php index 6b0c0a326d..8dfdae835f 100644 --- a/lib/Newsletter/Renderer/Blocks/Renderer.php +++ b/lib/Newsletter/Renderer/Blocks/Renderer.php @@ -2,6 +2,7 @@ namespace MailPoet\Newsletter\Renderer\Blocks; use MailPoet\Models\Newsletter; +use MailPoet\Models\NewsletterPost; use MailPoet\Newsletter\Renderer\StylesHelper; class Renderer { @@ -14,14 +15,23 @@ class Renderer { $this->posts = array(); if($newsletter['type'] === Newsletter::TYPE_NOTIFICATION_HISTORY) { $newsletter_id = $newsletter['parent_id']; + + $last_post = NewsletterPost::getNewestNewsletterPost($newsletter_id); + if($last_post) { + $newer_than_timestamp = $last_post->created_at; + } else { + $newer_than_timestamp = $newsletter['created_at']; + } } else if($preview) { $newsletter_id = false; + $newer_than_timestamp = false; } else { $newsletter_id = $newsletter['id']; + $newer_than_timestamp = false; } $this->ALC = new \MailPoet\Newsletter\AutomatedLatestContent( $newsletter_id, - $newsletter['created_at'] + $newer_than_timestamp ); }