• Модуль: vote
  • Путь к файлу: ~/bitrix/modules/vote/lib/attachment/blogpostconnector.php
  • Класс: BitrixVoteAttachmentBlogPostConnector
  • Вызов: BlogPostConnector::getPostData
static function getPostData($entityId)
{
	if (array_key_exists($entityId, self::$posts))
		return self::$posts[$entityId];
	$cacheTtl = 2592000;
	$cacheId = 'blog_post_socnet_general_' . $entityId . '_' . LANGUAGE_ID . '_voteconnector';
	$timezoneOffset = CTimeZone::getOffset();
	if($timezoneOffset != 0)
	{
		$cacheId .= "_" . $timezoneOffset;
	}
	$cacheDir = '/blog/socnet_post/gen/' . intval($entityId / 100) . '/' . $entityId;

	$cache = new CPHPCache;
	if ($cache->initCache($cacheTtl, $cacheId, $cacheDir))
	{
		$post = $cache->getVars();
	}
	else
	{
		$cache->startDataCache();
		$post = CBlogPost::getList(array(), array("ID" => $entityId), false, false, array(
			"ID",
			"BLOG_ID",
			"BLOG_OWNER_ID",
			"PUBLISH_STATUS",
			"TITLE",
			"AUTHOR_ID",
			"ENABLE_COMMENTS",
			"NUM_COMMENTS",
			"VIEWS",
			"CODE",
			"MICRO",
			"DETAIL_TEXT",
			"DATE_PUBLISH",
			"CATEGORY_ID",
			"HAS_SOCNET_ALL",
			"HAS_TAGS",
			"HAS_IMAGES",
			"HAS_PROPS",
			"HAS_COMMENT_IMAGES"
		))->fetch();

		if (!empty($post['DETAIL_TEXT']))
		{
			$post['DETAIL_TEXT'] = BitrixMainTextEmoji::decode($post['DETAIL_TEXT']);
		}

		$cache->endDataCache($post);
	}
	self::$posts[$entityId] = $post;
	return $post;
}