• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/rest.php
  • Класс: CSocNetLogRestService
  • Вызов: CSocNetLogRestService::deleteBlogComment
static function deleteBlogComment($fields): bool
{
	$commentId = (int) ($fields['COMMENT_ID'] ?? null);

	if ($commentId <= 0)
	{
		throw new ArgumentException('Wrong comment ID');
	}

	if (!Loader::includeModule('blog'))
	{
		throw new InvalidOperationException('Blog module not installed');
	}

	$currentUserId = (
		isset($fields["USER_ID"])
		&& (int)$fields["USER_ID"] > 0
		&& self::isAdmin()
			? $fields["USER_ID"]
			: self::getCurrentUserId()
	);

	$currentUserPerm = self::getBlogCommentPerm(array(
		'USER_ID' => $currentUserId,
		'COMMENT_ID' => $commentId
	));

	if ($currentUserPerm < BitrixBlogItemPermissions::FULL)
	{
		throw new AccessDeniedException('No delete perms');
	}

	$commentFields = BitrixBlogItemComment::getById($commentId)->getFields();
	if (empty($commentId))
	{
		throw new ObjectNotFoundException('No comment found');
	}

	if ($result = CBlogComment::Delete($commentId))
	{
		BXClearCache(true, ComponentHelper::getBlogPostCacheDir(array(
			'TYPE' => 'post_comments',
			'POST_ID' => $commentFields["POST_ID"]
		)));
		CBlogComment::DeleteLog($commentId);
	}

	return (bool)$result;
}