function MakeFilterUrl($prefix, $arFilter) { if (!is_array($arFilter)) { return "&" . urlencode($prefix) . "=" . urlencode($arFilter); } else { $url = ""; foreach ($arFilter as $key => $value) { $url .= CSearchTitle::MakeFilterUrl($prefix . "[" . $key . "]", $value); } return $url; } }
,false ,$arParams["ORDER"] )) { while($ar = $obTitle->Fetch()) { $j++; if($j > $arParams["TOP_COUNT"]) { $params = array("q" => $arResult["alt_query"]? $arResult["alt_query"]: $arResult["query"]); $url = CHTTP::urlAddParams( str_replace("#SITE_DIR#", SITE_DIR, $arParams["PAGE"]) ,$params ,array("encode"=>true) ).CSearchTitle::MakeFilterUrl("f", $exFILTER); $arResult["CATEGORIES"][$i]["ITEMS"][] = array( "NAME" => GetMessage("CC_BST_MORE"), "URL" => htmlspecialcharsex($url), ); break; } else { $arResult["CATEGORIES"][$i]["ITEMS"][] = array( "NAME" => $ar["NAME"], "URL" => htmlspecialcharsbx($ar["URL"]), "MODULE_ID" => $ar["MODULE_ID"], "PARAM1" => $ar["PARAM1"], "PARAM2" => $ar["PARAM2"],
} $arResult["CATEGORIES"][$i] = array("TITLE" => htmlspecialcharsbx($category_title), "ITEMS" => array()); $exFILTER = array(0 => CSearchParameters::ConvertParamsToFilter($arParams, "CATEGORY_" . $i)); $exFILTER[0]["LOGIC"] = "OR"; if ($arParams["CHECK_DATES"] === "Y") { $exFILTER["CHECK_DATES"] = "Y"; } $arOthersFilter[] = $exFILTER; $j = 0; $obTitle = new CSearchTitle(); if ($obTitle->Search($arResult["alt_query"] ? $arResult["alt_query"] : $arResult["query"], $arParams["TOP_COUNT"], $exFILTER, false, $arParams["ORDER"])) { while ($ar = $obTitle->Fetch()) { $j++; if ($j > $arParams["TOP_COUNT"]) { $params = array("q" => $arResult["alt_query"] ? $arResult["alt_query"] : $arResult["query"]); $url = CHTTP::urlAddParams(str_replace("#SITE_DIR#", SITE_DIR, $arParams["PAGE_2"]), $params, array("encode" => true)) . CSearchTitle::MakeFilterUrl("f", $exFILTER); $arResult["CATEGORIES"][$i]["ITEMS"][] = array("NAME" => GetMessage("MORE_CATEGORY"), "URL" => htmlspecialcharsex($url), "MORE" => "Y"); break; } else { $arResult["CATEGORIES"][$i]["ITEMS"][] = array("NAME" => $ar["NAME"], "URL" => htmlspecialcharsbx($ar["URL"]), "MODULE_ID" => $ar["MODULE_ID"], "PARAM1" => $ar["PARAM1"], "PARAM2" => $ar["PARAM2"], "ITEM_ID" => $ar["ITEM_ID"]); } } } if (!$j) { unset($arResult["CATEGORIES"][$i]); } } if ($arParams["SHOW_OTHERS"] === "Y" && $categoryfilter == "all") { $arResult["CATEGORIES"]["others"] = array("TITLE" => htmlspecialcharsbx($arParams["CATEGORY_OTHERS_TITLE"]), "ITEMS" => array()); $j = 0; $obTitle = new CSearchTitle();