mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 17:27:36 +00:00
199 lines
4.8 KiB
PHP
199 lines
4.8 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
|
|
/**
|
|
* Persistent Shopping Cart Data Helper
|
|
*/
|
|
namespace Magento\Persistent\Helper;
|
|
|
|
use Magento\Framework\Module\Dir;
|
|
use Magento\Store\Model\ScopeInterface;
|
|
|
|
/**
|
|
* Helper for persistence
|
|
*
|
|
* @api
|
|
* @since 100.0.2
|
|
*/
|
|
class Data extends \Magento\Framework\App\Helper\AbstractHelper
|
|
{
|
|
const XML_PATH_ENABLED = 'persistent/options/enabled';
|
|
|
|
const XML_PATH_LIFE_TIME = 'persistent/options/lifetime';
|
|
|
|
const XML_PATH_LOGOUT_CLEAR = 'persistent/options/logout_clear';
|
|
|
|
const XML_PATH_REMEMBER_ME_ENABLED = 'persistent/options/remember_enabled';
|
|
|
|
const XML_PATH_REMEMBER_ME_DEFAULT = 'persistent/options/remember_default';
|
|
|
|
const XML_PATH_PERSIST_SHOPPING_CART = 'persistent/options/shopping_cart';
|
|
|
|
/**
|
|
* Name of config file
|
|
*
|
|
* @var string
|
|
*/
|
|
protected $_configFileName = 'persistent.xml';
|
|
|
|
/**
|
|
* @var \Magento\Framework\Escaper
|
|
*/
|
|
protected $_escaper;
|
|
|
|
/**
|
|
* @var \Magento\Framework\Module\Dir\Reader
|
|
*/
|
|
protected $_modulesReader;
|
|
|
|
/**
|
|
* @param \Magento\Framework\App\Helper\Context $context
|
|
* @param \Magento\Framework\Module\Dir\Reader $modulesReader
|
|
* @param \Magento\Framework\Escaper $escaper
|
|
*/
|
|
public function __construct(
|
|
\Magento\Framework\App\Helper\Context $context,
|
|
\Magento\Framework\Module\Dir\Reader $modulesReader,
|
|
\Magento\Framework\Escaper $escaper
|
|
) {
|
|
$this->_modulesReader = $modulesReader;
|
|
$this->_escaper = $escaper;
|
|
parent::__construct(
|
|
$context
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Checks whether Persistence Functionality is enabled
|
|
*
|
|
* @param int|string|\Magento\Store\Model\Store $store
|
|
* @return bool
|
|
* @codeCoverageIgnore
|
|
*/
|
|
public function isEnabled($store = null)
|
|
{
|
|
return $this->scopeConfig->isSetFlag(
|
|
self::XML_PATH_ENABLED,
|
|
ScopeInterface::SCOPE_STORE,
|
|
$store
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Checks whether "Remember Me" enabled
|
|
*
|
|
* @param int|string|\Magento\Store\Model\Store $store
|
|
* @return bool
|
|
* @codeCoverageIgnore
|
|
*/
|
|
public function isRememberMeEnabled($store = null)
|
|
{
|
|
return $this->scopeConfig->isSetFlag(
|
|
self::XML_PATH_REMEMBER_ME_ENABLED,
|
|
ScopeInterface::SCOPE_STORE,
|
|
$store
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Is "Remember Me" checked by default
|
|
*
|
|
* @param int|string|\Magento\Store\Model\Store $store
|
|
* @return bool
|
|
* @codeCoverageIgnore
|
|
*/
|
|
public function isRememberMeCheckedDefault($store = null)
|
|
{
|
|
return $this->scopeConfig->isSetFlag(
|
|
self::XML_PATH_REMEMBER_ME_DEFAULT,
|
|
ScopeInterface::SCOPE_STORE,
|
|
$store
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Is shopping cart persist
|
|
*
|
|
* @param int|string|\Magento\Store\Model\Store $store
|
|
* @return bool
|
|
* @codeCoverageIgnore
|
|
*/
|
|
public function isShoppingCartPersist($store = null)
|
|
{
|
|
return $this->scopeConfig->isSetFlag(
|
|
self::XML_PATH_PERSIST_SHOPPING_CART,
|
|
ScopeInterface::SCOPE_STORE,
|
|
$store
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Get Persistence Lifetime
|
|
*
|
|
* @param int|string|\Magento\Store\Model\Store $store
|
|
* @return int
|
|
*/
|
|
public function getLifeTime($store = null)
|
|
{
|
|
$lifeTime = (int)$this->scopeConfig->getValue(
|
|
self::XML_PATH_LIFE_TIME,
|
|
ScopeInterface::SCOPE_STORE,
|
|
$store
|
|
);
|
|
return $lifeTime < 0 ? 0 : $lifeTime;
|
|
}
|
|
|
|
/**
|
|
* Check if set `Clear on Logout` in config settings
|
|
*
|
|
* @return bool
|
|
* @SuppressWarnings(PHPMD.BooleanGetMethodName)
|
|
* @codeCoverageIgnore
|
|
*/
|
|
public function getClearOnLogout()
|
|
{
|
|
return $this->scopeConfig->isSetFlag(
|
|
self::XML_PATH_LOGOUT_CLEAR,
|
|
ScopeInterface::SCOPE_STORE
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Retrieve url for unset long-term cookie
|
|
*
|
|
* @return string
|
|
* @codeCoverageIgnore
|
|
*/
|
|
public function getUnsetCookieUrl()
|
|
{
|
|
return $this->_getUrl('persistent/index/unsetCookie');
|
|
}
|
|
|
|
/**
|
|
* Retrieve path for config file
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getPersistentConfigFilePath()
|
|
{
|
|
return $this->_modulesReader->getModuleDir(Dir::MODULE_ETC_DIR, $this->_getModuleName())
|
|
. '/' . $this->_configFileName;
|
|
}
|
|
|
|
/**
|
|
* Check whether specified action should be processed
|
|
*
|
|
* @param \Magento\Framework\Event\Observer $observer
|
|
* @return bool
|
|
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
|
|
* @codeCoverageIgnore
|
|
*/
|
|
public function canProcess($observer)
|
|
{
|
|
return true;
|
|
}
|
|
}
|