- Модуль: 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);
}