$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")); } $DB->Rollback(); } $DB->Commit(); } } /*******************************************************************/ if ($arID = $lAdmin->GroupAction()) { if ($_REQUEST['action_target'] == 'selected') { $rsData = CFilterUnquotableWords::GetList(array($by => $order), $arFilter); while ($arRes = $rsData->Fetch()) {
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; }
$arFields["PATTERN_CREATE"] = "TRNSL"; } elseif ($PATTERN_CREATE == "PTTRN") { $arFields["WORDS"] = $WORDS; $arFields["PATTERN"] = $WORDS; $arFields["PATTERN_CREATE"] = "PTTRN"; } else { $arFields["WORDS"] = ""; $arFields["PATTERN"] = ""; } $arFields["REPLACEMENT"] = trim($REPLACEMENT); $arFields["DESCRIPTION"] = trim($DESCRIPTION); if ($USE_IT != "Y") { $USE_IT = "N"; } $arFields["USE_IT"] = $USE_IT; if ($ID && CFilterUnquotableWords::Update($ID, $arFields) || !$ID && CFilterUnquotableWords::Add($arFields)) { LocalRedirect("forum_words.php?DICTIONARY_ID=" . $DICTIONARY_ID . "&lang=" . LANG); } $err = $APPLICATION->GetException(); if ($err) { $APPLICATION->ThrowException($err->GetString() . "\n" . GetMessage("FLTR_NOT_SAVE")); } } elseif (!$PATTERN_CREATE) { $APPLICATION->ThrowException(GetMessage("FLTR_NOT_ACTION")); } else { $APPLICATION->ThrowException(GetMessage("FLTR_NOT_WORDS")); } $bVarsFromForm = true; } $sDocTitle = $ID > 0 ? str_replace("#ID#", $ID, GetMessage("FLTR_EDIT")) : GetMessage("FLTR_NEW"); $APPLICATION->SetTitle($sDocTitle);