- Модуль: forum
- Путь к файлу: ~/bitrix/modules/forum/lib/badwords/letter.php
- Класс: BitrixForumBadWordsLetterTable
- Вызов: LetterTable::checkFields
static function checkFields(Result $result, $primary, array $data)
{
parent::checkFields($result, $primary, $data);
if ($result->isSuccess())
{
if (isset($data["LETTER"]) || isset($data["DICTIONARY_ID"]))
{
$filter = [
"DICTIONARY_ID" => isset($data["DICTIONARY_ID"]) ? $data["DICTIONARY_ID"] : null,
"LETTER" => isset($data["LETTER"]) ? $data["LETTER"] : null
];
if ($result instanceof UpdateResult)
{
if (
($filter["DICTIONARY_ID"] === null || $filter["LETTER"] === null) &&
($letter = self::getById($primary["ID"])->fetch())
)
{
if ($filter["LETTER"] === null)
$filter["LETTER"] = $letter["LETTER"];
if ($filter["DICTIONARY_ID"] === null)
$filter["DICTIONARY_ID"] = $letter["DICTIONARY_ID"];
}
$filter["!=ID"] = $primary["ID"];
}
if ($res = self::getList(["select" => ["ID"], "filter" => $filter])->fetch())
{
$result->addError(new MainError(Loc::getMessage("FLT_ALREADY_EXIST"), "doubleLetter"));
}
}
}
}