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

	if (!CVoteAnswer::CheckFields("ADD", $arFields))
		return false;
/***************** Event onBeforeVoteAnswerAdd *********************/
	foreach (GetModuleEvents("vote", "onBeforeVoteAnswerAdd", true) as $arEvent)
		if (ExecuteModuleEventEx($arEvent, array(&$arFields)) === false)
			return false;
/***************** /Event ******************************************/
	if (empty($arFields))
		return false;

	if (
		array_key_exists("IMAGE_ID", $arFields) &&
		is_array($arFields["IMAGE_ID"])
	)
	{
		$arFields["IMAGE_ID"]["MODULE_ID"] = "vote";
		CFile::SaveForDB($arFields, "IMAGE_ID", "vote");
	}

	if ($DB->type == "ORACLE")
		$arFields["ID"] = $DB->NextID("SQ_B_VOTE_ANSWER");

	$arInsert = $DB->PrepareInsert("b_vote_answer", $arFields);

	$DB->QueryBind("INSERT INTO b_vote_answer (".$arInsert[0].", TIMESTAMP_X) VALUES(".$arInsert[1].", ".$DB->GetNowFunction().")", array("MESSAGE" => $arFields["MESSAGE"]), false);
	$ID = intval($DB->type == "ORACLE" ? $arFields["ID"] : $DB->LastID());

/***************** Event onAfterVoteAnswerAdd **********************/
	foreach (GetModuleEvents("vote", "onAfterVoteAnswerAdd", true) as $arEvent)
		ExecuteModuleEventEx($arEvent, array($ID, $arFields));
/***************** /Event ******************************************/
	return $ID;
}