diff options
Diffstat (limited to 'OpenSim/Region/CoreModules/World')
7 files changed, 50 insertions, 101 deletions
diff --git a/OpenSim/Region/CoreModules/World/Access/AccessModule.cs b/OpenSim/Region/CoreModules/World/Access/AccessModule.cs index 73f7ae3..127469e 100644 --- a/OpenSim/Region/CoreModules/World/Access/AccessModule.cs +++ b/OpenSim/Region/CoreModules/World/Access/AccessModule.cs | |||
@@ -33,7 +33,6 @@ using Nini.Config; | |||
33 | using OpenMetaverse; | 33 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
35 | using OpenSim.Framework.Console; | 35 | using OpenSim.Framework.Console; |
36 | using OpenSim.Framework.Communications.Cache; | ||
37 | using OpenSim.Region.Framework.Interfaces; | 36 | using OpenSim.Region.Framework.Interfaces; |
38 | using OpenSim.Region.Framework.Scenes; | 37 | using OpenSim.Region.Framework.Scenes; |
39 | using OpenSim.Services.Interfaces; | 38 | using OpenSim.Services.Interfaces; |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index 8ed1913..59a1b8f 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -38,10 +38,11 @@ using OpenMetaverse; | |||
38 | using OpenSim.Framework; | 38 | using OpenSim.Framework; |
39 | using OpenSim.Framework.Serialization; | 39 | using OpenSim.Framework.Serialization; |
40 | using OpenSim.Framework.Serialization.External; | 40 | using OpenSim.Framework.Serialization.External; |
41 | using OpenSim.Framework.Communications.Cache; | 41 | |
42 | using OpenSim.Region.CoreModules.World.Terrain; | 42 | using OpenSim.Region.CoreModules.World.Terrain; |
43 | using OpenSim.Region.Framework.Interfaces; | 43 | using OpenSim.Region.Framework.Interfaces; |
44 | using OpenSim.Region.Framework.Scenes; | 44 | using OpenSim.Region.Framework.Scenes; |
45 | using OpenSim.Services.Interfaces; | ||
45 | 46 | ||
46 | namespace OpenSim.Region.CoreModules.World.Archiver | 47 | namespace OpenSim.Region.CoreModules.World.Archiver |
47 | { | 48 | { |
@@ -181,10 +182,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
181 | 182 | ||
182 | // Try to retain the original creator/owner/lastowner if their uuid is present on this grid | 183 | // Try to retain the original creator/owner/lastowner if their uuid is present on this grid |
183 | // otherwise, use the master avatar uuid instead | 184 | // otherwise, use the master avatar uuid instead |
184 | UUID masterAvatarId = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
185 | |||
186 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | ||
187 | masterAvatarId = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
188 | 185 | ||
189 | // Reload serialized parcels | 186 | // Reload serialized parcels |
190 | m_log.InfoFormat("[ARCHIVER]: Loading {0} parcels. Please wait.", serialisedParcels.Count); | 187 | m_log.InfoFormat("[ARCHIVER]: Loading {0} parcels. Please wait.", serialisedParcels.Count); |
@@ -193,7 +190,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
193 | { | 190 | { |
194 | LandData parcel = LandDataSerializer.Deserialize(serialisedParcel); | 191 | LandData parcel = LandDataSerializer.Deserialize(serialisedParcel); |
195 | if (!ResolveUserUuid(parcel.OwnerID)) | 192 | if (!ResolveUserUuid(parcel.OwnerID)) |
196 | parcel.OwnerID = masterAvatarId; | 193 | parcel.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
197 | landData.Add(parcel); | 194 | landData.Add(parcel); |
198 | } | 195 | } |
199 | m_scene.EventManager.TriggerIncomingLandDataFromStorage(landData); | 196 | m_scene.EventManager.TriggerIncomingLandDataFromStorage(landData); |
@@ -232,13 +229,13 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
232 | foreach (SceneObjectPart part in sceneObject.Children.Values) | 229 | foreach (SceneObjectPart part in sceneObject.Children.Values) |
233 | { | 230 | { |
234 | if (!ResolveUserUuid(part.CreatorID)) | 231 | if (!ResolveUserUuid(part.CreatorID)) |
235 | part.CreatorID = masterAvatarId; | 232 | part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
236 | 233 | ||
237 | if (!ResolveUserUuid(part.OwnerID)) | 234 | if (!ResolveUserUuid(part.OwnerID)) |
238 | part.OwnerID = masterAvatarId; | 235 | part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
239 | 236 | ||
240 | if (!ResolveUserUuid(part.LastOwnerID)) | 237 | if (!ResolveUserUuid(part.LastOwnerID)) |
241 | part.LastOwnerID = masterAvatarId; | 238 | part.LastOwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
242 | 239 | ||
243 | // And zap any troublesome sit target information | 240 | // And zap any troublesome sit target information |
244 | part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); | 241 | part.SitTargetOrientation = new Quaternion(0, 0, 0, 1); |
@@ -254,11 +251,11 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
254 | { | 251 | { |
255 | if (!ResolveUserUuid(kvp.Value.OwnerID)) | 252 | if (!ResolveUserUuid(kvp.Value.OwnerID)) |
256 | { | 253 | { |
257 | kvp.Value.OwnerID = masterAvatarId; | 254 | kvp.Value.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
258 | } | 255 | } |
259 | if (!ResolveUserUuid(kvp.Value.CreatorID)) | 256 | if (!ResolveUserUuid(kvp.Value.CreatorID)) |
260 | { | 257 | { |
261 | kvp.Value.CreatorID = masterAvatarId; | 258 | kvp.Value.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
262 | } | 259 | } |
263 | } | 260 | } |
264 | } | 261 | } |
@@ -292,8 +289,8 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
292 | { | 289 | { |
293 | if (!m_validUserUuids.ContainsKey(uuid)) | 290 | if (!m_validUserUuids.ContainsKey(uuid)) |
294 | { | 291 | { |
295 | CachedUserInfo profile = m_scene.CommsManager.UserProfileCacheService.GetUserDetails(uuid); | 292 | UserAccount account = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, uuid); |
296 | if (profile != null && profile.UserProfile != null) | 293 | if (account != null) |
297 | m_validUserUuids.Add(uuid, true); | 294 | m_validUserUuids.Add(uuid, true); |
298 | else | 295 | else |
299 | m_validUserUuids.Add(uuid, false); | 296 | m_validUserUuids.Add(uuid, false); |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs index c3e57f0..d986274 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs | |||
@@ -34,7 +34,7 @@ using NUnit.Framework; | |||
34 | using NUnit.Framework.SyntaxHelpers; | 34 | using NUnit.Framework.SyntaxHelpers; |
35 | using OpenMetaverse; | 35 | using OpenMetaverse; |
36 | using OpenSim.Framework; | 36 | using OpenSim.Framework; |
37 | using OpenSim.Framework.Communications.Cache; | 37 | |
38 | using OpenSim.Framework.Serialization; | 38 | using OpenSim.Framework.Serialization; |
39 | using OpenSim.Framework.Serialization.External; | 39 | using OpenSim.Framework.Serialization.External; |
40 | using OpenSim.Region.CoreModules.World.Serialiser; | 40 | using OpenSim.Region.CoreModules.World.Serialiser; |
diff --git a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs index 695cced..189efdc 100644 --- a/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Estate/EstateManagementModule.cs | |||
@@ -57,10 +57,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
57 | if (!m_scene.RegionInfo.EstateSettings.UseGlobalTime) | 57 | if (!m_scene.RegionInfo.EstateSettings.UseGlobalTime) |
58 | sun=(uint)(m_scene.RegionInfo.EstateSettings.SunPosition*1024.0) + 0x1800; | 58 | sun=(uint)(m_scene.RegionInfo.EstateSettings.SunPosition*1024.0) + 0x1800; |
59 | UUID estateOwner; | 59 | UUID estateOwner; |
60 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | 60 | estateOwner = m_scene.RegionInfo.EstateSettings.EstateOwner; |
61 | estateOwner = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
62 | else | ||
63 | estateOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
64 | 61 | ||
65 | if (m_scene.Permissions.IsGod(remote_client.AgentId)) | 62 | if (m_scene.Permissions.IsGod(remote_client.AgentId)) |
66 | estateOwner = remote_client.AgentId; | 63 | estateOwner = remote_client.AgentId; |
@@ -241,8 +238,6 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
241 | 238 | ||
242 | if (user == m_scene.RegionInfo.EstateSettings.EstateOwner) | 239 | if (user == m_scene.RegionInfo.EstateSettings.EstateOwner) |
243 | return; // never process EO | 240 | return; // never process EO |
244 | if (user == m_scene.RegionInfo.MasterAvatarAssignedUUID) | ||
245 | return; // never process owner | ||
246 | 241 | ||
247 | if ((estateAccessType & 4) != 0) // User add | 242 | if ((estateAccessType & 4) != 0) // User add |
248 | { | 243 | { |
@@ -709,16 +704,9 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
709 | lsri.TaskID = sog.UUID; | 704 | lsri.TaskID = sog.UUID; |
710 | lsri.TaskLocalID = sog.LocalId; | 705 | lsri.TaskLocalID = sog.LocalId; |
711 | lsri.TaskName = sog.GetPartName(obj); | 706 | lsri.TaskName = sog.GetPartName(obj); |
712 | if (m_scene.CommsManager.UUIDNameCachedTest(sog.OwnerID)) | 707 | lsri.OwnerName = "waiting"; |
713 | { | 708 | lock (uuidNameLookupList) |
714 | lsri.OwnerName = m_scene.CommsManager.UUIDNameRequestString(sog.OwnerID); | 709 | uuidNameLookupList.Add(sog.OwnerID); |
715 | } | ||
716 | else | ||
717 | { | ||
718 | lsri.OwnerName = "waiting"; | ||
719 | lock (uuidNameLookupList) | ||
720 | uuidNameLookupList.Add(sog.OwnerID); | ||
721 | } | ||
722 | 710 | ||
723 | if (filter.Length != 0) | 711 | if (filter.Length != 0) |
724 | { | 712 | { |
@@ -769,7 +757,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
769 | for (int i = 0; i < uuidarr.Length; i++) | 757 | for (int i = 0; i < uuidarr.Length; i++) |
770 | { | 758 | { |
771 | // string lookupname = m_scene.CommsManager.UUIDNameRequestString(uuidarr[i]); | 759 | // string lookupname = m_scene.CommsManager.UUIDNameRequestString(uuidarr[i]); |
772 | m_scene.CommsManager.UUIDNameRequestString(uuidarr[i]); | 760 | m_scene.GetUserName(uuidarr[i]); |
773 | // we drop it. It gets cached though... so we're ready for the next request. | 761 | // we drop it. It gets cached though... so we're ready for the next request. |
774 | } | 762 | } |
775 | } | 763 | } |
@@ -808,14 +796,7 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
808 | args.waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight; | 796 | args.waterHeight = (float)m_scene.RegionInfo.RegionSettings.WaterHeight; |
809 | args.regionFlags = GetRegionFlags(); | 797 | args.regionFlags = GetRegionFlags(); |
810 | args.regionName = m_scene.RegionInfo.RegionName; | 798 | args.regionName = m_scene.RegionInfo.RegionName; |
811 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | 799 | args.SimOwner = m_scene.RegionInfo.EstateSettings.EstateOwner; |
812 | args.SimOwner = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
813 | else | ||
814 | args.SimOwner = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
815 | |||
816 | // Fudge estate owner | ||
817 | //if (m_scene.Permissions.IsGod(remoteClient.AgentId)) | ||
818 | // args.SimOwner = remoteClient.AgentId; | ||
819 | 800 | ||
820 | args.terrainBase0 = UUID.Zero; | 801 | args.terrainBase0 = UUID.Zero; |
821 | args.terrainBase1 = UUID.Zero; | 802 | args.terrainBase1 = UUID.Zero; |
@@ -1194,8 +1175,6 @@ namespace OpenSim.Region.CoreModules.World.Estate | |||
1194 | 1175 | ||
1195 | public bool IsManager(UUID avatarID) | 1176 | public bool IsManager(UUID avatarID) |
1196 | { | 1177 | { |
1197 | if (avatarID == m_scene.RegionInfo.MasterAvatarAssignedUUID) | ||
1198 | return true; | ||
1199 | if (avatarID == m_scene.RegionInfo.EstateSettings.EstateOwner) | 1178 | if (avatarID == m_scene.RegionInfo.EstateSettings.EstateOwner) |
1200 | return true; | 1179 | return true; |
1201 | 1180 | ||
diff --git a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs index 9b39b09..f0c87f4 100644 --- a/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs +++ b/OpenSim/Region/CoreModules/World/Land/LandManagementModule.cs | |||
@@ -227,10 +227,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
227 | ILandObject fullSimParcel = new LandObject(UUID.Zero, false, m_scene); | 227 | ILandObject fullSimParcel = new LandObject(UUID.Zero, false, m_scene); |
228 | 228 | ||
229 | fullSimParcel.SetLandBitmap(fullSimParcel.GetSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize)); | 229 | fullSimParcel.SetLandBitmap(fullSimParcel.GetSquareLandBitmap(0, 0, (int)Constants.RegionSize, (int)Constants.RegionSize)); |
230 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | 230 | fullSimParcel.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
231 | fullSimParcel.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
232 | else | ||
233 | fullSimParcel.LandData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
234 | fullSimParcel.LandData.ClaimDate = Util.UnixTimeSinceEpoch(); | 231 | fullSimParcel.LandData.ClaimDate = Util.UnixTimeSinceEpoch(); |
235 | AddLandObject(fullSimParcel); | 232 | AddLandObject(fullSimParcel); |
236 | } | 233 | } |
@@ -1090,10 +1087,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1090 | { | 1087 | { |
1091 | if (m_scene.Permissions.CanAbandonParcel(remote_client.AgentId, land)) | 1088 | if (m_scene.Permissions.CanAbandonParcel(remote_client.AgentId, land)) |
1092 | { | 1089 | { |
1093 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | 1090 | land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
1094 | land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
1095 | else | ||
1096 | land.LandData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
1097 | land.LandData.GroupID = UUID.Zero; | 1091 | land.LandData.GroupID = UUID.Zero; |
1098 | land.LandData.IsGroupOwned = false; | 1092 | land.LandData.IsGroupOwned = false; |
1099 | m_scene.ForEachClient(SendParcelOverlay); | 1093 | m_scene.ForEachClient(SendParcelOverlay); |
@@ -1114,10 +1108,7 @@ namespace OpenSim.Region.CoreModules.World.Land | |||
1114 | { | 1108 | { |
1115 | if (m_scene.Permissions.CanReclaimParcel(remote_client.AgentId, land)) | 1109 | if (m_scene.Permissions.CanReclaimParcel(remote_client.AgentId, land)) |
1116 | { | 1110 | { |
1117 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | 1111 | land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; |
1118 | land.LandData.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner; | ||
1119 | else | ||
1120 | land.LandData.OwnerID = m_scene.RegionInfo.MasterAvatarAssignedUUID; | ||
1121 | land.LandData.ClaimDate = Util.UnixTimeSinceEpoch(); | 1112 | land.LandData.ClaimDate = Util.UnixTimeSinceEpoch(); |
1122 | land.LandData.GroupID = UUID.Zero; | 1113 | land.LandData.GroupID = UUID.Zero; |
1123 | land.LandData.IsGroupOwned = false; | 1114 | land.LandData.IsGroupOwned = false; |
diff --git a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs index 1533462..4652d70 100644 --- a/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs +++ b/OpenSim/Region/CoreModules/World/Permissions/PermissionsModule.cs | |||
@@ -32,7 +32,7 @@ using log4net; | |||
32 | using Nini.Config; | 32 | using Nini.Config; |
33 | using OpenMetaverse; | 33 | using OpenMetaverse; |
34 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
35 | using OpenSim.Framework.Communications.Cache; | 35 | |
36 | using OpenSim.Region.Framework.Interfaces; | 36 | using OpenSim.Region.Framework.Interfaces; |
37 | using OpenSim.Region.Framework.Scenes; | 37 | using OpenSim.Region.Framework.Scenes; |
38 | using OpenSim.Services.Interfaces; | 38 | using OpenSim.Services.Interfaces; |
@@ -95,6 +95,23 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
95 | 95 | ||
96 | protected Scene m_scene; | 96 | protected Scene m_scene; |
97 | 97 | ||
98 | private InventoryFolderImpl m_libraryRootFolder; | ||
99 | protected InventoryFolderImpl LibraryRootFolder | ||
100 | { | ||
101 | get | ||
102 | { | ||
103 | if (m_libraryRootFolder != null) | ||
104 | return m_libraryRootFolder; | ||
105 | |||
106 | ILibraryService lib = m_scene.RequestModuleInterface<ILibraryService>(); | ||
107 | if (lib != null) | ||
108 | { | ||
109 | m_libraryRootFolder = lib.LibraryRootFolder; | ||
110 | } | ||
111 | return m_libraryRootFolder; | ||
112 | } | ||
113 | } | ||
114 | |||
98 | #region Constants | 115 | #region Constants |
99 | // These are here for testing. They will be taken out | 116 | // These are here for testing. They will be taken out |
100 | 117 | ||
@@ -462,12 +479,6 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
462 | { | 479 | { |
463 | if (user == UUID.Zero) return false; | 480 | if (user == UUID.Zero) return false; |
464 | 481 | ||
465 | if (m_scene.RegionInfo.MasterAvatarAssignedUUID != UUID.Zero) | ||
466 | { | ||
467 | if (m_RegionOwnerIsGod && (m_scene.RegionInfo.MasterAvatarAssignedUUID == user)) | ||
468 | return true; | ||
469 | } | ||
470 | |||
471 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) | 482 | if (m_scene.RegionInfo.EstateSettings.EstateOwner != UUID.Zero) |
472 | { | 483 | { |
473 | if (m_scene.RegionInfo.EstateSettings.EstateOwner == user && m_RegionOwnerIsGod) | 484 | if (m_scene.RegionInfo.EstateSettings.EstateOwner == user && m_RegionOwnerIsGod) |
@@ -479,10 +490,10 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
479 | 490 | ||
480 | if (m_allowGridGods) | 491 | if (m_allowGridGods) |
481 | { | 492 | { |
482 | CachedUserInfo profile = m_scene.CommsManager.UserProfileCacheService.GetUserDetails(user); | 493 | UserAccount account = m_scene.UserAccountService.GetUserAccount(m_scene.RegionInfo.ScopeID, user); |
483 | if (profile != null && profile.UserProfile != null) | 494 | if (account != null) |
484 | { | 495 | { |
485 | if (profile.UserProfile.GodLevel >= 200) | 496 | if (account.UserLevel >= 200) |
486 | return true; | 497 | return true; |
487 | } | 498 | } |
488 | } | 499 | } |
@@ -499,13 +510,10 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
499 | if (m_friendsModule == null) | 510 | if (m_friendsModule == null) |
500 | return false; | 511 | return false; |
501 | 512 | ||
502 | List<FriendListItem> profile = m_friendsModule.GetUserFriends(user); | 513 | uint friendPerms = m_friendsModule.GetFriendPerms(user, objectOwner); |
514 | if ((friendPerms & (uint)FriendRights.CanModifyObjects) != 0) | ||
515 | return true; | ||
503 | 516 | ||
504 | foreach (FriendListItem item in profile) | ||
505 | { | ||
506 | if (item.Friend == objectOwner && (item.FriendPerms & (uint)FriendRights.CanModifyObjects) != 0) | ||
507 | return true; | ||
508 | } | ||
509 | return false; | 517 | return false; |
510 | } | 518 | } |
511 | 519 | ||
@@ -1011,9 +1019,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
1011 | IInventoryService invService = m_scene.InventoryService; | 1019 | IInventoryService invService = m_scene.InventoryService; |
1012 | InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user); | 1020 | InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user); |
1013 | assetRequestItem = invService.GetItem(assetRequestItem); | 1021 | assetRequestItem = invService.GetItem(assetRequestItem); |
1014 | if (assetRequestItem == null) // Library item | 1022 | if (assetRequestItem == null && LibraryRootFolder != null) // Library item |
1015 | { | 1023 | { |
1016 | assetRequestItem = scene.CommsManager.UserProfileCacheService.LibraryRoot.FindItem(notecard); | 1024 | assetRequestItem = LibraryRootFolder.FindItem(notecard); |
1017 | 1025 | ||
1018 | if (assetRequestItem != null) // Implicitly readable | 1026 | if (assetRequestItem != null) // Implicitly readable |
1019 | return true; | 1027 | return true; |
@@ -1431,9 +1439,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
1431 | IInventoryService invService = m_scene.InventoryService; | 1439 | IInventoryService invService = m_scene.InventoryService; |
1432 | InventoryItemBase assetRequestItem = new InventoryItemBase(script, user); | 1440 | InventoryItemBase assetRequestItem = new InventoryItemBase(script, user); |
1433 | assetRequestItem = invService.GetItem(assetRequestItem); | 1441 | assetRequestItem = invService.GetItem(assetRequestItem); |
1434 | if (assetRequestItem == null) // Library item | 1442 | if (assetRequestItem == null && LibraryRootFolder != null) // Library item |
1435 | { | 1443 | { |
1436 | assetRequestItem = m_scene.CommsManager.UserProfileCacheService.LibraryRoot.FindItem(script); | 1444 | assetRequestItem = LibraryRootFolder.FindItem(script); |
1437 | 1445 | ||
1438 | if (assetRequestItem != null) // Implicitly readable | 1446 | if (assetRequestItem != null) // Implicitly readable |
1439 | return true; | 1447 | return true; |
@@ -1526,9 +1534,9 @@ namespace OpenSim.Region.CoreModules.World.Permissions | |||
1526 | IInventoryService invService = m_scene.InventoryService; | 1534 | IInventoryService invService = m_scene.InventoryService; |
1527 | InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user); | 1535 | InventoryItemBase assetRequestItem = new InventoryItemBase(notecard, user); |
1528 | assetRequestItem = invService.GetItem(assetRequestItem); | 1536 | assetRequestItem = invService.GetItem(assetRequestItem); |
1529 | if (assetRequestItem == null) // Library item | 1537 | if (assetRequestItem == null && LibraryRootFolder != null) // Library item |
1530 | { | 1538 | { |
1531 | assetRequestItem = m_scene.CommsManager.UserProfileCacheService.LibraryRoot.FindItem(notecard); | 1539 | assetRequestItem = LibraryRootFolder.FindItem(notecard); |
1532 | 1540 | ||
1533 | if (assetRequestItem != null) // Implicitly readable | 1541 | if (assetRequestItem != null) // Implicitly readable |
1534 | return true; | 1542 | return true; |
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs index be46fa5..56b50dc 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs | |||
@@ -32,7 +32,6 @@ using OpenMetaverse; | |||
32 | using OpenSim.Framework; | 32 | using OpenSim.Framework; |
33 | using OpenSim.Region.Framework.Interfaces; | 33 | using OpenSim.Region.Framework.Interfaces; |
34 | using OpenSim.Region.Framework.Scenes; | 34 | using OpenSim.Region.Framework.Scenes; |
35 | using OpenSim.Region.Framework.Scenes.Hypergrid; | ||
36 | using OpenSim.Services.Interfaces; | 35 | using OpenSim.Services.Interfaces; |
37 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; | 36 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; |
38 | 37 | ||
@@ -104,25 +103,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
104 | if (info != null) regionInfos.Add(info); | 103 | if (info != null) regionInfos.Add(info); |
105 | } | 104 | } |
106 | 105 | ||
107 | if ((regionInfos.Count == 0) && IsHypergridOn()) | ||
108 | { | ||
109 | // OK, we tried but there are no regions matching that name. | ||
110 | // Let's check quickly if this is a domain name, and if so link to it | ||
111 | if (mapName.Contains(".")) | ||
112 | { | ||
113 | // It probably is a domain name. Try to link to it. | ||
114 | GridRegion regInfo; | ||
115 | Scene cScene = GetClientScene(remoteClient); | ||
116 | IHyperlinkService hyperService = cScene.RequestModuleInterface<IHyperlinkService>(); | ||
117 | if (hyperService != null) | ||
118 | { | ||
119 | regInfo = hyperService.TryLinkRegion(remoteClient, mapName); | ||
120 | if (regInfo != null) | ||
121 | regionInfos.Add(regInfo); | ||
122 | } | ||
123 | } | ||
124 | } | ||
125 | |||
126 | List<MapBlockData> blocks = new List<MapBlockData>(); | 106 | List<MapBlockData> blocks = new List<MapBlockData>(); |
127 | 107 | ||
128 | MapBlockData data; | 108 | MapBlockData data; |
@@ -158,11 +138,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
158 | remoteClient.SendMapBlock(blocks, 0); | 138 | remoteClient.SendMapBlock(blocks, 0); |
159 | } | 139 | } |
160 | 140 | ||
161 | private bool IsHypergridOn() | ||
162 | { | ||
163 | return (m_scene.SceneGridService is HGSceneCommunicationService); | ||
164 | } | ||
165 | |||
166 | private Scene GetClientScene(IClientAPI client) | 141 | private Scene GetClientScene(IClientAPI client) |
167 | { | 142 | { |
168 | foreach (Scene s in m_scenes) | 143 | foreach (Scene s in m_scenes) |