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.
*/
namespace Magento\Bundle\Block\Adminhtml\Sales\Order\View\Items;
use Magento\Catalog\Helper\Data as CatalogHelper;
use Magento\Catalog\Model\Product\Type\AbstractType;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Serialize\Serializer\Json;
/**
* Adminhtml sales order item renderer
*
* @api
* @since 100.0.2
*/
class Renderer extends \Magento\Sales\Block\Adminhtml\Order\View\Items\Renderer\DefaultRenderer
{
/**
* @var Json
*/
private $serializer;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry
* @param \Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration
* @param \Magento\Framework\Registry $registry
* @param \Magento\GiftMessage\Helper\Message $messageHelper
* @param \Magento\Checkout\Helper\Data $checkoutHelper
* @param array $data
* @param \Magento\Framework\Serialize\Serializer\Json $serializer
* @param CatalogHelper|null $catalogHelper
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry,
\Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration,
\Magento\Framework\Registry $registry,
\Magento\GiftMessage\Helper\Message $messageHelper,
\Magento\Checkout\Helper\Data $checkoutHelper,
array $data = [],
Json $serializer = null,
?CatalogHelper $catalogHelper = null
) {
$this->serializer = $serializer ?? ObjectManager::getInstance()->get(Json::class);
$data['catalogHelper'] = $catalogHelper ?? ObjectManager::getInstance()->get(CatalogHelper::class);
parent::__construct(
$context,
$stockRegistry,
$stockConfiguration,
$registry,
$messageHelper,
$checkoutHelper,
$data
);
}
/**
* Truncate string
*
* @param string $value
* @param int $length
* @param string $etc
* @param string $remainder
* @param bool $breakWords
* @return string
*/
public function truncateString($value, $length = 80, $etc = '...', &$remainder = '', $breakWords = true)
{
return $this->filterManager->truncate(
$value,
['length' => $length, 'etc' => $etc, 'remainder' => $remainder, 'breakWords' => $breakWords]
);
}
/**
* Get is shipment separately.
*
* @param null|object $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isShipmentSeparately($item = null)
{
if ($item) {
$parentItem = $item->getParentItem();
if ($parentItem) {
$options = $parentItem->getProductOptions();
if ($options) {
return (isset($options['shipment_type'])
&& $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY);
}
} else {
$options = $item->getProductOptions();
if ($options) {
return !(isset($options['shipment_type'])
&& $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY);
}
}
}
$options = $this->getItem()->getProductOptions();
if ($options) {
if (isset($options['shipment_type']) && $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY) {
return true;
}
}
return false;
}
/**
* Get is child calculated.
*
* @param null|object $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isChildCalculated($item = null)
{
if ($item) {
$parentItem = $item->getParentItem();
if ($parentItem) {
$options = $parentItem->getProductOptions();
if ($options) {
return (isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD);
}
} else {
$options = $item->getProductOptions();
if ($options) {
return !(isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD);
}
}
}
$options = $this->getItem()->getProductOptions();
if ($options) {
if (isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD
) {
return true;
}
}
return false;
}
/**
* Return selection attributes.
*
* @param mixed $item
* @return mixed
*/
public function getSelectionAttributes($item)
{
if ($item instanceof \Magento\Sales\Model\Order\Item) {
$options = $item->getProductOptions();
} else {
$options = $item->getOrderItem()->getProductOptions();
}
if (isset($options['bundle_selection_attributes'])) {
return $this->serializer->unserialize($options['bundle_selection_attributes']);
}
return null;
}
/**
* Return order options.
*
* @return array
*/
public function getOrderOptions()
{
$result = [];
$options = $this->getItem()->getProductOptions();
if ($options) {
if (isset($options['options'])) {
$result = array_merge($result, $options['options']);
}
if (isset($options['additional_options'])) {
$result = array_merge($result, $options['additional_options']);
}
if (!empty($options['attributes_info'])) {
$result = array_merge($options['attributes_info'], $result);
}
}
return $result;
}
/**
* Return value html.
*
* @param object $item
* @return string
*/
public function getValueHtml($item)
{
$result = $this->escapeHtml($item->getName());
if (!$this->isShipmentSeparately($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$result = (float) $attributes['qty'] . ' x ' . $result;
}
}
if (!$this->isChildCalculated($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$result .= " " . $this->getItem()->getOrder()->formatBasePrice($attributes['price']);
}
}
return $result;
}
/**
* Return can show price.
*
* @param object $item
* @return bool
*/
public function canShowPriceInfo($item)
{
if ($item->getParentItem() && $this->isChildCalculated()
|| !$item->getParentItem() && !$this->isChildCalculated()
) {
return true;
}
return false;
}
}
?>
Did this file decode correctly?
Original Code
<?php
/**
* Copyright Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Bundle\Block\Adminhtml\Sales\Order\View\Items;
use Magento\Catalog\Helper\Data as CatalogHelper;
use Magento\Catalog\Model\Product\Type\AbstractType;
use Magento\Framework\App\ObjectManager;
use Magento\Framework\Serialize\Serializer\Json;
/**
* Adminhtml sales order item renderer
*
* @api
* @since 100.0.2
*/
class Renderer extends \Magento\Sales\Block\Adminhtml\Order\View\Items\Renderer\DefaultRenderer
{
/**
* @var Json
*/
private $serializer;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry
* @param \Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration
* @param \Magento\Framework\Registry $registry
* @param \Magento\GiftMessage\Helper\Message $messageHelper
* @param \Magento\Checkout\Helper\Data $checkoutHelper
* @param array $data
* @param \Magento\Framework\Serialize\Serializer\Json $serializer
* @param CatalogHelper|null $catalogHelper
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\CatalogInventory\Api\StockRegistryInterface $stockRegistry,
\Magento\CatalogInventory\Api\StockConfigurationInterface $stockConfiguration,
\Magento\Framework\Registry $registry,
\Magento\GiftMessage\Helper\Message $messageHelper,
\Magento\Checkout\Helper\Data $checkoutHelper,
array $data = [],
Json $serializer = null,
?CatalogHelper $catalogHelper = null
) {
$this->serializer = $serializer ?? ObjectManager::getInstance()->get(Json::class);
$data['catalogHelper'] = $catalogHelper ?? ObjectManager::getInstance()->get(CatalogHelper::class);
parent::__construct(
$context,
$stockRegistry,
$stockConfiguration,
$registry,
$messageHelper,
$checkoutHelper,
$data
);
}
/**
* Truncate string
*
* @param string $value
* @param int $length
* @param string $etc
* @param string $remainder
* @param bool $breakWords
* @return string
*/
public function truncateString($value, $length = 80, $etc = '...', &$remainder = '', $breakWords = true)
{
return $this->filterManager->truncate(
$value,
['length' => $length, 'etc' => $etc, 'remainder' => $remainder, 'breakWords' => $breakWords]
);
}
/**
* Get is shipment separately.
*
* @param null|object $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isShipmentSeparately($item = null)
{
if ($item) {
$parentItem = $item->getParentItem();
if ($parentItem) {
$options = $parentItem->getProductOptions();
if ($options) {
return (isset($options['shipment_type'])
&& $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY);
}
} else {
$options = $item->getProductOptions();
if ($options) {
return !(isset($options['shipment_type'])
&& $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY);
}
}
}
$options = $this->getItem()->getProductOptions();
if ($options) {
if (isset($options['shipment_type']) && $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY) {
return true;
}
}
return false;
}
/**
* Get is child calculated.
*
* @param null|object $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isChildCalculated($item = null)
{
if ($item) {
$parentItem = $item->getParentItem();
if ($parentItem) {
$options = $parentItem->getProductOptions();
if ($options) {
return (isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD);
}
} else {
$options = $item->getProductOptions();
if ($options) {
return !(isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD);
}
}
}
$options = $this->getItem()->getProductOptions();
if ($options) {
if (isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD
) {
return true;
}
}
return false;
}
/**
* Return selection attributes.
*
* @param mixed $item
* @return mixed
*/
public function getSelectionAttributes($item)
{
if ($item instanceof \Magento\Sales\Model\Order\Item) {
$options = $item->getProductOptions();
} else {
$options = $item->getOrderItem()->getProductOptions();
}
if (isset($options['bundle_selection_attributes'])) {
return $this->serializer->unserialize($options['bundle_selection_attributes']);
}
return null;
}
/**
* Return order options.
*
* @return array
*/
public function getOrderOptions()
{
$result = [];
$options = $this->getItem()->getProductOptions();
if ($options) {
if (isset($options['options'])) {
$result = array_merge($result, $options['options']);
}
if (isset($options['additional_options'])) {
$result = array_merge($result, $options['additional_options']);
}
if (!empty($options['attributes_info'])) {
$result = array_merge($options['attributes_info'], $result);
}
}
return $result;
}
/**
* Return value html.
*
* @param object $item
* @return string
*/
public function getValueHtml($item)
{
$result = $this->escapeHtml($item->getName());
if (!$this->isShipmentSeparately($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$result = (float) $attributes['qty'] . ' x ' . $result;
}
}
if (!$this->isChildCalculated($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$result .= " " . $this->getItem()->getOrder()->formatBasePrice($attributes['price']);
}
}
return $result;
}
/**
* Return can show price.
*
* @param object $item
* @return bool
*/
public function canShowPriceInfo($item)
{
if ($item->getParentItem() && $this->isChildCalculated()
|| !$item->getParentItem() && !$this->isChildCalculated()
) {
return true;
}
return false;
}
}
Function Calls
None |
Stats
MD5 | 19a6b8016bd6c7ac5b27466d07c659eb |
Eval Count | 0 |
Decode Time | 101 ms |