From d31af9d71c77aa183c9042c58a5e5890c7bc5e2f Mon Sep 17 00:00:00 2001 From: Vlad Date: Thu, 4 Aug 2016 10:04:28 -0400 Subject: [PATCH] - Adds additional logic to not exclude sent posts when previewing from within the newsletter editor --- lib/API/Endpoints/Newsletters.php | 14 ++++++-------- lib/Newsletter/Url.php | 5 +++-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/lib/API/Endpoints/Newsletters.php b/lib/API/Endpoints/Newsletters.php index 9e560ba62c..e569f49e47 100644 --- a/lib/API/Endpoints/Newsletters.php +++ b/lib/API/Endpoints/Newsletters.php @@ -178,11 +178,10 @@ class Newsletters { } $newsletter->body = $data['body']; $newsletter->save(); - $wp_user = wp_get_current_user(); - $subscriber = Subscriber::where('email', $wp_user->data->user_email) - ->findOne(); - $subscriber = ($subscriber) ? $subscriber->asArray() : $subscriber; - $preview_url = NewsletterUrl::getViewInBrowserUrl($data, $subscriber); + $subscriber = Subscriber::getCurrentWPUser(); + $preview_url = NewsletterUrl::getViewInBrowserUrl( + $data, $subscriber, $queue = false, $preview = true + ); return array( 'result' => true, 'data' => array('url' => $preview_url) @@ -207,15 +206,14 @@ class Newsletters { $newsletter = $newsletter->asArray(); - $renderer = new Renderer($newsletter); + $renderer = new Renderer($newsletter, $preview = true); $rendered_newsletter = $renderer->render(); $divider = '***MailPoet***'; $data_for_shortcodes = array_merge(array($newsletter['subject']), $rendered_newsletter); $body = implode($divider, $data_for_shortcodes); - $wp_user = wp_get_current_user(); - $subscriber = Subscriber::findOne($wp_user->data->user_email); + $subscriber = Subscriber::getCurrentWPUser(); $subscriber = ($subscriber) ? $subscriber->asArray() : false; $shortcodes = new \MailPoet\Newsletter\Shortcodes\Shortcodes( diff --git a/lib/Newsletter/Url.php b/lib/Newsletter/Url.php index 888a4bd164..cb821d001d 100644 --- a/lib/Newsletter/Url.php +++ b/lib/Newsletter/Url.php @@ -11,7 +11,8 @@ class Url { static function getViewInBrowserUrl( $newsletter, $subscriber = false, - $queue = false + $queue = false, + $preview = false ) { if(is_object($newsletter)) { $newsletter = $newsletter->asArray(); @@ -24,7 +25,7 @@ class Url { } if(is_object($queue)) { $queue = $queue->asArray(); - } else { + } else if(!$preview && !empty($newsletter['id'])) { $queue = SendingQueue::where('newsletter_id', $newsletter['id'])->findOne(); $queue = ($queue) ? $queue->asArray() : false; }