• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/gradebook.php
  • Класс: CAllGradeBook
  • Вызов: CAllGradeBook::RecountAttempts
static function RecountAttempts($STUDENT_ID,$TEST_ID)
{
	global $DB;

	$STUDENT_ID = intval($STUDENT_ID);
	$TEST_ID = intval($TEST_ID);

	if ($TEST_ID < 1 || $STUDENT_ID < 1)
		return false;

	$strSql = "SELECT ID FROM b_learn_gradebook G WHERE STUDENT_ID = '".$STUDENT_ID."' AND TEST_ID = '".$TEST_ID."' ";
	$res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); if (!$arG = $res->Fetch()) { $ID = CGradeBook::Add(Array( "STUDENT_ID" => $STUDENT_ID, "TEST_ID" => $TEST_ID, "RESULT" => "0", "MAX_RESULT" => "0", "COMPLETED" => "N" )); return ($ID > 0); } $strSql = "SELECT SCORE, MAX_SCORE, COMPLETED ". "FROM b_learn_attempt ". "WHERE STUDENT_ID = '".$STUDENT_ID."' AND TEST_ID = '".$TEST_ID."' ". "ORDER BY COMPLETED DESC, SCORE DESC "; $res = $DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__); $res->NavStart(); if (intval($res->SelectedRowsCount()) == 0) { $strSql = "DELETE FROM b_learn_gradebook WHERE ID = ".$arG["ID"]; if (!$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__)) return false; return true; } if (!$ar = $res->Fetch()) return false; $strSql = "UPDATE b_learn_gradebook SET ATTEMPTS = '".intval($res->SelectedRowsCount())."', COMPLETED = '".$ar["COMPLETED"]."', RESULT = '".intval($ar["SCORE"])."' , MAX_RESULT = '".intval($ar["MAX_SCORE"])."' WHERE STUDENT_ID = '".$STUDENT_ID."' AND TEST_ID = '".$TEST_ID."' "; if (!$DB->Query($strSql, false, "File: ".__FILE__."
Line: ".__LINE__)) return false; return true; }