• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/integration/main/uiselector/search.php
  • Класс: BitrixSocialnetworkIntegrationMainUISelectorSearch
  • Вызов: Search::searchCrmContacts
static function searchCrmContacts($params = array())
{
	$searchResult = array();

	if (Loader::includeModule('crm'))
	{
		$search = $params['search'];
		$nameTemplate = $params['nameTemplate'];

		$res = CCrmContact::getListEx(
			[],
			['%FULL_NAME' => $search, '@CATEGORY_ID' => 0,],
			false,
			['nTopCount' => 20],
			['ID', 'NAME', 'SECOND_NAME', 'LAST_NAME', 'COMPANY_TITLE', 'PHOTO']
		);

		while ($res && ($contact = $res->fetch()))
		{
			$searchResult['CRMCONTACT'.$contact['ID']] = array(
				'id' => 'CRMCONTACT'.$contact['ID'],
				'entityType' => 'contacts',
				'entityId' => $contact['ID'],
				'name' => htmlspecialcharsbx(CUser::formatName(
					$nameTemplate,
					array(
						'LOGIN' => '',
						'NAME' => $contact['NAME'],
						'SECOND_NAME' => $contact['SECOND_NAME'],
						'LAST_NAME' => $contact['LAST_NAME']
					),
					false, false
				)),
				'desc' => htmlspecialcharsbx($contact['COMPANY_TITLE'])
			);

			if (!empty($contact['PHOTO']) && intval($contact['PHOTO']) > 0)
			{
				$image = CFile::resizeImageGet($contact['PHOTO'], array('width' => 100, 'height' => 100), BX_RESIZE_IMAGE_EXACT);
				$searchResult['CRMCONTACT'.$contact['ID']]['avatar'] = $image['src'];
			}
		}
	}

	return $searchResult;
}