• Модуль: report
  • Путь к файлу: ~/bitrix/modules/report/classes/general/report_helper.php
  • Класс: CReportHelper
  • Вызов: CReportHelper::getUserFieldCrmValueForChart
static function getUserFieldCrmValueForChart($valueKey, $ufInfo)
{
	$valueKey = trim(strval($valueKey));
	$value = '';

	if ($valueKey <> '')
	{
		$prefixByType = static::getUserFieldCrmTypePrefixMap();

		$maxPrefixLength = 3;    // 'SSI'
		$singleTypePrefix = '';
		if (is_array($ufInfo['SETTINGS']))
		{
			$supportedTypes = array();
			foreach ($ufInfo['SETTINGS'] as $type => $supported)
			{
				if ($supported === 'Y')
					$supportedTypes[$type] = true;
			}
			$supportedTypes = array_keys($supportedTypes);
			if (count($supportedTypes) === 1)
			{
				if (isset($prefixByType[mb_strtolower($supportedTypes[0])]))
					$singleTypePrefix = $prefixByType[mb_strtolower($supportedTypes[0])];
			}
			unset($supportedTypes, $type, $supported);
		}

		$prefix = '';
		if (($pos = mb_strpos(mb_substr($valueKey, 0, $maxPrefixLength + 1), '_')) !== false && $pos > 0)
			$prefix = mb_substr($valueKey, 0, $pos);
		if (empty($prefix))
			$valueKey = $singleTypePrefix . '_' . $valueKey;
		unset($prefix, $pos);

		if (is_array(self::$ufCrmElements) && is_array(self::$ufCrmElements[$valueKey]))
		{
			$element = self::$ufCrmElements[$valueKey];
			$item = explode('_', $valueKey);
			if ($item[0] <> '' && $item[1] <> '')
			{
				$value = htmlspecialcharsbx($element['title']);
			}
		}
	}

	return htmlspecialcharsbx($value);
}