- Adds subsription tracking option to Settings->Advanced

- Updates sending queue worker to not replace links if tracking is
  disabled
Closes #417
This commit is contained in:
Vlad
2016-04-13 22:00:13 -04:00
parent a3e6eb5bba
commit 84294b7ee6
5 changed files with 112 additions and 29 deletions

View File

@ -1,5 +1,6 @@
<?php
namespace MailPoet\Newsletter\Shortcodes\Categories;
use MailPoet\Models\Setting;
use MailPoet\Subscription\Url as SubscriptionUrl;
class Subscription {
@ -21,23 +22,35 @@ class Subscription {
) {
switch($action) {
case 'unsubscribe':
return '<a target="_blank" href="'.
esc_attr(SubscriptionUrl::getUnsubscribeUrl($subscriber))
return '<a target="_blank" href="['.
self::processUrl(
$action,
esc_attr(SubscriptionUrl::getUnsubscribeUrl($subscriber))
)
.'">'.__('Unsubscribe').'</a>';
break;
case 'unsubscribe_url':
return SubscriptionUrl::getUnsubscribeUrl($subscriber);
return self::processUrl(
$action,
SubscriptionUrl::getUnsubscribeUrl($subscriber)
);
break;
case 'manage':
return '<a target="_blank" href="'.
esc_attr(SubscriptionUrl::getManageUrl($subscriber))
self::processUrl(
$action,
esc_attr(SubscriptionUrl::getManageUrl($subscriber))
)
.'">'.__('Manage subscription').'</a>';
break;
case 'manage_url':
return SubscriptionUrl::getManageUrl($subscriber);
return self::processUrl(
$action,
SubscriptionUrl::getManageUrl($subscriber)
);
break;
default:
@ -45,4 +58,11 @@ class Subscription {
break;
}
}
static function processUrl($action, $url) {
if((int) Setting::getValue('tracking.enabled') === 1) {
return sprintf('[subscription:%s]', $action);
}
return $url;
}
}