aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Services/InventoryService/InventoryService.cs
diff options
context:
space:
mode:
authorTeravus Ovares (Dan Olivares)2009-08-18 11:09:43 -0400
committerTeravus Ovares (Dan Olivares)2009-08-18 11:09:43 -0400
commit311b51a1843f43daa7796a46961b65fe702e1b85 (patch)
tree756554b330c8bdd970f319c3af0327efb9017673 /OpenSim/Services/InventoryService/InventoryService.cs
parent* Some Physics Scene Changes to prepare for larger regions (diff)
parentFixes mantis #4020 (http://opensimulator.org/mantis/view.php?id=4020) (diff)
downloadopensim-SC_OLD-311b51a1843f43daa7796a46961b65fe702e1b85.zip
opensim-SC_OLD-311b51a1843f43daa7796a46961b65fe702e1b85.tar.gz
opensim-SC_OLD-311b51a1843f43daa7796a46961b65fe702e1b85.tar.bz2
opensim-SC_OLD-311b51a1843f43daa7796a46961b65fe702e1b85.tar.xz
*remove conflicts
Diffstat (limited to 'OpenSim/Services/InventoryService/InventoryService.cs')
-rw-r--r--OpenSim/Services/InventoryService/InventoryService.cs27
1 files changed, 25 insertions, 2 deletions
diff --git a/OpenSim/Services/InventoryService/InventoryService.cs b/OpenSim/Services/InventoryService/InventoryService.cs
index a9ecda4..65c2d96 100644
--- a/OpenSim/Services/InventoryService/InventoryService.cs
+++ b/OpenSim/Services/InventoryService/InventoryService.cs
@@ -398,7 +398,7 @@ namespace OpenSim.Services.InventoryService
398 return true; 398 return true;
399 } 399 }
400 400
401 public virtual InventoryItemBase QueryItem(InventoryItemBase item) 401 public virtual InventoryItemBase GetItem(InventoryItemBase item)
402 { 402 {
403 InventoryItemBase result = m_Database.queryInventoryItem(item.ID); 403 InventoryItemBase result = m_Database.queryInventoryItem(item.ID);
404 if (result != null) 404 if (result != null)
@@ -407,7 +407,7 @@ namespace OpenSim.Services.InventoryService
407 return null; 407 return null;
408 } 408 }
409 409
410 public virtual InventoryFolderBase QueryFolder(InventoryFolderBase item) 410 public virtual InventoryFolderBase GetFolder(InventoryFolderBase item)
411 { 411 {
412 InventoryFolderBase result = m_Database.queryInventoryFolder(item.ID); 412 InventoryFolderBase result = m_Database.queryInventoryFolder(item.ID);
413 if (result != null) 413 if (result != null)
@@ -465,6 +465,29 @@ namespace OpenSim.Services.InventoryService
465 return null; 465 return null;
466 } 466 }
467 467
468 public int GetAssetPermissions(UUID userID, UUID assetID)
469 {
470 InventoryFolderBase parent = GetRootFolder(userID);
471 return FindAssetPerms(parent, assetID);
472 }
473
474 private int FindAssetPerms(InventoryFolderBase folder, UUID assetID)
475 {
476 InventoryCollection contents = GetFolderContent(folder.Owner, folder.ID);
477
478 int perms = 0;
479 foreach (InventoryItemBase item in contents.Items)
480 {
481 if (item.AssetID == assetID)
482 perms = (int)item.CurrentPermissions | perms;
483 }
484
485 foreach (InventoryFolderBase subfolder in contents.Folders)
486 perms = perms | FindAssetPerms(subfolder, assetID);
487
488 return perms;
489 }
490
468 /// <summary> 491 /// <summary>
469 /// Used to create a new user inventory. 492 /// Used to create a new user inventory.
470 /// </summary> 493 /// </summary>