• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/queuemanager.php
  • Класс: BitrixImOpenLinesQueueManager
  • Вызов: QueueManager::getUsersFromQueue
static function getUsersFromQueue($queue): array
{
	$result = [];

	if(
		!empty($queue) &&
		is_array($queue)
	)
	{
		foreach ($queue as $entity)
		{
			if(self::validateQueueTypeField($entity['type']))
			{
				if(
					(string)$entity['type'] === 'user' &&
					empty($result[$entity['id']]) &&
					self::isValidUser($entity['id'])
				)
				{
					$result[$entity['id']] = [
						'id' => $entity['id'],
						'type' => 'user',
						'department' => '0'
					];
				}
				elseif((string)$entity['type'] === 'department')
				{
					$usersDepartment = self::getUsersDepartment($entity['id']);
					while ($userId = $usersDepartment->fetch()['ID'])
					{
						if(
							empty($result[$userId]) &&
							self::isValidUser($userId)
						)
						{
							$result[$userId] = [
								'id' => $userId,
								'type' => 'user',
								'department' => $entity['id']
							];
						}
					}
				}
			}
		}
	}

	return $result;
}