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

	$operatorDataType = Config::operatorDataConfig($lineId);

	if ($operatorDataType == Config::OPERATOR_DATA_QUEUE)
	{
		$userData = self::getQueueOperatorData($userArray['ID'], $lineId);

		if(
			!Tools::isEmpty($userData['USER_NAME'])
			|| !Tools::isEmpty($userData['USER_AVATAR'])
			|| !Tools::isEmpty($userData['USER_AVATAR_ID'])
			|| !Tools::isEmpty($userData['USER_WORK_POSITION'])
		)
		{
			if(!Tools::isEmpty($userData['USER_NAME']))
			{
				$userArray['NAME'] = (string)$userData['USER_NAME'];

				$nameElements = explode(' ', $userArray['NAME']);
				if (count($nameElements) > 1)
				{
					$userArray['LAST_NAME'] = array_pop($nameElements);
					$userArray['FIRST_NAME'] = join(" ", $nameElements);
				}
				else
				{
					$userArray['FIRST_NAME'] = $userArray['NAME'];
					$userArray['LAST_NAME'] = '';
				}
			}

			if (!Tools::isEmpty($userData['USER_WORK_POSITION']))
			{
				$userArray['WORK_POSITION'] = (string)$userData['USER_WORK_POSITION'];
			}

			if (!Tools::isEmpty($userData['USER_AVATAR']))
			{
				$userArray['AVATAR'] = (string)$userData['USER_AVATAR'];
			}

			if (!Tools::isEmpty($userData['USER_AVATAR_ID']))
			{
				$userArray['AVATAR_ID'] = (int)$userData['USER_AVATAR_ID'];
			}

			$result = $userArray;
		}
	}
	elseif ($operatorDataType == Config::OPERATOR_DATA_HIDE)
	{
		$defaultOperatorData = self::getDefaultOperatorData($lineId);
		$result = array_merge($userArray, $defaultOperatorData);
	}

	return $result;
}