- Модуль: 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;
}