• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/notify.php
  • Класс: BitrixSaleNotify
  • Вызов: Notify::getUserName
static function getUserName(Order $order)
{
	$userName = "";

	if (!empty(static::$cacheUserData[$order->getUserId()]))
	{
		$userData = static::$cacheUserData[$order->getUserId()];
		if (!empty($userData['USER_NAME']))
		{
			$userName = $userData['USER_NAME'];
		}
	}


	if (empty($userName))
	{
		/** @var PropertyValueCollection $propertyCollection */
		if ($propertyCollection = $order->getPropertyCollection())
		{
			if ($propPayerName = $propertyCollection->getPayerName())
			{
				$userName = $propPayerName->getValue();
				static::$cacheUserData[$order->getUserId()]['PAYER_NAME'] = $userName;
			}
		}
	}

	if (empty($userName))
	{
		$userRes = MainUserTable::getList(array(
											   'select' => array('ID', 'LOGIN', 'NAME', 'LAST_NAME', 'SECOND_NAME', 'EMAIL'),
											   'filter' => array('=ID' => $order->getUserId()),
										   ));
		if ($userData = $userRes->fetch())
		{
			$userData['PAYER_NAME'] = CUser::FormatName(CSite::GetNameFormat(null, $order->getSiteId()), $userData, true);
			static::$cacheUserData[$order->getUserId()]['PAYER_NAME'] = $userData['PAYER_NAME'];
			$userName = $userData['PAYER_NAME'];
		}
	}

	return $userName;
}