• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/userfield/typebase.php
  • Класс: BitrixMainUserFieldTypeBase
  • Вызов: TypeBase::getFieldValue
static function getFieldValue($arUserField, $arAdditionalParameters = array())
{
	if(!$arAdditionalParameters["bVarsFromForm"])
	{
		if($arUserField["ENTITY_VALUE_ID"] <= 0)
		{
			switch($arUserField['USER_TYPE_ID'])
			{
				case CUserTypeDate::USER_TYPE_ID:
				case CUserTypeDateTime::USER_TYPE_ID:

					$full = $arUserField['USER_TYPE_ID'] === CUserTypeDateTime::USER_TYPE_ID;
					if($arUserField["SETTINGS"]["DEFAULT_VALUE"]["TYPE"] == "NOW")
					{
						$value = $full
							? ConvertTimeStamp(time() + CTimeZone::getOffset(), "FULL")
							: ConvertTimeStamp(time(), 'SHORT');
					}
					else
					{
						$value = $full
							? str_replace(" 00:00:00", "", CDatabase::formatDate($arUserField["SETTINGS"]["DEFAULT_VALUE"]["VALUE"], "YYYY-MM-DD HH:MI:SS", CLang::getDateFormat("FULL")))
							: CDatabase::formatDate($arUserField["SETTINGS"]["DEFAULT_VALUE"]["VALUE"], "YYYY-MM-DD", CLang::getDateFormat('SHORT'));
					}

					break;
				case CUserTypeEnum::USER_TYPE_ID:

					$value = $arUserField['MULTIPLE'] === 'Y' ? array() : null;
					foreach($arUserField['ENUM'] as $enum)
					{
						if($enum['DEF'] === 'Y')
						{
							if($arUserField['MULTIPLE'] === 'Y')
							{
								$value[] = $enum['ID'];
							}
							else
							{
								$value = $enum['ID'];
								break;
							}
						}
					}

					break;
				default:
					$value = $arUserField["SETTINGS"]["DEFAULT_VALUE"];

					break;
			}
		}
		else
		{
			$value = $arUserField["VALUE"];
		}
	}
	else
	{
		$value = $_REQUEST[$arUserField["FIELD_NAME"]];
	}

	return static::normalizeFieldValue($value);
}