mirror of
https://github.com/opensim/opensim.git
synced 2026-08-06 01:06:30 +08:00
* Make it possible to store creator strings in user inventory items as well as UUIDs
* All existing functionality should be unaffected. * Database schemas have not been changed.
This commit is contained in:
@@ -1729,7 +1729,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
descend.ItemData[i] = new InventoryDescendentsPacket.ItemDataBlock();
|
||||
descend.ItemData[i].ItemID = item.ID;
|
||||
descend.ItemData[i].AssetID = item.AssetID;
|
||||
descend.ItemData[i].CreatorID = item.Creator;
|
||||
descend.ItemData[i].CreatorID = item.CreatorIdAsUuid;
|
||||
descend.ItemData[i].BaseMask = item.BasePermissions;
|
||||
descend.ItemData[i].Description = LLUtil.StringToPacketBytes(item.Description);
|
||||
descend.ItemData[i].EveryoneMask = item.EveryOnePermissions;
|
||||
@@ -1928,7 +1928,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
inventoryReply.InventoryData[0] = new FetchInventoryReplyPacket.InventoryDataBlock();
|
||||
inventoryReply.InventoryData[0].ItemID = item.ID;
|
||||
inventoryReply.InventoryData[0].AssetID = item.AssetID;
|
||||
inventoryReply.InventoryData[0].CreatorID = item.Creator;
|
||||
inventoryReply.InventoryData[0].CreatorID = item.CreatorIdAsUuid;
|
||||
inventoryReply.InventoryData[0].BaseMask = item.BasePermissions;
|
||||
inventoryReply.InventoryData[0].CreationDate = item.CreationDate;
|
||||
|
||||
@@ -1950,13 +1950,14 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
inventoryReply.InventoryData[0].SaleType = item.SaleType;
|
||||
|
||||
inventoryReply.InventoryData[0].CRC =
|
||||
Helpers.InventoryCRC(1000, 0, inventoryReply.InventoryData[0].InvType,
|
||||
inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID,
|
||||
inventoryReply.InventoryData[0].GroupID, 100,
|
||||
inventoryReply.InventoryData[0].OwnerID, inventoryReply.InventoryData[0].CreatorID,
|
||||
inventoryReply.InventoryData[0].ItemID, inventoryReply.InventoryData[0].FolderID,
|
||||
FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS,
|
||||
FULL_MASK_PERMISSIONS);
|
||||
Helpers.InventoryCRC(
|
||||
1000, 0, inventoryReply.InventoryData[0].InvType,
|
||||
inventoryReply.InventoryData[0].Type, inventoryReply.InventoryData[0].AssetID,
|
||||
inventoryReply.InventoryData[0].GroupID, 100,
|
||||
inventoryReply.InventoryData[0].OwnerID, inventoryReply.InventoryData[0].CreatorID,
|
||||
inventoryReply.InventoryData[0].ItemID, inventoryReply.InventoryData[0].FolderID,
|
||||
FULL_MASK_PERMISSIONS, 1, FULL_MASK_PERMISSIONS, FULL_MASK_PERMISSIONS,
|
||||
FULL_MASK_PERMISSIONS);
|
||||
inventoryReply.Header.Zerocoded = true;
|
||||
OutPacket(inventoryReply, ThrottleOutPacketType.Asset);
|
||||
}
|
||||
@@ -2075,7 +2076,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
|
||||
itemBlock.ItemID = item.ID;
|
||||
itemBlock.AssetID = item.AssetID;
|
||||
itemBlock.CreatorID = item.Creator;
|
||||
itemBlock.CreatorID = item.CreatorIdAsUuid;
|
||||
itemBlock.BaseMask = item.BasePermissions;
|
||||
itemBlock.Description = LLUtil.StringToPacketBytes(item.Description);
|
||||
itemBlock.EveryoneMask = item.EveryOnePermissions;
|
||||
@@ -2138,7 +2139,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
bulkUpdate.ItemData[0] = new BulkUpdateInventoryPacket.ItemDataBlock();
|
||||
bulkUpdate.ItemData[0].ItemID = item.ID;
|
||||
bulkUpdate.ItemData[0].AssetID = item.AssetID;
|
||||
bulkUpdate.ItemData[0].CreatorID = item.Creator;
|
||||
bulkUpdate.ItemData[0].CreatorID = item.CreatorIdAsUuid;
|
||||
bulkUpdate.ItemData[0].BaseMask = item.BasePermissions;
|
||||
bulkUpdate.ItemData[0].CreationDate = item.CreationDate;
|
||||
bulkUpdate.ItemData[0].Description = LLUtil.StringToPacketBytes(item.Description);
|
||||
@@ -2186,7 +2187,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
InventoryReply.InventoryData[0] = new UpdateCreateInventoryItemPacket.InventoryDataBlock();
|
||||
InventoryReply.InventoryData[0].ItemID = Item.ID;
|
||||
InventoryReply.InventoryData[0].AssetID = Item.AssetID;
|
||||
InventoryReply.InventoryData[0].CreatorID = Item.Creator;
|
||||
InventoryReply.InventoryData[0].CreatorID = Item.CreatorIdAsUuid;
|
||||
InventoryReply.InventoryData[0].BaseMask = Item.BasePermissions;
|
||||
InventoryReply.InventoryData[0].Description = LLUtil.StringToPacketBytes(Item.Description);
|
||||
InventoryReply.InventoryData[0].EveryoneMask = Item.EveryOnePermissions;
|
||||
@@ -6746,7 +6747,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
InventoryItemBase item = new InventoryItemBase();
|
||||
item.ID = rezScriptx.InventoryBlock.ItemID;
|
||||
item.Folder = rezScriptx.InventoryBlock.FolderID;
|
||||
item.Creator = rezScriptx.InventoryBlock.CreatorID;
|
||||
item.CreatorId = rezScriptx.InventoryBlock.CreatorID.ToString();
|
||||
item.Owner = rezScriptx.InventoryBlock.OwnerID;
|
||||
item.BasePermissions = rezScriptx.InventoryBlock.BaseMask;
|
||||
item.CurrentPermissions = rezScriptx.InventoryBlock.OwnerMask;
|
||||
|
||||
@@ -211,7 +211,6 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void DoCreateItem(uint callbackID)
|
||||
{
|
||||
m_userTransactions.Manager.MyScene.CommsManager.AssetCache.AddAsset(m_asset);
|
||||
@@ -223,7 +222,7 @@ namespace OpenSim.Region.CoreModules.Agent.AssetTransaction
|
||||
{
|
||||
InventoryItemBase item = new InventoryItemBase();
|
||||
item.Owner = ourClient.AgentId;
|
||||
item.Creator = ourClient.AgentId;
|
||||
item.CreatorId = ourClient.AgentId.ToString();
|
||||
item.ID = UUID.Random();
|
||||
item.AssetID = m_asset.FullID;
|
||||
item.Description = m_description;
|
||||
|
||||
@@ -819,7 +819,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends
|
||||
item.AssetType = (int)AssetType.CallingCard;
|
||||
item.BasePermissions = (uint)PermissionMask.Copy;
|
||||
item.CreationDate = Util.UnixTimeSinceEpoch();
|
||||
item.Creator = creator;
|
||||
item.CreatorId = creator.ToString();
|
||||
item.CurrentPermissions = item.BasePermissions;
|
||||
item.Description = "";
|
||||
item.EveryOnePermissions = (uint)PermissionMask.None;
|
||||
|
||||
@@ -97,7 +97,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||
item.InvType = Convert.ToInt32(reader.ReadString());
|
||||
reader.ReadEndElement();
|
||||
reader.ReadStartElement("CreatorUUID");
|
||||
item.Creator = UUID.Parse(reader.ReadString());
|
||||
item.CreatorId = reader.ReadString();
|
||||
reader.ReadEndElement();
|
||||
reader.ReadStartElement("CreationDate");
|
||||
item.CreationDate = Convert.ToInt32(reader.ReadString());
|
||||
@@ -329,7 +329,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||
// Don't use the item ID that's in the file
|
||||
item.ID = UUID.Random();
|
||||
|
||||
item.Creator = m_userInfo.UserProfile.ID;
|
||||
item.CreatorId = m_userInfo.UserProfile.ID.ToString();
|
||||
item.Owner = m_userInfo.UserProfile.ID;
|
||||
|
||||
// Reset folder ID to the one in which we want to load it
|
||||
|
||||
@@ -140,7 +140,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||
writer.WriteString(inventoryItem.InvType.ToString());
|
||||
writer.WriteEndElement();
|
||||
writer.WriteStartElement("CreatorUUID");
|
||||
writer.WriteString(inventoryItem.Creator.ToString());
|
||||
writer.WriteString(inventoryItem.CreatorId);
|
||||
writer.WriteEndElement();
|
||||
writer.WriteStartElement("CreationDate");
|
||||
writer.WriteString(inventoryItem.CreationDate.ToString());
|
||||
@@ -189,7 +189,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver
|
||||
|
||||
m_archive.WriteFile(filename, sw.ToString());
|
||||
|
||||
UUID creatorId = inventoryItem.Creator;
|
||||
UUID creatorId = inventoryItem.CreatorIdAsUuid;
|
||||
|
||||
// Record the creator of this item
|
||||
m_userUuids[creatorId] = 1;
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.IO;
|
||||
|
||||
@@ -478,7 +478,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
// Insert a copy of the item into the recipient
|
||||
InventoryItemBase itemCopy = new InventoryItemBase();
|
||||
itemCopy.Owner = recipient;
|
||||
itemCopy.Creator = item.Creator;
|
||||
itemCopy.CreatorId = item.CreatorId;
|
||||
itemCopy.ID = UUID.Random();
|
||||
itemCopy.AssetID = item.AssetID;
|
||||
itemCopy.Description = item.Description;
|
||||
@@ -836,7 +836,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
{
|
||||
InventoryItemBase item = new InventoryItemBase();
|
||||
item.Owner = remoteClient.AgentId;
|
||||
item.Creator = remoteClient.AgentId;
|
||||
item.CreatorId = remoteClient.AgentId.ToString();
|
||||
item.ID = UUID.Random();
|
||||
item.AssetID = asset.FullID;
|
||||
item.Description = asset.Description;
|
||||
@@ -1086,7 +1086,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
InventoryItemBase agentItem = new InventoryItemBase();
|
||||
|
||||
agentItem.ID = UUID.Random();
|
||||
agentItem.Creator = taskItem.CreatorID;
|
||||
agentItem.CreatorId = taskItem.CreatorID.ToString();
|
||||
agentItem.Owner = destAgent;
|
||||
agentItem.AssetID = taskItem.AssetID;
|
||||
agentItem.Description = taskItem.Description;
|
||||
@@ -1549,7 +1549,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
taskItem.Type = itemBase.AssetType;
|
||||
taskItem.InvType = itemBase.InvType;
|
||||
taskItem.OwnerID = itemBase.Owner;
|
||||
taskItem.CreatorID = itemBase.Creator;
|
||||
taskItem.CreatorID = itemBase.CreatorIdAsUuid;
|
||||
taskItem.BasePermissions = itemBase.BasePermissions;
|
||||
taskItem.CurrentPermissions = itemBase.CurrentPermissions;
|
||||
taskItem.EveryonePermissions = itemBase.EveryOnePermissions;
|
||||
@@ -1946,12 +1946,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
}
|
||||
|
||||
item = new InventoryItemBase();
|
||||
item.Creator = objectGroup.RootPart.CreatorID;
|
||||
item.CreatorId = objectGroup.RootPart.CreatorID.ToString();
|
||||
item.ID = UUID.Random();
|
||||
item.InvType = (int)InventoryType.Object;
|
||||
item.Folder = folder.ID;
|
||||
item.Owner = userInfo.UserProfile.ID;
|
||||
|
||||
}
|
||||
|
||||
AssetBase asset = CreateAsset(
|
||||
@@ -2115,6 +2114,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
|
||||
CachedUserInfo userInfo =
|
||||
CommsManager.UserProfileCacheService.GetUserDetails(AgentId);
|
||||
|
||||
if (userInfo != null)
|
||||
{
|
||||
AssetBase asset = CreateAsset(
|
||||
@@ -2125,7 +2125,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
CommsManager.AssetCache.AddAsset(asset);
|
||||
|
||||
InventoryItemBase item = new InventoryItemBase();
|
||||
item.Creator = grp.RootPart.CreatorID;
|
||||
item.CreatorId = grp.RootPart.CreatorID.ToString();
|
||||
item.Owner = remoteClient.AgentId;
|
||||
item.ID = UUID.Random();
|
||||
item.AssetID = asset.FullID;
|
||||
|
||||
@@ -3368,7 +3368,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
CommsManager.AssetCache.AddAsset(asset);
|
||||
|
||||
InventoryItemBase item = new InventoryItemBase();
|
||||
item.Creator = part.CreatorID;
|
||||
item.CreatorId = part.CreatorID.ToString();
|
||||
|
||||
item.ID = UUID.Random();
|
||||
item.Owner = remoteClient.AgentId;
|
||||
|
||||
@@ -151,7 +151,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
taskItem.Name = item.Name;
|
||||
taskItem.Description = item.Description;
|
||||
taskItem.OwnerID = part.OwnerID; // Transfer ownership
|
||||
taskItem.CreatorID = item.Creator;
|
||||
taskItem.CreatorID = item.CreatorIdAsUuid;
|
||||
taskItem.Type = item.AssetType;
|
||||
taskItem.InvType = item.InvType;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user