Fix post notifications to work with dynamic segments
[PREMIUM-38]
This commit is contained in:
@@ -7,6 +7,7 @@ use MailPoet\Models\Newsletter;
|
|||||||
use MailPoet\Models\SendingQueue;
|
use MailPoet\Models\SendingQueue;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Models\SubscriberSegment;
|
use MailPoet\Models\SubscriberSegment;
|
||||||
|
use MailPoet\Segments\SubscribersFinder;
|
||||||
use MailPoet\Util\Helpers;
|
use MailPoet\Util\Helpers;
|
||||||
use MailPoet\Newsletter\Scheduler\Scheduler as NewsletterScheduler;
|
use MailPoet\Newsletter\Scheduler\Scheduler as NewsletterScheduler;
|
||||||
|
|
||||||
@@ -73,12 +74,11 @@ class Scheduler {
|
|||||||
if(empty($segments)) {
|
if(empty($segments)) {
|
||||||
return $this->deleteQueueOrUpdateNextRunDate($queue, $newsletter);
|
return $this->deleteQueueOrUpdateNextRunDate($queue, $newsletter);
|
||||||
}
|
}
|
||||||
$segment_ids = array_map(function($segment) {
|
|
||||||
return (int)$segment['id'];
|
|
||||||
}, $segments);
|
|
||||||
|
|
||||||
// ensure that subscribers are in segments
|
// ensure that subscribers are in segments
|
||||||
$subscribers = Subscriber::getSubscribedInSegments($segment_ids)->findArray();
|
|
||||||
|
$finder = new SubscribersFinder();
|
||||||
|
$subscribers = $finder->getSubscribersByList($segments);
|
||||||
$subscribers = Helpers::flattenArray($subscribers);
|
$subscribers = Helpers::flattenArray($subscribers);
|
||||||
|
|
||||||
if(empty($subscribers)) {
|
if(empty($subscribers)) {
|
||||||
|
@@ -29,6 +29,7 @@ class SubscribersFinder {
|
|||||||
return $subscribers;
|
return $subscribers;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSubscribersByList($segments) {
|
function getSubscribersByList($segments) {
|
||||||
@@ -50,6 +51,7 @@ class SubscribersFinder {
|
|||||||
return $subscribers;
|
return $subscribers;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return array();
|
||||||
}
|
}
|
||||||
|
|
||||||
private function unique($subscribers) {
|
private function unique($subscribers) {
|
||||||
|
Reference in New Issue
Block a user