- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/classes/general/answer.php
- Класс: CAllVoteAnswer
- Вызов: CAllVoteAnswer::Delete
static function Delete($ID, $QUESTION_ID = false, $VOTE_ID = false)
{
global $DB;
$err_mess = (self::err_mess())."
Function: Delete
Line: ";
/***************** Event onBeforeVoteAnswerDelete ******************/
foreach (GetModuleEvents("vote", "onBeforeVoteAnswerDelete", true) as $arEvent)
{
if (ExecuteModuleEventEx($arEvent, array(&$ID, &$QUESTION_ID, &$VOTE_ID)) === false)
return false;
}
/***************** /Event ******************************************/
$ID = (intval($ID) > 0 ? intval($ID) : false);
$QUESTION_ID = (intval($QUESTION_ID) > 0 ? intval($QUESTION_ID) : false);
$VOTE_ID = (intval($VOTE_ID) > 0 ? intval($VOTE_ID) : false);
if ($ID != false):
$strSqlEventAnswer = "DELETE FROM b_vote_event_answer WHERE ANSWER_ID=".$ID;
$strSqlAnswer = "DELETE FROM b_vote_answer WHERE ID=".$ID;
elseif ($QUESTION_ID != false):
$strSqlEventAnswer = "DELETE FROM b_vote_event_answer WHERE ANSWER_ID IN (
SELECT VA.ID FROM b_vote_answer VA WHERE VA.QUESTION_ID = ".$QUESTION_ID.")";
$strSqlAnswer = "DELETE FROM b_vote_answer WHERE QUESTION_ID = ".$QUESTION_ID;
elseif ($VOTE_ID != false):
$strSqlEventAnswer = "DELETE FROM b_vote_event_answer WHERE ANSWER_ID IN (
SELECT VA.ID
FROM b_vote_answer VA, b_vote_question VQ
WHERE VA.QUESTION_ID = VQ.ID AND VQ.VOTE_ID = ".$VOTE_ID.")";
$strSqlAnswer = "DELETE FROM b_vote_answer WHERE QUESTION_ID IN (
SELECT VQ.ID FROM b_vote_question VQ WHERE VQ.VOTE_ID = ".$VOTE_ID.")";
else:
return false;
endif;
$DB->Query($strSqlEventAnswer, false, $err_mess.__LINE__);
$DB->Query($strSqlAnswer, false, $err_mess.__LINE__);
/***************** Event onAfterVoteAnswerDelete *******************/
foreach (GetModuleEvents("vote", "onAfterVoteAnswerDelete", true) as $arEvent)
ExecuteModuleEventEx($arEvent, array($ID, $QUESTION_ID, $VOTE_ID));
/***************** /Event ******************************************/
return true;
}