- Модуль: advertising
- Путь к файлу: ~/bitrix/modules/advertising/classes/general/advertising.php
- Класс: CAdvType_all
- Вызов: CAdvType_all::CheckFields
static function CheckFields($arFields, $OLD_SID, $CHECK_RIGHTS)
{
global $strError;
$str = "";
$SID = $arFields["SID"];
if ($CHECK_RIGHTS=="Y")
{
$isAdmin = CAdvContract::IsAdmin();
}
else
{
$isAdmin = true;
}
if ($isAdmin)
{
$arrKeys = array_keys($arFields);
if (in_array("SID", $arrKeys))
{
if(trim($SID) == '')
{
$str .= GetMessage("AD_ERROR_FORGOT_SID")."
";
}
else
{
if (preg_match("/[^A-Za-z_0-9]/", $SID))
{
$str .= GetMessage("AD_ERROR_INCORRECT_SID")."
";
}
else
{
if ($OLD_SID!=$SID)
{
$arFilter = array("SID" => $SID." & ~".$OLD_SID, "SID_EXACT_MATCH" => "Y");
$rs = CAdvType::GetList('', '', $arFilter);
$rows = 0;
if (is_object($rs))
{
$rs->NavStart();
$rows = intval($rs->SelectedRowsCount());
}
if ($rows>=1 || $SID == "ALL" || $OLD_SID == "ALL")
{
$str .= str_replace("#SID#", ($OLD_SID == "ALL" ? $OLD_SID : $SID), GetMessage("AD_ERROR_SID_EXISTS"));
}
}
}
}
}
}
else
{
if ($OLD_SID <> '') $str .= GetMessage("AD_ERROR_NOT_ENOUGH_PERMISSIONS_TYPE")."
";
else $str .= GetMessage("AD_ERROR_NOT_ENOUGH_PERMISSIONS_FOR_CREATE_TYPE")."
";
}
$strError .= $str;
if ($str <> '') return false; else return true;
}