public static function ConvertParamsToFilter($arParams, $strFilterParamName) { $exFILTER = array(); if(!is_array($arParams[$strFilterParamName]) && strlen($arParams[$strFilterParamName]) > 0) $arParams[$strFilterParamName] = array($arParams[$strFilterParamName]); if(is_array($arParams[$strFilterParamName])) { foreach($arParams[$strFilterParamName] as $strFILTER) { switch($strFILTER) { case "main": $exFILTER[] = CSearchParameters::_main($arParams[$strFilterParamName."_main"]); break; case "forum": if(IsModuleInstalled("forum")) $exFILTER[] = CSearchParameters::_forum($arParams[$strFilterParamName."_forum"]); break; case "blog": $exFILTER[] = CSearchParameters::_blog($arParams[$strFilterParamName."_blog"]); break; case "microblog": $exFILTER[] = array( "=MODULE_ID" => "blog", "PARAM1" => "MICROBLOG", ); break; case "socialnetwork": $exFILTER[] = CSearchParameters::_socialnetwork($arParams[$strFilterParamName."_socialnetwork"]); break; case "socialnetwork_user": $exFILTER[] = CSearchParameters::_socialnetwork_user($arParams[$strFilterParamName."_socialnetwork_user"]); break; case "intranet": $exFILTER[] = array( "=MODULE_ID" => "intranet", ); break; case "crm": $exFILTER[] = array( "=MODULE_ID" => "crm", ); break; default: if(strpos($strFILTER, "iblock_") === 0) $exFILTER[] = CSearchParameters::_iblock($arParams[$strFilterParamName."_".$strFILTER], $strFILTER); break; } } } return $exFILTER; }