From 5246dc33dcfc51b7ebb19b269159df3991029350 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 13 Aug 2009 14:10:12 -0700 Subject: Renamed QueryItem/QueryFolder to GetItem/GetFolder. The word 'query' starting to get on my nerves. --- OpenSim/Services/InventoryService/InventoryService.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'OpenSim/Services/InventoryService/InventoryService.cs') diff --git a/OpenSim/Services/InventoryService/InventoryService.cs b/OpenSim/Services/InventoryService/InventoryService.cs index a9ecda4..3d706dc 100644 --- a/OpenSim/Services/InventoryService/InventoryService.cs +++ b/OpenSim/Services/InventoryService/InventoryService.cs @@ -398,7 +398,7 @@ namespace OpenSim.Services.InventoryService return true; } - public virtual InventoryItemBase QueryItem(InventoryItemBase item) + public virtual InventoryItemBase GetItem(InventoryItemBase item) { InventoryItemBase result = m_Database.queryInventoryItem(item.ID); if (result != null) @@ -407,7 +407,7 @@ namespace OpenSim.Services.InventoryService return null; } - public virtual InventoryFolderBase QueryFolder(InventoryFolderBase item) + public virtual InventoryFolderBase GetFolder(InventoryFolderBase item) { InventoryFolderBase result = m_Database.queryInventoryFolder(item.ID); if (result != null) -- cgit v1.1 From 034c9cf606373bfa9d3f8040cd787f789e0efbf2 Mon Sep 17 00:00:00 2001 From: Diva Canto Date: Thu, 13 Aug 2009 17:34:15 -0700 Subject: Added GetAssetPermissions. Few last bugs nixed. This is ready for testing. --- .../Services/InventoryService/InventoryService.cs | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'OpenSim/Services/InventoryService/InventoryService.cs') diff --git a/OpenSim/Services/InventoryService/InventoryService.cs b/OpenSim/Services/InventoryService/InventoryService.cs index 3d706dc..65c2d96 100644 --- a/OpenSim/Services/InventoryService/InventoryService.cs +++ b/OpenSim/Services/InventoryService/InventoryService.cs @@ -465,6 +465,29 @@ namespace OpenSim.Services.InventoryService return null; } + public int GetAssetPermissions(UUID userID, UUID assetID) + { + InventoryFolderBase parent = GetRootFolder(userID); + return FindAssetPerms(parent, assetID); + } + + private int FindAssetPerms(InventoryFolderBase folder, UUID assetID) + { + InventoryCollection contents = GetFolderContent(folder.Owner, folder.ID); + + int perms = 0; + foreach (InventoryItemBase item in contents.Items) + { + if (item.AssetID == assetID) + perms = (int)item.CurrentPermissions | perms; + } + + foreach (InventoryFolderBase subfolder in contents.Folders) + perms = perms | FindAssetPerms(subfolder, assetID); + + return perms; + } + /// /// Used to create a new user inventory. /// -- cgit v1.1