} 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");