Merge pull request #876 from mailpoet/manage_subscription_shortcode_fix
Depreciates and removes certain link shortcodes [MAILPOET-895]
This commit is contained in:
@@ -11,13 +11,13 @@
|
||||
/*jshint unused:false */
|
||||
/*global tinymce:true */
|
||||
tinymce.PluginManager.add('mailpoet_shortcodes', function(editor, url) {
|
||||
var appendLabelAndClose = function(text) {
|
||||
editor.insertContent('[' + text + ']');
|
||||
var appendLabelAndClose = function(shortcode) {
|
||||
editor.insertContent(shortcode);
|
||||
editor.windowManager.close();
|
||||
},
|
||||
generateOnClickFunc = function(id) {
|
||||
generateOnClickFunc = function(shortcode) {
|
||||
return function() {
|
||||
appendLabelAndClose(id);
|
||||
appendLabelAndClose(shortcode);
|
||||
};
|
||||
};
|
||||
|
||||
|
@@ -18,20 +18,6 @@ class Link {
|
||||
$wp_user_preview
|
||||
) {
|
||||
switch($action) {
|
||||
case 'subscription_unsubscribe':
|
||||
$action = 'subscription_unsubscribe_url';
|
||||
$url = self::processUrl(
|
||||
$action,
|
||||
SubscriptionUrl::getUnsubscribeUrl($subscriber),
|
||||
$queue,
|
||||
$wp_user_preview
|
||||
);
|
||||
return sprintf(
|
||||
'<a target="_blank" href="%s">%s</a>',
|
||||
$url,
|
||||
__('Unsubscribe', 'mailpoet')
|
||||
);
|
||||
|
||||
case 'subscription_unsubscribe_url':
|
||||
return self::processUrl(
|
||||
$action,
|
||||
@@ -40,19 +26,6 @@ class Link {
|
||||
$wp_user_preview
|
||||
);
|
||||
|
||||
case 'subscription_manage':
|
||||
$url = self::processUrl(
|
||||
$action = 'subscription_manage_url',
|
||||
SubscriptionUrl::getManageUrl($subscriber),
|
||||
$queue,
|
||||
$wp_user_preview
|
||||
);
|
||||
return sprintf(
|
||||
'<a target="_blank" href="%s">%s</a>',
|
||||
$url,
|
||||
__('Manage subscription', 'mailpoet')
|
||||
);
|
||||
|
||||
case 'subscription_manage_url':
|
||||
return self::processUrl(
|
||||
$action,
|
||||
@@ -61,22 +34,6 @@ class Link {
|
||||
$wp_user_preview
|
||||
);
|
||||
|
||||
case 'newsletter_view_in_browser':
|
||||
$action = 'newsletter_view_in_browser_url';
|
||||
$url = NewsletterUrl::getViewInBrowserUrl(
|
||||
$type = null,
|
||||
$newsletter,
|
||||
$subscriber,
|
||||
$queue,
|
||||
$wp_user_preview
|
||||
);
|
||||
$url = self::processUrl($action, $url, $queue, $wp_user_preview);
|
||||
return sprintf(
|
||||
'<a target="_blank" href="%s">%s</a>',
|
||||
$url,
|
||||
__('View in your browser', 'mailpoet')
|
||||
);
|
||||
|
||||
case 'newsletter_view_in_browser_url':
|
||||
$url = NewsletterUrl::getViewInBrowserUrl(
|
||||
$type = null,
|
||||
@@ -88,7 +45,7 @@ class Link {
|
||||
return self::processUrl($action, $url, $queue, $wp_user_preview);
|
||||
|
||||
default:
|
||||
$shortcode = self::getShortcode($action);
|
||||
$shortcode = self::getFullShortcode($action);
|
||||
$url = apply_filters(
|
||||
'mailpoet_newsletter_shortcode_link',
|
||||
$shortcode,
|
||||
@@ -106,7 +63,7 @@ class Link {
|
||||
static function processUrl($action, $url, $queue, $wp_user_preview = false) {
|
||||
if($wp_user_preview) return '#';
|
||||
return ($queue !== false && (boolean)Setting::getValue('tracking.enabled')) ?
|
||||
self::getShortcode($action) :
|
||||
self::getFullShortcode($action) :
|
||||
$url;
|
||||
}
|
||||
|
||||
@@ -134,7 +91,7 @@ class Link {
|
||||
);
|
||||
break;
|
||||
default:
|
||||
$shortcode = self::getShortcode($shortcode_action);
|
||||
$shortcode = self::getFullShortcode($shortcode_action);
|
||||
$url = apply_filters(
|
||||
'mailpoet_newsletter_shortcode_link',
|
||||
$shortcode,
|
||||
@@ -149,7 +106,7 @@ class Link {
|
||||
return $url;
|
||||
}
|
||||
|
||||
private static function getShortcode($action) {
|
||||
private static function getFullShortcode($action) {
|
||||
return sprintf('[link:%s]', $action);
|
||||
}
|
||||
}
|
@@ -10,83 +10,95 @@ class ShortcodesHelper {
|
||||
__('Subscriber', 'mailpoet') => array(
|
||||
array(
|
||||
'text' => __('First Name', 'mailpoet'),
|
||||
'shortcode' => 'subscriber:firstname | default:reader',
|
||||
'shortcode' => '[subscriber:firstname | default:reader]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Last Name', 'mailpoet'),
|
||||
'shortcode' => 'subscriber:lastname | default:reader',
|
||||
'shortcode' => '[subscriber:lastname | default:reader]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Email Address', 'mailpoet'),
|
||||
'shortcode' => 'subscriber:email',
|
||||
'shortcode' => '[subscriber:email]',
|
||||
),
|
||||
array(
|
||||
'text' => __('WordPress User Display Name', 'mailpoet'),
|
||||
'shortcode' => 'subscriber:displayname | default:member',
|
||||
'shortcode' => '[subscriber:displayname | default:member]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Total Number of Subscribers', 'mailpoet'),
|
||||
'shortcode' => 'subscriber:count',
|
||||
'shortcode' => '[subscriber:count]',
|
||||
)
|
||||
),
|
||||
__('Newsletter', 'mailpoet') => array(
|
||||
array(
|
||||
'text' => __('Newsletter Subject', 'mailpoet'),
|
||||
'shortcode' => 'newsletter:subject',
|
||||
'shortcode' => '[newsletter:subject]',
|
||||
)
|
||||
),
|
||||
__('Post Notifications', 'mailpoet') => array(
|
||||
array(
|
||||
'text' => __('Total Number of Posts or Pages', 'mailpoet'),
|
||||
'shortcode' => 'newsletter:total',
|
||||
'shortcode' => '[newsletter:total]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Most Recent Post Title', 'mailpoet'),
|
||||
'shortcode' => 'newsletter:post_title',
|
||||
'shortcode' => '[newsletter:post_title]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Issue Number', 'mailpoet'),
|
||||
'shortcode' => 'newsletter:number',
|
||||
'shortcode' => '[newsletter:number]',
|
||||
)
|
||||
),
|
||||
__('Date', 'mailpoet') => array(
|
||||
array(
|
||||
'text' => __('Current day of the month number', 'mailpoet'),
|
||||
'shortcode' => 'date:d',
|
||||
'shortcode' => '[date:d]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Current day of the month in ordinal form, i.e. 2nd, 3rd, 4th, etc.', 'mailpoet'),
|
||||
'shortcode' => 'date:dordinal',
|
||||
'shortcode' => '[date:dordinal]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Full name of current day', 'mailpoet'),
|
||||
'shortcode' => 'date:dtext',
|
||||
'shortcode' => '[date:dtext]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Current month number', 'mailpoet'),
|
||||
'shortcode' => 'date:m',
|
||||
'shortcode' => '[date:m]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Full name of current month', 'mailpoet'),
|
||||
'shortcode' => 'date:mtext',
|
||||
'shortcode' => '[date:mtext]',
|
||||
),
|
||||
array(
|
||||
'text' => __('Year', 'mailpoet'),
|
||||
'shortcode' => 'date:y',
|
||||
'shortcode' => '[date:y]',
|
||||
)
|
||||
),
|
||||
__('Links', 'mailpoet') => array(
|
||||
array(
|
||||
'text' => __('Unsubscribe link', 'mailpoet'),
|
||||
'shortcode' => 'link:subscription_unsubscribe',
|
||||
'shortcode' => sprintf(
|
||||
'<a target="_blank" href="%s">%s</a>',
|
||||
'[link:subscription_unsubscribe_url]',
|
||||
__('Unsubscribe', 'mailpoet')
|
||||
)
|
||||
),
|
||||
array(
|
||||
'text' => __('Edit subscription page link', 'mailpoet'),
|
||||
'shortcode' => 'link:subscription_manage',
|
||||
'shortcode' => sprintf(
|
||||
'<a target="_blank" href="%s">%s</a>',
|
||||
'[link:subscription_manage_url]',
|
||||
__('Manage subscription', 'mailpoet')
|
||||
)
|
||||
),
|
||||
array(
|
||||
'text' => __('View in browser link', 'mailpoet'),
|
||||
'shortcode' => 'link:newsletter_view_in_browser',
|
||||
'shortcode' => sprintf(
|
||||
'<a target="_blank" href="%s">%s</a>',
|
||||
'[link:newsletter_view_in_browser_url]',
|
||||
__('View in your browser', 'mailpoet')
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
@@ -212,24 +212,13 @@ class ShortcodesTest extends MailPoetTest {
|
||||
|
||||
function testItCanProcessLinkShortcodes() {
|
||||
$shortcodes_object = $this->shortcodes_object;
|
||||
$result =
|
||||
$shortcodes_object->process(array('[link:subscription_unsubscribe]'));
|
||||
expect($result['0'])->regExp('/^<a.*?\/a>$/');
|
||||
expect($result['0'])->regExp('/action=unsubscribe/');
|
||||
$result =
|
||||
$shortcodes_object->process(array('[link:subscription_unsubscribe_url]'));
|
||||
expect($result['0'])->regExp('/^http.*?action=unsubscribe/');
|
||||
$result =
|
||||
$shortcodes_object->process(array('[link:subscription_manage]'));
|
||||
expect($result['0'])->regExp('/^<a.*?\/a>$/');
|
||||
expect($result['0'])->regExp('/action=manage/');
|
||||
$result =
|
||||
$shortcodes_object->process(array('[link:subscription_manage_url]'));
|
||||
expect($result['0'])->regExp('/^http.*?action=manage/');
|
||||
$result =
|
||||
$shortcodes_object->process(array('[link:newsletter_view_in_browser]'));
|
||||
expect($result['0'])->regExp('/^<a.*?\/a>$/');
|
||||
expect($result['0'])->regExp('/endpoint=view_in_browser/');
|
||||
$result =
|
||||
$shortcodes_object->process(array('[link:newsletter_view_in_browser_url]'));
|
||||
expect($result['0'])->regExp('/^http.*?endpoint=view_in_browser/');
|
||||
@@ -243,19 +232,13 @@ class ShortcodesTest extends MailPoetTest {
|
||||
expect($result['0'])->regExp('/^http.*?action=unsubscribe/');
|
||||
Setting::setValue('tracking.enabled', true);
|
||||
$initial_shortcodes = array(
|
||||
'[link:subscription_unsubscribe]',
|
||||
'[link:subscription_unsubscribe_url]',
|
||||
'[link:subscription_manage]',
|
||||
'[link:subscription_manage_url]',
|
||||
'[link:newsletter_view_in_browser]',
|
||||
'[link:newsletter_view_in_browser_url]'
|
||||
);
|
||||
$expected_transformed_shortcodes = array(
|
||||
'[link:subscription_unsubscribe_url]',
|
||||
'[link:subscription_unsubscribe_url]',
|
||||
'[link:subscription_manage_url]',
|
||||
'[link:subscription_manage_url]',
|
||||
'[link:newsletter_view_in_browser_url]',
|
||||
'[link:newsletter_view_in_browser_url]'
|
||||
);
|
||||
// tracking function only works during sending, so queue object must not be false
|
||||
@@ -272,7 +255,7 @@ class ShortcodesTest extends MailPoetTest {
|
||||
}
|
||||
}
|
||||
|
||||
function testItReturnsHashInsteadofLinksWhenInPreviewIsEnabled() {
|
||||
function testItReturnsHashInsteadofLinksWhenPreviewIsEnabled() {
|
||||
$shortcodes_object = $this->shortcodes_object;
|
||||
$shortcodes_object->wp_user_preview = true;
|
||||
$shortcodes = array(
|
||||
@@ -285,15 +268,6 @@ class ShortcodesTest extends MailPoetTest {
|
||||
foreach($result as $index => $transformed_shortcode) {
|
||||
expect($transformed_shortcode)->equals('#');
|
||||
}
|
||||
$shortcodes = array(
|
||||
'[link:subscription_unsubscribe]',
|
||||
'[link:subscription_manage]',
|
||||
'[link:newsletter_view_in_browser]',
|
||||
);
|
||||
$result = $shortcodes_object->process($shortcodes);
|
||||
foreach($result as $index => $transformed_shortcode) {
|
||||
expect($transformed_shortcode)->regExp('/href="#"/');
|
||||
}
|
||||
}
|
||||
|
||||
function testItCanProcessCustomLinkShortcodes() {
|
||||
|
Reference in New Issue
Block a user