• Модуль: search
  • Путь к файлу: ~/bitrix/modules/search/classes/general/search.php
  • Класс: CSearchSQLHelper
  • Вызов: CSearchSQLHelper::_CallbackPARAMS
function _CallbackPARAMS($field_name, $operation, $field_value)
{
	global $DB;

	$arSql = array();
	if (is_array($field_value))
	{
		foreach ($field_value as $key => $val)
		{
			if (is_array($val))
			{
				foreach ($val as $i => $val2)
					$val[$i] = $DB->ForSQL($val2);
				$where = " in ('".implode("', '", $val)."')";
			}
			else
			{
				$where = " = '".$DB->ForSQL($val)."'";
			}
			$arSql[] = "EXISTS (SELECT * FROM b_search_content_param WHERE SEARCH_CONTENT_ID = ".$field_name." AND PARAM_NAME = '".$DB->ForSQL($key)."' AND PARAM_VALUE ".$where.")";
		}
	}

	switch ($operation)
	{
	case "I":
	case "E":
	case "S":
	case "M":
		if (count($arSql))
			return implode(" AND ", $arSql);
	}
}