• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/messageaccess.php
  • Класс: BitrixMailMessageAccess
  • Вызов: MessageAccess::canViewMessage
public function canViewMessage(): bool
{
	if ($this->isOwner())
	{
		return true;
	}
	
	$collection = $this->getCollection($this->getMessage());

	/** @var BitrixMailItemMessageAccess $item */
	foreach ($collection as $item)
	{
		switch ($item->getEntityType())
		{
			case self::ENTITY_TYPE_IM_CHAT:
				if (BitrixMailHelperMessageAccess::checkAccessForChat($item->getEntityId(), $this->getUserId()))
				{
					return true;
				}
				break;
			case self::ENTITY_TYPE_CALENDAR_EVENT:
				if (BitrixMailHelperMessageAccess::checkAccessForCalendarEvent($item->getEntityId(), $this->getUserId()))
				{
					return true;
				}
				break;
		}
	}

	return false;
}