- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/classes/general/im_chat.php
- Класс: CIMChat
- Вызов: CIMChat::SetAvatarId
public function SetAvatarId($chatId, $fileId)
{
if ($chatId <= 0)
return false;
$orm = BitrixImModelChatTable::getById($chatId);
$chat = $orm->fetch();
if (!$chat)
return false;
if ($fileId > 0)
{
$orm = BitrixMainFileTable::getById($fileId);
$file = $orm->fetch();
if (!$file)
return false;
if ($file['HEIGHT'] <= 0 || $file['WIDTH'] <= 0)
return false;
}
IMModelChatTable::update($chatId, Array('AVATAR' => $fileId));
if (CModule::IncludeModule('pull'))
{
$relation = self::GetRelationById($chatId, false, true, false);
$users = [];
foreach ($relation as $rel)
{
if ($rel["EXTERNAL_AUTH_ID"] != 'imconnector')
{
$users[$rel['USER_ID']];
}
}
BitrixPullEvent::add($users, Array(
'module_id' => 'im',
'command' => 'chatAvatar',
'params' => Array(
'chatId' => $chatId,
'avatar' => self::GetAvatarImage($fileId),
),
'extra' => BitrixImCommon::getPullExtra()
));
}
return true;
}