MobileFilter::process

  1. Bitrix24 API (v. 23.675.0)
  2. tasks
  3. MobileFilter
  4. process
  • Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/internals/project/filter/mobilefilter.php
  • Класс: BitrixTasksInternalsProjectFilterMobileFilter
  • Вызов: MobileFilter::process
public function process(Query $query, array $filter): Query
{
	if (array_key_exists('ID', $filter))
	{
		$ids = (is_array($filter['ID']) ? $filter['ID'] : [$filter['ID']]);
		$ids = array_map('intval', $ids);
		$ids = array_filter($ids);

		if (!empty($ids))
		{
			count($ids) > 1
				? $query->whereIn('ID', $ids)
				: $query->where('ID', $ids[0])
			;
		}
	}

	if (array_key_exists('SEARCH_INDEX', $filter) && trim($filter['SEARCH_INDEX']) !== '')
	{
		$query = $this->processFilterSearch($query, $filter['SEARCH_INDEX']);
	}

	if (array_key_exists('MEMBER_ID', $filter))
	{
		$query = $this->processFilterMember($query, $filter['MEMBER_ID']);
	}

	if (array_key_exists('COUNTERS', $filter))
	{
		$query = $this->processFilterCounters($query, $filter['COUNTERS']);
	}

	return $query;
}

Добавить комментарий