- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/usertype.php
- Класс: CAllUserTypeEntity
- Вызов: CAllUserTypeEntity::CheckFields
function CheckFields($ID, $arFields, $bCheckUserType = true)
{
/** @global CUserTypeManager $USER_FIELD_MANAGER */
global $APPLICATION, $USER_FIELD_MANAGER;
$aMsg = array();
$ID = intval($ID);
if(($ID <= 0 || array_key_exists("ENTITY_ID", $arFields)) && $arFields["ENTITY_ID"] == '')
$aMsg[] = array("id" => "ENTITY_ID", "text" => GetMessage("USER_TYPE_ENTITY_ID_MISSING"));
if(array_key_exists("ENTITY_ID", $arFields))
{
if(mb_strlen($arFields["ENTITY_ID"]) > 50)
$aMsg[] = array("id" => "ENTITY_ID", "text" => GetMessage("USER_TYPE_ENTITY_ID_TOO_LONG1"));
if(!preg_match('/^[0-9A-Z_]+$/', $arFields["ENTITY_ID"]))
$aMsg[] = array("id" => "ENTITY_ID", "text" => GetMessage("USER_TYPE_ENTITY_ID_INVALID"));
}
if(($ID <= 0 || array_key_exists("FIELD_NAME", $arFields)) && $arFields["FIELD_NAME"] == '')
$aMsg[] = array("id" => "FIELD_NAME", "text" => GetMessage("USER_TYPE_FIELD_NAME_MISSING"));
if(array_key_exists("FIELD_NAME", $arFields))
{
if(mb_strlen($arFields["FIELD_NAME"]) < 4)
$aMsg[] = array("id" => "FIELD_NAME", "text" => GetMessage("USER_TYPE_FIELD_NAME_TOO_SHORT"));
if(mb_strlen($arFields["FIELD_NAME"]) > 50)
$aMsg[] = array("id" => "FIELD_NAME", "text" => GetMessage("USER_TYPE_FIELD_NAME_TOO_LONG1"));
if(strncmp($arFields["FIELD_NAME"], "UF_", 3) !== 0)
$aMsg[] = array("id" => "FIELD_NAME", "text" => GetMessage("USER_TYPE_FIELD_NAME_NOT_UF"));
if(!preg_match('/^[0-9A-Z_]+$/', $arFields["FIELD_NAME"]))
$aMsg[] = array("id" => "FIELD_NAME", "text" => GetMessage("USER_TYPE_FIELD_NAME_INVALID"));
}
if(($ID <= 0 || array_key_exists("USER_TYPE_ID", $arFields)) && $arFields["USER_TYPE_ID"] == '')
$aMsg[] = array("id" => "USER_TYPE_ID", "text" => GetMessage("USER_TYPE_USER_TYPE_ID_MISSING"));
if(
$bCheckUserType
&& array_key_exists("USER_TYPE_ID", $arFields)
&& !$USER_FIELD_MANAGER->GetUserType($arFields["USER_TYPE_ID"])
)
$aMsg[] = array("id" => "USER_TYPE_ID", "text" => GetMessage("USER_TYPE_USER_TYPE_ID_INVALID"));
if(!empty($aMsg))
{
$e = new CAdminException($aMsg);
$APPLICATION->ThrowException($e);
return false;
}
return true;
}