- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/question.php
- Класс: CLQuestion
- Вызов: CLQuestion::Update
function Update($ID, $arFields)
{
global $DB, $USER_FIELD_MANAGER;
$ID = intval($ID);
if ($ID < 1) return false;
if (is_set($arFields, "FILE_ID"))
{
if($arFields["FILE_ID"]["name"] == '' && $arFields["FILE_ID"]["del"] == '' && $arFields["FILE_ID"]["description"] == '')
unset($arFields["FILE_ID"]);
else
{
$pic_res = $DB->Query("SELECT FILE_ID FROM b_learn_question WHERE ID=".$ID);
if($pic_res = $pic_res->Fetch())
$arFields["FILE_ID"]["old_file"]=$pic_res["FILE_ID"];
}
}
if (
$this->CheckFields($arFields, $ID)
&& $USER_FIELD_MANAGER->CheckFields('LEARNING_QUESTIONS', $ID, $arFields)
)
{
unset($arFields["ID"]);
$arBinds=Array(
"DESCRIPTION" => $arFields["DESCRIPTION"],
'COMMENT_TEXT' => $arFields['COMMENT_TEXT'],
'INCORRECT_MESSAGE' => $arFields['INCORRECT_MESSAGE']
);
if (
array_key_exists("FILE_ID", $arFields)
&& is_array($arFields["FILE_ID"])
&& (
!array_key_exists("MODULE_ID", $arFields["FILE_ID"])
|| $arFields["FILE_ID"]["MODULE_ID"] == ''
)
)
$arFields["FILE_ID"]["MODULE_ID"] = "learning";
CFile::SaveForDB($arFields, "FILE_ID", "learning");
$USER_FIELD_MANAGER->Update('LEARNING_QUESTIONS', $ID, $arFields);
$strUpdate = $DB->PrepareUpdate("b_learn_question", $arFields);
if ($strUpdate !== '')
{
$strSql = "UPDATE b_learn_question SET ".$strUpdate." WHERE ID=".$ID;
$DB->QueryBind($strSql, $arBinds, false, "File: ".__FILE__."
Line: ".__LINE__);
}
foreach(GetModuleEvents('learning', 'OnAfterQuestionUpdate', true) as $arEvent)
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
return true;
}
return false;
}