• Модуль: im
  • Путь к файлу: ~/bitrix/modules/im/lib/V2/Link/Favorite/FavoriteService.php
  • Класс: BitrixImV2LinkFavoriteFavoriteService
  • Вызов: FavoriteService::unmarkMessageAsFavorite
public function unmarkMessageAsFavorite(Message $message): Result
{
	$result = new Result();

	$favoriteMessage = FavoriteItem::getByMessageAndUserId($message, $this->getContext()->getUserId());

	if ($favoriteMessage === null)
	{
		return $result;
	}

	$deleteResult = $favoriteMessage->delete();

	if (!$deleteResult->isSuccess())
	{
		return $result->addErrors($deleteResult->getErrors());
	}

	$deleteParamResult = $this->deleteFromParam($message);

	if (!$deleteParamResult->isSuccess())
	{
		return $result->addErrors($deleteParamResult->getErrors());
	}

	$pushRecipient = ['RECIPIENT' => [$this->getContext()->getUserId()]];

	Push::getInstance()
		->setContext($this->context)
		->sendIdOnly($favoriteMessage, static::DELETE_FAVORITE_MESSAGE_EVENT, $pushRecipient)
	;

	return $result;
}