- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/question.php
- Класс: CLQuestion
- Вызов: CLQuestion::CheckFields
function CheckFields(&$arFields, $ID = false)
{
global $DB, $USER;
$arMsg = Array();
if ( (is_set($arFields, "NAME") || $ID === false) && trim($arFields["NAME"]) == '')
$arMsg[] = array("id"=>"NAME", "text"=> GetMessage("LEARNING_BAD_NAME"));
if (is_set($arFields, "FILE_ID"))
{
$error = CFile::CheckImageFile($arFields["FILE_ID"]);
if ($error <> '')
$arMsg[] = array("id"=>"FILE_ID", "text"=> $error);
}
if($this->LAST_ERROR == '')
{
if (
($ID === false && !is_set($arFields, "LESSON_ID"))
||
(is_set($arFields, "LESSON_ID") && intval($arFields["LESSON_ID"]) < 1)
)
{
$arMsg[] = array("id"=>"LESSON_ID", "text"=> GetMessage("LEARNING_BAD_LESSON_ID"));
}
elseif (is_set($arFields, "LESSON_ID"))
{
$res = CLearnLesson::GetByID($arFields["LESSON_ID"]);
if($arRes = $res->Fetch())
{
$oAccess = CLearnAccess::GetInstance($USER->GetID());
$bAccessLessonModify =
$oAccess->IsBaseAccess(CLearnAccess::OP_LESSON_WRITE)
|| $oAccess->IsLessonAccessible ($arFields["LESSON_ID"], CLearnAccess::OP_LESSON_WRITE);
if ( ! $bAccessLessonModify )
$arMsg[] = array("id"=>"LESSON_ID", "text"=> GetMessage("LEARNING_BAD_LESSON_ID_EX"));
}
else
{
$arMsg[] = array("id"=>"LESSON_ID", "text"=> GetMessage("LEARNING_BAD_LESSON_ID_EX"));
}
}
}
if(!empty($arMsg))
{
$e = new CAdminException($arMsg);
$GLOBALS["APPLICATION"]->ThrowException($e);
return false;
}
if (is_set($arFields, "QUESTION_TYPE") && !in_array($arFields["QUESTION_TYPE"], Array("S", "M", "T", "R")))
$arFields["QUESTION_TYPE"] = "S";
if (is_set($arFields, "DESCRIPTION_TYPE") && $arFields["DESCRIPTION_TYPE"] != "html")
$arFields["DESCRIPTION_TYPE"] = "text";
if (is_set($arFields, "DIRECTION") && $arFields["DIRECTION"] != "H")
$arFields["DIRECTION"] = "V";
if (is_set($arFields, "SELF") && $arFields["SELF"] != "Y")
$arFields["SELF"] = "N";
if (is_set($arFields, "ACTIVE") && $arFields["ACTIVE"] != "Y")
$arFields["ACTIVE"] = "N";
if (is_set($arFields, "EMAIL_ANSWER") && $arFields["EMAIL_ANSWER"] != "Y")
$arFields["EMAIL_ANSWER"] = "N";
if (is_set($arFields, "CORRECT_REQUIRED") && $arFields["CORRECT_REQUIRED"] != "Y")
$arFields["CORRECT_REQUIRED"] = "N";
return true;
}