- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/lib/bizproctype/usertypeproperty.php
- Класс: BitrixIblockBizprocTypeUserTypeProperty
- Вызов: UserTypeProperty::extractValue
static function extractValue(FieldType $fieldType, array $field, array $request)
{
$value = parent::extractValue($fieldType, $field, $request);
if (is_array($value) && isset($value['VALUE']))
$value = $value['VALUE'];
$userType = static::getUserType($fieldType);
if (array_key_exists('GetLength', $userType))
{
if (call_user_func_array(
$userType['GetLength'],
array(
array('LINK_IBLOCK_ID' => $fieldType->getOptions()),
array('VALUE' => $value)
)
) <= 0)
{
$value = null;
}
}
if ($value != null && array_key_exists('CheckFields', $userType))
{
$errors = call_user_func_array(
$userType['CheckFields'],
array(
array('LINK_IBLOCK_ID' => $fieldType->getOptions()),
array('VALUE' => $value)
)
);
if (sizeof($errors) > 0)
{
$value = null;
foreach ($errors as $e)
static::addError(array(
'code' => 'ErrorValue',
'message' => $e,
'parameter' => static::generateControlName($field),
));
}
}
elseif ($value === '' && !array_key_exists('GetLength', $userType))
$value = null;
return $value;
}