Make sure the API response is always array

[MAILPOET-3950]
This commit is contained in:
Pavel Dohnal
2021-12-08 15:50:53 +01:00
committed by Veljko V
parent 9c0b27644a
commit 0dc772c37e

View File

@@ -2,6 +2,7 @@
namespace MailPoet\API\JSON\ResponseBuilders; namespace MailPoet\API\JSON\ResponseBuilders;
use MailPoet\Entities\DynamicSegmentFilterData;
use MailPoet\Entities\SegmentEntity; use MailPoet\Entities\SegmentEntity;
use MailPoet\Entities\SubscriberEntity; use MailPoet\Entities\SubscriberEntity;
use MailPoet\Segments\SegmentDependencyValidator; 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 // new filters are always array, they support multiple values, the old didn't convert old filters to new format
$filter['wordpressRole'] = [$filter['wordpressRole']]; $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; $filters[] = $filter;
} }
$data['filters'] = $filters; $data['filters'] = $filters;