![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/fooman/pdfcore-m2/src/Block/Pdf/Column/ |
<?php /** * @copyright Copyright (c) 2015 Fooman Limited (http://www.fooman.co.nz) * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Fooman\PdfCore\Block\Pdf\Column; use Magento\Sales\Api\Data\OrderItemInterface; class Subtotal extends \Fooman\PdfCore\Block\Pdf\Column implements \Fooman\PdfCore\Block\Pdf\ColumnInterface { public const DEFAULT_WIDTH = 12; public const DEFAULT_TITLE = 'Subtotal'; public const COLUMN_TYPE = 'fooman_currency'; public function getGetter() { return [$this, 'getSubtotal']; } public function getSubtotal($row) { if ($this->isColumnSuppressed($row, OrderItemInterface::ROW_TOTAL_INCL_TAX)) { return null; } $property = OrderItemInterface::ROW_TOTAL_INCL_TAX; $baseProperty = OrderItemInterface::BASE_ROW_TOTAL_INCL_TAX; $subtotal = $row->{$this->convertInterfaceConstantToGetter($property)}(); $baseSubtotal = $row->{$this->convertInterfaceConstantToGetter($baseProperty)}(); if (null === $subtotal) { $property = OrderItemInterface::ROW_TOTAL; $baseProperty = OrderItemInterface::BASE_ROW_TOTAL; $subtotal = $row->{$this->convertInterfaceConstantToGetter($property)}(); $baseSubtotal = $row->{$this->convertInterfaceConstantToGetter($baseProperty)}(); $taxProperty = OrderItemInterface::TAX_AMOUNT; $baseTaxProperty = OrderItemInterface::BASE_TAX_AMOUNT; $subtotal += $row->{$this->convertInterfaceConstantToGetter($taxProperty)}(); $baseSubtotal += $row->{$this->convertInterfaceConstantToGetter($baseTaxProperty)}(); if ($row->{$this->convertInterfaceConstantToGetter($property)}() === null) { $subtotal = null; $baseSubtotal = null; } } if ($this->isDisplayingBothCurrencies()) { return [ ['currency' => $this->getBaseCurrencyCode(), 'amount' => $baseSubtotal], ['currency' => $this->getCurrencyCode(), 'amount' => $subtotal] ]; } if ($this->getUseOrderCurrency()) { if ($subtotal) { return [['currency' => $this->getCurrencyCode(), 'amount' => $subtotal]]; } return $subtotal; } if ($baseSubtotal) { return [['currency' => $this->getBaseCurrencyCode(), 'amount' => $baseSubtotal]]; } return $baseSubtotal; } }