- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/file.php
- Класс: CFile
- Вызов: CFile::DoInsert
static function DoInsert($arFields)
{
global $DB;
$size = round(floatval($arFields["FILE_SIZE"]));
$strSql =
"INSERT INTO b_file(
TIMESTAMP_X
,MODULE_ID
,HEIGHT
,WIDTH
,FILE_SIZE
,CONTENT_TYPE
,SUBDIR
,FILE_NAME
,ORIGINAL_NAME
,DESCRIPTION
,HANDLER_ID
,EXTERNAL_ID
) VALUES (
".$DB->GetNowFunction()."
,'".$DB->ForSQL($arFields["MODULE_ID"], 50)."'
,".intval($arFields["HEIGHT"])."
,".intval($arFields["WIDTH"])."
,".$size."
,'".$DB->ForSql($arFields["CONTENT_TYPE"], 255)."'
,'".$DB->ForSql($arFields["SUBDIR"], 255)."'
,'".$DB->ForSQL($arFields["FILE_NAME"], 255)."'
,'".$DB->ForSql($arFields["ORIGINAL_NAME"], 255)."'
,'".$DB->ForSQL($arFields["DESCRIPTION"], 255)."'
,".($arFields["HANDLER_ID"]? "'".$DB->ForSql($arFields["HANDLER_ID"], 50)."'": "null")."
,".($arFields["EXTERNAL_ID"] != ""? "'".$DB->ForSql($arFields["EXTERNAL_ID"], 50)."'": "null")."
)";
$DB->Query($strSql);
$fileId = $DB->LastID();
//store the file hash for duplicates search
if($arFields["FILE_HASH"] <> '')
{
InternalFileHashTable::add([
"FILE_ID" => $fileId,
"FILE_SIZE" => $size,
"FILE_HASH" => $arFields["FILE_HASH"],
]);
}
$arFields["ID"] = $fileId;
foreach(GetModuleEvents("main", "OnAfterFileSave", true) as $arEvent)
{
ExecuteModuleEventEx($arEvent, array($arFields));
}
return $fileId;
}