- Модуль: support
- Путь к файлу: ~/bitrix/modules/support/classes/general/dictionary.php
- Класс: CAllTicketDictionary
- Вызов: CAllTicketDictionary::CheckFields
static function CheckFields($arFields, $id = false)
{
$arMsg = Array();
if ( $id ===false && !(array_key_exists('NAME', $arFields) && $arFields['NAME'] <> '') )
{
$arMsg[] = array("id"=>"NAME", "text"=> GetMessage("SUP_FORGOT_NAME"));
}
if ($id !== false)
{
$rs = CTicketDictionary::GetByID($id);
if (!$rs->Fetch())
{
$arMsg[] = array("id"=>"ID", "text"=> GetMessage("SUP_UNKNOWN_ID", array('#ID#' => $id)));
}
}
if ( array_key_exists('SID', $arFields) && preg_match("#[^A-Za-z_0-9]#", $arFields['SID']) )
{
$arMsg[] = array("id"=>"SID", "text"=> GetMessage("SUP_INCORRECT_SID"));
}
elseif (
$arFields['SID'] <> '' && array_key_exists('arrSITE', $arFields) &&
is_array($arFields['arrSITE']) && count($arFields['arrSITE']) > 0
)
{
$arFilter = array(
"TYPE" => $arFields['C_TYPE'],
"SID" => $arFields['SID'],
"SITE" => $arFields['arrSITE'],
);
if (intval($id) > 0)
{
$arFilter['ID'] = '~'.intval($id);
}
$z = CTicketDictionary::GetList('', '', $arFilter);
if ($zr = $z->Fetch())
{
$arMsg[] = array(
"id"=>"SID",
"text"=> GetMessage(
'SUP_SID_ALREADY_IN_USE',
array(
'#TYPE#' => CTicketDictionary::GetTypeNameByID($arFields['C_TYPE']),
'#LANG#' => $zr['LID'] <> ''? $zr['LID']: $zr['SITE_ID'],
'#RECORD_ID#' => $zr['ID'],
)
)
);
}
}
if (count($arMsg) > 0)
{
$e = new CAdminException($arMsg);
$GLOBALS['APPLICATION']->ThrowException($e);
return false;
}
return true;
}