• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/item/helper.php
  • Класс: BitrixSocialnetworkItemHelper
  • Вызов: Helper::getBlogPostFields
static function getBlogPostFields($postId)
{
	global $APPLICATION;
	$tzOffset = CTimeZone::getOffset();

	$cacheTtl = 2592000;
	$cacheId = 'blog_post_socnet_general_' . $postId . '_' . LANGUAGE_ID.($tzOffset <> 0 ? '_' . $tzOffset : '') . '_' . BitrixMainContext::getCurrent()->getCulture()->getDateTimeFormat() . '_rest';
	$cacheDir = ComponentHelper::getBlogPostCacheDir([
		'TYPE' => 'post_general',
		'POST_ID' => $postId
	]);

	if (!Loader::includeModule('blog'))
	{
		$APPLICATION->throwException(Loc::getMessage('SOCIALNETWORK_ITEM_HELPER_BLOG_MODULE_NOT_INSTALLED'), 'SONET_CONTROLLER_LIVEFEED_BLOGPOST_MODULE_ERROR');
		return false;
	}

	$cache = new CPHPCache;
	if ($cache->initCache($cacheTtl, $cacheId, $cacheDir))
	{
		$postFields = $cache->getVars();
		$postItem = new Post;
		$postItem->setFields($postFields);
	}
	else
	{
		$cache->startDataCache();
		$postItem = Post::getById($postId);
		$postFields = $postItem->getFields();
		$cache->endDataCache($postFields);
	}

	return $postFields;
}