Spamworldpro Mini Shell
Spamworldpro


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/app/code/Cnc/PdfCustomiser/Block/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/corals/old/app/code/Cnc/PdfCustomiser/Block/ExportInvoice.php
<?php
/**
 * Copyright (c) 2021 Kaliop Digital Commerce (https://digitalcommerce.kaliop.com) All Rights Reserved.
 * https://opensource.org/licenses/OSL-3.0  Open Software License (OSL 3.0)
 * Krzysztof Majkowski <[email protected]> <[email protected]>
 */

namespace Cnc\PdfCustomiser\Block;

use Cnc\PdfCustomiser\ViewModel\ColumnConverter;
use Fooman\PdfCustomiser\Block\Order;
use Fooman\PdfCustomiser\Block\Pdf\AddressFormatter;
use Magento\Customer\Api\CustomerRepositoryInterface;

class ExportInvoice extends Order
{
    const XML_PATH_TITLE = 'sales_pdf/export_invoice/invoicetitle';
    const XML_PATH_ADDRESSES = 'sales_pdf/export_invoice/invoiceaddresses';
    const XML_PATH_COLUMNS = 'sales_pdf/export_invoice/columns';
    const XML_PATH_CUSTOMTEXT = 'sales_pdf/export_invoice/invoicecustom';
    const XML_PATH_GROUPTEXT = 'sales_pdf/export_invoice/grouptext';
    const XML_PATH_SORTBY = 'sales_pdf/export_invoice/sortby';

    const LAYOUT_HANDLE= 'fooman_pdfcustomiser_exportinvoice';

    const PDF_TYPE = 'exportinvoice';

    /**
     * @var \Fooman\PdfDesign\Model\TemplateFileDecider
     */
    private $templateFileDecider;

    /**
     * @var \Fooman\PdfCore\Helper\Locale
     */
    private $localeHelper;

    /**
     * @var ColumnConverter
     */
    private $columnConverter;

    /**
     * @var \Magento\Cms\Model\Template\FilterProvider
     */
    private $filterProvider;

    /**
     * @param \Magento\Backend\Block\Template\Context $context
     * @param \Magento\Framework\Filter\Input\MaliciousCode $maliciousCode
     * @param \Fooman\PdfCore\Model\Template $template
     * @param \Magento\Sales\Model\Order\Address\Renderer $addressRenderer
     * @param \Magento\Payment\Helper\Data $paymentHelper
     * @param \Fooman\PdfCore\Helper\Logo $logoHelper
     * @param \Fooman\PdfCore\Model\IntegratedLabels\ContentFactory $integratedLabelsContentFactory
     * @param \Magento\Catalog\Model\ProductFactory $productFactory
     * @param \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory
     * @param \Magento\GiftMessage\Api\OrderRepositoryInterface $giftMessageOrderRepo
     * @param \Magento\Framework\App\AreaList $areaList
     * @param \Fooman\PdfCore\Helper\ParamKey $paramKeyHelper
     * @param \Fooman\PdfDesign\Model\DesignProvider $designProvider
     * @param \Fooman\PdfDesign\Model\TemplateFileDecider $templateFileDecider
     * @param \Fooman\PdfCore\Helper\Locale $localeHelper
     * @param ColumnConverter $columnConverter
     * @param \Magento\Cms\Model\Template\FilterProvider $filterProvider
     * @param AddressFormatter $addressFormatter
     * @param CustomerRepositoryInterface $customerRepo
     * @param array $data
     */
    public function __construct(
        \Magento\Backend\Block\Template\Context $context,
        \Magento\Framework\Filter\Input\MaliciousCode $maliciousCode,
        \Fooman\PdfCore\Model\Template $template,
        \Magento\Sales\Model\Order\Address\Renderer $addressRenderer,
        \Magento\Payment\Helper\Data $paymentHelper,
        \Fooman\PdfCore\Helper\Logo $logoHelper,
        \Fooman\PdfCore\Model\IntegratedLabels\ContentFactory $integratedLabelsContentFactory,
        \Magento\Catalog\Model\ProductFactory $productFactory,
        \Magento\Eav\Model\Entity\AttributeFactory $attributeFactory,
        \Magento\GiftMessage\Api\OrderRepositoryInterface $giftMessageOrderRepo,
        \Magento\Framework\App\AreaList $areaList,
        \Fooman\PdfCore\Helper\ParamKey $paramKeyHelper,
        \Fooman\PdfDesign\Model\DesignProvider $designProvider,
        \Fooman\PdfDesign\Model\TemplateFileDecider $templateFileDecider,
        \Fooman\PdfCore\Helper\Locale $localeHelper,
        ColumnConverter $columnConverter,
        \Magento\Cms\Model\Template\FilterProvider $filterProvider,
        AddressFormatter $addressFormatter,
        CustomerRepositoryInterface $customerRepo,
        array $data = []
    ) {
        parent::__construct(
            $context,
            $maliciousCode,
            $template,
            $paymentHelper,
            $logoHelper,
            $integratedLabelsContentFactory,
            $giftMessageOrderRepo,
            $paramKeyHelper,
            $designProvider,
            $addressFormatter,
            $customerRepo,
            $data
        );
        $this->templateFileDecider = $templateFileDecider;
        $this->localeHelper = $localeHelper;
        $this->columnConverter = $columnConverter;
        $this->filterProvider = $filterProvider;
    }

    /**
     * @return array|array[]|\Magento\Sales\Api\Data\OrderInterface[]|null[]
     */
    public function getTemplateVars()
    {
        return array_merge(
            parent::getTemplateVars(),
            [
                'order' => $this->getOrder(),
                'content_block_1' => $this->getData('content_block_1'),
                'content_block_2' => $this->getData('content_block_2'),
            ]
        );
    }

    /**
     * get main heading for order title ie ORDER CONFIRMATION
     *
     * @return string
     * @access public
     */
    public function getTitle()
    {
        return $this->_scopeConfig->getValue(
            self::XML_PATH_TITLE,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
            $this->getStoreId()
        );
    }

    /**
     * @return mixed
     */
    public function getAddressesToDisplay()
    {
        return $this->_scopeConfig->getValue(
            self::XML_PATH_ADDRESSES,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
            $this->getStoreId()
        );
    }

    /**
     * @return mixed
     */
    public function getColumnConfig()
    {
        return $this->_scopeConfig->getValue(
            self::XML_PATH_COLUMNS,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
            $this->getStoreId()
        );
    }

    /**
     * @return mixed
     */
    public function getCustomText()
    {
        return $this->processCustomVars(
            $this->_scopeConfig->getValue(
                self::XML_PATH_CUSTOMTEXT,
                \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
                $this->getStoreId()
            ),
            $this->getTemplateVars()
        );
    }

    public function getItemsBlock($styling = [])
    {
        $html = '';
        foreach ($this->getVisibleItems() as $item) {
            $dataArray = [
                'tableColumns' => $this->getTableColumns(),
                'currency_code' => $this->getOrder()->getOrderCurrencyCode(),
                'rtl' => $this->localeHelper->isRightToLeftByStoreId($this->getOrder()->getStoreId())
            ];
            if ($this->shouldDisplayBothCurrencies()) {
                $dataArray['base_currency_code']= $this->getOrder()->getBaseCurrencyCode();
            }

            $block = $this->getLayout()->createBlock(
                \Fooman\PdfCustomiser\Block\Table::class,
                'pdfcustomiser.items' . uniqid(),
                ['data' => $dataArray]
            );

            $block->setTemplate($this->templateFileDecider->pick($this->getDesign(), 'table-invoice'));
            $block->setFoomanDesign($this->getDesign());
            $block->setStyling($styling);
            $block->setCollection([$item]);
            $block->setColumnConverter($this->columnConverter);
            $html .= $block->toHtml();
        }

        return $html;
    }

    protected function getSortColumnsBy()
    {
        return $this->_scopeConfig->getValue(
            self::XML_PATH_SORTBY,
            \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
            $this->getStoreId()
        );
    }

    protected function getProductAttributes()
    {
        $productAttributes = [];
        $config = $this->getColumnConfig();
        if ($config) {
            if (is_string($config)) {
                $config = json_decode($config, true);
            }
            foreach ($config as $column) {
                if (strpos($column['columntype'], 'product/') !== false) {
                    $productAttributes[] = str_replace('product/', '', $column['columntype']);
                }
            }
        }

        $productAttributes []= 'cnc_state_of_wear';
        $productAttributes []= 'cnc_guarantee_duration';
        $productAttributes []= 'cnc_guarantee_type';
        return $productAttributes;
    }
}

Spamworldpro Mini