- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/classes/general/eventmessage.php
- Класс: CEventType
- Вызов: CEventType::CheckFields
static function CheckFields($arFields = array(), $action = "ADD", $ID = array())
{
/** @global CMain $APPLICATION */
global $APPLICATION;
$arFilter = array();
$aMsg = array();
//ID, LID, EVENT_NAME, NAME, DESCRIPTION, SORT
if ($action == "ADD")
{
if (empty($arFields["EVENT_NAME"]))
$aMsg[] = array("id"=>"EVENT_NAME_EMPTY", "text"=>GetMessage("EVENT_NAME_EMPTY"));
if(!is_set($arFields, "LID") && is_set($arFields, "SITE_ID"))
$arFields["LID"] = $arFields["SITE_ID"];
if (is_set($arFields, "LID") && empty($arFields["LID"]))
$aMsg[] = array("id"=>"LID_EMPTY", "text"=>GetMessage("LID_EMPTY"));
if (empty($aMsg))
{
$db_res = CEventType::GetList(array("LID" => $arFields["LID"], "EVENT_NAME" => $arFields["EVENT_NAME"]));
if ($db_res && $db_res->Fetch())
{
$aMsg[] = array("id"=>"EVENT_NAME_EXIST", "text"=>str_replace(
array("#SITE_ID#", "#EVENT_NAME#"),
array($arFields["LID"], $arFields["EVENT_NAME"]),
GetMessage("EVENT_NAME_EXIST")));
}
}
}
elseif ($action == "UPDATE")
{
if (empty($ID))
{
$aMsg[] = array("id"=>"EVENT_ID_EMPTY", "text"=>GetMessage("EVENT_ID_EMPTY"));
}
if(isset($arFields["EVENT_TYPE"]) && $arFields["EVENT_TYPE"] == '')
{
$aMsg[] = array("id"=>"EVENT_TYPE_EMPTY", "text"=>GetMessage('EVENT_TYPE_EMPTY'));
}
if (empty($aMsg) && is_set($arFields, "EVENT_NAME") && (is_set($arFields, "LID")))
{
if (is_set($arFields, "EVENT_NAME"))
$arFilter["EVENT_NAME"] = $arFields["EVENT_NAME"];
if (is_set($arFields, "LID"))
$arFilter["LID"] = $arFields["LID"];
if (!empty($arFilter) && (count($arFilter) < 2) && is_set($arFilter, "LID"))
{
unset($arFields["LID"]);
}
else
{
$db_res = CEventType::GetList($arFilter);
if ($db_res && ($res = $db_res->Fetch()))
{
if ((is_set($ID, "EVENT_NAME") && is_set($ID, "LID") &&
(($res["EVENT_NAME"] != $ID["EVENT_NAME"]) || ($res["LID"] != $ID["LID"]))) ||
(is_set($ID, "ID") && $res["ID"] != $ID["ID"]) ||
(is_set($ID, "EVENT_NAME") && ($res["EVENT_NAME"] != $ID["EVENT_NAME"])))
{
$aMsg[] = array("id"=>"EVENT_NAME_EXIST", "text"=>str_replace(
array("#SITE_ID#", "#EVENT_NAME#"),
array($arFields["LID"], $arFields["EVENT_NAME"]),
GetMessage("EVENT_NAME_EXIST")));
}
}
}
}
}
else
{
$aMsg[] = array("id"=>"ACTION_EMPTY", "text"=>GetMessage("ACTION_EMPTY"));
}
if(!empty($aMsg))
{
$e = new CAdminException($aMsg);
$APPLICATION->ThrowException($e);
return false;
}
return true;
}