예제 #1
0
                $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()) {
예제 #2
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;
 }
예제 #3
0
            $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);