public static function GenPatternAll($DICTIONARY_ID_W = 0, $DICTIONARY_ID_T = 0) { $DICTIONARY_ID_W = intVal($DICTIONARY_ID_W); $DICTIONARY_ID_T = intVal($DICTIONARY_ID_T); if (!$DICTIONARY_ID_W) { $DICTIONARY_ID_W = COption::GetOptionString("forum", "FILTER_DICT_W", '', LANGUAGE_ID); } if (!$DICTIONARY_ID_T) { $DICTIONARY_ID_T = COption::GetOptionString("forum", "FILTER_DICT_T", '', LANGUAGE_ID); } if ($DICTIONARY_ID_W) { $db_res = CFilterUnquotableWords::GetList(array(), array("DICTIONARY_ID" => $DICTIONARY_ID_W)); while ($res = $db_res->Fetch()) { if (strlen(trim($res["WORDS"])) > 0 && $res["PATTERN_CREATE"] == "TRNSL") { $pattern = CFilterUnquotableWords::CreatePattern(trim($res["WORDS"]), $DICTIONARY_ID_T); if ($pattern) { CFilterUnquotableWords::Update($res["ID"], array("PATTERN" => $pattern)); } } } return true; } return false; }
if ($lAdmin->EditAction() && $forumModulePermissions >= "W") { foreach ($FIELDS as $ID => $arFields) { $DB->StartTransaction(); $ID = IntVal($ID); if (!$lAdmin->IsUpdated($ID)) { continue; } if (is_set($arFields, "PATTERN_CREATE")) { $WORDS = trim($arFields["WORDS"]); if ($arFields["PATTERN_CREATE"] == "WORDS") { $arFields["WORDS"] = $WORDS; $arFields["PATTERN"] = CFilterUnquotableWords::CreatePattern($WORDS, -1); $arFields["PATTERN_CREATE"] = "WORDS"; } elseif ($arFields["PATTERN_CREATE"] == "TRNSL") { $arFields["WORDS"] = trim($WORDS); $arFields["PATTERN"] = CFilterUnquotableWords::CreatePattern($WORDS, 0); $arFields["PATTERN_CREATE"] = "TRNSL"; } elseif ($arFields["PATTERN_CREATE"] == "PTTRN") { $arFields["WORDS"] = $WORDS; $arFields["PATTERN"] = $WORDS; $arFields["PATTERN_CREATE"] = "PTTRN"; } else { $arFields["WORDS"] = ""; $arFields["PATTERN"] = ""; } } if (!CFilterUnquotableWords::Update($ID, $arFields)) { if ($ex = $APPLICATION->GetException()) { $lAdmin->AddUpdateError($ex->GetString(), $ID); } else { $lAdmin->AddUpdateError(GetMessage("FLT_NOT_UPDATE"));