• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/helper/messageeventmanager.php
  • Класс: BitrixMailHelperMessageEventManager
  • Вызов: MessageEventManager::onMailEventMailRead
static function onMailEventMailRead(array $data)
{
	$messageId = $data['msgid'];
	if($messageId)
	{
		$message = MailMessageTable::getList([
			'select' => [
				'OPTIONS', 'ID', 'READ_CONFIRMED',
			],
			'filter' => [
				'=MSG_ID' => $messageId,
				'READ_CONFIRMED' => null,
			]
		])->fetch();
		if($message)
		{
			$readTime = new DateTime();
			$result = MailMessageTable::update($message['ID'], [
				'READ_CONFIRMED' => $readTime,
			]);
			if($result->isSuccess())
			{
				if(Loader::includeModule("pull"))
				{
					CPullWatch::addToStack(static::getPullTagName($message['ID']), [
						'module_id' => 'mail',
						'command' => 'onMessageRead',
						'params' => [
							'messageId' => $message['ID'],
							'readTime' => $readTime->getTimestamp(),
						],
					]);
				}
			}
		}
	}

	return $data;
}