• Модуль: 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;
}