Replace not opened by opened none of

[MAILPOET-3950]
This commit is contained in:
Pavel Dohnal
2021-12-09 10:39:36 +01:00
committed by Veljko V
parent ddd627cea7
commit 638719e2b9
4 changed files with 12 additions and 7 deletions

View File

@@ -5,6 +5,7 @@ namespace MailPoet\API\JSON\ResponseBuilders;
use MailPoet\Entities\DynamicSegmentFilterData;
use MailPoet\Entities\SegmentEntity;
use MailPoet\Entities\SubscriberEntity;
use MailPoet\Segments\DynamicSegments\Filters\EmailAction;
use MailPoet\Segments\SegmentDependencyValidator;
use MailPoet\Segments\SegmentSubscribersRepository;
use MailPoet\Subscribers\SubscribersCountsController;
@@ -60,10 +61,18 @@ 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'])) {
if (($filter['segmentType'] === DynamicSegmentFilterData::TYPE_EMAIL)) {
// compatibility with older filters
$filter['newsletters'] = [intval($filter['newsletter_id'])];
unset($filter['newsletter_id']);
if (isset($filter['newsletter_id']) && !isset($filter['newsletters'])) {
// make sure the newsletters are an array
$filter['newsletters'] = [intval($filter['newsletter_id'])];
unset($filter['newsletter_id']);
}
if ($filter['action'] === EmailAction::ACTION_NOT_OPENED) {
// convert not opened
$filter['action'] = EmailAction::ACTION_OPENED;
$filter['operator'] = DynamicSegmentFilterData::OPERATOR_NONE;
}
}
$filters[] = $filter;
}