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

	$this->LAST_ERROR = "";
	$arMsg = array();

	if(($ID === false || isset($arFields["LID"])) && mb_strlen($arFields["LID"]) <> 2)
	{
		$this->LAST_ERROR .= GetMessage("BAD_LANG_LID")." ";
		$arMsg[] = array("id"=>"LID", "text"=> GetMessage("BAD_LANG_LID"));
	}
	if($ID === false && !isset($arFields["CULTURE_ID"]))
	{
		$this->LAST_ERROR .= GetMessage("lang_check_culture_not_set")." ";
		$arMsg[] = array("id"=>"CULTURE_ID", "text"=> GetMessage("lang_check_culture_not_set"));
	}
	if(isset($arFields["CULTURE_ID"]))
	{
		if(CultureTable::getRowById($arFields["CULTURE_ID"]) === null)
		{
			$this->LAST_ERROR .= GetMessage("lang_check_culture_incorrect")." ";
			$arMsg[] = array("id"=>"CULTURE_ID", "text"=> GetMessage("lang_check_culture_incorrect"));
		}
	}
	if(isset($arFields["NAME"]) && mb_strlen($arFields["NAME"]) < 2)
	{
		$this->LAST_ERROR .= GetMessage("BAD_LANG_NAME")." ";
		$arMsg[] = array("id"=>"NAME", "text"=> GetMessage("BAD_LANG_NAME"));
	}
	if(isset($arFields["SORT"]) && intval($arFields["SORT"]) <= 0)
	{
		$this->LAST_ERROR .= GetMessage("BAD_LANG_SORT")." ";
		$arMsg[] = array("id"=>"SORT", "text"=> GetMessage("BAD_LANG_SORT"));
	}

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

	if($this->LAST_ERROR <> "")
		return false;

	if($ID === false)
	{
		$r = $DB->Query("SELECT 'x' FROM b_language WHERE LID='".$DB->ForSQL($arFields["LID"], 2)."'");
		if($r->Fetch())
		{
			$this->LAST_ERROR .= GetMessage("BAD_LANG_DUP")." ";
			$e = new CAdminException(array(array("id"=>"LID", "text" =>GetMessage("BAD_LANG_DUP"))));
			$APPLICATION->ThrowException($e);
			return false;
		}
	}

	return true;
}