Use getCurrentWPUser from SubscribersRepository
[MAILPOET-3268]
This commit is contained in:
@@ -5,16 +5,19 @@ namespace MailPoet\AdminPages\Pages;
|
||||
use MailPoet\AdminPages\PageRenderer;
|
||||
use MailPoet\Config\Menu;
|
||||
use MailPoet\Config\ServicesChecker;
|
||||
use MailPoet\Models\Subscriber;
|
||||
use MailPoet\Entities\SubscriberEntity;
|
||||
use MailPoet\Newsletter\Shortcodes\ShortcodesHelper;
|
||||
use MailPoet\Services\Bridge;
|
||||
use MailPoet\Settings\SettingsController;
|
||||
use MailPoet\Settings\UserFlagsController;
|
||||
use MailPoet\Subscribers\SubscribersRepository;
|
||||
use MailPoet\WooCommerce\Helper as WooCommerceHelper;
|
||||
use MailPoet\WooCommerce\TransactionalEmails;
|
||||
use MailPoet\WP\Functions as WPFunctions;
|
||||
|
||||
class NewsletterEditor {
|
||||
private const DATE_FORMAT = 'Y-m-d H:i:s';
|
||||
|
||||
/** @var PageRenderer */
|
||||
private $pageRenderer;
|
||||
|
||||
@@ -39,6 +42,9 @@ class NewsletterEditor {
|
||||
/** @var ShortcodesHelper */
|
||||
private $shortcodesHelper;
|
||||
|
||||
/** @var SubscribersRepository */
|
||||
private $subscribersRepository;
|
||||
|
||||
public function __construct(
|
||||
PageRenderer $pageRenderer,
|
||||
SettingsController $settings,
|
||||
@@ -47,7 +53,8 @@ class NewsletterEditor {
|
||||
WPFunctions $wp,
|
||||
TransactionalEmails $wcTransactionalEmails,
|
||||
ShortcodesHelper $shortcodesHelper,
|
||||
ServicesChecker $servicesChecker
|
||||
ServicesChecker $servicesChecker,
|
||||
SubscribersRepository $subscribersRepository
|
||||
) {
|
||||
$this->pageRenderer = $pageRenderer;
|
||||
$this->settings = $settings;
|
||||
@@ -57,6 +64,7 @@ class NewsletterEditor {
|
||||
$this->wcTransactionalEmails = $wcTransactionalEmails;
|
||||
$this->servicesChecker = $servicesChecker;
|
||||
$this->shortcodesHelper = $shortcodesHelper;
|
||||
$this->subscribersRepository = $subscribersRepository;
|
||||
}
|
||||
|
||||
public function render() {
|
||||
@@ -76,8 +84,8 @@ class NewsletterEditor {
|
||||
exit;
|
||||
}
|
||||
|
||||
$subscriber = Subscriber::getCurrentWPUser();
|
||||
$subscriberData = $subscriber ? $subscriber->asArray() : [];
|
||||
$subscriber = $this->subscribersRepository->getCurrentWPUser();
|
||||
$subscriberData = $subscriber ? $this->formatSubscriber($subscriber) : [];
|
||||
$woocommerceData = [];
|
||||
if ($this->woocommerceHelper->isWooCommerceActive()) {
|
||||
$wcEmailSettings = $this->wcTransactionalEmails->getWCEmailSettings();
|
||||
@@ -106,4 +114,28 @@ class NewsletterEditor {
|
||||
|
||||
$this->pageRenderer->displayPage('newsletter/editor.html', $data);
|
||||
}
|
||||
|
||||
private function formatSubscriber(SubscriberEntity $subscriber): array {
|
||||
return [
|
||||
'id' => $subscriber->getId(),
|
||||
'wp_user_id' => $subscriber->getWpUserId(),
|
||||
'is_woocommerce_user' => (string)$subscriber->isWPUser(), // BC compatibility
|
||||
'first_name' => $subscriber->getFirstName(),
|
||||
'last_name' => $subscriber->getLastName(),
|
||||
'email' => $subscriber->getEmail(),
|
||||
'status' => $subscriber->getStatus(),
|
||||
'subscribed_ip' => $subscriber->getSubscribedIp(),
|
||||
'confirmed_ip' => $subscriber->getConfirmedIp(),
|
||||
'confirmed_at' => ($confirmedAt = $subscriber->getConfirmedAt()) ? $confirmedAt->format(self::DATE_FORMAT) : null,
|
||||
'last_subscribed_at' => ($lastSubscribedAt = $subscriber->getLastSubscribedAt()) ? $lastSubscribedAt->format(self::DATE_FORMAT) : null,
|
||||
'created_at' => $subscriber->getCreatedAt()->format(self::DATE_FORMAT),
|
||||
'updated_at' => $subscriber->getUpdatedAt()->format(self::DATE_FORMAT),
|
||||
'deleted_at' => ($deletedAt = $subscriber->getDeletedAt()) ? $deletedAt->format(self::DATE_FORMAT) : null,
|
||||
'unconfirmed_data' => $subscriber->getUnconfirmedData(),
|
||||
'source' => $subscriber->getSource(),
|
||||
'count_confirmation' => $subscriber->getConfirmationsCount(),
|
||||
'unsubscribe_token' => $subscriber->getUnsubscribeToken(),
|
||||
'link_token' => $subscriber->getLinkToken(),
|
||||
];
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user