Add subscribers API action for sending confirmation email
[MAILPOET-2316]
This commit is contained in:
committed by
Jack Kitterhing
parent
0e8a5bdb62
commit
481cae676c
@ -16,6 +16,7 @@ use MailPoet\Newsletter\Scheduler\WelcomeScheduler;
|
|||||||
use MailPoet\Segments\BulkAction;
|
use MailPoet\Segments\BulkAction;
|
||||||
use MailPoet\Segments\SubscribersListings;
|
use MailPoet\Segments\SubscribersListings;
|
||||||
use MailPoet\Settings\SettingsController;
|
use MailPoet\Settings\SettingsController;
|
||||||
|
use MailPoet\Subscribers\ConfirmationEmailMailer;
|
||||||
use MailPoet\Subscribers\RequiredCustomFieldValidator;
|
use MailPoet\Subscribers\RequiredCustomFieldValidator;
|
||||||
use MailPoet\Subscribers\Source;
|
use MailPoet\Subscribers\Source;
|
||||||
use MailPoet\Subscribers\SubscriberActions;
|
use MailPoet\Subscribers\SubscriberActions;
|
||||||
@ -62,6 +63,9 @@ class Subscribers extends APIEndpoint {
|
|||||||
/** @var CaptchaSession */
|
/** @var CaptchaSession */
|
||||||
private $captcha_session;
|
private $captcha_session;
|
||||||
|
|
||||||
|
/** @var ConfirmationEmailMailer; */
|
||||||
|
private $confirmation_email_mailer;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
Listing\BulkActionController $bulk_action_controller,
|
Listing\BulkActionController $bulk_action_controller,
|
||||||
SubscribersListings $subscribers_listings,
|
SubscribersListings $subscribers_listings,
|
||||||
@ -71,7 +75,8 @@ class Subscribers extends APIEndpoint {
|
|||||||
Captcha $subscription_captcha,
|
Captcha $subscription_captcha,
|
||||||
WPFunctions $wp,
|
WPFunctions $wp,
|
||||||
SettingsController $settings,
|
SettingsController $settings,
|
||||||
CaptchaSession $captcha_session
|
CaptchaSession $captcha_session,
|
||||||
|
ConfirmationEmailMailer $confirmation_email_mailer
|
||||||
) {
|
) {
|
||||||
$this->bulk_action_controller = $bulk_action_controller;
|
$this->bulk_action_controller = $bulk_action_controller;
|
||||||
$this->subscribers_listings = $subscribers_listings;
|
$this->subscribers_listings = $subscribers_listings;
|
||||||
@ -82,6 +87,7 @@ class Subscribers extends APIEndpoint {
|
|||||||
$this->wp = $wp;
|
$this->wp = $wp;
|
||||||
$this->settings = $settings;
|
$this->settings = $settings;
|
||||||
$this->captcha_session = $captcha_session;
|
$this->captcha_session = $captcha_session;
|
||||||
|
$this->confirmation_email_mailer = $confirmation_email_mailer;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get($data = []) {
|
function get($data = []) {
|
||||||
@ -412,6 +418,21 @@ class Subscribers extends APIEndpoint {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sendConfirmationEmail($data = []) {
|
||||||
|
$id = (isset($data['id']) ? (int)$data['id'] : false);
|
||||||
|
$subscriber = Subscriber::findOne($id);
|
||||||
|
if ($subscriber instanceof Subscriber) {
|
||||||
|
if ($this->confirmation_email_mailer->sendConfirmationEmail($subscriber)) {
|
||||||
|
return $this->successResponse();
|
||||||
|
}
|
||||||
|
return $this->errorResponse();
|
||||||
|
} else {
|
||||||
|
return $this->errorResponse([
|
||||||
|
APIError::NOT_FOUND => WPFunctions::get()->__('This subscriber does not exist.', 'mailpoet'),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function bulkAction($data = []) {
|
function bulkAction($data = []) {
|
||||||
try {
|
try {
|
||||||
if (!isset($data['listing']['filter']['segment'])) {
|
if (!isset($data['listing']['filter']['segment'])) {
|
||||||
|
Reference in New Issue
Block a user