• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/provider/taskfilterbuilder.php
  • Класс: BitrixTasksProviderTaskFilterBuilder
  • Вызов: TaskFilterBuilder::getFilteredFields
private function getFilteredFields($filter): array
{
	$filteredFields = [];
	if (!is_array($filter))
	{
		return $filteredFields;
	}

	foreach ($filter as $key => $value)
	{
		if (
			$key === '::LOGIC'
			|| $key === '::MARKERS'
		)
		{
			continue;
		}

		if ($this->isSubFilter($key))
		{
			$filteredFields = array_merge($filteredFields, $this->getFilteredFields($value));
			continue;
		}

		$operation = $this->parseOperation($key);
		if ($operation !== self::OPERATION_DEFAULT)
		{
			$field = mb_substr($key, mb_strlen($operation));
		}
            else
            {
                $field = $key;
            }

		if (!empty($field))
		{
			$filteredFields[] = $field;
		}
	}

	return $filteredFields;
}