- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/testresult.php
- Класс: CTestResult
- Вызов: CTestResult::OnTestResultChange
static function OnTestResultChange($TEST_RESULT_ID)
{
global $DB;
$TEST_RESULT_ID = intval($TEST_RESULT_ID);
if ($TEST_RESULT_ID < 1)
return false;
$strSql =
"SELECT TR.* ".
"FROM b_learn_test_result TR ".
"WHERE TR.ID = '".$TEST_RESULT_ID."'";
$res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
if (!$arAttemptResult = $res->Fetch())
return false;
$strSql =
"SELECT SUM(TR.POINT) as SUM_POINT, SUM( Q.POINT ) MAX_POINT ".
"FROM b_learn_test_result TR ".
"INNER JOIN b_learn_question Q ON TR.QUESTION_ID = Q.ID ".
"WHERE TR.ATTEMPT_ID = '".$arAttemptResult["ATTEMPT_ID"]."'";
$res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__);
if (!$arSum = $res->Fetch())
return false;
$strSql =
"UPDATE b_learn_attempt SET SCORE = '".$arSum["SUM_POINT"]."', MAX_SCORE ='".$arSum["MAX_POINT"]."' ".
"WHERE ID = '".$arAttemptResult["ATTEMPT_ID"]."'";
if (!$res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__))
return false;
return CTestAttempt::OnAttemptChange($arAttemptResult["ATTEMPT_ID"]);
}