• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/taskmembers.php
  • Класс: handles
  • Вызов: handles::GetFilter
static function GetFilter($arFilter)
{
	if (!is_array($arFilter))
		$arFilter = Array();

	$arSqlSearch = [];

	if(!array_key_exists('TYPE', $arFilter))
	{
		$arSqlSearch = [
			"TM.TYPE in ('A', 'U')" // restrict only this types
		];
	}
	foreach ($arFilter as $key => $val)
	{
		$res = CTasks::MkOperationFilter($key);
		$key = $res["FIELD"];
		$cOperationType = $res["OPERATION"];

		$key = mb_strtoupper($key);

		switch ($key)
		{
			case "TASK_ID":
			case "USER_ID":
				$arSqlSearch[] = CTasks::FilterCreate("TM.".$key, $val, "number", $bFullJoin, $cOperationType);
				break;

			case "TYPE":
				$arSqlSearch[] = CTasks::FilterCreate("TM.".$key, $val, "string_equal", $bFullJoin, $cOperationType);
				break;
		}
	}

	return $arSqlSearch;
}