• Модуль: 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; }