- Модуль: learning
- Путь к файлу: ~/bitrix/modules/learning/classes/general/student.php
- Класс: CStudent
- Вызов: CStudent::CheckFields
static function CheckFields(&$arFields, $ID = false)
{
global $DB, $APPLICATION;
$arMsg = array();
if ((is_set($arFields, "USER_ID") || $ID === false) && intval($arFields["USER_ID"]) <= 0)
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_USER_ID"), "EMPTY_USER_ID");
return false;
}
elseif (is_set($arFields, "USER_ID"))
{
$dbResult = CUser::GetByID($arFields["USER_ID"]);
if (!$dbResult->Fetch())
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_USER_ID_EX"), "ERROR_NO_USER_ID");
return false;
}
$dbResult = CStudent::GetList(Array(), Array("USER_ID" => $arFields["USER_ID"]));
if ($dbResult->Fetch())
{
$APPLICATION->ThrowException(GetMessage("LEARNING_BAD_USER_ID_EXISTS"), "ERROR_USER_ID_EXISTS");
return false;
}
}
if ($ID === false && !is_set($arFields, "TRANSCRIPT"))
{
$arFields["TRANSCRIPT"] = CStudent::GenerateTranscipt();
}
elseif(is_set($arFields, "TRANSCRIPT") && !preg_match("~^[0-9]{6,}$~",$arFields["TRANSCRIPT"]))
{
$arFields["TRANSCRIPT"] = CStudent::GenerateTranscipt();
}
if (is_set($arFields, "PUBLIC_PROFILE") && $arFields["PUBLIC_PROFILE"] != "N")
$arFields["ACTIVE"] = "Y";
return true;
}