• Модуль: learning
  • Путь к файлу: ~/bitrix/modules/learning/classes/general/testmark.php
  • Класс: CLTestMark
  • Вызов: CLTestMark::CheckFields
function CheckFields(&$arFields, $ID = false)
{
	global $DB;
	$arMsg = Array();

	if ( (is_set($arFields, "MARK") || $ID === false) && (string)$arFields["MARK"] == '')
		$arMsg[] = array("id"=>"MARK", "text"=> GetMessage("LEARNING_BAD_MARK"));


	if (
		($ID === false && !is_set($arFields, "TEST_ID"))
		||
		(is_set($arFields, "TEST_ID") && intval($arFields["TEST_ID"]) < 1)
		)
	{
		$arMsg[] = array("id"=>"TEST_ID", "text"=> GetMessage("LEARNING_BAD_TEST_ID"));
	}
	elseif (is_set($arFields, "TEST_ID"))
	{
		$res = CTest::GetByID($arFields["TEST_ID"]);
		if(!$arRes = $res->Fetch())
			$arMsg[] = array("id"=>"TEST_ID", "text"=> GetMessage("LEARNING_BAD_TEST_ID"));
	}

	if (!is_set($arFields, "SCORE") || intval($arFields["SCORE"]) > 100 || intval($arFields["SCORE"]) < 1)
	{
		$arMsg[] = array("id"=>"SCORE", "text"=> GetMessage("LEARNING_BAD_MARK_SCORE"));
	}

	if(!empty($arMsg))
	{
		$e = new CAdminException($arMsg);
		$GLOBALS["APPLICATION"]->ThrowException($e);
		return false;
	}

	return true;
}