• Модуль: 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;
}