• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/question.php
  • Класс: CLQuestion
  • Вызов: CLQuestion::Delete
static function Delete($ID)
{
	global $DB, $USER_FIELD_MANAGER;

	$ID = intval($ID);
	if ($ID < 1) return false;

	$strSql = "SELECT FILE_ID FROM b_learn_question WHERE ID = ".$ID;
	$r = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); if (!$arQuestion = $r->Fetch()) return false; $answers = CLAnswer::GetList(Array(), Array("QUESTION_ID" => $ID)); while($arAnswer = $answers->Fetch()) { if(!CLAnswer::Delete($arAnswer["ID"])) return false; } $arAttempts = Array(); $strSql = "SELECT ATTEMPT_ID FROM b_learn_test_result WHERE QUESTION_ID = ".$ID; $res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); while($ar = $res->Fetch()) $arAttempts[] = $ar["ATTEMPT_ID"]; //Attempts to recount //Results $strSql = "DELETE FROM b_learn_test_result WHERE QUESTION_ID = ".$ID; if (!$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__)) return false; foreach($arAttempts as $ATTEMPT_ID) { CTestAttempt::RecountQuestions($ATTEMPT_ID); CTestAttempt::OnAttemptChange($ATTEMPT_ID); } $strSql = "DELETE FROM b_learn_question WHERE ID = ".$ID; if (!$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__)) return false; $USER_FIELD_MANAGER->delete('LEARNING_QUESTIONS', $ID); CFile::Delete($arQuestion["FILE_ID"]); CEventLog::add(array( 'AUDIT_TYPE_ID' => 'LEARNING_REMOVE_ITEM', 'MODULE_ID' => 'learning', 'ITEM_ID' => 'Q #' . $ID, 'DESCRIPTION' => 'question removed' )); foreach(GetModuleEvents('learning', 'OnAfterQuestionDelete', true) as $arEvent) ExecuteModuleEventEx($arEvent, array($ID, $arQuestion)); return true; }