- Модуль: translate
- Путь к файлу: ~/bitrix/modules/translate/lib/controller/asset/grabber.php
- Класс: BitrixTranslateControllerAssetGrabber
- Вызов: Grabber::uploadAction
public function uploadAction(): array
{
$result = [];
$success = false;
if (
isset($_FILES, $_FILES['tarFile'], $_FILES['tarFile']['tmp_name']) &&
($_FILES['tarFile']['error'] == UPLOAD_ERR_OK) &&
file_exists($_FILES['tarFile']['tmp_name'])
)
{
if (
(filesize($_FILES['tarFile']['tmp_name']) > 0) &&
(
mb_substr($_FILES['tarFile']['name'], -7) === '.tar.gz' ||
mb_substr($_FILES['tarFile']['name'], -4) === '.tar'
)
)
{
if (mb_substr($_FILES['tarFile']['name'], -7) === '.tar.gz')
{
$suffix = '.tar.gz';
}
else
{
$suffix = '.tar';
}
if ($this->moveUploadedFile($_FILES['tarFile'], $suffix))
{
$this->saveProgressParameters();
$success = ($this->hasErrors() === false);
}
}
else
{
$this->addError(new MainError(Loc::getMessage('TR_ERROR_TARFILE_EXTENTION')));
}
}
else
{
if ($_FILES['tarFile']['error'] == UPLOAD_ERR_INI_SIZE)
{
$this->addError(
new MainError(Loc::getMessage('TR_ERROR_UPLOAD_SIZE', [
'#SIZE#' => CFile::formatSize(self::getMaxUploadSize())
]))
);
}
else
{
$this->addError(new MainError(Loc::getMessage('TR_ERROR_TARFILE')));
}
}
if ($success)
{
$result['SUMMARY'] = Loc::getMessage('TR_IMPORT_UPLOAD_OK');
}
$result['STATUS'] = TranslateControllerSTATUS_COMPLETED;
return $result;
}