[PREMIUM-38]
This commit is contained in:
Pavel Dohnal
2017-10-11 16:07:44 +01:00
parent 0271675cd0
commit 6a73c463cb
2 changed files with 7 additions and 7 deletions

View File

@@ -213,7 +213,7 @@ class Segment extends Model {
static function listingQuery(array $data = array()) { static function listingQuery(array $data = array()) {
$query = self::select('*'); $query = self::select('*');
$query->whereIn('type', array(Segment::TYPE_WP_USERS, Segment::TYPE_DEFAULT)); $query->whereIn('type', array(Segment::TYPE_WP_USERS, Segment::TYPE_DEFAULT));
if (isset($data['group'])) { if(isset($data['group'])) {
$query->filter('groupBy', $data['group']); $query->filter('groupBy', $data['group']);
} }
return $query; return $query;

View File

@@ -10,7 +10,7 @@ class SubscribersFinder {
function findSubscribersInSegments($subscribers_to_process_ids, $newsletter_segments_ids) { function findSubscribersInSegments($subscribers_to_process_ids, $newsletter_segments_ids) {
$result = array(); $result = array();
foreach ($newsletter_segments_ids as $segment_id) { foreach($newsletter_segments_ids as $segment_id) {
$segment = Segment::find_one($segment_id)->asArray(); $segment = Segment::find_one($segment_id)->asArray();
$result = array_merge($result, $this->findSubscribersInSegment($segment, $subscribers_to_process_ids)); $result = array_merge($result, $this->findSubscribersInSegment($segment, $subscribers_to_process_ids));
} }
@@ -18,14 +18,14 @@ class SubscribersFinder {
} }
private function findSubscribersInSegment($segment, $subscribers_to_process_ids) { private function findSubscribersInSegment($segment, $subscribers_to_process_ids) {
if ($segment['type'] === Segment::TYPE_DEFAULT || $segment['type'] === Segment::TYPE_WP_USERS) { if($segment['type'] === Segment::TYPE_DEFAULT || $segment['type'] === Segment::TYPE_WP_USERS) {
$subscribers = Subscriber::findSubscribersInSegments($subscribers_to_process_ids, array($segment['id']))->findMany(); $subscribers = Subscriber::findSubscribersInSegments($subscribers_to_process_ids, array($segment['id']))->findMany();
return Subscriber::extractSubscribersIds($subscribers); return Subscriber::extractSubscribersIds($subscribers);
} }
$finders = Hooks::applyFilters('mailpoet_get_subscribers_in_segment_finders', array()); $finders = Hooks::applyFilters('mailpoet_get_subscribers_in_segment_finders', array());
foreach($finders as $finder) { foreach($finders as $finder) {
$subscribers = $finder->findSubscribersInSegment($segment, $subscribers_to_process_ids); $subscribers = $finder->findSubscribersInSegment($segment, $subscribers_to_process_ids);
if ($subscribers) { if($subscribers) {
return $subscribers; return $subscribers;
} }
} }
@@ -40,13 +40,13 @@ class SubscribersFinder {
} }
private function getSubscribers($segment) { private function getSubscribers($segment) {
if ($segment['type'] === Segment::TYPE_DEFAULT || $segment['type'] === Segment::TYPE_WP_USERS) { if($segment['type'] === Segment::TYPE_DEFAULT || $segment['type'] === Segment::TYPE_WP_USERS) {
return Subscriber::getSubscribedInSegments(array($segment['id']))->findArray(); return Subscriber::getSubscribedInSegments(array($segment['id']))->findArray();
} }
$finders = Hooks::applyFilters('mailpoet_get_subscribers_in_segment_finders', array()); $finders = Hooks::applyFilters('mailpoet_get_subscribers_in_segment_finders', array());
foreach($finders as $finder) { foreach($finders as $finder) {
$subscribers = $finder->getSubscriberIdsInSegment($segment); $subscribers = $finder->getSubscriberIdsInSegment($segment);
if ($subscribers) { if($subscribers) {
return $subscribers; return $subscribers;
} }
} }
@@ -57,7 +57,7 @@ class SubscribersFinder {
foreach($subscribers as $subscriber) { foreach($subscribers as $subscriber) {
if(is_a($subscriber, 'MailPoet\Models\Model')) { if(is_a($subscriber, 'MailPoet\Models\Model')) {
$result[$subscriber->id] = $subscriber; $result[$subscriber->id] = $subscriber;
} elseif (is_scalar($subscriber)) { } elseif(is_scalar($subscriber)) {
$result[$subscriber] = $subscriber; $result[$subscriber] = $subscriber;
} else { } else {
$result[$subscriber['id']] = $subscriber; $result[$subscriber['id']] = $subscriber;