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