![]() 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/ |
<?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; } }