aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
diff options
context:
space:
mode:
authorJustin Clarke Casey2008-04-26 20:31:01 +0000
committerJustin Clarke Casey2008-04-26 20:31:01 +0000
commitaccd89b3f1c7729e6bb34b52e8095baf9c1f440a (patch)
treeeb2b485edb92d5349463ec3626f76e005905bdba /OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs
parent* Ooops, attachments now teleport/cross region borders along with your avatar... (diff)
downloadopensim-SC-accd89b3f1c7729e6bb34b52e8095baf9c1f440a.zip
opensim-SC-accd89b3f1c7729e6bb34b52e8095baf9c1f440a.tar.gz
opensim-SC-accd89b3f1c7729e6bb34b52e8095baf9c1f440a.tar.bz2
opensim-SC-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 '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.Inventory.cs22
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 {