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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

namespace Extmag\Shiplab\Helper;

use Exception;
use Magento\Framework\App\Helper\AbstractHelper;
use Magento\Framework\App\Helper\Context;
use Magento\Framework\Message\ManagerInterface;

class Track extends AbstractHelper
{
    /**
     * @var DataPrepareFactory
     */
    protected $dataPrepareFactory;

    /**
     * @var ManagerInterface
     */
    protected $messageManager;

    /**
     * Extmag Model Saver
     *
     * @var DataSave
     */
    protected $modelSaver;

    /**
     * Extmag Ship
     *
     * @var RequestFactory
     */
    protected $requestToAPI;

    /**
     * @param Context $context
     * @param DataPrepareFactory $dataPrepareFactory
     * @param ManagerInterface $messageManager
     * @param DataSave $defSave
     * @param RequestFactory $requestToAPI
     */
    public function __construct(
        Context $context,
        DataPrepareFactory $dataPrepareFactory,
        ManagerInterface $messageManager,
        DataSave $defSave,
        RequestFactory $requestToAPI
    ) {
        parent::__construct($context);
        $this->dataPrepareFactory = $dataPrepareFactory;
        $this->messageManager = $messageManager;
        $this->modelSaver = $defSave;
        $this->requestToAPI = $requestToAPI;
    }

    /**
     * @param $carrierCode
     * @param array $labels
     * @return array
     * @throws Exception
     */
    public function makeDataAndSaveTrack($carrierCode, array $labels)
    {
        $responses = [];
        foreach ($labels as $label) {
            $connector = $this->requestToAPI->create($carrierCode, 'track');
            $dataPrepare = $this->dataPrepareFactory->create($carrierCode);
            $data = $dataPrepare->getTrackingData($label);

            $connector->setData($data);
            $connector->addRequest();
            if ($connector->checkRequestData()) {
                $response = $connector->send();
                if (!empty($response['result'])) {
                    $responses[] = $this->modelSaver->save($carrierCode, 'track', $response);
                }

                sleep(3);
            }
        }

        return $responses;
    }
}

Spamworldpro Mini