function CheckFields() { global $ID, $NAME, $SID, $C_TYPE, $arrSITE, $DB; $str = ""; $arMsg = array(); if (strlen(trim($NAME)) <= 0) { //$str .= GetMessage("SUP_FORGOT_NAME")."<br>"; $arMsg[] = array("id" => "NAME", "text" => GetMessage("SUP_FORGOT_NAME")); } if (preg_match("/[^A-Za-z_0-9]/", $SID)) { //$str .= GetMessage("SUP_INCORRECT_SID")."<br>"; $arMsg[] = array("id" => "SID", "text" => GetMessage("SUP_INCORRECT_SID")); } elseif (strlen($SID) > 0 && is_array($arrSITE) && count($arrSITE) > 0) { $arFilter = array("ID" => "~" . $ID, "TYPE" => $C_TYPE, "SID" => $SID, "SITE" => $arrSITE); $z = CTicketDictionary::GetList($v1, $v2, $arFilter, $v3); if ($zr = $z->Fetch()) { $s = str_replace("#TYPE#", CTicketDictionary::GetTypeNameByID($str_C_TYPE), GetMessage("SUP_SID_ALREADY_IN_USE")); $s = str_replace("#LANG#", strlen($zr['LID']) > 0 ? $zr['LID'] : strtolower($zr['SITE_ID']), $s); $s = str_replace("#RECORD_ID#", $zr["ID"], $s); //$str .= $s."<br>"; $arMsg[] = array("id" => "SID", "text" => $s); } } if (!empty($arMsg)) { $e = new CAdminException($arMsg); $GLOBALS["APPLICATION"]->ThrowException($e); return false; } return true; }
function CheckFields($arFields, $id = false) { $arMsg = array(); if ($id === false && !(array_key_exists('NAME', $arFields) && strlen($arFields['NAME']) > 0)) { $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 (strlen($arFields['SID']) > 0 && 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($v1, $v2, $arFilter, $v3); if ($zr = $z->Fetch()) { $arMsg[] = array("id" => "SID", "text" => GetMessage('SUP_SID_ALREADY_IN_USE', array('#TYPE#' => CTicketDictionary::GetTypeNameByID($arFields['C_TYPE']), '#LANG#' => strlen($zr['LID']) > 0 ? $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; }