Esempio n. 1
0
	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;
	}