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/Plugin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/vendor/extmag/shiplab/Plugin/OrderShipmentAfter.php
<?php
/**
 * Copyright © Extmag. All rights reserved.
 */

namespace Extmag\Shiplab\Plugin;

use Extmag\Shiplab\Model\Source\CarrierCodes;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\Controller\Result\Redirect;
use Magento\Framework\Controller\Result\RedirectFactory;
use Magento\Framework\Registry;
use Magento\Framework\UrlInterface;
use Magento\Shipping\Controller\Adminhtml\Order\Shipment\Save;

class OrderShipmentAfter
{
    /**
     * @var Registry
     */
    protected $registry;

    /**
     * @var UrlInterface
     */
    protected $_urlInterFace;

    /**
     * @var RedirectFactory
     */
    protected $resultRedirectFactory;

    /**
     * @var RequestInterface
     */
    protected $request;
    /**
     * @var CarrierCodes
     */
    protected $carrierCodes;

    /**
     * @param Registry $registry
     * @param UrlInterface $_urlInterFace
     * @param RequestInterface $request
     * @param RedirectFactory $resultRedirectFactory
     * @param CarrierCodes $carrierCodes
     */
    public function __construct(
        Registry $registry,
        UrlInterface $_urlInterFace,
        RequestInterface $request,
        RedirectFactory $resultRedirectFactory,
        CarrierCodes $carrierCodes
    ) {
        $this->registry = $registry;
        $this->_urlInterFace = $_urlInterFace;
        $this->request = $request;
        $this->resultRedirectFactory = $resultRedirectFactory;
        $this->carrierCodes = $carrierCodes;
    }

    /**
     * @param Save $subject
     * @param $result
     * @return Redirect
     */
    public function afterExecute(
        Save $subject,
        $result
    ) {
        $data = $this->request->getParam('shipment');
        $carrierCode = null;
        foreach ($this->carrierCodes->toArray() as $code => $name) {
            if (!empty($data['extmag_create_' . $code . '_shipping_label'])) {
                $carrierCode = $code;
                break;
            }
        }

        if (!empty($carrierCode)) {
            $shipment = $this->registry->registry('current_shipment');
            if (!empty($shipment)) {
                return $this->resultRedirectFactory->create()->setPath(
                    $this->_urlInterFace
                        ->getUrl(
                            'extmag_shiplab/manualLabel/create',
                            [
                                'carrier_code' => $carrierCode,
                                'order_id' => $this->request->getParam('order_id'),
                                'order_sub_type' => 'shipment',
                                'order_sub_id' => $shipment->getId(),
                                'route' => 'shipment',
                                'referrer' => 'shipment',
                            ]
                        )
                );
            }
        }

        return $result;
    }
}

Spamworldpro Mini