Add check that re-engagement link is not missing
[MAILPOET-3764]
This commit is contained in:
@ -173,9 +173,21 @@ class Newsletters extends APIEndpoint {
|
|||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if the re-engagement email doesn't contain the re-engage link, it can't be activated
|
||||||
|
if ($newsletter->getType() === NewsletterEntity::TYPE_RE_ENGAGEMENT && $status === NewsletterEntity::STATUS_ACTIVE) {
|
||||||
|
if (strpos($newsletter->getContent(), '[link:subscription_re_engage_url]') === false) {
|
||||||
|
return $this->errorResponse([
|
||||||
|
APIError::FORBIDDEN => __(
|
||||||
|
'A re-engagement email must include a link with [link:subscription_re_engage_url] shortcode.',
|
||||||
|
'mailpoet'
|
||||||
|
),
|
||||||
|
], [], Response::STATUS_FORBIDDEN);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$tracking = $this->settings->get('tracking');
|
$tracking = $this->settings->get('tracking');
|
||||||
$tracking_enabled = !empty($tracking['enabled']) && $tracking['enabled'] === "1";
|
$tracking_enabled = !empty($tracking['enabled']) && $tracking['enabled'] === "1";
|
||||||
if ( !$tracking_enabled && $newsletter->getType() === NewsletterEntity::TYPE_RE_ENGAGEMENT && $status === NewsletterEntity::STATUS_ACTIVE) {
|
if (!$tracking_enabled && $newsletter->getType() === NewsletterEntity::TYPE_RE_ENGAGEMENT && $status === NewsletterEntity::STATUS_ACTIVE) {
|
||||||
return $this->errorResponse([
|
return $this->errorResponse([
|
||||||
APIError::FORBIDDEN => __(
|
APIError::FORBIDDEN => __(
|
||||||
'Re-engagement emails are disabled because open and click tracking is disabled in MailPoet → Settings → Advanced.',
|
'Re-engagement emails are disabled because open and click tracking is disabled in MailPoet → Settings → Advanced.',
|
||||||
|
@ -500,4 +500,9 @@ class NewsletterEntity {
|
|||||||
|
|
||||||
return $processedAt;
|
return $processedAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getContent(): string {
|
||||||
|
$content = $this->getBody()['content'] ?? '';
|
||||||
|
return json_encode($content) ?: '';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user