From accd89b3f1c7729e6bb34b52e8095baf9c1f440a Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Sat, 26 Apr 2008 20:31:01 +0000 Subject: * First draft implementation of copying prim inventory items back to agent inventory * Now, if you own an item in a prim, you should be able to successfully drag it back into your inventory * Temporarily, users which are not owners of the item cannot copy it, even if 'everyone can copy' is set * This is pending fixes/implementation of upstream permission implementation --- .../Scenes/SceneObjectPart.Inventory.cs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs') diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs index 63cfcbd..89c93fd 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs @@ -482,8 +482,9 @@ namespace OpenSim.Region.Environment.Scenes public void RequestInventoryFile(IXfer xferManager) { byte[] fileData = new byte[0]; - InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, UUID); - //InventoryStringBuilder invString = new InventoryStringBuilder(UUID, LLUUID.Zero); + //InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, UUID); +// InventoryStringBuilder invString = new InventoryStringBuilder(UUID, LLUUID.Zero); + InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, LLUUID.Zero); lock (m_taskInventory) { @@ -492,20 +493,28 @@ namespace OpenSim.Region.Environment.Scenes invString.AddItemStart(); invString.AddNameValueLine("item_id", item.ItemID.ToString()); - invString.AddNameValueLine("parent_id", item.ParentID.ToString()); -// invString.AddNameValueLine("parent_id", UUID.ToString()); + //invString.AddNameValueLine("parent_id", item.ParentID.ToString()); + invString.AddNameValueLine("parent_id", m_folderID.ToString()); invString.AddPermissionsStart(); + + // FIXME: Temporary until permissions are properly sorted. invString.AddNameValueLine("base_mask", "7fffffff"); invString.AddNameValueLine("owner_mask", "7fffffff"); - invString.AddNameValueLine("group_mask", "7fffffff"); invString.AddNameValueLine("everyone_mask", "7fffffff"); invString.AddNameValueLine("next_owner_mask", "7fffffff"); + // invString.AddNameValueLine("group_mask", "00000000"); // invString.AddNameValueLine("everyone_mask", "00000000"); // invString.AddNameValueLine("next_owner_mask", "00086000"); +// invString.AddNameValueLine("base_mask", Helpers.UIntToHexString(item.BaseMask)); +// invString.AddNameValueLine("owner_mask", Helpers.UIntToHexString(item.OwnerMask)); +// invString.AddNameValueLine("group_mask", Helpers.UIntToHexString(item.GroupMask)); +// invString.AddNameValueLine("everyone_mask", Helpers.UIntToHexString(item.EveryoneMask)); +// invString.AddNameValueLine("next_owner_mask", Helpers.UIntToHexString(item.NextOwnerMask)); + invString.AddNameValueLine("creator_id", item.CreatorID.ToString()); invString.AddNameValueLine("owner_id", item.OwnerID.ToString()); @@ -537,8 +546,7 @@ namespace OpenSim.Region.Environment.Scenes fileData = Helpers.StringToField(invString.BuildString); -// m_log.DebugFormat( -// "[PRIM INVENTORY]: RequestInventoryFile fileData: {0}", Helpers.FieldToUTF8String(fileData)); + //m_log.Debug("[PRIM INVENTORY]: RequestInventoryFile fileData: " + Helpers.FieldToUTF8String(fileData)); if (fileData.Length > 2) { -- cgit v1.1