- Модуль: vote
- Путь к файлу: ~/bitrix/modules/vote/classes/general/vote.php
- Класс: CAllVote
- Вызов: CAllVote::Delete
static function Delete($ID)
{
global $DB;
$err_mess = (CVote::err_mess())."
Function: Delete
Line: ";
$ID = intval($ID);
if ($ID <= 0):
return false;
endif;
/***************** Event onBeforeVoteDelete *************************/
foreach (GetModuleEvents("vote", "onBeforeVoteDelete", true) as $arEvent)
if (ExecuteModuleEventEx($arEvent, array(&$ID)) === false)
return false;
/***************** /Event ******************************************/
@set_time_limit(1000);
$DB->StartTransaction();
// delete questions
CVoteQuestion::Delete(false, $ID);
BitrixVoteAttachTable::deleteByFilter(array("OBJECT_ID" => $ID));
// delete vote images
$strSql = "SELECT IMAGE_ID FROM b_vote WHERE ID = ".$ID." AND IMAGE_ID > 0";
$z = $DB->Query($strSql, false, $err_mess.__LINE__);
while ($zr = $z->Fetch()) CFile::Delete($zr["IMAGE_ID"]);
// delete vote events
$DB->Query("DELETE FROM b_vote_event WHERE VOTE_ID='$ID'", false, $err_mess.__LINE__);
// delete vote
$res = $DB->Query("DELETE FROM b_vote WHERE ID='$ID'", false, $err_mess.__LINE__);
$DB->Commit();
/***************** Event onAfterVoteDelete *************************/
foreach (GetModuleEvents("vote", "onAfterVoteDelete", true) as $arEvent)
ExecuteModuleEventEx($arEvent, array($ID));
/***************** /Event ******************************************/
return $res;
}