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/sale/lib/tradingplatform/ebay/feed/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/tradingplatform/ebay/feed/manager.php
<?php

namespace Bitrix\Sale\TradingPlatform\Ebay\Feed;

use \Bitrix\Main\SystemException;
use \Bitrix\Sale\TradingPlatform\Timer;
use \Bitrix\Sale\TradingPlatform\Logger;
use \Bitrix\Sale\TradingPlatform\Ebay\Ebay;

class Manager
{
	public static function createSftpQueue($feedType, $siteId, Timer $timer = null)
	{
		$params = array(
			"SITE_ID" => $siteId,
			"TIMER" => $timer
		);

		switch($feedType)
		{
			case 'PRODUCT':
				$params["FEED_TYPE"] =  "product";
				$params["COVER_TAG"] =  "ListingArray";
				$params["SCHEMA_FILE_NAME"] =  "Product.xsd";
				break;

			case 'INVENTORY':
				$params["FEED_TYPE"] =  "inventory";
				$params["COVER_TAG"] =  "InventoryArray";
				$params["SCHEMA_FILE_NAME"] =  "Inventory.xsd";
				break;

			case 'ORDER_ACK':
				$params["FEED_TYPE"] =  "order-ack";
				$params["COVER_TAG"] =  "OrderAckArray";
				$params["SCHEMA_FILE_NAME"] =  "OrderAck.xsd";
				break;

			case 'SHIPMENT':
				$params["FEED_TYPE"] =  "shipment";
				$params["COVER_TAG"] =  "ShipmentArray";
				$params["SCHEMA_FILE_NAME"] =  "Shipment.xsd";
				break;

			case 'IMAGE':
				$params["FEED_TYPE"] =  "image";
				$params["COVER_TAG"] =  "Images";
				$params["SCHEMA_FILE_NAME"] =  "Image.xsd";
				break;

			default:
				throw new SystemException("Unknown type of feed \"".$feedType."\". ".__METHOD__);
				break;
		}
		return new Data\Processors\SftpQueue($params);
	}

	/**
	 * @param $feedType
	 * @param $siteId
	 * @param int $timeLimit
	 * @return Feed|bool
	 * @throws SystemException
	 */
	public static function createFeed($feedType, $siteId, $timeLimit = 0)
	{
		$timer = new Timer($timeLimit);
		$feepParams = array(
			"TIMER" => new $timer,
			"SITE_ID" => $siteId
		);

		switch($feedType)
		{
			case 'PRODUCT':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\Product(array("SITE_ID" => $siteId));
				$feepParams["DATA_CONVERTER"] = new Data\Converters\Product(array("SITE_ID" => $siteId));
				$feepParams["DATA_PROCESSOR"] = self::createSftpQueue($feedType, $siteId, $timer);
				break;

			case 'INVENTORY':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\Product(array("SITE_ID" => $siteId));
				$feepParams["DATA_CONVERTER"] = new Data\Converters\Inventory(array("SITE_ID" => $siteId));
				$feepParams["DATA_PROCESSOR"] = self::createSftpQueue($feedType, $siteId, $timer);
				break;

			case 'ORDER':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\Order(array(
					"FEED_TYPE" => "order",
					"SCHEMA_FILE_NAME" => "Order.xsd",
					"SITE_ID" => $siteId
				));
				$feepParams["DATA_CONVERTER"] = new Data\Converters\Order;
				$feepParams["DATA_PROCESSOR"] = new Data\Processors\Order(array("SITE_ID" => $siteId));
				break;

			case 'ORDER_ACK':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\SimpleArray;
				$feepParams["DATA_CONVERTER"] = new Data\Converters\OrderAck;
				$feepParams["DATA_PROCESSOR"] = self::createSftpQueue($feedType, $siteId, $timer);
				break;

			case 'SHIPMENT':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\SimpleArray;
				$feepParams["DATA_CONVERTER"] = new Data\Converters\Shipment;
				$feepParams["DATA_PROCESSOR"] = self::createSftpQueue($feedType, $siteId, $timer);
				break;

			case 'IMAGE':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\Product(array("SITE_ID" => $siteId));
				$feepParams["DATA_CONVERTER"] = new Data\Converters\Image(array("SITE_ID" => $siteId));
				$feepParams["DATA_PROCESSOR"] = self::createSftpQueue($feedType, $siteId, $timer);
				break;

			case 'PROCESS_RESULT':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\Results(array(
					"SITE_ID" => $siteId,
					"REMOTE_PATH_TMPL" => "/store/##FEED_TYPE##/log/##UPLOAD_DATE##",
					"FILTER" => array(
						"PROCESSING_REQUEST_ID" => ""
					)
				));
				$feepParams["DATA_CONVERTER"] = new Data\Converters\ProcessResult;
				$feepParams["DATA_PROCESSOR"] = new Data\Processors\ProcessResult;
				break;

			case 'RESULTS':
				$feepParams["DATA_SOURCE"] =  new Data\Sources\Results(array(
					"SITE_ID" => $siteId,
					"REMOTE_PATH_TMPL" => "/store/##FEED_TYPE##/output/##UPLOAD_DATE##",
					"FILTER" => array(
						"RESULTS" => ""
					)
				));
				$feepParams["DATA_CONVERTER"] = new Data\Converters\Results;
				$feepParams["DATA_PROCESSOR"] = new Data\Processors\Results(array("SITE_ID" => $siteId));;
				break;

			default:
				throw new SystemException("Unknown type of feed \"".$feedType."\". ".__METHOD__);
				break;
		}

		$feed = new Feed($feepParams);
		Ebay::log(Logger::LOG_LEVEL_DEBUG, "EBAY_FEED_CREATED", $feedType, "Feed: ".$feedType.", site: ".$siteId, $siteId);
		return $feed;
	}
} 

Youez - 2016 - github.com/yon3zu
LinuXploit