• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/question.php
  • Класс: CLQuestion
  • Вызов: CLQuestion::Add
function Add($arFields)
{
	global $DB, $USER_FIELD_MANAGER;

	if (
		$this->CheckFields($arFields)
		&& $USER_FIELD_MANAGER->CheckFields('LEARNING_QUESTIONS', 0, $arFields)
	)
	{
		unset($arFields["ID"]);

		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");

		$ID = $DB->Add("b_learn_question", $arFields, array("DESCRIPTION", 'COMMENT_TEXT', 'INCORRECT_MESSAGE'));

		if ($ID)
			$USER_FIELD_MANAGER->Update('LEARNING_QUESTIONS', $ID, $arFields);

		foreach(GetModuleEvents('learning', 'OnAfterQuestionAdd', true) as $arEvent)
			ExecuteModuleEventEx($arEvent, array($ID, $arFields));

		return $ID;
	}

	return false;
}