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\Model\Sales\Order\Pdf\Items;
use Magento\Catalog\Model\Product\Type\AbstractType;
use Magento\Framework\Data\Collection\AbstractDb;
use Magento\Framework\Filesystem;
use Magento\Framework\Filter\FilterManager;
use Magento\Framework\Model\Context;
use Magento\Framework\Model\ResourceModel\AbstractResource;
use Magento\Framework\Registry;
use Magento\Framework\Serialize\Serializer\Json;
use Magento\Tax\Helper\Data;
/**
* Order pdf items renderer
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
{
/**
* Serializer interface instance.
*
* @var Json
*/
private $serializer;
/**
* @param Context $context
* @param Registry $registry
* @param Data $taxData
* @param Filesystem $filesystem
* @param FilterManager $filterManager
* @param Json $serializer
* @param AbstractResource $resource
* @param AbstractDb $resourceCollection
* @param array $data
*/
public function __construct(
Context $context,
Registry $registry,
Data $taxData,
Filesystem $filesystem,
FilterManager $filterManager,
Json $serializer,
AbstractResource $resource = null,
AbstractDb $resourceCollection = null,
array $data = []
) {
$this->serializer = $serializer;
parent::__construct(
$context,
$registry,
$taxData,
$filesystem,
$filterManager,
$resource,
$resourceCollection,
$data
);
}
/**
* Getting all available children for Invoice, Shipment or CreditMemo item
*
* @param \Magento\Framework\DataObject $item
* @return array
*/
public function getChildren($item)
{
$itemsArray = [];
$items = null;
if ($item instanceof \Magento\Sales\Model\Order\Invoice\Item) {
$items = $item->getInvoice()->getAllItems();
} elseif ($item instanceof \Magento\Sales\Model\Order\Shipment\Item) {
$items = $item->getShipment()->getAllItems();
} elseif ($item instanceof \Magento\Sales\Model\Order\Creditmemo\Item) {
$items = $item->getCreditmemo()->getAllItems();
}
if ($items) {
foreach ($items as $value) {
$parentItem = $value->getOrderItem()->getParentItem();
if ($parentItem) {
$itemsArray[$parentItem->getId()][$value->getOrderItemId()] = $value;
} else {
$itemsArray[$value->getOrderItem()->getId()][$value->getOrderItemId()] = $value;
}
}
}
if (isset($itemsArray[$item->getOrderItem()->getId()])) {
return $itemsArray[$item->getOrderItem()->getId()];
}
return null;
}
/**
* Retrieve is Shipment Separately flag for Item
*
* @param \Magento\Framework\DataObject $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isShipmentSeparately($item = null)
{
if ($item) {
if ($item->getOrderItem()) {
$item = $item->getOrderItem();
}
$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->getOrderItem()->getProductOptions();
if ($options) {
if (isset($options['shipment_type']) && $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY) {
return true;
}
}
return false;
}
/**
* Retrieve is Child Calculated
*
* @param \Magento\Framework\DataObject $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isChildCalculated($item = null)
{
if ($item) {
if ($item->getOrderItem()) {
$item = $item->getOrderItem();
}
$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->getOrderItem()->getProductOptions();
if ($options) {
if (isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD
) {
return true;
}
}
return false;
}
/**
* Retrieve Bundle Options
*
* @param \Magento\Framework\DataObject $item
* @return array
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function getBundleOptions($item = null)
{
$options = $this->getOrderItem()->getProductOptions();
if ($options && isset($options['bundle_options'])) {
return $options['bundle_options'];
}
return [];
}
/**
* Retrieve Selection attributes
*
* @param \Magento\Framework\DataObject $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;
}
/**
* Retrieve Order options
*
* @param \Magento\Framework\DataObject $item
* @return array
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function getOrderOptions($item = null)
{
$result = [];
$options = $this->getOrderItem()->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;
}
/**
* Retrieve Order Item
*
* @return \Magento\Sales\Model\Order\Item
*/
public function getOrderItem()
{
if ($this->getItem() instanceof \Magento\Sales\Model\Order\Item) {
return $this->getItem();
}
return $this->getItem()->getOrderItem();
}
/**
* Retrieve Value HTML
*
* @param \Magento\Sales\Model\Order\Item $item
* @return string
*/
public function getValueHtml($item)
{
$result = $this->filterManager->stripTags($item->getName());
if (!$this->isShipmentSeparately($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$qty = $this->filterManager->sprintf($attributes['qty'], ['format' => '%f']);
$result = (float) $qty . ' x ' . $result;
}
}
if (!$this->isChildCalculated($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$result .= " " . $this->filterManager->stripTags(
$this->getOrderItem()->getOrder()->formatPrice($attributes['price'])
);
}
}
return $result;
}
/**
* Can show price info for item
*
* @param \Magento\Sales\Model\Order\Item $item
* @return bool
*/
public function canShowPriceInfo($item)
{
if ($item->getOrderItem()->getParentItem() && $this->isChildCalculated() ||
!$item->getOrderItem()->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\Model\Sales\Order\Pdf\Items;
use Magento\Catalog\Model\Product\Type\AbstractType;
use Magento\Framework\Data\Collection\AbstractDb;
use Magento\Framework\Filesystem;
use Magento\Framework\Filter\FilterManager;
use Magento\Framework\Model\Context;
use Magento\Framework\Model\ResourceModel\AbstractResource;
use Magento\Framework\Registry;
use Magento\Framework\Serialize\Serializer\Json;
use Magento\Tax\Helper\Data;
/**
* Order pdf items renderer
*
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
*/
abstract class AbstractItems extends \Magento\Sales\Model\Order\Pdf\Items\AbstractItems
{
/**
* Serializer interface instance.
*
* @var Json
*/
private $serializer;
/**
* @param Context $context
* @param Registry $registry
* @param Data $taxData
* @param Filesystem $filesystem
* @param FilterManager $filterManager
* @param Json $serializer
* @param AbstractResource $resource
* @param AbstractDb $resourceCollection
* @param array $data
*/
public function __construct(
Context $context,
Registry $registry,
Data $taxData,
Filesystem $filesystem,
FilterManager $filterManager,
Json $serializer,
AbstractResource $resource = null,
AbstractDb $resourceCollection = null,
array $data = []
) {
$this->serializer = $serializer;
parent::__construct(
$context,
$registry,
$taxData,
$filesystem,
$filterManager,
$resource,
$resourceCollection,
$data
);
}
/**
* Getting all available children for Invoice, Shipment or CreditMemo item
*
* @param \Magento\Framework\DataObject $item
* @return array
*/
public function getChildren($item)
{
$itemsArray = [];
$items = null;
if ($item instanceof \Magento\Sales\Model\Order\Invoice\Item) {
$items = $item->getInvoice()->getAllItems();
} elseif ($item instanceof \Magento\Sales\Model\Order\Shipment\Item) {
$items = $item->getShipment()->getAllItems();
} elseif ($item instanceof \Magento\Sales\Model\Order\Creditmemo\Item) {
$items = $item->getCreditmemo()->getAllItems();
}
if ($items) {
foreach ($items as $value) {
$parentItem = $value->getOrderItem()->getParentItem();
if ($parentItem) {
$itemsArray[$parentItem->getId()][$value->getOrderItemId()] = $value;
} else {
$itemsArray[$value->getOrderItem()->getId()][$value->getOrderItemId()] = $value;
}
}
}
if (isset($itemsArray[$item->getOrderItem()->getId()])) {
return $itemsArray[$item->getOrderItem()->getId()];
}
return null;
}
/**
* Retrieve is Shipment Separately flag for Item
*
* @param \Magento\Framework\DataObject $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isShipmentSeparately($item = null)
{
if ($item) {
if ($item->getOrderItem()) {
$item = $item->getOrderItem();
}
$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->getOrderItem()->getProductOptions();
if ($options) {
if (isset($options['shipment_type']) && $options['shipment_type'] == AbstractType::SHIPMENT_SEPARATELY) {
return true;
}
}
return false;
}
/**
* Retrieve is Child Calculated
*
* @param \Magento\Framework\DataObject $item
* @return bool
* @SuppressWarnings(PHPMD.CyclomaticComplexity)
*/
public function isChildCalculated($item = null)
{
if ($item) {
if ($item->getOrderItem()) {
$item = $item->getOrderItem();
}
$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->getOrderItem()->getProductOptions();
if ($options) {
if (isset($options['product_calculations'])
&& $options['product_calculations'] == AbstractType::CALCULATE_CHILD
) {
return true;
}
}
return false;
}
/**
* Retrieve Bundle Options
*
* @param \Magento\Framework\DataObject $item
* @return array
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function getBundleOptions($item = null)
{
$options = $this->getOrderItem()->getProductOptions();
if ($options && isset($options['bundle_options'])) {
return $options['bundle_options'];
}
return [];
}
/**
* Retrieve Selection attributes
*
* @param \Magento\Framework\DataObject $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;
}
/**
* Retrieve Order options
*
* @param \Magento\Framework\DataObject $item
* @return array
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function getOrderOptions($item = null)
{
$result = [];
$options = $this->getOrderItem()->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;
}
/**
* Retrieve Order Item
*
* @return \Magento\Sales\Model\Order\Item
*/
public function getOrderItem()
{
if ($this->getItem() instanceof \Magento\Sales\Model\Order\Item) {
return $this->getItem();
}
return $this->getItem()->getOrderItem();
}
/**
* Retrieve Value HTML
*
* @param \Magento\Sales\Model\Order\Item $item
* @return string
*/
public function getValueHtml($item)
{
$result = $this->filterManager->stripTags($item->getName());
if (!$this->isShipmentSeparately($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$qty = $this->filterManager->sprintf($attributes['qty'], ['format' => '%f']);
$result = (float) $qty . ' x ' . $result;
}
}
if (!$this->isChildCalculated($item)) {
$attributes = $this->getSelectionAttributes($item);
if ($attributes) {
$result .= " " . $this->filterManager->stripTags(
$this->getOrderItem()->getOrder()->formatPrice($attributes['price'])
);
}
}
return $result;
}
/**
* Can show price info for item
*
* @param \Magento\Sales\Model\Order\Item $item
* @return bool
*/
public function canShowPriceInfo($item)
{
if ($item->getOrderItem()->getParentItem() && $this->isChildCalculated() ||
!$item->getOrderItem()->getParentItem() && !$this->isChildCalculated()
) {
return true;
}
return false;
}
}
Function Calls
None |
Stats
MD5 | 00c7f6215946282f1205f346e8cfcbc0 |
Eval Count | 0 |
Decode Time | 97 ms |