• Модуль: voximplant
  • Путь к файлу: ~/bitrix/modules/voximplant/lib/routing/router.php
  • Класс: BitrixVoximplantRoutingRouter
  • Вызов: Router::buildQueueGraph
static function buildQueueGraph($queueId, $checkTimeman)
{
	$queues = [];

	$currentQueueId = $queueId;
	/** @var Queue $previousNode*/
	$previousNode = null;
	while (true)
	{
		if(isset($queues[$currentQueueId]))
		{
			$previousNode->setNext($queues[$currentQueueId]);
			break;
		}

		$queue = BitrixVoximplantQueue::createWithId($currentQueueId);
		if(!$queue)
		{
			break;
		}

		$queues[$currentQueueId] = new Queue($currentQueueId, $checkTimeman);
		if($previousNode)
		{
			$previousNode->setNext($queues[$currentQueueId]);
		}

		if($queue->getNoAnswerRule() === CVoxImplantIncoming::RULE_NEXT_QUEUE)
		{
			$previousNode = $queues[$currentQueueId];
			$currentQueueId = $queue->getNextQueueId();
		}
		else
		{
			break;
		}
	}

	return $queues[$queueId];
}