diff options
author | Justin Clarke Casey | 2008-04-26 20:31:01 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-04-26 20:31:01 +0000 |
commit | accd89b3f1c7729e6bb34b52e8095baf9c1f440a (patch) | |
tree | eb2b485edb92d5349463ec3626f76e005905bdba /OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs | |
parent | * Ooops, attachments now teleport/cross region borders along with your avatar... (diff) | |
download | opensim-SC_OLD-accd89b3f1c7729e6bb34b52e8095baf9c1f440a.zip opensim-SC_OLD-accd89b3f1c7729e6bb34b52e8095baf9c1f440a.tar.gz opensim-SC_OLD-accd89b3f1c7729e6bb34b52e8095baf9c1f440a.tar.bz2 opensim-SC_OLD-accd89b3f1c7729e6bb34b52e8095baf9c1f440a.tar.xz |
* 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
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs | 22 |
1 files changed, 15 insertions, 7 deletions
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 | |||
482 | public void RequestInventoryFile(IXfer xferManager) | 482 | public void RequestInventoryFile(IXfer xferManager) |
483 | { | 483 | { |
484 | byte[] fileData = new byte[0]; | 484 | byte[] fileData = new byte[0]; |
485 | InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, UUID); | 485 | //InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, UUID); |
486 | //InventoryStringBuilder invString = new InventoryStringBuilder(UUID, LLUUID.Zero); | 486 | // InventoryStringBuilder invString = new InventoryStringBuilder(UUID, LLUUID.Zero); |
487 | InventoryStringBuilder invString = new InventoryStringBuilder(m_folderID, LLUUID.Zero); | ||
487 | 488 | ||
488 | lock (m_taskInventory) | 489 | lock (m_taskInventory) |
489 | { | 490 | { |
@@ -492,20 +493,28 @@ namespace OpenSim.Region.Environment.Scenes | |||
492 | invString.AddItemStart(); | 493 | invString.AddItemStart(); |
493 | invString.AddNameValueLine("item_id", item.ItemID.ToString()); | 494 | invString.AddNameValueLine("item_id", item.ItemID.ToString()); |
494 | 495 | ||
495 | invString.AddNameValueLine("parent_id", item.ParentID.ToString()); | 496 | //invString.AddNameValueLine("parent_id", item.ParentID.ToString()); |
496 | // invString.AddNameValueLine("parent_id", UUID.ToString()); | 497 | invString.AddNameValueLine("parent_id", m_folderID.ToString()); |
497 | 498 | ||
498 | invString.AddPermissionsStart(); | 499 | invString.AddPermissionsStart(); |
500 | |||
501 | // FIXME: Temporary until permissions are properly sorted. | ||
499 | invString.AddNameValueLine("base_mask", "7fffffff"); | 502 | invString.AddNameValueLine("base_mask", "7fffffff"); |
500 | invString.AddNameValueLine("owner_mask", "7fffffff"); | 503 | invString.AddNameValueLine("owner_mask", "7fffffff"); |
501 | |||
502 | invString.AddNameValueLine("group_mask", "7fffffff"); | 504 | invString.AddNameValueLine("group_mask", "7fffffff"); |
503 | invString.AddNameValueLine("everyone_mask", "7fffffff"); | 505 | invString.AddNameValueLine("everyone_mask", "7fffffff"); |
504 | invString.AddNameValueLine("next_owner_mask", "7fffffff"); | 506 | invString.AddNameValueLine("next_owner_mask", "7fffffff"); |
507 | |||
505 | // invString.AddNameValueLine("group_mask", "00000000"); | 508 | // invString.AddNameValueLine("group_mask", "00000000"); |
506 | // invString.AddNameValueLine("everyone_mask", "00000000"); | 509 | // invString.AddNameValueLine("everyone_mask", "00000000"); |
507 | // invString.AddNameValueLine("next_owner_mask", "00086000"); | 510 | // invString.AddNameValueLine("next_owner_mask", "00086000"); |
508 | 511 | ||
512 | // invString.AddNameValueLine("base_mask", Helpers.UIntToHexString(item.BaseMask)); | ||
513 | // invString.AddNameValueLine("owner_mask", Helpers.UIntToHexString(item.OwnerMask)); | ||
514 | // invString.AddNameValueLine("group_mask", Helpers.UIntToHexString(item.GroupMask)); | ||
515 | // invString.AddNameValueLine("everyone_mask", Helpers.UIntToHexString(item.EveryoneMask)); | ||
516 | // invString.AddNameValueLine("next_owner_mask", Helpers.UIntToHexString(item.NextOwnerMask)); | ||
517 | |||
509 | invString.AddNameValueLine("creator_id", item.CreatorID.ToString()); | 518 | invString.AddNameValueLine("creator_id", item.CreatorID.ToString()); |
510 | invString.AddNameValueLine("owner_id", item.OwnerID.ToString()); | 519 | invString.AddNameValueLine("owner_id", item.OwnerID.ToString()); |
511 | 520 | ||
@@ -537,8 +546,7 @@ namespace OpenSim.Region.Environment.Scenes | |||
537 | 546 | ||
538 | fileData = Helpers.StringToField(invString.BuildString); | 547 | fileData = Helpers.StringToField(invString.BuildString); |
539 | 548 | ||
540 | // m_log.DebugFormat( | 549 | //m_log.Debug("[PRIM INVENTORY]: RequestInventoryFile fileData: " + Helpers.FieldToUTF8String(fileData)); |
541 | // "[PRIM INVENTORY]: RequestInventoryFile fileData: {0}", Helpers.FieldToUTF8String(fileData)); | ||
542 | 550 | ||
543 | if (fileData.Length > 2) | 551 | if (fileData.Length > 2) |
544 | { | 552 | { |