• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/queue/event.php
  • Класс: BitrixImOpenLinesQueueEvent
  • Вызов: Event::getLineIsSessionOperatorNotLine
static function getLineIsSessionOperatorNotLine($userId, $checkTimeman = false, $excludeLine = [])
{
	$result = [];

	if(
		!empty($userId) &&
		is_numeric($userId) &&
		ImOpenLinesQueue::isRealOperator($userId)
	)
	{
		$filterSession = [
			'=SESSION.OPERATOR_ID' => $userId
		];

		if($checkTimeman)
		{
			$filterSession['=SESSION.CONFIG.CHECK_AVAILABLE'] = 'Y';
		}

		if(!empty($excludeLine))
		{
			$filterSession['!=SESSION.CONFIG_ID'] = $excludeLine;
		}

		$sessionListManager = SessionCheckTable::getList(
			[
				'select' => [
					'CONFIG_ID' => 'SESSION.CONFIG_ID'
				],
				'filter' => $filterSession,
				'group' => [
					'SESSION.CONFIG_ID'
				]
			]
		);

		while ($queue = $sessionListManager->fetch())
		{
			$result[$queue['CONFIG_ID']] = $queue['CONFIG_ID'];
		}
	}

	return $result;
}