- Модуль: 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;
}