• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/connector.php
  • Класс: BitrixImOpenLinesConnector
  • Вызов: Connector::onBeforeMessageSend
static function onBeforeMessageSend($fields, $chat)
{
	if ($chat['CHAT_ENTITY_TYPE'] != 'LINES')
	{
		return true;
	}

	if ($fields['SKIP_CONNECTOR'] === 'Y')
	{
		return true;
	}

	if ($fields['FROM_USER_ID'] <= 0)
	{
		return true;
	}

	if (User::getInstance($fields['FROM_USER_ID'])->isConnector())
	{
		return true;
	}

	if (!Loader::includeModule('imconnector'))
	{
		return false;
	}

	$result = true;
	//TODO: Replace with the method ImOpenLinesChat::parseLiveChatEntityId
	[$connectorId, $lineId] = explode('|', $chat['CHAT_ENTITY_ID']);

	if ($connectorId == self::TYPE_NETWORK)
	{}
	else
	{
		$status = BitrixImConnectorStatus::getInstance($connectorId, (int)$lineId);
		if (!$status->isStatus() || !Config::isConfigActive($lineId))
		{
			$result = Array(
				'result' => false,
				'reason' => Loc::getMessage('IMOL_CONNECTOR_STATUS_ERROR_NEW')
			);
		}
	}

	return $result;
}