Confirm.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. *
  4. * Copyright © Magento, Inc. All rights reserved.
  5. * See COPYING.txt for license details.
  6. */
  7. namespace Magento\Newsletter\Controller\Subscriber;
  8. class Confirm extends \Magento\Newsletter\Controller\Subscriber
  9. {
  10. /**
  11. * Subscription confirm action
  12. * @return void
  13. */
  14. public function execute()
  15. {
  16. $id = (int)$this->getRequest()->getParam('id');
  17. $code = (string)$this->getRequest()->getParam('code');
  18. if ($id && $code) {
  19. /** @var \Magento\Newsletter\Model\Subscriber $subscriber */
  20. $subscriber = $this->_subscriberFactory->create()->load($id);
  21. if ($subscriber->getId() && $subscriber->getCode()) {
  22. if ($subscriber->confirm($code)) {
  23. $this->messageManager->addSuccess(__('Your subscription has been confirmed.'));
  24. } else {
  25. $this->messageManager->addError(__('This is an invalid subscription confirmation code.'));
  26. }
  27. } else {
  28. $this->messageManager->addError(__('This is an invalid subscription ID.'));
  29. }
  30. }
  31. $resultRedirect = $this->resultRedirectFactory->create();
  32. $resultRedirect->setUrl($this->_storeManager->getStore()->getBaseUrl());
  33. return $resultRedirect;
  34. }
  35. }