From d18f0e50b5e6f1b88626a9fef3c3318be6727ae6 Mon Sep 17 00:00:00 2001 From: Vlad Date: Mon, 2 May 2016 09:23:37 -0400 Subject: [PATCH] - Removes debug backtrace - Removes uncommented queue save --- lib/Cron/Workers/SendingQueue.php | 10 +++++-- lib/Newsletter/Links/Links.php | 15 ++++++++-- lib/Newsletter/Shortcodes/Categories/Link.php | 29 +++++++++---------- 3 files changed, 32 insertions(+), 22 deletions(-) diff --git a/lib/Cron/Workers/SendingQueue.php b/lib/Cron/Workers/SendingQueue.php index b9cd6d5bf3..15468097cf 100644 --- a/lib/Cron/Workers/SendingQueue.php +++ b/lib/Cron/Workers/SendingQueue.php @@ -4,7 +4,6 @@ namespace MailPoet\Cron\Workers; use MailPoet\Cron\CronHelper; use MailPoet\Mailer\Mailer; use MailPoet\Models\Newsletter; -use MailPoet\Models\NewsletterLink; use MailPoet\Models\Setting; use MailPoet\Models\StatisticsNewsletters; use MailPoet\Models\Subscriber; @@ -109,7 +108,7 @@ class SendingQueue { $this->renderNewsletter($newsletter); } $queue->newsletter_rendered_body = json_encode($newsletter['body']); - // $queue->save(); + $queue->save(); } else { $newsletter['body'] = json_decode($queue->newsletter_rendered_body); } @@ -204,7 +203,12 @@ class SendingQueue { function processLinks($content, $newsletter_id, $queue_id) { list($content, $processed_links) = - Links::process($content, $links = false, $process_link_shortcodes = true); + Links::process( + $content, + $links = false, + $process_link_shortcodes = true, + $queue = false + ); Links::save($processed_links, $newsletter_id, $queue_id); return $content; } diff --git a/lib/Newsletter/Links/Links.php b/lib/Newsletter/Links/Links.php index c63b6c46f2..c2573f59c0 100644 --- a/lib/Newsletter/Links/Links.php +++ b/lib/Newsletter/Links/Links.php @@ -37,10 +37,14 @@ class Links { ); } - static function process($content, $links = false, $process_link_shortcodes = false) { + static function process($content, + $links = false, + $process_link_shortcodes = false, + $queue = false + ) { if($process_link_shortcodes) { // process shortcodes with [url:*] format - $shortcodes = new Shortcodes(); + $shortcodes = new Shortcodes($newsletter = false, $subscriber = false, $queue); $content = $shortcodes->replace($content, $limit = array('link')); } $links = ($links) ? $links : self::extract($content); @@ -66,7 +70,12 @@ class Links { ); } - static function replaceSubscriberData($newsletter_id, $subscriber_id, $queue_id, $content) { + static function replaceSubscriberData( + $newsletter_id, + $subscriber_id, + $queue_id, + $content + ) { return str_replace( self::DATA_TAG, sprintf('%s-%s-%s', $newsletter_id, $subscriber_id, $queue_id), diff --git a/lib/Newsletter/Shortcodes/Categories/Link.php b/lib/Newsletter/Shortcodes/Categories/Link.php index 3c920c7613..12210addd7 100644 --- a/lib/Newsletter/Shortcodes/Categories/Link.php +++ b/lib/Newsletter/Shortcodes/Categories/Link.php @@ -32,7 +32,8 @@ class Link { $action = 'subscription_unsubscribe_url'; $url = self::processUrl( $action, - esc_attr(SubscriptionUrl::getUnsubscribeUrl($subscriber)) + esc_attr(SubscriptionUrl::getUnsubscribeUrl($subscriber)), + $queue ); return sprintf( '%s', @@ -44,14 +45,16 @@ class Link { case 'subscription_unsubscribe_url': return self::processUrl( $action, - SubscriptionUrl::getUnsubscribeUrl($subscriber) + SubscriptionUrl::getUnsubscribeUrl($subscriber), + $queue ); break; case 'subscription_manage': $url = self::processUrl( $action = 'subscription_manage_url', - esc_attr(SubscriptionUrl::getManageUrl($subscriber)) + esc_attr(SubscriptionUrl::getManageUrl($subscriber)), + $queue ); return sprintf( '%s', @@ -63,14 +66,15 @@ class Link { case 'subscription_manage_url': return self::processUrl( $action, - SubscriptionUrl::getManageUrl($subscriber) + SubscriptionUrl::getManageUrl($subscriber), + $queue ); break; case 'newsletter_view_in_browser': $action = 'view_in_browser_url'; $url = esc_attr(self::getViewInBrowserUrl($newsletter, $subscriber, $queue)); - $url = self::processUrl($action, $url); + $url = self::processUrl($action, $url, $queue); return sprintf( '%s', $url, @@ -80,7 +84,7 @@ class Link { case 'newsletter_view_in_browser_url': $url = self::getViewInBrowserUrl($newsletter, $subscriber, $queue); - return self::processUrl($action, $url); + return self::processUrl($action, $url, $queue); break; default: @@ -93,7 +97,7 @@ class Link { $queue ); return ($url !== $shortcode) ? - self::processUrl($action, $url) : + self::processUrl($action, $url, $queue) : false; break; } @@ -122,15 +126,8 @@ class Link { return home_url() . '/?mailpoet&endpoint=view_in_browser&data=' . $data; } - static function processUrl($action, $url) { - // when invoked by the ViewInBrowser class and tracking is enabled, - // do nto return shortcode - foreach(debug_backtrace() as $trace) { - if(isset($trace['class']) && preg_match('/ViewInBrowser/', $trace['class'])) { - return $url; - } - } - return ((boolean) Setting::getValue('tracking.enabled')) ? + static function processUrl($action, $url, $queue) { + return ($queue !== false && (boolean) Setting::getValue('tracking.enabled')) ? self::getShortcode($action) : $url; }