Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php /** * Copyright Magento, Inc. All rights reserved. * See COPYING.txt for license ..
Decoded Output download
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Catalog\ViewModel\Product;
use Magento\Catalog\Helper\Data;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\DataObject;
use Magento\Framework\Serialize\Serializer\JsonHexTag;
use Magento\Framework\View\Element\Block\ArgumentInterface;
use Magento\Framework\Escaper;
use Magento\Store\Model\ScopeInterface;
/**
* Product breadcrumbs view model.
*/
class Breadcrumbs extends DataObject implements ArgumentInterface
{
private const XML_PATH_CATEGORY_URL_SUFFIX = 'catalog/seo/category_url_suffix';
private const XML_PATH_PRODUCT_USE_CATEGORIES = 'catalog/seo/product_use_categories';
/**
* @var Data
*/
private $catalogData;
/**
* @var ScopeConfigInterface
*/
private $scopeConfig;
/**
* @var Escaper
*/
private $escaper;
/**
* @var JsonHexTag
*/
private $jsonSerializer;
/**
* @param Data $catalogData
* @param ScopeConfigInterface $scopeConfig
* @param Escaper $escaper
* @param JsonHexTag $jsonSerializer
*/
public function __construct(
Data $catalogData,
ScopeConfigInterface $scopeConfig,
Escaper $escaper,
JsonHexTag $jsonSerializer
) {
parent::__construct();
$this->catalogData = $catalogData;
$this->scopeConfig = $scopeConfig;
$this->escaper = $escaper;
$this->jsonSerializer = $jsonSerializer;
}
/**
* Returns category URL suffix.
*
* @return mixed
*/
public function getCategoryUrlSuffix()
{
return $this->scopeConfig->getValue(
self::XML_PATH_CATEGORY_URL_SUFFIX,
ScopeInterface::SCOPE_STORE
);
}
/**
* Checks if categories path is used for product URLs.
*
* @return bool
*/
public function isCategoryUsedInProductUrl(): bool
{
return $this->scopeConfig->isSetFlag(
self::XML_PATH_PRODUCT_USE_CATEGORIES,
ScopeInterface::SCOPE_STORE
);
}
/**
* Returns product name.
*
* @return string
*/
public function getProductName(): string
{
return $this->catalogData->getProduct() !== null
? $this->catalogData->getProduct()->getName()
: '';
}
/**
* Returns breadcrumb json with html escaped names
*
* @return string
*/
public function getJsonConfigurationHtmlEscaped(): string
{
return $this->jsonSerializer->serialize(
[
'breadcrumbs' => [
'categoryUrlSuffix' => $this->escaper->escapeHtml($this->getCategoryUrlSuffix()),
'useCategoryPathInUrl' => (int)$this->isCategoryUsedInProductUrl(),
'product' => $this->escaper->escapeHtml($this->getProductName())
]
]
);
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Catalog\ViewModel\Product;
use Magento\Catalog\Helper\Data;
use Magento\Framework\App\Config\ScopeConfigInterface;
use Magento\Framework\DataObject;
use Magento\Framework\Serialize\Serializer\JsonHexTag;
use Magento\Framework\View\Element\Block\ArgumentInterface;
use Magento\Framework\Escaper;
use Magento\Store\Model\ScopeInterface;
/**
* Product breadcrumbs view model.
*/
class Breadcrumbs extends DataObject implements ArgumentInterface
{
private const XML_PATH_CATEGORY_URL_SUFFIX = 'catalog/seo/category_url_suffix';
private const XML_PATH_PRODUCT_USE_CATEGORIES = 'catalog/seo/product_use_categories';
/**
* @var Data
*/
private $catalogData;
/**
* @var ScopeConfigInterface
*/
private $scopeConfig;
/**
* @var Escaper
*/
private $escaper;
/**
* @var JsonHexTag
*/
private $jsonSerializer;
/**
* @param Data $catalogData
* @param ScopeConfigInterface $scopeConfig
* @param Escaper $escaper
* @param JsonHexTag $jsonSerializer
*/
public function __construct(
Data $catalogData,
ScopeConfigInterface $scopeConfig,
Escaper $escaper,
JsonHexTag $jsonSerializer
) {
parent::__construct();
$this->catalogData = $catalogData;
$this->scopeConfig = $scopeConfig;
$this->escaper = $escaper;
$this->jsonSerializer = $jsonSerializer;
}
/**
* Returns category URL suffix.
*
* @return mixed
*/
public function getCategoryUrlSuffix()
{
return $this->scopeConfig->getValue(
self::XML_PATH_CATEGORY_URL_SUFFIX,
ScopeInterface::SCOPE_STORE
);
}
/**
* Checks if categories path is used for product URLs.
*
* @return bool
*/
public function isCategoryUsedInProductUrl(): bool
{
return $this->scopeConfig->isSetFlag(
self::XML_PATH_PRODUCT_USE_CATEGORIES,
ScopeInterface::SCOPE_STORE
);
}
/**
* Returns product name.
*
* @return string
*/
public function getProductName(): string
{
return $this->catalogData->getProduct() !== null
? $this->catalogData->getProduct()->getName()
: '';
}
/**
* Returns breadcrumb json with html escaped names
*
* @return string
*/
public function getJsonConfigurationHtmlEscaped(): string
{
return $this->jsonSerializer->serialize(
[
'breadcrumbs' => [
'categoryUrlSuffix' => $this->escaper->escapeHtml($this->getCategoryUrlSuffix()),
'useCategoryPathInUrl' => (int)$this->isCategoryUsedInProductUrl(),
'product' => $this->escaper->escapeHtml($this->getProductName())
]
]
);
}
}
Function Calls
None |
Stats
MD5 | 3830a753eb53f8fbe92dc1d8cb31968a |
Eval Count | 0 |
Decode Time | 113 ms |