• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/lib/componenthelper.php
  • Класс: BitrixSocialnetworkComponentHelper
  • Вызов: ComponentHelper::getBlogPostCacheDir
static function getBlogPostCacheDir($params = array())
{
	static $allowedTypes = array(
		'post_general',
		'post',
		'post_urlpreview',
		'posts_popular',
		'post_comments',
		'posts_last',
		'posts_last_blog'
	);

	$result = false;

	if (!is_array($params))
	{
		return $result;
	}

	$type = ($params['TYPE'] ?? false);

	if (
		!$type
		|| !in_array($type, $allowedTypes, true)
	)
	{
		return $result;
	}

	$postId = (
		isset($params['POST_ID'])
		&& (int)$params['POST_ID'] > 0
			? (int)$params['POST_ID']
			: false
	);

	if (
		!$postId
		&& in_array($type, array('post_general', 'post', 'post_comments', 'post_urlpreview'))
	)
	{
		return $result;
	}

	$siteId = ($params['SITE_ID'] ?? SITE_ID);

	switch($type)
	{
		case 'post':
			$result = "/blog/socnet_post/".(int)($postId / 100)."/".$postId."/";
			break;
		case 'post_general':
			$result = "/blog/socnet_post/gen/".(int)($postId / 100)."/".$postId;
			break;
		case 'post_urlpreview':
			$result = "/blog/socnet_post/urlpreview/".(int)($postId / 100)."/".$postId;
			break;
		case 'posts_popular':
			$result = "/".$siteId."/blog/popular_posts/";
			break;
		case 'posts_last':
			$result = "/".$siteId."/blog/last_messages_list/";
			break;
		case 'posts_last_blog':
			$result = "/".$siteId."/blog/last_messages/";
			break;
		case 'post_comments':
			$result = "/blog/comment/".(int)($postId / 100)."/".$postId."/";
			break;
		default:
			$result = false;
	}

	return $result;
}