- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/classes/general/question.php
- Класс: CAllVoteQuestion
- Вызов: CAllVoteQuestion::Add
static function Add($arFields, $strUploadDir = false)
{
global $DB;
$strUploadDir = ($strUploadDir === false ? "vote" : $strUploadDir);
if (!CVoteQuestion::CheckFields("ADD", $arFields))
return false;
/***************** Event onBeforeVoteQuestionAdd *******************/
foreach (GetModuleEvents("vote", "onBeforeVoteQuestionAdd", 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"])
&& (
!array_key_exists("MODULE_ID", $arFields["IMAGE_ID"])
|| $arFields["IMAGE_ID"]["MODULE_ID"] == ''
)
)
$arFields["IMAGE_ID"]["MODULE_ID"] = "vote";
CFile::SaveForDB($arFields, "IMAGE_ID", $strUploadDir);
if ($DB->type == "ORACLE")
$arFields["ID"] = $DB->NextID("SQ_B_VOTE_QUESTION");
$arInsert = $DB->PrepareInsert("b_vote_question", $arFields);
$DB->QueryBind("INSERT INTO b_vote_question (".$arInsert[0].", TIMESTAMP_X) VALUES(".$arInsert[1].", ".$DB->GetNowFunction().")", array("QUESTION" => $arFields["QUESTION"]), false);
$ID = intval($DB->type == "ORACLE" ? $arFields["ID"] : $DB->LastID());
/***************** Event onAfterVoteQuestionAdd ********************/
foreach (GetModuleEvents("vote", "onAfterVoteQuestionAdd", true) as $arEvent)
ExecuteModuleEventEx($arEvent, array($ID, $arFields));
/***************** /Event ******************************************/
return $ID;
}