Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MassUnsubscribe.php
Go to the documentation of this file.
1 <?php
8 
12 use Magento\Newsletter\Model\SubscriberFactory;
14 
16 {
20  private $subscriberFactory;
21 
27  public function __construct(
28  Context $context,
29  FileFactory $fileFactory,
30  SubscriberFactory $subscriberFactory = null
31  ) {
32  $this->subscriberFactory = $subscriberFactory ?: ObjectManager::getInstance()->get(SubscriberFactory::class);
33  parent::__construct($context, $fileFactory);
34  }
35 
41  public function execute()
42  {
43  $subscribersIds = $this->getRequest()->getParam('subscriber');
44  if (!is_array($subscribersIds)) {
45  $this->messageManager->addError(__('Please select one or more subscribers.'));
46  } else {
47  try {
48  foreach ($subscribersIds as $subscriberId) {
49  $subscriber = $this->subscriberFactory->create()->load(
50  $subscriberId
51  );
52  $subscriber->unsubscribe();
53  }
54  $this->messageManager->addSuccess(__('A total of %1 record(s) were updated.', count($subscribersIds)));
55  } catch (\Exception $e) {
56  $this->messageManager->addError($e->getMessage());
57  }
58  }
59 
60  $this->_redirect('*/*/index');
61  }
62 }
__()
Definition: __.php:13
$subscriber
Definition: subscribers.php:20
__construct(Context $context, FileFactory $fileFactory, SubscriberFactory $subscriberFactory=null)