- Модуль: 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);
}