예제 #1
0
 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;
 }
예제 #2
0
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"));