• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/helper.php
  • Класс: BitrixMailHelper
  • Вызов: Helper::setMailboxUnseenCounter
static function setMailboxUnseenCounter($mailboxId,$count)
{
	$keyRow = [
		'MAILBOX_ID' => $mailboxId,
		'ENTITY_TYPE' => 'MAILBOX',
		'ENTITY_ID' => $mailboxId
	];

	$filter = [
		'=MAILBOX_ID' => $keyRow['MAILBOX_ID'],
		'=ENTITY_TYPE' => $keyRow['ENTITY_TYPE'],
		'=ENTITY_ID' => $keyRow['ENTITY_ID']
	];

	$rowValue = ['VALUE' => $count];

	if(InternalsMailCounterTable::getCount($filter))
	{
		InternalsMailCounterTable::update($keyRow, $rowValue);
	}
	else
	{
		InternalsMailCounterTable::add(array_merge($rowValue,$keyRow));
	};

	CPullWatch::addToStack(
		'mail_mailbox_' .$mailboxId,
		[
			'module_id' => 'mail',
			'params' => [
				'mailboxId' => $mailboxId,
			],
			'command' => 'counters_updated',
		]
	);
	BitrixPullEvent::send();
}