• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/queue.php
  • Класс: BitrixImOpenLinesQueue
  • Вызов: Queue::getActualLineId
static function getActualLineId($params)
{
	$result = 0;

	if(!empty($params['LINE_ID']))
	{
		$result = $params['LINE_ID'];
	}

	if(!empty($params['USER_CODE']))
	{
		//TODO: Replace with the method BitrixImOpenLinesChat::parseLinesChatEntityId or BitrixImOpenLinesChat::parseLiveChatEntityId
		list($connectorId, $result, $connectorChatId, $connectorUserId) = explode('|', $params['USER_CODE']);

		$raw = SessionTable::getList([
			'select' => ['CONFIG_ID'],
			'filter' => [
				'=USER_CODE' => $params['USER_CODE'],
				'=CLOSED' => 'N'
			],
			'order' => [
				'ID' => 'DESC'
			],
			"cache" => ["ttl" => 3600]
		]);
		if ($session = $raw->fetch())
		{
			if(!empty($session['CONFIG_ID']))
			{
				$result = $session['CONFIG_ID'];
			}
		}
	}

	return $result;
}