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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

namespace Extmag\Shiplab\Controller;

use Extmag\Shiplab\Api\LabelRepositoryInterface;
use Extmag\Shiplab\Helper\LabelFactory;
use Extmag\Shiplab\Helper\Manager;
use Extmag\Shiplab\Model\ResourceModel\Label\Collection;
use Extmag\Shiplab\Model\ResourceModel\Label\CollectionFactory;
use Magento\Customer\Model\Session;
use Magento\Email\Model\Template\SenderResolver;
use Magento\Framework\App\Action\Action;
use Magento\Framework\App\Action\Context;
use Magento\Framework\App\RequestInterface;
use Magento\Framework\App\ResponseInterface;
use Magento\Framework\Controller\Result\ForwardFactory;
use Magento\Framework\Exception\NotFoundException;
use Magento\Framework\Exception\SessionException;
use Magento\Framework\Mail\Template\TransportBuilder;
use Magento\Framework\Registry;
use Magento\Framework\Translate\Inline\StateInterface;
use Magento\Framework\UrlInterfaceFactory;
use Magento\Framework\View\Result\PageFactory;
use Magento\Sales\Api\OrderRepositoryInterface;
use Magento\Sales\Model\Order;
use Psr\Log\LoggerInterface;

/**
 * Customer refund controller
 *
 * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
 */
abstract class Rma extends Action
{
    /**
     * @var Session
     */
    protected $customerSession;

    /**
     * @var ForwardFactory
     */
    protected $resultForwardFactory;

    /**
     * @var PageFactory
     */
    protected $resultPageFactory;

    /**
     * @var OrderRepositoryInterface
     */
    protected $orderRepository;

    /**
     * @var LabelFactory
     */
    protected $helperLabel;

    /**
     * @var Collection
     */
    protected $labelCollection;

    /**
     * @var LoggerInterface
     */
    protected $logger;

    /**
     * @var Manager
     */
    protected $manager;

    /**
     * @var Registry
     */
    protected $coreRegistry = null;
    /**
     * @var UrlInterfaceFactory
     */
    protected $urlInterfaceFactory;
    /**
     * @var SenderResolver
     */
    protected $senderResolver;
    /**
     * @var StateInterface
     */
    protected $state;
    /**
     * @var TransportBuilder
     */
    protected $transportBuilder;
    /**
     * @var LabelRepositoryInterface
     */
    protected $labelRepository;

    /**
     * @param Context                  $context
     * @param Session                  $customerSession
     * @param ForwardFactory           $resultForwardFactory
     * @param PageFactory              $resultPageFactory
     * @param OrderRepositoryInterface $orderRepository
     * @param LabelFactory             $helperLabel
     * @param CollectionFactory        $labelCollection
     * @param LoggerInterface          $logger
     * @param Manager                  $manager
     * @param Registry                 $coreRegistry
     * @param UrlInterfaceFactory      $urlInterfaceFactory
     * @param SenderResolver           $senderResolver
     * @param StateInterface           $state
     * @param TransportBuilder         $transportBuilder
     * @param LabelRepositoryInterface $labelRepository
     * @SuppressWarnings(PHPMD.ExcessiveParameterList)
     */
    public function __construct(
        Context $context,
        Session $customerSession,
        ForwardFactory $resultForwardFactory,
        PageFactory $resultPageFactory,
        OrderRepositoryInterface $orderRepository,
        LabelFactory $helperLabel,
        CollectionFactory $labelCollection,
        LoggerInterface $logger,
        Manager $manager,
        Registry $coreRegistry,
        UrlInterfaceFactory $urlInterfaceFactory,
        SenderResolver $senderResolver,
        StateInterface $state,
        TransportBuilder $transportBuilder,
        LabelRepositoryInterface $labelRepository
    ) {
        $this->customerSession      = $customerSession;
        $this->resultForwardFactory = $resultForwardFactory;
        $this->resultPageFactory    = $resultPageFactory;
        parent::__construct($context);
        $this->orderRepository     = $orderRepository;
        $this->helperLabel         = $helperLabel;
        $this->labelCollection     = $labelCollection;
        $this->logger              = $logger;
        $this->manager             = $manager;
        $this->coreRegistry        = $coreRegistry;
        $this->urlInterfaceFactory = $urlInterfaceFactory;
        $this->senderResolver      = $senderResolver;
        $this->state               = $state;
        $this->transportBuilder    = $transportBuilder;
        $this->labelRepository     = $labelRepository;
    }

    /**
     * Retrieve customer session object
     *
     * @return Session
     */
    protected function _getSession()
    {
        return $this->customerSession;
    }

    /**
     * Check customer authentication
     *
     * @param RequestInterface $request
     *
     * @return ResponseInterface
     * @throws NotFoundException|SessionException
     */
    public function dispatch(RequestInterface $request)
    {
        if (!$this->_getSession()->authenticate()) {
            $this->_actionFlag->set('', 'no-dispatch', true);
        }

        return parent::dispatch($request);
    }

    /**
     * @param string $route
     * @param array  $params
     *
     * @return string
     */
    protected function buildUrl($route = '', $params = [])
    {
        return $this->urlInterfaceFactory->getUrl($route, $params);
    }

    public function getCarrierCode(Order $order)
    {
        /**
         * @var Collection $labels
         */
        $labels = $this->labelCollection->create();
        $labels
            ->addFieldToFilter('order_id', $order->getId())
            ->addFieldToFilter('type_direction', 'shipment')
            ->addFieldToFilter('status', 1)
            ->setPageSize(1)
            ->setCurPage(1);

        if ($labels->count() > 0) {
            return $labels->getFirstItem()->getCarrierCode();
        }

        return '';
    }
}

Spamworldpro Mini