• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/source/datafilter.php
  • Класс: BitrixLandingSourceDataFilter
  • Вызов: DataFilter::addListValue
protected function addListValue(array &$result, $fieldId, array $field, array $value)
{
	$check = false;
	$id = null;
	$multiple = isset($field['params']['multiple']) && $field['params']['multiple'] == 'Y';
	if ($multiple)
		$validRawValue = !empty($value);
	else
		$validRawValue = isset($value['VALUE']);
	if ($validRawValue)
	{
		if ($multiple)
		{
			$id = [];
			foreach ($value as $row)
			{
				if (is_array($row) && isset($row['VALUE']))
				{
					$id[] = $row['VALUE'];
				}
			}
			unset($row);
			$check = !empty($id);
		}
		else
		{
			$id = $value['VALUE'];
			$check = true;
		}
	}

	if ($check)
	{
		$operator = $this->getFilterOperator($field, ($multiple ? 'enum' : 'exact'));
		if (is_string($operator))
		{
			$fieldId = $operator.$fieldId;
		}
		unset($operator);
		$this->addRows($result, [$fieldId => $id], $field);
	}
	unset($check, $id);
}