diff --git a/lib/Cron/Workers/Scheduler.php b/lib/Cron/Workers/Scheduler.php index 83d3261e8a..5bfaedb33e 100644 --- a/lib/Cron/Workers/Scheduler.php +++ b/lib/Cron/Workers/Scheduler.php @@ -123,7 +123,8 @@ class Scheduler { return false; } $wp_user = (array) get_userdata($subscriber->wp_user_id); - if(!in_array($newsletter->role, $wp_user['roles'])) { + if($newsletter->role !== \MailPoet\Newsletter\Scheduler\Scheduler::wp_all_roles + && !in_array($newsletter->role, $wp_user['roles'])) { return false; } return true; diff --git a/lib/Newsletter/Scheduler/Scheduler.php b/lib/Newsletter/Scheduler/Scheduler.php index 5a04ce72cb..f6da765642 100644 --- a/lib/Newsletter/Scheduler/Scheduler.php +++ b/lib/Newsletter/Scheduler/Scheduler.php @@ -10,6 +10,7 @@ use MailPoet\Models\SendingQueue; class Scheduler { const seconds_in_hour = 3600; const last_weekday_format = 'L'; + const wp_all_roles = 'mailpoet_all'; static function postNotification($newsletter_id) { $newsletter = Newsletter::filter('filterWithOptions') @@ -76,13 +77,13 @@ class Scheduler { // do not schedule welcome newsletter if roles have not changed $old_role = (array) $old_user_data->roles; $new_role = (array) $wp_user->roles; - if($newsletter['role'] === 'mailpoet_all' || + if($newsletter['role'] === self::wp_all_roles || !array_diff($old_role, $new_role) ) { continue; } } - if($newsletter['role'] === 'mailpoet_all' || + if($newsletter['role'] === self::wp_all_roles || in_array($newsletter['role'], $wp_user['roles']) ) { self::createSendingQueueEntry($newsletter, $subscriber_id);