• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/controller/livefeed/blogpost.php
  • Класс: BitrixSocialnetworkControllerLivefeedBlogPost
  • Вызов: BlogPost::addAction
public function addAction(array $params = []): ?array
{
	global $APPLICATION;

	$warnings = [];

	try
	{
		$postId = Helper::addBlogPost($params, $this->getScope(), $resultFields);
		if ($postId <= 0)
		{
			if (
				is_array($resultFields)
				&& !empty($resultFields['ERROR_MESSAGE_PUBLIC'])
			)
			{
				$this->addError(new Error($resultFields['ERROR_MESSAGE_PUBLIC'], 0, [
					'public' => 'Y'
				]));
				return null;
			}

			$e = $APPLICATION->getException();
			throw new Exception($e ? $e->getString() : 'Cannot add blog post');
		}

		if (
			is_array($resultFields)
			&& !empty($resultFields['WARNING_MESSAGE_PUBLIC'])
		)
		{
			$warnings[] = $resultFields['WARNING_MESSAGE_PUBLIC'];
		}

	}
	catch (Exception $e)
	{
		$this->addError(new Error($e->getMessage(), $e->getCode()));
		return null;
	}

	return [
		'id' => $postId,
		'warnings' => $warnings
	];
}