- Модуль: mail
- Путь к файлу: ~/bitrix/modules/mail/lib/helper/recipient.php
- Класс: BitrixMailHelperRecipient
- Вызов: Recipient::loadMailContacts
static function loadMailContacts($filter = [], $limit = 20)
{
global $APPLICATION;
$result = array();
$mailContacts = BitrixMainUserTable::getList(array(
'select' => array(
'ID',
'NAME',
'LAST_NAME',
'SECOND_NAME',
'EMAIL',
'PERSONAL_PHOTO',
),
'filter' => array_merge(
array(
'=ACTIVE' => 'Y',
'=EXTERNAL_AUTH_ID' => 'email',
),
$filter
),
'order' => array(
'LAST_NAME' => 'ASC',
),
'limit' => $limit,
));
$contactAvatars = array();
while ($mailContact = $mailContacts->fetch())
{
$email = $mailContact['EMAIL'];
if ($contactAvatars[$email] === null)
{
ob_start();
$APPLICATION->includeComponent('bitrix:mail.contact.avatar', '',
[
'mailContact' => array(
'FILE_ID' => $mailContact['PERSONAL_PHOTO'],
'name' => CUser::formatName(CSite::getNameFormat(), $mailContact),
'email' => $mailContact['EMAIL'],
),
]);
$contactAvatars[$email] = ob_get_clean();
}
$id = static::buildUniqueEmailCode($email);
$result[$id] = array(
'id' => $id,
'entityType' => 'mailContacts',
'entityId' => $mailContact['ID'],
'name' => CUser::formatName(CSite::getNameFormat(), $mailContact, true, true),
'iconCustom' => $contactAvatars[$email],
'email' => htmlspecialcharsbx($mailContact['EMAIL']),
'desc' => htmlspecialcharsbx($mailContact['EMAIL']),
'isEmail' => 'Y',
);
}
return $result;
}