public 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; }