} else {
    $sTableID = "tbl_search";
    $oSort = new CAdminSorting($sTableID, "ID", "desc");
    $lAdmin = new CAdminList($sTableID, $oSort);
    $FilterArr = array("find", "find_type", "find_id", "find_site_id", "find_module_id", "find_param1");
    $lAdmin->InitFilter($FilterArr);
    $arFilter = array("ID" => $find != "" && $find_type == "id" ? $find : $find_id, "SITE_ID" => $find_site_id == "NOT_REF" ? "" : ($find != "" && $find_type == "site_id" ? $find : $find_site_id), "MODULE_ID" => $find_module_id, "PARAM1" => $find_param1);
    if ($lAdmin->EditAction() && $SEARCH_RIGHT >= "W" && is_array($FIELDS)) {
        foreach ($FIELDS as $ID => $arFields) {
            if (!$lAdmin->IsUpdated($ID)) {
                continue;
            }
            $DB->StartTransaction();
            $ID = IntVal($ID);
            $cData = new CSearchCustomRank();
            if (($rsData = $cData->GetByID($ID)) && ($arData = $rsData->Fetch())) {
                foreach ($arFields as $key => $value) {
                    $arData[$key] = $value;
                }
                if (!$cData->Update($ID, $arData)) {
                    $lAdmin->AddGroupError(GetMessage("customrank_edit_error") . $cData->LAST_ERROR, $ID);
                    $DB->Rollback();
                }
            } else {
                $lAdmin->AddGroupError(GetMessage("customrank_edit_error") . " " . GetMessage("customrank_no_rule"), $ID);
                $DB->Rollback();
            }
            $DB->Commit();
        }
    }
    if (($arID = $lAdmin->GroupAction()) && $SEARCH_RIGHT == "W") {
        if ($apply != "") {
            LocalRedirect("search_customrank_edit.php?ID=" . $ID . "&lang=" . LANG . "&" . $tabControl->ActiveTabParam());
        } else {
            LocalRedirect("search_customrank_admin.php?lang=" . LANG . "&" . $tabControl->ActiveTabParam());
        }
    } else {
        $strError = $cCustomRank->LAST_ERROR;
        $bVarsFromForm = true;
    }
}
//Edit/Add part
ClearVars();
$str_MODULE_ID = "main";
$str_RANK = 0;
if ($ID > 0) {
    $customrank = CSearchCustomRank::GetByID($ID);
    if (!$customrank->ExtractFields("str_")) {
        $ID = 0;
    } elseif ($str_MODULE_ID == "main") {
        list($site, $url) = explode("|", $str_ITEM_ID, 2);
        $str_ITEM_ID = $url;
    }
}
if ($bVarsFromForm) {
    $DB->InitTableVarsForEdit("b_search_custom_rank", "", "str_");
}
$APPLICATION->SetTitle($ID > 0 ? GetMessage("customrank_edit_edit_rule") . $ID : GetMessage("customrank_edit_add_rule"));
require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
$aMenu = array(array("TEXT" => GetMessage("customrank_edit_list_rule"), "TITLE" => GetMessage("customrank_edit_list_rule_title"), "LINK" => "search_customrank_admin.php?lang=" . LANG, "ICON" => "btn_list"));
if ($ID > 0) {
    $aMenu[] = array("SEPARATOR" => "Y");