mirror of
https://github.com/bdnugget/magento2.git
synced 2026-11-07 09:17:35 +00:00
212 lines
5.3 KiB
PHP
212 lines
5.3 KiB
PHP
<?php
|
|
/**
|
|
* Copyright © Magento, Inc. All rights reserved.
|
|
* See COPYING.txt for license details.
|
|
*/
|
|
namespace Magento\Backend\Helper;
|
|
|
|
use Magento\Framework\App\Helper\AbstractHelper;
|
|
|
|
/**
|
|
* @api
|
|
* @deprecated 100.2.0
|
|
* @SuppressWarnings(PHPMD.LongVariable)
|
|
* @since 100.0.2
|
|
*/
|
|
class Data extends AbstractHelper
|
|
{
|
|
const XML_PATH_USE_CUSTOM_ADMIN_URL = 'admin/url/use_custom';
|
|
|
|
/**
|
|
* @var string
|
|
*/
|
|
protected $_pageHelpUrl;
|
|
|
|
/**
|
|
* @var \Magento\Framework\App\Route\Config
|
|
*/
|
|
protected $_routeConfig;
|
|
|
|
/**
|
|
* @var \Magento\Framework\Locale\ResolverInterface
|
|
*/
|
|
protected $_locale;
|
|
|
|
/**
|
|
* @var \Magento\Backend\Model\UrlInterface
|
|
*/
|
|
protected $_backendUrl;
|
|
|
|
/**
|
|
* @var \Magento\Backend\Model\Auth
|
|
*/
|
|
protected $_auth;
|
|
|
|
/**
|
|
* @var \Magento\Backend\App\Area\FrontNameResolver
|
|
*/
|
|
protected $_frontNameResolver;
|
|
|
|
/**
|
|
* @var \Magento\Framework\Math\Random
|
|
*/
|
|
protected $mathRandom;
|
|
|
|
/**
|
|
* @param \Magento\Framework\App\Helper\Context $context
|
|
* @param \Magento\Framework\App\Route\Config $routeConfig
|
|
* @param \Magento\Framework\Locale\ResolverInterface $locale
|
|
* @param \Magento\Backend\Model\UrlInterface $backendUrl
|
|
* @param \Magento\Backend\Model\Auth $auth
|
|
* @param \Magento\Backend\App\Area\FrontNameResolver $frontNameResolver
|
|
* @param \Magento\Framework\Math\Random $mathRandom
|
|
*/
|
|
public function __construct(
|
|
\Magento\Framework\App\Helper\Context $context,
|
|
\Magento\Framework\App\Route\Config $routeConfig,
|
|
\Magento\Framework\Locale\ResolverInterface $locale,
|
|
\Magento\Backend\Model\UrlInterface $backendUrl,
|
|
\Magento\Backend\Model\Auth $auth,
|
|
\Magento\Backend\App\Area\FrontNameResolver $frontNameResolver,
|
|
\Magento\Framework\Math\Random $mathRandom
|
|
) {
|
|
parent::__construct($context);
|
|
$this->_routeConfig = $routeConfig;
|
|
$this->_locale = $locale;
|
|
$this->_backendUrl = $backendUrl;
|
|
$this->_auth = $auth;
|
|
$this->_frontNameResolver = $frontNameResolver;
|
|
$this->mathRandom = $mathRandom;
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function getPageHelpUrl()
|
|
{
|
|
if (!$this->_pageHelpUrl) {
|
|
$this->setPageHelpUrl();
|
|
}
|
|
return $this->_pageHelpUrl;
|
|
}
|
|
|
|
/**
|
|
* @param string|null $url
|
|
* @return $this
|
|
*/
|
|
public function setPageHelpUrl($url = null)
|
|
{
|
|
if ($url === null) {
|
|
$request = $this->_request;
|
|
$frontModule = $request->getControllerModule();
|
|
if (!$frontModule) {
|
|
$frontModule = $this->_routeConfig->getModulesByFrontName($request->getModuleName());
|
|
if (empty($frontModule) === false) {
|
|
$frontModule = $frontModule[0];
|
|
} else {
|
|
$frontModule = null;
|
|
}
|
|
}
|
|
$url = 'http://www.magentocommerce.com/gethelp/';
|
|
$url .= $this->_locale->getLocale() . '/';
|
|
$url .= $frontModule . '/';
|
|
$url .= $request->getControllerName() . '/';
|
|
$url .= $request->getActionName() . '/';
|
|
|
|
$this->_pageHelpUrl = $url;
|
|
}
|
|
$this->_pageHelpUrl = $url;
|
|
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param string $suffix
|
|
* @return $this
|
|
*/
|
|
public function addPageHelpUrl($suffix)
|
|
{
|
|
$this->_pageHelpUrl = $this->getPageHelpUrl() . $suffix;
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* @param string $route
|
|
* @param array $params
|
|
* @return string
|
|
*/
|
|
public function getUrl($route = '', $params = [])
|
|
{
|
|
return $this->_backendUrl->getUrl($route, $params);
|
|
}
|
|
|
|
/**
|
|
* @return int|bool
|
|
*/
|
|
public function getCurrentUserId()
|
|
{
|
|
if ($this->_auth->getUser()) {
|
|
return $this->_auth->getUser()->getId();
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Decode filter string
|
|
*
|
|
* @param string $filterString
|
|
* @return array
|
|
*/
|
|
public function prepareFilterString($filterString)
|
|
{
|
|
$data = [];
|
|
$filterString = base64_decode($filterString);
|
|
parse_str($filterString, $data);
|
|
array_walk_recursive(
|
|
$data,
|
|
// @codingStandardsIgnoreStart
|
|
/**
|
|
* Decodes URL-encoded string and trims whitespaces from the beginning and end of a string
|
|
*
|
|
* @param string $value
|
|
*/
|
|
// @codingStandardsIgnoreEnd
|
|
function (&$value) {
|
|
$value = trim(rawurldecode($value));
|
|
}
|
|
);
|
|
return $data;
|
|
}
|
|
|
|
/**
|
|
* Generate unique token for reset password confirmation link
|
|
*
|
|
* @return string
|
|
*/
|
|
public function generateResetPasswordLinkToken()
|
|
{
|
|
return $this->mathRandom->getUniqueHash();
|
|
}
|
|
|
|
/**
|
|
* Get backend start page URL
|
|
*
|
|
* @return string
|
|
*/
|
|
public function getHomePageUrl()
|
|
{
|
|
return $this->_backendUrl->getRouteUrl('adminhtml');
|
|
}
|
|
|
|
/**
|
|
* Return Backend area front name
|
|
*
|
|
* @param bool $checkHost
|
|
* @return bool|string
|
|
*/
|
|
public function getAreaFrontName($checkHost = false)
|
|
{
|
|
return $this->_frontNameResolver->getFrontName($checkHost);
|
|
}
|
|
}
|