- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/testresult.php
- Класс: CTestResult
- Вызов: CTestResult::CheckFields
public function CheckFields(&$arFields, $ID = false)
{
global $DB, $APPLICATION;
if ($ID===false)
{
if (is_set($arFields, "ATTEMPT_ID"))
{
$r = CTestAttempt::GetByID($arFields["ATTEMPT_ID"]);
if(!$r->Fetch())
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_ATTEMPT_ID_EX"), "ERROR_NO_ATTEMPT_ID");
return false;
}
}
else
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_ATTEMPT_ID"), "EMPTY_ATTEMPT_ID");
return false;
}
if (is_set($arFields, "QUESTION_ID"))
{
$r = CLQuestion::GetByID($arFields["QUESTION_ID"]);
if(!$r->Fetch())
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_QUESTION_ID"), "EMPTY_QUESTION_ID");
return false;
}
}
else
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_QUESTION_ID"), "EMPTY_QUESTION_ID");
return false;
}
}
if (is_set($arFields, "RESPONSE") && is_array($arFields["RESPONSE"]))
{
$s = "";
foreach($arFields["RESPONSE"] as $val)
$s .= $val.",";
$arFields["RESPONSE"] = mb_substr($s, 0, -1);
}
/*
if (is_set($arFields, "ANSWERED") && is_set($arFields, "RESPONSE"))
{
if ($arFields["ANSWERED"]=="Y" && strlen($arFields["RESPONSE"]) <= 0)
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_NO_ANSWERS"), "EMPTY_ANSWERS");
return false;
}
}
*/
if (is_set($arFields, "CORRECT") && $arFields["CORRECT"] != "Y")
$arFields["CORRECT"] = "N";
return true;
}