diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 517a9d9..d42a125 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -2073,19 +2073,27 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2073 | if (UUID.TryParse(id, out key)) | 2073 | if (UUID.TryParse(id, out key)) |
2074 | { | 2074 | { |
2075 | UserAccount account = World.UserAccountService.GetUserAccount(World.RegionInfo.ScopeID, key); | 2075 | UserAccount account = World.UserAccountService.GetUserAccount(World.RegionInfo.ScopeID, key); |
2076 | if (null == account) | 2076 | if (account != null) |
2077 | { | ||
2078 | return ""; | ||
2079 | } | ||
2080 | else | ||
2081 | { | ||
2082 | return account.Name; | 2077 | return account.Name; |
2078 | |||
2079 | if (m_ScriptEngine.World.GridUserService != null) | ||
2080 | { | ||
2081 | GridUserInfo uInfo = m_ScriptEngine.World.GridUserService.GetGridUserInfo(key.ToString()); | ||
2082 | |||
2083 | if (uInfo != null) | ||
2084 | { | ||
2085 | UUID userUUID; String gridURL; String firstName; String lastName; String tmp; | ||
2086 | |||
2087 | if (Util.ParseUniversalUserIdentifier(uInfo.UserID, out userUUID, out gridURL, out firstName, out lastName, out tmp)) | ||
2088 | { | ||
2089 | string grid = new Uri(gridURL).Authority; | ||
2090 | return firstName + "." + lastName + " @" + grid; | ||
2091 | } | ||
2092 | } | ||
2083 | } | 2093 | } |
2084 | } | 2094 | } |
2085 | else | 2095 | |
2086 | { | 2096 | return ""; |
2087 | return ""; | ||
2088 | } | ||
2089 | } | 2097 | } |
2090 | 2098 | ||
2091 | private enum InfoType | 2099 | private enum InfoType |