Data.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Newsletter\Helper;
  7. /**
  8. * Newsletter Data Helper
  9. *
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class Data
  14. {
  15. /**
  16. * @var \Magento\Framework\UrlInterface
  17. */
  18. protected $_frontendUrlBuilder;
  19. /**
  20. * @param \Magento\Framework\UrlInterface $frontendUrlBuilder
  21. */
  22. public function __construct(\Magento\Framework\UrlInterface $frontendUrlBuilder)
  23. {
  24. $this->_frontendUrlBuilder = $frontendUrlBuilder;
  25. }
  26. /**
  27. * Retrieve subscription confirmation url
  28. *
  29. * @param \Magento\Newsletter\Model\Subscriber $subscriber
  30. * @return string
  31. */
  32. public function getConfirmationUrl($subscriber)
  33. {
  34. return $this->_frontendUrlBuilder->setScope(
  35. $subscriber->getStoreId()
  36. )->getUrl(
  37. 'newsletter/subscriber/confirm',
  38. ['id' => $subscriber->getId(), 'code' => $subscriber->getCode(), '_nosid' => true]
  39. );
  40. }
  41. /**
  42. * Retrieve unsubscription url
  43. *
  44. * @param \Magento\Newsletter\Model\Subscriber $subscriber
  45. * @return string
  46. */
  47. public function getUnsubscribeUrl($subscriber)
  48. {
  49. return $this->_frontendUrlBuilder->setScope(
  50. $subscriber->getStoreId()
  51. )->getUrl(
  52. 'newsletter/subscriber/unsubscribe',
  53. ['id' => $subscriber->getId(), 'code' => $subscriber->getCode(), '_nosid' => true]
  54. );
  55. }
  56. }