12345678910111213141516171819202122232425262728293031323334353637383940 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Newsletter\Controller\Subscriber;
- use Magento\Framework\App\Action\HttpGetActionInterface as HttpGetActionInterface;
- /**
- * Controller for unsubscribing customers.
- */
- class Unsubscribe extends \Magento\Newsletter\Controller\Subscriber implements HttpGetActionInterface
- {
- /**
- * Unsubscribe newsletter.
- *
- * @return \Magento\Backend\Model\View\Result\Redirect
- */
- public function execute()
- {
- $id = (int)$this->getRequest()->getParam('id');
- $code = (string)$this->getRequest()->getParam('code');
- if ($id && $code) {
- try {
- $this->_subscriberFactory->create()->load($id)->setCheckCode($code)->unsubscribe();
- $this->messageManager->addSuccess(__('You unsubscribed.'));
- } catch (\Magento\Framework\Exception\LocalizedException $e) {
- $this->messageManager->addException($e, $e->getMessage());
- } catch (\Exception $e) {
- $this->messageManager->addException($e, __('Something went wrong while unsubscribing you.'));
- }
- }
- /** @var \Magento\Backend\Model\View\Result\Redirect $redirect */
- $redirect = $this->resultFactory->create(\Magento\Framework\Controller\ResultFactory::TYPE_REDIRECT);
- $redirectUrl = $this->_redirect->getRedirectUrl();
- return $redirect->setUrl($redirectUrl);
- }
- }
|