- Модуль: bizproc
- Путь к файлу: ~/bitrix/modules/bizproc/lib/basetype/file.php
- Класс: BitrixBizprocBaseTypeFile
- Вызов: File::extractValue
static function extractValue(FieldType $fieldType, array $field, array $request)
{
$value = parent::extractValue($fieldType, $field, $request);
if (is_array($value) && !empty($value['name']) && !empty($value['tmp_name']))
{
if (!is_uploaded_file($value['tmp_name']))
{
$value = null;
static::addError([
'code' => 'ErrorValue',
'message' => Loc::getMessage('BPDT_FILE_SECURITY_ERROR'),
'parameter' => static::generateControlName($field),
]);
}
else
{
if (!array_key_exists('MODULE_ID', $value) || $value['MODULE_ID'] == '')
$value['MODULE_ID'] = 'bizproc';
$value = CFile::saveFile($value, 'bizproc_wf');
if (!$value)
{
$value = null;
static::addError([
'code' => 'ErrorValue',
'message' => Loc::getMessage('BPDT_FILE_INVALID'),
'parameter' => static::generateControlName($field),
]);
}
}
}
elseif (CBPActivity::isExpression($value))
{
//It`s OK
}
elseif (is_numeric($value) && defined('BX_MOBILE'))
{
$file = CFile::getById($value)->fetch();
if (!$file || $file['MODULE_ID'] !== 'bizproc')
{
$value = null;
}
}
else
{
$value = null;
}
return $value;
}