From 99cf8e3f5ab73c6d25506678d78f847278865630 Mon Sep 17 00:00:00 2001 From: Homer Horwitz Date: Sat, 16 May 2009 16:01:25 +0000 Subject: Send the owner name, not the client name on SendDialog. This modifies IClientAPI.SendDialog slightly. Fixes Mantis #3661. --- .../Region/ClientStack/LindenUDP/LLClientView.cs | 7 ++++--- .../CoreModules/Avatar/Dialog/DialogModule.cs | 23 +++++++++++++++++----- .../Region/Examples/SimpleModule/MyNpcCharacter.cs | 2 +- .../Region/OptionalModules/World/NPC/NPCAvatar.cs | 2 +- 4 files changed, 24 insertions(+), 10 deletions(-) (limited to 'OpenSim/Region') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 7c524d9..534136d 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -2474,13 +2474,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP OutPacket(loadURL, ThrottleOutPacketType.Task); } - public void SendDialog(string objectname, UUID objectID, UUID ownerID, string msg, UUID textureID, int ch, string[] buttonlabels) + public void SendDialog(string objectname, UUID objectID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) { ScriptDialogPacket dialog = (ScriptDialogPacket)PacketPool.Instance.GetPacket(PacketType.ScriptDialog); dialog.Data.ObjectID = objectID; dialog.Data.ObjectName = Utils.StringToBytes(objectname); - dialog.Data.FirstName = Utils.StringToBytes(FirstName); - dialog.Data.LastName = Utils.StringToBytes(LastName); + // this is the username of the *owner* + dialog.Data.FirstName = Utils.StringToBytes(ownerFirstName); + dialog.Data.LastName = Utils.StringToBytes(ownerLastName); dialog.Data.Message = Utils.StringToBytes(msg); dialog.Data.ImageID = textureID; dialog.Data.ChatChannel = ch; diff --git a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs index 6dd020a..90c335c 100644 --- a/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Dialog/DialogModule.cs @@ -31,6 +31,7 @@ using log4net; using Nini.Config; using OpenMetaverse; using OpenSim.Framework; +using OpenSim.Framework.Communications.Cache; using OpenSim.Region.Framework.Interfaces; using OpenSim.Region.Framework.Scenes; @@ -106,16 +107,28 @@ namespace OpenSim.Region.CoreModules.Avatar.Dialog presence.ControllingClient.SendAlertMessage(message); } } - + public void SendDialogToUser( - UUID avatarID, string objectName, UUID objectID, UUID ownerID, + UUID avatarID, string objectName, UUID objectID, UUID ownerID, string message, UUID textureID, int ch, string[] buttonlabels) { + CachedUserInfo info = m_scene.CommsManager.UserProfileCacheService.GetUserDetails(ownerID); + string ownerFirstName, ownerLastName; + if (info != null) + { + ownerFirstName = info.UserProfile.FirstName; + ownerLastName = info.UserProfile.SurName; + } + else + { + ownerFirstName = "(unknown"; + ownerLastName = "user)"; + } + ScenePresence sp = m_scene.GetScenePresence(avatarID); - if (sp != null) - sp.ControllingClient.SendDialog(objectName, objectID, ownerID, message, textureID, ch, buttonlabels); - } + sp.ControllingClient.SendDialog(objectName, objectID, ownerFirstName, ownerLastName, message, textureID, ch, buttonlabels); + } public void SendUrlToUser( UUID avatarID, string objectName, UUID objectID, UUID ownerID, bool groupOwned, string message, string url) diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs index 3e9195e..1641f2d 100644 --- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs +++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs @@ -515,7 +515,7 @@ namespace OpenSim.Region.Examples.SimpleModule { } - public virtual void SendDialog(string objectname, UUID objectID, UUID ownerID, string msg, UUID textureID, int ch, string[] buttonlabels) + public virtual void SendDialog(string objectname, UUID objectID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) { } diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs index f529c9e..a5ac17e 100644 --- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs +++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs @@ -604,7 +604,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC { } - public virtual void SendDialog(string objectname, UUID objectID, UUID ownerID, string msg, UUID textureID, int ch, string[] buttonlabels) + public virtual void SendDialog(string objectname, UUID objectID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels) { } -- cgit v1.1