- Модуль: search
- Путь к файлу: ~/bitrix/modules/search/classes/general/comp_parameters.php
- Класс: CSearchParameters
- Вызов: CSearchParameters::ConvertParamsToFilter
static function ConvertParamsToFilter($arParams, $strFilterParamName)
{
$exFILTER = array();
if (!is_array($arParams[$strFilterParamName]) && $arParams[$strFilterParamName] <> '')
$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;
case "disk":
$exFILTER[] = array(
"=MODULE_ID" => "disk",
);
break;
case "no":
break;
default:
if (mb_strpos($strFILTER, "iblock_") === 0)
$exFILTER[] = CSearchParameters::_iblock($arParams[$strFilterParamName."_".$strFILTER], $strFILTER);
else
$exFILTER[] = array(
"=MODULE_ID" => $strFILTER,
);
break;
}
}
}
return $exFILTER;
}