• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/integration/main/uiselector/handler.php
  • Класс: BitrixMailIntegrationMainUISelectorHandler
  • Вызов: Handler::OnUISelectorFillLastDestination
static function OnUISelectorFillLastDestination(Event $event)
{
	$result = new EventResult(EventResult::UNDEFINED, null, 'mail');

	$params = $event->getParameter('params');
	$destSortData = $event->getParameter('destSortData');

	$lastDestinationList = [];

	$mailContactCounter = 0;

	if (is_array($destSortData))
	{
		$mailContactLimit = 10;

		foreach($destSortData as $code => $sortInfo)
		{
			if($mailContactCounter >= $mailContactLimit)
			{
				break;
			}

			if(preg_match('/^'.MailContacts::PREFIX.'(d+)$/i', $code, $matches))
			{
				if($mailContactCounter >= $mailContactLimit)
				{
					continue;
				}
				if(!isset($lastDestinationList[self::ENTITY_TYPE_MAILCONTACTS]))
				{
					$lastDestinationList[self::ENTITY_TYPE_MAILCONTACTS] = [];
				}
				$lastDestinationList[self::ENTITY_TYPE_MAILCONTACTS][$code] = $code;
				$mailContactCounter++;
			}
		}

		$result = new EventResult(
			EventResult::SUCCESS,
			[
				'lastDestinationList' => $lastDestinationList
			],
			'mail'
		);
	}

	return $result;
}