- Модуль: 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;
}