• Модуль: landing
  • Путь к файлу: ~/bitrix/modules/landing/lib/source/selector.php
  • Класс: BitrixLandingSourceSelector
  • Вызов: Selector::checkDataSettings
protected function checkDataSettings(array $settings)
{
	if (empty($settings))
	{
		return null;
	}

	$result = [];

	if (!is_array($settings['ORDER']))
	{
		return null;
	}
	$settings['ORDER'] = array_filter($settings['ORDER'], [__CLASS__, 'isNotEmptyField']);
	if (empty($settings['ORDER']))
	{
		return null;
	}
	$list = [];
	foreach ($settings['ORDER'] as $row)
	{
		$row = $this->prepareOrderField($row);
		if (empty($row))
		{
			continue;
		}
		$list[] = $row;
	}
	unset($row);
	if (empty($list))
	{
		return null;
	}
	$result['ORDER'] = $list;
	unset($list);

	if (!is_array($settings['FIELDS']))
	{
		return null;
	}
	$settings['FIELDS'] = array_filter($settings['FIELDS'], [__CLASS__, 'isNotEmptyField']);
	if (empty($settings['FIELDS']))
	{
		return null;
	}
	$list = [];
	foreach ($settings['FIELDS'] as $row)
	{
		$row = Node::prepareFieldDefinition($row);
		if (empty($row))
		{
			continue;
		}

		$list[] = $row;
	}
	if (empty($list))
	{
		return null;
	}
	$result['FIELDS'] = $list;
	unset($list);

	return $result;
}