- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/gradebook.php
- Класс: CAllGradeBook
- Вызов: CAllGradeBook::CheckFields
static function CheckFields(&$arFields, $ID = false)
{
global $DB, $APPLICATION;
if ($ID===false && !is_set($arFields, "STUDENT_ID"))
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_USER_ID"), "EMPTY_STUDENT_ID");
return false;
}
elseif (is_set($arFields, "STUDENT_ID"))
{
$dbResult = CUser::GetByID($arFields["STUDENT_ID"]);
if (!$dbResult->Fetch())
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_USER_ID_EX"), "ERROR_NO_STUDENT_ID");
return false;
}
}
if ($ID===false && !is_set($arFields, "TEST_ID"))
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_TEST_ID"), "EMPTY_TEST_ID");
return false;
}
elseif (is_set($arFields, "TEST_ID"))
{
$r = CTest::GetByID($arFields["TEST_ID"]);
if(!$r->Fetch())
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_TEST_ID_EX"), "ERROR_NO_TEST_ID");
return false;
}
}
if (is_set($arFields, "STUDENT_ID") && is_set($arFields, "TEST_ID"))
{
$res = CGradeBook::GetList(Array(), Array("STUDENT_ID" => $arFields["STUDENT_ID"], "TEST_ID" => $arFields["TEST_ID"]));
if ($res->Fetch())
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_GRADEBOOK_DUPLICATE"), "ERROR_GRADEBOOK_DUPLICATE");
return false;
}
}
if (is_set($arFields, "COMPLETED") && $arFields["COMPLETED"] != "Y")
$arFields["COMPLETED"] = "N";
return true;
}