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; } }
*/ if(!$j) { unset($arResult["CATEGORIES"][$i]); } } if($arParams["SHOW_OTHERS"] === "Y") { $arResult["CATEGORIES"]["others"] = array( "TITLE" => htmlspecialcharsbx($arParams["CATEGORY_OTHERS_TITLE"]), "ITEMS" => array(), ); $j = 0; $obTitle = new CSearchTitle; $obTitle->setMinWordLength($_REQUEST["l"]); if($obTitle->Search( $arResult["alt_query"]? $arResult["alt_query"]: $arResult["query"] ,$arParams["TOP_COUNT"] ,$arOthersFilter ,true ,$arParams["ORDER"] )) { while($ar = $obTitle->Fetch()) { $j++; if($j > $arParams["TOP_COUNT"]) { //it's really hard to make it working
$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(); if ($obTitle->Search($arResult["alt_query"] ? $arResult["alt_query"] : $arResult["query"], $arParams["TOP_COUNT"], $arOthersFilter, true, $arParams["ORDER"])) { while ($ar = $obTitle->Fetch()) { $j++; if ($j > $arParams["TOP_COUNT"]) { //it's really hard to make it working break; } else { $arResult["CATEGORIES"]["others"]["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"]["others"]); } }