123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- /**
- * Wishlist customer sharing block
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- namespace Magento\Wishlist\Block\Customer;
- use Magento\Captcha\Block\Captcha;
- /**
- * Class Sharing
- *
- * @api
- * @since 100.0.2
- * @package Magento\Wishlist\Block\Customer
- */
- class Sharing extends \Magento\Framework\View\Element\Template
- {
- /**
- * Entered Data cache
- *
- * @var array|null
- */
- protected $_enteredData = null;
- /**
- * Wishlist configuration
- *
- * @var \Magento\Wishlist\Model\Config
- */
- protected $_wishlistConfig;
- /**
- * @var \Magento\Framework\Session\Generic
- */
- protected $_wishlistSession;
- /**
- * @param \Magento\Framework\View\Element\Template\Context $context
- * @param \Magento\Wishlist\Model\Config $wishlistConfig
- * @param \Magento\Framework\Session\Generic $wishlistSession
- * @param array $data
- */
- public function __construct(
- \Magento\Framework\View\Element\Template\Context $context,
- \Magento\Wishlist\Model\Config $wishlistConfig,
- \Magento\Framework\Session\Generic $wishlistSession,
- array $data = []
- ) {
- $this->_wishlistConfig = $wishlistConfig;
- $this->_wishlistSession = $wishlistSession;
- parent::__construct($context, $data);
- }
- /**
- * Prepare Global Layout
- *
- * @return void
- */
- protected function _prepareLayout()
- {
- if (!$this->getChildBlock('captcha')) {
- $this->addChild(
- 'captcha',
- Captcha::class,
- [
- 'cacheable' => false,
- 'after' => '-',
- 'form_id' => 'share_wishlist_form',
- 'image_width' => 230,
- 'image_height' => 230
- ]
- );
- }
- $this->pageConfig->getTitle()->set(__('Wish List Sharing'));
- }
- /**
- * Retrieve Send Form Action URL
- *
- * @return string
- */
- public function getSendUrl()
- {
- return $this->getUrl('wishlist/index/send');
- }
- /**
- * Retrieve Entered Data by key
- *
- * @param string $key
- * @return string|null
- */
- public function getEnteredData($key)
- {
- if ($this->_enteredData === null) {
- $this->_enteredData = $this->_wishlistSession->getData('sharing_form', true);
- }
- if (!$this->_enteredData || !isset($this->_enteredData[$key])) {
- return null;
- } else {
- return $this->escapeHtml($this->_enteredData[$key]);
- }
- }
- /**
- * Retrieve back button url
- *
- * @return string
- */
- public function getBackUrl()
- {
- return $this->getUrl('wishlist');
- }
- /**
- * Retrieve number of emails allowed for sharing
- *
- * @return int
- */
- public function getEmailSharingLimit()
- {
- return $this->_wishlistConfig->getSharingEmailLimit();
- }
- /**
- * Retrieve maximum email length allowed for sharing
- *
- * @return int
- */
- public function getTextSharingLimit()
- {
- return $this->_wishlistConfig->getSharingTextLimit();
- }
- }
|