• Модуль: imopenlines
  • Путь к файлу: ~/bitrix/modules/imopenlines/lib/queue.php
  • Класс: BitrixImOpenLinesQueue
  • Вызов: Queue::getQueueOperatorData
static function getQueueOperatorData($userId, $lineId)
{
	$lineId = (int)$lineId;
	$userId = (int)$userId;
	$queue = false;

	$cache = new Cache();

	if ($lineId > 0 && $userId > 0)
	{
		$params = [
			'select' => ['USER_NAME', 'USER_WORK_POSITION', 'USER_AVATAR', 'USER_AVATAR_ID'],
			'filter' => [
				'CONFIG_ID' => $lineId,
				'USER_ID' => $userId
			],
			'order' => [
				'SORT' => 'ASC',
				'ID' => 'ASC'
			],
		];

		$cache->setLineId($lineId);
		$cache->setUserId($userId);

		if ($cache->initCacheQueueOperatorData())
		{
			$queue = $cache->getVarsQueueOperatorData();
		}
		else
		{
			$cache->startCacheQueueOperatorData();

			$queue = self::getList($params)->fetch();

			if (empty($queue['USER_AVATAR']))
			{
				$queue['USER_AVATAR'] = ImUser::getInstance($userId)->getAvatar();
			}

			$cache->endCacheQueueOperatorData($queue);
		}
	}

	return $queue;
}