• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/socialnetwork.php
  • Класс: Bitrix\Crm\Integration\Socialnetwork
  • Вызов: Socialnetwork::onLogProviderGetProvider
static function onLogProviderGetProvider(Event $event)
{
	$result = new EventResult(
		EventResult::UNDEFINED,
		[],
		'crm'
	);

	$entityType = $event->getParameter('entityType');

	switch ($entityType)
	{
		case self::DATA_ENTITY_TYPE_CRM_LEAD:
			$provider = new Socialnetwork\Livefeed\CrmLead();
			break;
		case self::DATA_ENTITY_TYPE_CRM_CONTACT:
			$provider = new Socialnetwork\Livefeed\CrmContact();
			break;
		case self::DATA_ENTITY_TYPE_CRM_COMPANY:
			$provider = new Socialnetwork\Livefeed\CrmCompany();
			break;
		case self::DATA_ENTITY_TYPE_CRM_DEAL:
			$provider = new Socialnetwork\Livefeed\CrmDeal();
			break;
		case self::DATA_ENTITY_TYPE_CRM_INVOICE:
			$provider = new Socialnetwork\Livefeed\CrmInvoice();
			break;
		case self::DATA_ENTITY_TYPE_CRM_ACTIVITY:
			$provider = new Socialnetwork\Livefeed\CrmActivity();
			break;
		case self::DATA_ENTITY_TYPE_CRM_ENTITY_COMMENT:
			$provider = new Socialnetwork\Livefeed\CrmEntityComment();
			break;
		default:
			$provider = false;
	}

	if ($provider)
	{
		$result = new EventResult(
			EventResult::SUCCESS,
			[
				'provider' => $provider,
			],
			'crm'
		);
	}

	return $result;
}