• Модуль: vote
  • Путь к файлу: ~/bitrix/modules/vote/classes/general/question.php
  • Класс: CAllVoteQuestion
  • Вызов: CAllVoteQuestion::Delete
static function Delete($ID, $VOTE_ID = false)
{
	global $DB;
	$err_mess = (CVoteQuestion::err_mess())."
Function: Delete
Line: "; /***************** Event onBeforeVoteQuestionDelete ****************/ foreach (GetModuleEvents("vote", "onBeforeVoteQuestionDelete", true) as $arEvent) if (ExecuteModuleEventEx($arEvent, array(&$ID, &$VOTE_ID)) === false) return false; /***************** /Event ******************************************/ if (!CVoteAnswer::Delete(false, $ID, $VOTE_ID)) return false; $ID = (intval($ID) > 0 ? intval($ID) : false); $VOTE_ID = (intval($VOTE_ID) > 0 ? intval($VOTE_ID) : false); if ($ID === false && $VOTE_ID === false): return false; elseif ($ID === false): $strSqlID = "SELECT Q.ID FROM b_vote_question Q WHERE Q.VOTE_ID=".$VOTE_ID; else: $strSqlID = "".$ID.""; endif; $DB->StartTransaction(); $strSql = "SELECT IMAGE_ID FROM b_vote_question WHERE ID IN (".$strSqlID.") AND IMAGE_ID > 0"; $z = $DB->Query($strSql, false, $err_mess.__LINE__); while ($zr = $z->Fetch()) CFile::Delete($zr["IMAGE_ID"]); // drop question events if (!$DB->Query("DELETE FROM b_vote_event_question WHERE QUESTION_ID IN (".$strSqlID.")", false, $err_mess.__LINE__)): $DB->Rollback(); return false; endif; // drop question if ($ID === false): $strSql = "DELETE FROM b_vote_question WHERE VOTE_ID=".$VOTE_ID; else: $strSql = "DELETE FROM b_vote_question WHERE ID=".$ID; endif; if (!$DB->Query($strSql, false, $err_mess.__LINE__)): $DB->Rollback(); return false; endif; $DB->Commit(); /***************** Cleaning cache **********************************/ if ($ID === false) unset($GLOBALS["VOTE_CACHE"]["QUESTION"]); else unset($GLOBALS["VOTE_CACHE"]["QUESTION"][$ID]); /***************** Cleaning cache/**********************************/ /***************** Event onAfterForumDelete ************************/ foreach (GetModuleEvents("vote", "onAfterVoteQuestionDelete", true) as $arEvent) ExecuteModuleEventEx($arEvent, array($ID, $VOTE_ID)); /***************** /Event ******************************************/ return true; }