- Adds additional logic to not exclude sent posts when previewing from

within the newsletter editor
This commit is contained in:
Vlad
2016-08-04 10:04:28 -04:00
parent ff7a24590f
commit d31af9d71c
2 changed files with 9 additions and 10 deletions

View File

@ -178,11 +178,10 @@ class Newsletters {
} }
$newsletter->body = $data['body']; $newsletter->body = $data['body'];
$newsletter->save(); $newsletter->save();
$wp_user = wp_get_current_user(); $subscriber = Subscriber::getCurrentWPUser();
$subscriber = Subscriber::where('email', $wp_user->data->user_email) $preview_url = NewsletterUrl::getViewInBrowserUrl(
->findOne(); $data, $subscriber, $queue = false, $preview = true
$subscriber = ($subscriber) ? $subscriber->asArray() : $subscriber; );
$preview_url = NewsletterUrl::getViewInBrowserUrl($data, $subscriber);
return array( return array(
'result' => true, 'result' => true,
'data' => array('url' => $preview_url) 'data' => array('url' => $preview_url)
@ -207,15 +206,14 @@ class Newsletters {
$newsletter = $newsletter->asArray(); $newsletter = $newsletter->asArray();
$renderer = new Renderer($newsletter); $renderer = new Renderer($newsletter, $preview = true);
$rendered_newsletter = $renderer->render(); $rendered_newsletter = $renderer->render();
$divider = '***MailPoet***'; $divider = '***MailPoet***';
$data_for_shortcodes = $data_for_shortcodes =
array_merge(array($newsletter['subject']), $rendered_newsletter); array_merge(array($newsletter['subject']), $rendered_newsletter);
$body = implode($divider, $data_for_shortcodes); $body = implode($divider, $data_for_shortcodes);
$wp_user = wp_get_current_user(); $subscriber = Subscriber::getCurrentWPUser();
$subscriber = Subscriber::findOne($wp_user->data->user_email);
$subscriber = ($subscriber) ? $subscriber->asArray() : false; $subscriber = ($subscriber) ? $subscriber->asArray() : false;
$shortcodes = new \MailPoet\Newsletter\Shortcodes\Shortcodes( $shortcodes = new \MailPoet\Newsletter\Shortcodes\Shortcodes(

View File

@ -11,7 +11,8 @@ class Url {
static function getViewInBrowserUrl( static function getViewInBrowserUrl(
$newsletter, $newsletter,
$subscriber = false, $subscriber = false,
$queue = false $queue = false,
$preview = false
) { ) {
if(is_object($newsletter)) { if(is_object($newsletter)) {
$newsletter = $newsletter->asArray(); $newsletter = $newsletter->asArray();
@ -24,7 +25,7 @@ class Url {
} }
if(is_object($queue)) { if(is_object($queue)) {
$queue = $queue->asArray(); $queue = $queue->asArray();
} else { } else if(!$preview && !empty($newsletter['id'])) {
$queue = SendingQueue::where('newsletter_id', $newsletter['id'])->findOne(); $queue = SendingQueue::where('newsletter_id', $newsletter['id'])->findOne();
$queue = ($queue) ? $queue->asArray() : false; $queue = ($queue) ? $queue->asArray() : false;
} }