• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/blacklist.php
  • Класс: BitrixMailBlacklistTable
  • Вызов: BlacklistTable::getUserAddressesListQuery
static function getUserAddressesListQuery($userId, $includeAddressesForAllUsers = true)
{
	$filter = ['LOGIC' => 'OR'];
	$userMailboxes = BitrixMailMailboxTable::getUserMailboxes();
	if (!empty($userMailboxes))
	{
		$mailboxesIds = array_column($userMailboxes, 'ID');
		if ($includeAddressesForAllUsers)
		{
			$mailboxesIds[] = 0;
		}
		$filter[] = [
			'@MAILBOX_ID' => $mailboxesIds,
			'=USER_ID' => 0,
		];
	}
	$newStyleAddressesFilter = [];
	$userIds = [$userId];
	$newStyleAddressesFilter['=MAILBOX_ID'] = 0;

	if ($includeAddressesForAllUsers)
	{
		$userIds[] = 0;
	}
	$newStyleAddressesFilter['@USER_ID'] = $userIds;
	$mailsQuery = BitrixMailBlacklistTable::query()
		->addSelect('*');
	$filter[] = $newStyleAddressesFilter;
	return $mailsQuery->setFilter([$filter]);
}