• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/connectors/personalize/basepersonalize.php
  • Класс: Bitrix\Sender\Integration\Crm\Connectors\Personalize\BasePersonalize
  • Вызов: BasePersonalize::processUserFieldValues
static function processUserFieldValues(array $userFieldsSettings, array &$userFieldValues): void
{
	foreach ($userFieldsSettings as $userFieldName => $userFieldParams)
	{
		$fieldTypeID = isset($userFieldParams['USER_TYPE'])? $userFieldParams['USER_TYPE']['USER_TYPE_ID']
			: '';
		$isFieldMultiple = isset($userFieldParams['MULTIPLE']) && $userFieldParams['MULTIPLE'] === 'Y';
		$fieldSettings = isset($userFieldParams['SETTINGS'])? $userFieldParams['SETTINGS'] : [];

		if (isset($userFieldValues[$userFieldName]))
		{
			$fieldValue = $userFieldValues[$userFieldName];
		}
		elseif (isset($fieldSettings['DEFAULT_VALUE']))
		{
			$fieldValue = $fieldSettings['DEFAULT_VALUE'];
		}

		if ($fieldTypeID === 'employee')
		{
			if (!$isFieldMultiple)
			{
				$userFieldValues[$userFieldName] = $fieldValue;
			}
			elseif (is_array($fieldValue))
			{
				$userFieldValues[$userFieldName] = [];
				foreach ($fieldValue as $value)
				{
					$userFieldValues[$userFieldName][] = $value;
				}
			}
		}
		elseif ($fieldTypeID === 'boolean')
		{
			$userFieldValues[$userFieldName] = self::getBool($fieldValue)? 'Y' : 'N';
		}
	}
}