- Enables check for subscribers who has "subscribed" status during

newsletter sending
- Enforces "signup_confirmation" option when selecting subscribers for
  newsletter sending
- Updates unit tests
This commit is contained in:
Vlad
2016-04-15 19:57:18 -04:00
committed by Tautvidas Sipavičius
parent d4abaa7150
commit 91076580ef
4 changed files with 74 additions and 14 deletions

View File

@ -5,6 +5,8 @@ use MailPoet\Mailer\Mailer;
use MailPoet\Models\Newsletter;
use MailPoet\Models\NewsletterOption;
use MailPoet\Models\NewsletterOptionField;
use MailPoet\Models\Setting;
use MailPoet\Models\Subscriber;
use MailPoet\Models\SubscriberSegment;
use MailPoet\Util\Helpers;
use Cron\CronExpression as Cron;
@ -81,9 +83,18 @@ class SendingQueue {
$queue = \MailPoet\Models\SendingQueue::create();
$queue->newsletter_id = $newsletter->id;
$subscribers = SubscriberSegment::whereIn('segment_id', $data['segments'])
->findArray();
if((boolean) Setting::getValue('signup_confirmation.enabled')) {
$subscribers = Subscriber::getSubscribedInSegments($data['segments'])
->findArray();
}
else {
$subscribers = SubscriberSegment::whereIn('segment_id', $data['segments'])
->where('status', 'subscribed')
->findArray();
}
$subscribers = Helpers::arrayColumn($subscribers, 'subscriber_id');
$subscribers = array_unique($subscribers);
if(!count($subscribers)) {
return array(