• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/attempt.php
  • Класс: CAllTestAttempt
  • Вызов: CAllTestAttempt::AttemptFinished
public function AttemptFinished($ATTEMPT_ID)
{
	global $DB;

	$ATTEMPT_ID = intval($ATTEMPT_ID);

	if ($ATTEMPT_ID < 1)
		return false;

	$strSql =
	"SELECT SUM(TR.POINT) as SCORE, SUM(Q.POINT) MAX_SCORE ".
	"FROM b_learn_test_result TR ".
	"INNER JOIN b_learn_question Q ON TR.QUESTION_ID = Q.ID ".
	"WHERE ATTEMPT_ID = '".$ATTEMPT_ID."' ";

	$res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); if (!$ar = $res->Fetch()) return false; $res = $this->Update($ATTEMPT_ID, array( "SCORE" => $ar["SCORE"], "MAX_SCORE" => $ar["MAX_SCORE"], "STATUS"=>"F", "~DATE_END"=>CDatabase::CurrentTimeFunction(), ) ); foreach(GetModuleEvents('learning', 'OnAfterAttemptFinished', true) as $arEvent) ExecuteModuleEventEx($arEvent, array($ATTEMPT_ID)); if($res) return CTestAttempt::OnAttemptChange($ATTEMPT_ID); else return false; }