- Модуль: documentgenerator
- Путь к файлу: ~/bitrix/modules/documentgenerator/lib/storage/bfile.php
- Класс: BitrixDocumentGeneratorStorageBFile
- Вызов: BFile::write
public function write($content, array $options = [])
{
$result = parent::write($content, $options);
if($result->isSuccess())
{
$filePath = $result->getId();
$contentType = false;
if(isset($options['contentType']))
{
$contentType = $options['contentType'];
}
if(!isset($options['MODULE_ID']))
{
$options['MODULE_ID'] = Driver::MODULE_ID;
}
$fileDescription = CFile::MakeFileArray($filePath, $contentType);
if($fileDescription)
{
if(isset($options['fileName']))
{
$options['fileName'] = str_replace(' ', '_', Path::replaceInvalidFilename($options['fileName'], function()
{
return '_';
}));
$fileDescription['name'] = $fileDescription['fileName'] = $options['fileName'];
}
if(isset($options['MODULE_ID']))
{
$fileDescription['MODULE_ID'] = $options['MODULE_ID'];
}
$path = $this->getPath($fileDescription);
$fileId = CFile::SaveFile($fileDescription, $path);
parent::delete($filePath);
$result->setId($fileId);
}
else
{
$result->addError(new Error('Cant get file description from '.$filePath));
}
}
return $result;
}