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