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

	$res = ImOpenLinesQueue::getList([
		'select' => [
			'ID',
			'USER_ID'
		],
		'filter' => [
			'=CONFIG_ID' => $this->configLine['ID']
		],
		'order' => [
			'SORT' => 'ASC',
			'ID' => 'ASC'
		]
	]);

	while ($queueUser = $res->fetch())
	{
		if ($this->isOperatorActive($queueUser['USER_ID']) === true)
		{
			$result += ImOpenLinesQueue::getCountFreeSlotOperator(
				$queueUser['USER_ID'],
				$this->configLine['ID'],
				$this->configLine['MAX_CHAT'],
				$this->configLine['TYPE_MAX_CHAT']
			);
		}
	}

	return $result;
}