• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/hot_keys.php
  • Класс: CHotKeys
  • Вызов: CHotKeys::CheckFields
protected function CheckFields($arFields, $ID = false)
{
	global $APPLICATION;

	$aMsg = array();

	if(isset($arFields["CODE"]))
	{
		if(!$arFields["CODE"])
			$aMsg[] = array("id"=>"CODE", "text"=>GetMessage("HK_CF_CODE"));

		if(preg_match("#<\s*/*\s*script(.*?)*>#i", $arFields["CODE"]))
			$aMsg[] = array("id"=>"CODE", "text"=>GetMessage("HK_CF_SCRIPT"));
	}

	if(isset($arFields["NAME"]))
		if(!$arFields["NAME"])
			$aMsg[] = array("id"=>"NAME", "text"=>GetMessage("HK_CF_NAME"));

	//if ADD
	if(!$ID)
	{
		if(!isset($arFields["CODE"]))
			$aMsg[] = array("id"=>"CODE", "text"=>GetMessage("HK_CF_CODE"));

		if(!isset($arFields["NAME"]))
			$aMsg[] = array("id"=>"NAME", "text"=>GetMessage("HK_CF_NAME"));

	}

	$arCond = array();

	if(isset($arFields["CLASS_NAME"]))
		$arCond["CLASS_NAME"] = $arFields["CLASS_NAME"];

	if(isset($arFields['NAME']))
		$arCond['NAME'] = $arFields['NAME'];

	if(isset($arFields["CODE"]))
		$arCond["CODE"] = $arFields["CODE"];

	if(!empty($arCond))
	{
		$res = $this->GetList(array(), $arCond);
		$code = $res->Fetch();

		if($code)
		{
			if($ID)
			{
				if($code['ID'] != $ID)
					$aMsg[] = array("id"=>"CLASS_NAME", "text"=>GetMessage("HK_CF_HK_CLASS_NAME"));

			}
			else
			{
				$aMsg[] = array("id"=>"CLASS_NAME", "text"=>GetMessage("HK_CF_HK_CLASS_NAME"));
			}
		}
	}

	if(!empty($aMsg))
	{
		$e = new CAdminException($aMsg);
		$APPLICATION->ThrowException($e);
		return false;
	}


	return true;
}