Fix generate generating unsubscribe token for Subscriber
[MAILPOET-3031]
This commit is contained in:
@ -6,6 +6,7 @@ use Exception;
|
|||||||
use MailPoet\Entities\NewsletterEntity;
|
use MailPoet\Entities\NewsletterEntity;
|
||||||
use MailPoet\Entities\SubscriberEntity;
|
use MailPoet\Entities\SubscriberEntity;
|
||||||
use MailPoet\Newsletter\NewslettersRepository;
|
use MailPoet\Newsletter\NewslettersRepository;
|
||||||
|
use MailPoet\Subscribers\SubscribersRepository;
|
||||||
use MailPoet\WP\Functions as WPFunctions;
|
use MailPoet\WP\Functions as WPFunctions;
|
||||||
|
|
||||||
class Security {
|
class Security {
|
||||||
@ -15,8 +16,12 @@ class Security {
|
|||||||
/** @var NewslettersRepository */
|
/** @var NewslettersRepository */
|
||||||
private $newslettersRepository;
|
private $newslettersRepository;
|
||||||
|
|
||||||
public function __construct(NewslettersRepository $newslettersRepository) {
|
/** @var SubscribersRepository */
|
||||||
|
private $subscribersRepository;
|
||||||
|
|
||||||
|
public function __construct(NewslettersRepository $newslettersRepository, SubscribersRepository $subscribersRepository) {
|
||||||
$this->newslettersRepository = $newslettersRepository;
|
$this->newslettersRepository = $newslettersRepository;
|
||||||
|
$this->subscribersRepository = $subscribersRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function generateToken($action = 'mailpoet_token') {
|
public static function generateToken($action = 'mailpoet_token') {
|
||||||
@ -71,8 +76,10 @@ class Security {
|
|||||||
|
|
||||||
public function generateUnsubscribeTokenByEntity($entity): string {
|
public function generateUnsubscribeTokenByEntity($entity): string {
|
||||||
$repository = null;
|
$repository = null;
|
||||||
if ($entity instanceof NewsletterEntity || $entity instanceof SubscriberEntity) {
|
if ($entity instanceof NewsletterEntity) {
|
||||||
$repository = $this->newslettersRepository;
|
$repository = $this->newslettersRepository;
|
||||||
|
} elseif ($entity instanceof SubscriberEntity) {
|
||||||
|
$repository = $this->subscribersRepository;
|
||||||
} else {
|
} else {
|
||||||
throw new Exception('Unsupported Entity type');
|
throw new Exception('Unsupported Entity type');
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user