- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/bizprocdocument.php
- Класс: BitrixDiskBizProcDocument
- Вызов: BizProcDocument::createDocument
static function createDocument($parentDocumentId, $fields)
{
/** @var File $file */
$file = File::loadById($parentDocumentId, array('STORAGE'));
if(!$file)
{
return false;
}
$targetObject = $file->getParent();
if(!$targetObject)
{
return false;
}
$uploadFile = $targetObject->addBlankFile(array(
'NAME' => $fields['NAME'],
'CREATED_BY' => SystemUser::SYSTEM_USER_ID,
'MIME_TYPE' => TypeFile::getMimeTypeByFilename($fields['NAME']),
), array(), true);
if($uploadFile)
{
$ufFields = array();
foreach($fields as $codeField => $valueField)
{
$search = 'UF_';
$res = mb_strpos($codeField, $search);
if($res === 0)
{
$ufFields[$codeField] = $valueField;
}
}
if(!empty($ufFields))
{
global $USER_FIELD_MANAGER;
$storageId = $uploadFile->getStorageId();
$USER_FIELD_MANAGER->update('DISK_FILE_' . $storageId, $uploadFile->getId(), $ufFields);
}
return $uploadFile->getId();
}
else
{
return false;
}
}