• Модуль: intranet
  • Путь к файлу: ~/bitrix/modules/intranet/lib/component/ustatonline.php
  • Класс: BitrixIntranetComponentUstatOnline
  • Вызов: UstatOnline::getAvatar
static function getAvatar($userId, $personalPhotoId)
{
	$avatarSrc = "";

	if(defined("BX_COMP_MANAGED_CACHE"))
		$ttl = 2592000;
	else
		$ttl = 600;
	$cache_id = 'user_avatar_'.$userId;
	$cache_dir = '/bx/user_avatar_'.substr(md5($userId), -2).'/';

	$obCache = new CPHPCache;

	if($obCache->InitCache($ttl, $cache_id, $cache_dir))
	{
		$avatarSrc = $obCache->GetVars();
	}
	else
	{
		if(defined("BX_COMP_MANAGED_CACHE"))
		{
			global $CACHE_MANAGER;
			$CACHE_MANAGER->StartTagCache($cache_dir);
		}

		if (intval($personalPhotoId) > 0)
		{
			$imageFile = CFile::GetFileArray($personalPhotoId);
			if ($imageFile !== false)
			{
				$arFileTmp = CFile::ResizeImageGet(
					$imageFile,
					array("width" => 100, "height" => 100),
					BX_RESIZE_IMAGE_EXACT,
					false
				);
				$avatarSrc = $arFileTmp["src"];
			}
		}
		if(defined("BX_COMP_MANAGED_CACHE"))
		{
			$CACHE_MANAGER->RegisterTag("USER_NAME_".$userId);
			$CACHE_MANAGER->EndTagCache();
		}

		if($obCache->StartDataCache())
		{
			$obCache->EndDataCache($avatarSrc);
		}
	}

	return $avatarSrc;
}