From 0dc772c37e6992fab5ce0cae788bf8873b6dc7f1 Mon Sep 17 00:00:00 2001 From: Pavel Dohnal Date: Wed, 8 Dec 2021 15:50:53 +0100 Subject: [PATCH] Make sure the API response is always array [MAILPOET-3950] --- .../ResponseBuilders/DynamicSegmentsResponseBuilder.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/API/JSON/ResponseBuilders/DynamicSegmentsResponseBuilder.php b/lib/API/JSON/ResponseBuilders/DynamicSegmentsResponseBuilder.php index 2a679770a7..140555c8a6 100644 --- a/lib/API/JSON/ResponseBuilders/DynamicSegmentsResponseBuilder.php +++ b/lib/API/JSON/ResponseBuilders/DynamicSegmentsResponseBuilder.php @@ -2,6 +2,7 @@ namespace MailPoet\API\JSON\ResponseBuilders; +use MailPoet\Entities\DynamicSegmentFilterData; use MailPoet\Entities\SegmentEntity; use MailPoet\Entities\SubscriberEntity; use MailPoet\Segments\SegmentDependencyValidator; @@ -59,6 +60,11 @@ class DynamicSegmentsResponseBuilder { // new filters are always array, they support multiple values, the old didn't convert old filters to new format $filter['wordpressRole'] = [$filter['wordpressRole']]; } + if (($filter['segmentType'] === DynamicSegmentFilterData::TYPE_EMAIL) && isset($filter['newsletter_id']) && !isset($filter['newsletters'])) { + // compatibility with older filters + $filter['newsletters'] = [intval($filter['newsletter_id'])]; + unset($filter['newsletter_id']); + } $filters[] = $filter; } $data['filters'] = $filters;