Move bulkSendConfirmationEmail() method out of the Subscriber model [MAILPOET-1922]
This commit is contained in:
@ -3,7 +3,6 @@ namespace MailPoet\Models;
|
|||||||
|
|
||||||
use MailPoet\DI\ContainerWrapper;
|
use MailPoet\DI\ContainerWrapper;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
use MailPoet\Subscribers\ConfirmationEmailMailer;
|
|
||||||
use MailPoet\Util\Helpers;
|
use MailPoet\Util\Helpers;
|
||||||
use function MailPoet\Util\array_column;
|
use function MailPoet\Util\array_column;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
@ -583,26 +582,6 @@ class Subscriber extends Model {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
static function bulkSendConfirmationEmail($orm) {
|
|
||||||
$subscribers = $orm
|
|
||||||
->where('status', self::STATUS_UNCONFIRMED)
|
|
||||||
->findMany();
|
|
||||||
|
|
||||||
$emails_sent = 0;
|
|
||||||
if (!empty($subscribers)) {
|
|
||||||
$sender = new ConfirmationEmailMailer();
|
|
||||||
foreach ($subscribers as $subscriber) {
|
|
||||||
if ($sender->sendConfirmationEmail($subscriber)) {
|
|
||||||
$emails_sent++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return array(
|
|
||||||
'count' => $emails_sent
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static function getTotalSubscribers() {
|
static function getTotalSubscribers() {
|
||||||
return self::whereIn('status', array(
|
return self::whereIn('status', array(
|
||||||
self::STATUS_SUBSCRIBED,
|
self::STATUS_SUBSCRIBED,
|
||||||
@ -820,4 +799,13 @@ class Subscriber extends Model {
|
|||||||
$service = ContainerWrapper::getInstance()->get(\MailPoet\Subscribers\SubscriberActions::class);
|
$service = ContainerWrapper::getInstance()->get(\MailPoet\Subscribers\SubscriberActions::class);
|
||||||
return $service->subscribe($subscriber_data, $segment_ids);
|
return $service->subscribe($subscriber_data, $segment_ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @deprecated
|
||||||
|
*/
|
||||||
|
static function bulkSendConfirmationEmail($orm) {
|
||||||
|
trigger_error('Calling Subscriber::bulkSendConfirmationEmail() is deprecated and will be removed. Use MailPoet\API\MP\v1\API instead. ', E_USER_DEPRECATED);
|
||||||
|
$service = ContainerWrapper::getInstance()->get(\MailPoet\Subscribers\SubscriberActions::class);
|
||||||
|
return $service->bulkSendConfirmationEmail($orm);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace MailPoet\Subscribers;
|
namespace MailPoet\Subscribers;
|
||||||
|
|
||||||
|
use MailPoet\Listing\BulkActionFactory;
|
||||||
use MailPoet\Models\Segment;
|
use MailPoet\Models\Segment;
|
||||||
use MailPoet\Models\Subscriber;
|
use MailPoet\Models\Subscriber;
|
||||||
use MailPoet\Models\SubscriberSegment;
|
use MailPoet\Models\SubscriberSegment;
|
||||||
@ -20,14 +21,20 @@ class SubscriberActions {
|
|||||||
/** @var ConfirmationEmailMailer */
|
/** @var ConfirmationEmailMailer */
|
||||||
private $confirmation_email_mailer;
|
private $confirmation_email_mailer;
|
||||||
|
|
||||||
|
/** @var BulkActionFactory */
|
||||||
|
private $bulk_action_factory;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
NewSubscriberNotificationMailer $new_subscriber_notification_mailer,
|
NewSubscriberNotificationMailer $new_subscriber_notification_mailer,
|
||||||
ConfirmationEmailMailer $confirmation_email_mailer
|
ConfirmationEmailMailer $confirmation_email_mailer,
|
||||||
|
BulkActionFactory $bulk_action_factory
|
||||||
) {
|
) {
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->new_subscriber_notification_mailer = $new_subscriber_notification_mailer;
|
$this->new_subscriber_notification_mailer = $new_subscriber_notification_mailer;
|
||||||
$this->confirmation_email_mailer = $confirmation_email_mailer;
|
$this->confirmation_email_mailer = $confirmation_email_mailer;
|
||||||
|
$this->bulk_action_factory = $bulk_action_factory;
|
||||||
|
$this->bulk_action_factory->registerAction('\MailPoet\Models\Subscriber', 'bulkSendConfirmationEmail', $this);
|
||||||
}
|
}
|
||||||
|
|
||||||
function subscribe($subscriber_data = array(), $segment_ids = array()) {
|
function subscribe($subscriber_data = array(), $segment_ids = array()) {
|
||||||
@ -94,4 +101,23 @@ class SubscriberActions {
|
|||||||
return $subscriber;
|
return $subscriber;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function bulkSendConfirmationEmail($orm) {
|
||||||
|
$subscribers = $orm
|
||||||
|
->where('status', Subscriber::STATUS_UNCONFIRMED)
|
||||||
|
->findMany();
|
||||||
|
|
||||||
|
$emails_sent = 0;
|
||||||
|
if (!empty($subscribers)) {
|
||||||
|
foreach ($subscribers as $subscriber) {
|
||||||
|
if ($this->confirmation_email_mailer->sendConfirmationEmail($subscriber)) {
|
||||||
|
$emails_sent++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'count' => $emails_sent
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user