Use dynamic segments for sending queue

[PREMIUM-38]
This commit is contained in:
Pavel Dohnal
2017-10-05 10:43:06 +01:00
parent b7555aa640
commit 0271675cd0
10 changed files with 101 additions and 17 deletions

View File

@ -10,6 +10,7 @@ use MailPoet\Models\Newsletter;
use MailPoet\Models\SendingQueue as SendingQueueModel;
use MailPoet\Models\Subscriber;
use MailPoet\Newsletter\Scheduler\Scheduler;
use MailPoet\Segments\SubscribersFinder;
use MailPoet\Util\Helpers;
if(!defined('ABSPATH')) exit;
@ -75,10 +76,8 @@ class SendingQueue extends APIEndpoint {
$queue->count_total = $queue->count_to_process = 0;
} else {
$segments = $newsletter->segments()->findArray();
$segment_ids = array_map(function($segment) {
return $segment['id'];
}, $segments);
$subscribers = Subscriber::getSubscribedInSegments($segment_ids)->findArray();
$finder = new SubscribersFinder();
$subscribers = $finder->getSubscribersByList($segments);
$subscribers = Helpers::flattenArray($subscribers);
if(!count($subscribers)) {
return $this->errorResponse(array(