From 3d2ad79931b2067eb2dfaff9a0d3c85c1ad7556a Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Mon, 14 Oct 2024 13:08:46 +0200 Subject: [PATCH] Ensure the newsletter has hash before preview [MAILPOET-6273] --- mailpoet/lib/API/JSON/v1/Newsletters.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/mailpoet/lib/API/JSON/v1/Newsletters.php b/mailpoet/lib/API/JSON/v1/Newsletters.php index e47afc79cd..a9cbe7937d 100644 --- a/mailpoet/lib/API/JSON/v1/Newsletters.php +++ b/mailpoet/lib/API/JSON/v1/Newsletters.php @@ -28,6 +28,7 @@ use MailPoet\Services\AuthorizedEmailsController; use MailPoet\Settings\SettingsController; use MailPoet\UnexpectedValueException; use MailPoet\Util\License\Features\Subscribers as SubscribersFeature; +use MailPoet\Util\Security; use MailPoet\WP\Emoji; use MailPoet\WP\Functions as WPFunctions; use MailPoetVendor\Carbon\Carbon; @@ -327,6 +328,10 @@ class Newsletters extends APIEndpoint { $newsletter->setBody( json_decode($this->emoji->encodeForUTF8Column($newslettersTableName, 'body', $data['body']), true) ); + // ensure newsletter has hash + if (!$newsletter->getHash()) { + $newsletter->setHash(Security::generateHash()); + } $this->newslettersRepository->flush(); $response = $this->newslettersResponseBuilder->build($newsletter);