• Модуль: sender
  • Путь к файлу: ~/bitrix/modules/sender/lib/integration/crm/preset/segment.php
  • Класс: Bitrix\Sender\Integration\Crm\Preset\Segment
  • Вызов: Segment::convertPresetFields
static function convertPresetFields($fields)
{
	if (!is_array($fields))
	{
		return $fields;
	}

	$codes = ['allow_year', 'datesel', 'from', 'to', 'days'];
	$result = [];
	foreach ($fields as $key => $value)
	{
		$baseKey = null;
		foreach ($codes as $code)
		{
			$code = "_" . $code;
			if (mb_substr($key, -mb_strlen($code)) == $code)
			{
				$baseKey = mb_substr($key, 0, -mb_strlen($code));
				break;
			}
		}

		if ($baseKey)
		{
			if (empty($result[$baseKey]))
			{
				$result[$baseKey] = [];
			}

			$result[$baseKey][$key] = $value;
		}
		else
		{
			$result[$key] = $value;
		}
	}

	return $result;
}