По-видимому, недоработка класса. Поле TIMESTAMP_X заполняется только в функции CFile::CopyFile.
Пришлось править функцию DoInsert:
[CODE] public static function DoInsert($arFields)
{
global $DB;
$strSql =
"INS ERT IN TO b_file(
TIMESTAMP_X, -- поле
HEIGHT,
WIDTH,
FILE_SIZE,
CONTENT_TYPE,
SUBDIR,
FILE_NAME,
MODULE_ID,
ORIGINAL_NAME,
DESCRIPTION,
HANDLER_ID,
EXTERNAL_ID
) VALUES (
".$DB->GetNowFunction().", -- значение
".intval($arFields["HEIGHT"]).",
".intval($arFields["WIDTH"]).",
".round(floatval($arFields["FILE_SIZE"])).",
'".$DB->ForSql($arFields["CONTENT_TYPE"], 255)."',
'".$DB->ForSql($arFields["SUBDIR"], 255)."',
'".$DB->ForSQL($arFields["FILE_NAME"], 255)."',
'".$DB->ForSQL($arFields["MODULE_ID"], 50)."',
'".$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);
return $DB->LastID();
}
[/CODE]
Пришлось править функцию DoInsert:
[CODE] public static function DoInsert($arFields)
{
global $DB;
$strSql =
"INS ERT IN TO b_file(
TIMESTAMP_X, -- поле
HEIGHT,
WIDTH,
FILE_SIZE,
CONTENT_TYPE,
SUBDIR,
FILE_NAME,
MODULE_ID,
ORIGINAL_NAME,
DESCRIPTION,
HANDLER_ID,
EXTERNAL_ID
) VALUES (
".$DB->GetNowFunction().", -- значение
".intval($arFields["HEIGHT"]).",
".intval($arFields["WIDTH"]).",
".round(floatval($arFields["FILE_SIZE"])).",
'".$DB->ForSql($arFields["CONTENT_TYPE"], 255)."',
'".$DB->ForSql($arFields["SUBDIR"], 255)."',
'".$DB->ForSQL($arFields["FILE_NAME"], 255)."',
'".$DB->ForSQL($arFields["MODULE_ID"], 50)."',
'".$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);
return $DB->LastID();
}
[/CODE]