Merge branch 'master' into careminster-presence-refactor
commit
22ff06ba17
|
@ -1702,6 +1702,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
destinationItem.InvType = item.InvType;
|
destinationItem.InvType = item.InvType;
|
||||||
destinationItem.CreatorId = item.CreatorId;
|
destinationItem.CreatorId = item.CreatorId;
|
||||||
destinationItem.CreatorIdAsUuid = item.CreatorIdAsUuid;
|
destinationItem.CreatorIdAsUuid = item.CreatorIdAsUuid;
|
||||||
|
destinationItem.CreatorData = item.CreatorData;
|
||||||
destinationItem.NextPermissions = item.NextPermissions;
|
destinationItem.NextPermissions = item.NextPermissions;
|
||||||
destinationItem.CurrentPermissions = item.CurrentPermissions;
|
destinationItem.CurrentPermissions = item.CurrentPermissions;
|
||||||
destinationItem.BasePermissions = item.BasePermissions;
|
destinationItem.BasePermissions = item.BasePermissions;
|
||||||
|
@ -1754,6 +1755,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
destinationItem.InvType = item.InvType;
|
destinationItem.InvType = item.InvType;
|
||||||
destinationItem.CreatorId = item.CreatorId;
|
destinationItem.CreatorId = item.CreatorId;
|
||||||
destinationItem.CreatorIdAsUuid = item.CreatorIdAsUuid;
|
destinationItem.CreatorIdAsUuid = item.CreatorIdAsUuid;
|
||||||
|
destinationItem.CreatorData = item.CreatorData;
|
||||||
destinationItem.NextPermissions = item.NextPermissions;
|
destinationItem.NextPermissions = item.NextPermissions;
|
||||||
destinationItem.CurrentPermissions = item.CurrentPermissions;
|
destinationItem.CurrentPermissions = item.CurrentPermissions;
|
||||||
destinationItem.BasePermissions = item.BasePermissions;
|
destinationItem.BasePermissions = item.BasePermissions;
|
||||||
|
@ -1861,6 +1863,7 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
destinationItem.InvType = item.InvType;
|
destinationItem.InvType = item.InvType;
|
||||||
destinationItem.CreatorId = item.CreatorId;
|
destinationItem.CreatorId = item.CreatorId;
|
||||||
destinationItem.CreatorIdAsUuid = item.CreatorIdAsUuid;
|
destinationItem.CreatorIdAsUuid = item.CreatorIdAsUuid;
|
||||||
|
destinationItem.CreatorData = item.CreatorData;
|
||||||
destinationItem.NextPermissions = item.NextPermissions;
|
destinationItem.NextPermissions = item.NextPermissions;
|
||||||
destinationItem.CurrentPermissions = item.CurrentPermissions;
|
destinationItem.CurrentPermissions = item.CurrentPermissions;
|
||||||
destinationItem.BasePermissions = item.BasePermissions;
|
destinationItem.BasePermissions = item.BasePermissions;
|
||||||
|
@ -2144,7 +2147,8 @@ namespace OpenSim.ApplicationPlugins.RemoteController
|
||||||
inventoryItem.InvType = GetIntegerAttribute(item,"invtype",-1);
|
inventoryItem.InvType = GetIntegerAttribute(item,"invtype",-1);
|
||||||
inventoryItem.CreatorId = GetStringAttribute(item,"creatorid","");
|
inventoryItem.CreatorId = GetStringAttribute(item,"creatorid","");
|
||||||
inventoryItem.CreatorIdAsUuid = (UUID)GetStringAttribute(item,"creatoruuid","");
|
inventoryItem.CreatorIdAsUuid = (UUID)GetStringAttribute(item,"creatoruuid","");
|
||||||
inventoryItem.NextPermissions = GetUnsignedAttribute(perms,"next",0x7fffffff);
|
inventoryItem.CreatorData = GetStringAttribute(item, "creatordata", "");
|
||||||
|
inventoryItem.NextPermissions = GetUnsignedAttribute(perms, "next", 0x7fffffff);
|
||||||
inventoryItem.CurrentPermissions = GetUnsignedAttribute(perms,"current",0x7fffffff);
|
inventoryItem.CurrentPermissions = GetUnsignedAttribute(perms,"current",0x7fffffff);
|
||||||
inventoryItem.BasePermissions = GetUnsignedAttribute(perms,"base",0x7fffffff);
|
inventoryItem.BasePermissions = GetUnsignedAttribute(perms,"base",0x7fffffff);
|
||||||
inventoryItem.EveryOnePermissions = GetUnsignedAttribute(perms,"everyone",0x7fffffff);
|
inventoryItem.EveryOnePermissions = GetUnsignedAttribute(perms,"everyone",0x7fffffff);
|
||||||
|
|
|
@ -1295,6 +1295,7 @@ namespace OpenSim.ApplicationPlugins.Rest.Inventory
|
||||||
rdata.writer.WriteAttributeString("folder", String.Empty, i.Folder.ToString());
|
rdata.writer.WriteAttributeString("folder", String.Empty, i.Folder.ToString());
|
||||||
rdata.writer.WriteAttributeString("owner", String.Empty, i.Owner.ToString());
|
rdata.writer.WriteAttributeString("owner", String.Empty, i.Owner.ToString());
|
||||||
rdata.writer.WriteAttributeString("creator", String.Empty, i.CreatorId);
|
rdata.writer.WriteAttributeString("creator", String.Empty, i.CreatorId);
|
||||||
|
rdata.writer.WriteAttributeString("creatordata", String.Empty, i.CreatorData);
|
||||||
rdata.writer.WriteAttributeString("creationdate", String.Empty, i.CreationDate.ToString());
|
rdata.writer.WriteAttributeString("creationdate", String.Empty, i.CreationDate.ToString());
|
||||||
rdata.writer.WriteAttributeString("invtype", String.Empty, i.InvType.ToString());
|
rdata.writer.WriteAttributeString("invtype", String.Empty, i.InvType.ToString());
|
||||||
rdata.writer.WriteAttributeString("assettype", String.Empty, i.AssetType.ToString());
|
rdata.writer.WriteAttributeString("assettype", String.Empty, i.AssetType.ToString());
|
||||||
|
|
|
@ -1090,7 +1090,7 @@ namespace OpenSim.Data.MySQL
|
||||||
|
|
||||||
// depending on the MySQL connector version, CHAR(36) may be already converted to Guid!
|
// depending on the MySQL connector version, CHAR(36) may be already converted to Guid!
|
||||||
prim.UUID = DBGuid.FromDB(row["UUID"]);
|
prim.UUID = DBGuid.FromDB(row["UUID"]);
|
||||||
prim.CreatorID = DBGuid.FromDB(row["CreatorID"]);
|
prim.CreatorIdentification = (string)row["CreatorID"];
|
||||||
prim.OwnerID = DBGuid.FromDB(row["OwnerID"]);
|
prim.OwnerID = DBGuid.FromDB(row["OwnerID"]);
|
||||||
prim.GroupID = DBGuid.FromDB(row["GroupID"]);
|
prim.GroupID = DBGuid.FromDB(row["GroupID"]);
|
||||||
prim.LastOwnerID = DBGuid.FromDB(row["LastOwnerID"]);
|
prim.LastOwnerID = DBGuid.FromDB(row["LastOwnerID"]);
|
||||||
|
@ -1243,7 +1243,7 @@ namespace OpenSim.Data.MySQL
|
||||||
taskItem.Name = (String)row["name"];
|
taskItem.Name = (String)row["name"];
|
||||||
taskItem.Description = (String)row["description"];
|
taskItem.Description = (String)row["description"];
|
||||||
taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]);
|
taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]);
|
||||||
taskItem.CreatorID = DBGuid.FromDB(row["creatorID"]);
|
taskItem.CreatorIdentification = (String)row["creatorID"];
|
||||||
taskItem.OwnerID = DBGuid.FromDB(row["ownerID"]);
|
taskItem.OwnerID = DBGuid.FromDB(row["ownerID"]);
|
||||||
taskItem.LastOwnerID = DBGuid.FromDB(row["lastOwnerID"]);
|
taskItem.LastOwnerID = DBGuid.FromDB(row["lastOwnerID"]);
|
||||||
taskItem.GroupID = DBGuid.FromDB(row["groupID"]);
|
taskItem.GroupID = DBGuid.FromDB(row["groupID"]);
|
||||||
|
@ -1453,7 +1453,7 @@ namespace OpenSim.Data.MySQL
|
||||||
cmd.Parameters.AddWithValue("TouchName", prim.TouchName);
|
cmd.Parameters.AddWithValue("TouchName", prim.TouchName);
|
||||||
// permissions
|
// permissions
|
||||||
cmd.Parameters.AddWithValue("ObjectFlags", (uint)prim.Flags);
|
cmd.Parameters.AddWithValue("ObjectFlags", (uint)prim.Flags);
|
||||||
cmd.Parameters.AddWithValue("CreatorID", prim.CreatorID.ToString());
|
cmd.Parameters.AddWithValue("CreatorID", prim.CreatorIdentification.ToString());
|
||||||
cmd.Parameters.AddWithValue("OwnerID", prim.OwnerID.ToString());
|
cmd.Parameters.AddWithValue("OwnerID", prim.OwnerID.ToString());
|
||||||
cmd.Parameters.AddWithValue("GroupID", prim.GroupID.ToString());
|
cmd.Parameters.AddWithValue("GroupID", prim.GroupID.ToString());
|
||||||
cmd.Parameters.AddWithValue("LastOwnerID", prim.LastOwnerID.ToString());
|
cmd.Parameters.AddWithValue("LastOwnerID", prim.LastOwnerID.ToString());
|
||||||
|
@ -1583,7 +1583,7 @@ namespace OpenSim.Data.MySQL
|
||||||
cmd.Parameters.AddWithValue("name", taskItem.Name);
|
cmd.Parameters.AddWithValue("name", taskItem.Name);
|
||||||
cmd.Parameters.AddWithValue("description", taskItem.Description);
|
cmd.Parameters.AddWithValue("description", taskItem.Description);
|
||||||
cmd.Parameters.AddWithValue("creationDate", taskItem.CreationDate);
|
cmd.Parameters.AddWithValue("creationDate", taskItem.CreationDate);
|
||||||
cmd.Parameters.AddWithValue("creatorID", taskItem.CreatorID);
|
cmd.Parameters.AddWithValue("creatorID", taskItem.CreatorIdentification);
|
||||||
cmd.Parameters.AddWithValue("ownerID", taskItem.OwnerID);
|
cmd.Parameters.AddWithValue("ownerID", taskItem.OwnerID);
|
||||||
cmd.Parameters.AddWithValue("lastOwnerID", taskItem.LastOwnerID);
|
cmd.Parameters.AddWithValue("lastOwnerID", taskItem.LastOwnerID);
|
||||||
cmd.Parameters.AddWithValue("groupID", taskItem.GroupID);
|
cmd.Parameters.AddWithValue("groupID", taskItem.GroupID);
|
||||||
|
|
|
@ -99,3 +99,11 @@ BEGIN;
|
||||||
alter table inventoryitems modify column creatorID varchar(128) not NULL default '00000000-0000-0000-0000-000000000000';
|
alter table inventoryitems modify column creatorID varchar(128) not NULL default '00000000-0000-0000-0000-000000000000';
|
||||||
|
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
|
:VERSION 6 # ------------
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
alter table inventoryitems modify column creatorID varchar(255) not NULL default '00000000-0000-0000-0000-000000000000';
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
|
@ -817,3 +817,12 @@ ALTER TABLE `land` ADD COLUMN `MediaLoop` BOOLEAN NOT NULL DEFAULT FALSE;
|
||||||
ALTER TABLE `land` ADD COLUMN `ObscureMusic` BOOLEAN NOT NULL DEFAULT FALSE;
|
ALTER TABLE `land` ADD COLUMN `ObscureMusic` BOOLEAN NOT NULL DEFAULT FALSE;
|
||||||
ALTER TABLE `land` ADD COLUMN `ObscureMedia` BOOLEAN NOT NULL DEFAULT FALSE;
|
ALTER TABLE `land` ADD COLUMN `ObscureMedia` BOOLEAN NOT NULL DEFAULT FALSE;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
|
|
||||||
|
:VERSION 37 #---------------------
|
||||||
|
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
ALTER TABLE `prims` MODIFY COLUMN `CreatorID` VARCHAR(255) NOT NULL DEFAULT '';
|
||||||
|
ALTER TABLE `primitems` MODIFY COLUMN `CreatorID` VARCHAR(255) NOT NULL DEFAULT '';
|
||||||
|
|
||||||
|
COMMIT;
|
||||||
|
|
|
@ -156,7 +156,7 @@ namespace OpenSim.Data.SQLite
|
||||||
item.InvType = Convert.ToInt32(row["invType"]);
|
item.InvType = Convert.ToInt32(row["invType"]);
|
||||||
item.Folder = new UUID((string) row["parentFolderID"]);
|
item.Folder = new UUID((string) row["parentFolderID"]);
|
||||||
item.Owner = new UUID((string) row["avatarID"]);
|
item.Owner = new UUID((string) row["avatarID"]);
|
||||||
item.CreatorId = (string)row["creatorsID"];
|
item.CreatorIdentification = (string)row["creatorsID"];
|
||||||
item.Name = (string) row["inventoryName"];
|
item.Name = (string) row["inventoryName"];
|
||||||
item.Description = (string) row["inventoryDescription"];
|
item.Description = (string) row["inventoryDescription"];
|
||||||
|
|
||||||
|
@ -201,7 +201,7 @@ namespace OpenSim.Data.SQLite
|
||||||
row["invType"] = item.InvType;
|
row["invType"] = item.InvType;
|
||||||
row["parentFolderID"] = item.Folder.ToString();
|
row["parentFolderID"] = item.Folder.ToString();
|
||||||
row["avatarID"] = item.Owner.ToString();
|
row["avatarID"] = item.Owner.ToString();
|
||||||
row["creatorsID"] = item.CreatorId.ToString();
|
row["creatorsID"] = item.CreatorIdentification.ToString();
|
||||||
row["inventoryName"] = item.Name;
|
row["inventoryName"] = item.Name;
|
||||||
row["inventoryDescription"] = item.Description;
|
row["inventoryDescription"] = item.Description;
|
||||||
|
|
||||||
|
|
|
@ -1243,7 +1243,7 @@ namespace OpenSim.Data.SQLite
|
||||||
prim.TouchName = (String) row["TouchName"];
|
prim.TouchName = (String) row["TouchName"];
|
||||||
// permissions
|
// permissions
|
||||||
prim.ObjectFlags = Convert.ToUInt32(row["ObjectFlags"]);
|
prim.ObjectFlags = Convert.ToUInt32(row["ObjectFlags"]);
|
||||||
prim.CreatorID = new UUID((String) row["CreatorID"]);
|
prim.CreatorIdentification = (String) row["CreatorID"];
|
||||||
prim.OwnerID = new UUID((String) row["OwnerID"]);
|
prim.OwnerID = new UUID((String) row["OwnerID"]);
|
||||||
prim.GroupID = new UUID((String) row["GroupID"]);
|
prim.GroupID = new UUID((String) row["GroupID"]);
|
||||||
prim.LastOwnerID = new UUID((String) row["LastOwnerID"]);
|
prim.LastOwnerID = new UUID((String) row["LastOwnerID"]);
|
||||||
|
@ -1385,7 +1385,7 @@ namespace OpenSim.Data.SQLite
|
||||||
taskItem.Name = (String)row["name"];
|
taskItem.Name = (String)row["name"];
|
||||||
taskItem.Description = (String)row["description"];
|
taskItem.Description = (String)row["description"];
|
||||||
taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]);
|
taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]);
|
||||||
taskItem.CreatorID = new UUID((String)row["creatorID"]);
|
taskItem.CreatorIdentification = (String)row["creatorID"];
|
||||||
taskItem.OwnerID = new UUID((String)row["ownerID"]);
|
taskItem.OwnerID = new UUID((String)row["ownerID"]);
|
||||||
taskItem.LastOwnerID = new UUID((String)row["lastOwnerID"]);
|
taskItem.LastOwnerID = new UUID((String)row["lastOwnerID"]);
|
||||||
taskItem.GroupID = new UUID((String)row["groupID"]);
|
taskItem.GroupID = new UUID((String)row["groupID"]);
|
||||||
|
@ -1583,7 +1583,7 @@ namespace OpenSim.Data.SQLite
|
||||||
row["TouchName"] = prim.TouchName;
|
row["TouchName"] = prim.TouchName;
|
||||||
// permissions
|
// permissions
|
||||||
row["ObjectFlags"] = prim.ObjectFlags;
|
row["ObjectFlags"] = prim.ObjectFlags;
|
||||||
row["CreatorID"] = prim.CreatorID.ToString();
|
row["CreatorID"] = prim.CreatorIdentification.ToString();
|
||||||
row["OwnerID"] = prim.OwnerID.ToString();
|
row["OwnerID"] = prim.OwnerID.ToString();
|
||||||
row["GroupID"] = prim.GroupID.ToString();
|
row["GroupID"] = prim.GroupID.ToString();
|
||||||
row["LastOwnerID"] = prim.LastOwnerID.ToString();
|
row["LastOwnerID"] = prim.LastOwnerID.ToString();
|
||||||
|
@ -1716,7 +1716,7 @@ namespace OpenSim.Data.SQLite
|
||||||
row["name"] = taskItem.Name;
|
row["name"] = taskItem.Name;
|
||||||
row["description"] = taskItem.Description;
|
row["description"] = taskItem.Description;
|
||||||
row["creationDate"] = taskItem.CreationDate;
|
row["creationDate"] = taskItem.CreationDate;
|
||||||
row["creatorID"] = taskItem.CreatorID.ToString();
|
row["creatorID"] = taskItem.CreatorIdentification.ToString();
|
||||||
row["ownerID"] = taskItem.OwnerID.ToString();
|
row["ownerID"] = taskItem.OwnerID.ToString();
|
||||||
row["lastOwnerID"] = taskItem.LastOwnerID.ToString();
|
row["lastOwnerID"] = taskItem.LastOwnerID.ToString();
|
||||||
row["groupID"] = taskItem.GroupID.ToString();
|
row["groupID"] = taskItem.GroupID.ToString();
|
||||||
|
|
|
@ -150,7 +150,7 @@ namespace OpenSim.Data.SQLiteLegacy
|
||||||
item.InvType = Convert.ToInt32(row["invType"]);
|
item.InvType = Convert.ToInt32(row["invType"]);
|
||||||
item.Folder = new UUID((string) row["parentFolderID"]);
|
item.Folder = new UUID((string) row["parentFolderID"]);
|
||||||
item.Owner = new UUID((string) row["avatarID"]);
|
item.Owner = new UUID((string) row["avatarID"]);
|
||||||
item.CreatorId = (string)row["creatorsID"];
|
item.CreatorIdentification = (string)row["creatorsID"];
|
||||||
item.Name = (string) row["inventoryName"];
|
item.Name = (string) row["inventoryName"];
|
||||||
item.Description = (string) row["inventoryDescription"];
|
item.Description = (string) row["inventoryDescription"];
|
||||||
|
|
||||||
|
@ -195,7 +195,7 @@ namespace OpenSim.Data.SQLiteLegacy
|
||||||
row["invType"] = item.InvType;
|
row["invType"] = item.InvType;
|
||||||
row["parentFolderID"] = item.Folder.ToString();
|
row["parentFolderID"] = item.Folder.ToString();
|
||||||
row["avatarID"] = item.Owner.ToString();
|
row["avatarID"] = item.Owner.ToString();
|
||||||
row["creatorsID"] = item.CreatorId.ToString();
|
row["creatorsID"] = item.CreatorIdentification.ToString();
|
||||||
row["inventoryName"] = item.Name;
|
row["inventoryName"] = item.Name;
|
||||||
row["inventoryDescription"] = item.Description;
|
row["inventoryDescription"] = item.Description;
|
||||||
|
|
||||||
|
|
|
@ -1198,7 +1198,7 @@ namespace OpenSim.Data.SQLiteLegacy
|
||||||
prim.TouchName = (String) row["TouchName"];
|
prim.TouchName = (String) row["TouchName"];
|
||||||
// permissions
|
// permissions
|
||||||
prim.Flags = (PrimFlags)Convert.ToUInt32(row["ObjectFlags"]);
|
prim.Flags = (PrimFlags)Convert.ToUInt32(row["ObjectFlags"]);
|
||||||
prim.CreatorID = new UUID((String) row["CreatorID"]);
|
prim.CreatorIdentification = (String) row["CreatorID"];
|
||||||
prim.OwnerID = new UUID((String) row["OwnerID"]);
|
prim.OwnerID = new UUID((String) row["OwnerID"]);
|
||||||
prim.GroupID = new UUID((String) row["GroupID"]);
|
prim.GroupID = new UUID((String) row["GroupID"]);
|
||||||
prim.LastOwnerID = new UUID((String) row["LastOwnerID"]);
|
prim.LastOwnerID = new UUID((String) row["LastOwnerID"]);
|
||||||
|
@ -1334,7 +1334,7 @@ namespace OpenSim.Data.SQLiteLegacy
|
||||||
taskItem.Name = (String)row["name"];
|
taskItem.Name = (String)row["name"];
|
||||||
taskItem.Description = (String)row["description"];
|
taskItem.Description = (String)row["description"];
|
||||||
taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]);
|
taskItem.CreationDate = Convert.ToUInt32(row["creationDate"]);
|
||||||
taskItem.CreatorID = new UUID((String)row["creatorID"]);
|
taskItem.CreatorIdentification = (String)row["creatorID"];
|
||||||
taskItem.OwnerID = new UUID((String)row["ownerID"]);
|
taskItem.OwnerID = new UUID((String)row["ownerID"]);
|
||||||
taskItem.LastOwnerID = new UUID((String)row["lastOwnerID"]);
|
taskItem.LastOwnerID = new UUID((String)row["lastOwnerID"]);
|
||||||
taskItem.GroupID = new UUID((String)row["groupID"]);
|
taskItem.GroupID = new UUID((String)row["groupID"]);
|
||||||
|
@ -1531,7 +1531,7 @@ namespace OpenSim.Data.SQLiteLegacy
|
||||||
row["TouchName"] = prim.TouchName;
|
row["TouchName"] = prim.TouchName;
|
||||||
// permissions
|
// permissions
|
||||||
row["ObjectFlags"] = (uint)prim.Flags;
|
row["ObjectFlags"] = (uint)prim.Flags;
|
||||||
row["CreatorID"] = prim.CreatorID.ToString();
|
row["CreatorID"] = prim.CreatorIdentification.ToString();
|
||||||
row["OwnerID"] = prim.OwnerID.ToString();
|
row["OwnerID"] = prim.OwnerID.ToString();
|
||||||
row["GroupID"] = prim.GroupID.ToString();
|
row["GroupID"] = prim.GroupID.ToString();
|
||||||
row["LastOwnerID"] = prim.LastOwnerID.ToString();
|
row["LastOwnerID"] = prim.LastOwnerID.ToString();
|
||||||
|
@ -1664,7 +1664,7 @@ namespace OpenSim.Data.SQLiteLegacy
|
||||||
row["name"] = taskItem.Name;
|
row["name"] = taskItem.Name;
|
||||||
row["description"] = taskItem.Description;
|
row["description"] = taskItem.Description;
|
||||||
row["creationDate"] = taskItem.CreationDate;
|
row["creationDate"] = taskItem.CreationDate;
|
||||||
row["creatorID"] = taskItem.CreatorID.ToString();
|
row["creatorID"] = taskItem.CreatorIdentification.ToString();
|
||||||
row["ownerID"] = taskItem.OwnerID.ToString();
|
row["ownerID"] = taskItem.OwnerID.ToString();
|
||||||
row["lastOwnerID"] = taskItem.LastOwnerID.ToString();
|
row["lastOwnerID"] = taskItem.LastOwnerID.ToString();
|
||||||
row["groupID"] = taskItem.GroupID.ToString();
|
row["groupID"] = taskItem.GroupID.ToString();
|
||||||
|
|
|
@ -117,6 +117,56 @@ namespace OpenSim.Framework
|
||||||
}
|
}
|
||||||
protected UUID m_creatorIdAsUuid = UUID.Zero;
|
protected UUID m_creatorIdAsUuid = UUID.Zero;
|
||||||
|
|
||||||
|
protected string m_creatorData;
|
||||||
|
public string CreatorData // = <profile url>;<name>
|
||||||
|
{
|
||||||
|
get { return m_creatorData; }
|
||||||
|
set { m_creatorData = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Used by the DB layer to retrieve / store the entire user identification.
|
||||||
|
/// The identification can either be a simple UUID or a string of the form
|
||||||
|
/// uuid[;profile_url[;name]]
|
||||||
|
/// </summary>
|
||||||
|
public string CreatorIdentification
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_creatorData != null && m_creatorData != string.Empty)
|
||||||
|
return m_creatorId + ';' + m_creatorData;
|
||||||
|
else
|
||||||
|
return m_creatorId;
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if ((value == null) || (value != null && value == string.Empty))
|
||||||
|
{
|
||||||
|
m_creatorData = string.Empty;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!value.Contains(";")) // plain UUID
|
||||||
|
{
|
||||||
|
m_creatorId = value;
|
||||||
|
}
|
||||||
|
else // <uuid>[;<endpoint>[;name]]
|
||||||
|
{
|
||||||
|
string name = "Unknown User";
|
||||||
|
string[] parts = value.Split(';');
|
||||||
|
if (parts.Length >= 1)
|
||||||
|
m_creatorId = parts[0];
|
||||||
|
if (parts.Length >= 2)
|
||||||
|
m_creatorData = parts[1];
|
||||||
|
if (parts.Length >= 3)
|
||||||
|
name = parts[2];
|
||||||
|
|
||||||
|
m_creatorData += ';' + name;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <value>
|
/// <value>
|
||||||
/// The description of the inventory item (must be less than 64 characters)
|
/// The description of the inventory item (must be less than 64 characters)
|
||||||
/// </value>
|
/// </value>
|
||||||
|
|
|
@ -102,6 +102,7 @@ namespace OpenSim.Framework
|
||||||
private uint _baseMask = FULL_MASK_PERMISSIONS_GENERAL;
|
private uint _baseMask = FULL_MASK_PERMISSIONS_GENERAL;
|
||||||
private uint _creationDate = 0;
|
private uint _creationDate = 0;
|
||||||
private UUID _creatorID = UUID.Zero;
|
private UUID _creatorID = UUID.Zero;
|
||||||
|
private string _creatorData = String.Empty;
|
||||||
private string _description = String.Empty;
|
private string _description = String.Empty;
|
||||||
private uint _everyoneMask = FULL_MASK_PERMISSIONS_GENERAL;
|
private uint _everyoneMask = FULL_MASK_PERMISSIONS_GENERAL;
|
||||||
private uint _flags = 0;
|
private uint _flags = 0;
|
||||||
|
@ -160,6 +161,61 @@ namespace OpenSim.Framework
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string CreatorData // = <profile url>;<name>
|
||||||
|
{
|
||||||
|
get { return _creatorData; }
|
||||||
|
set { _creatorData = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Used by the DB layer to retrieve / store the entire user identification.
|
||||||
|
/// The identification can either be a simple UUID or a string of the form
|
||||||
|
/// uuid[;profile_url[;name]]
|
||||||
|
/// </summary>
|
||||||
|
public string CreatorIdentification
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (_creatorData != null && _creatorData != string.Empty)
|
||||||
|
return _creatorID.ToString() + ';' + _creatorData;
|
||||||
|
else
|
||||||
|
return _creatorID.ToString();
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if ((value == null) || (value != null && value == string.Empty))
|
||||||
|
{
|
||||||
|
_creatorData = string.Empty;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!value.Contains(";")) // plain UUID
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.Zero;
|
||||||
|
UUID.TryParse(value, out uuid);
|
||||||
|
_creatorID = uuid;
|
||||||
|
}
|
||||||
|
else // <uuid>[;<endpoint>[;name]]
|
||||||
|
{
|
||||||
|
string name = "Unknown User";
|
||||||
|
string[] parts = value.Split(';');
|
||||||
|
if (parts.Length >= 1)
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.Zero;
|
||||||
|
UUID.TryParse(parts[0], out uuid);
|
||||||
|
_creatorID = uuid;
|
||||||
|
}
|
||||||
|
if (parts.Length >= 2)
|
||||||
|
_creatorData = parts[1];
|
||||||
|
if (parts.Length >= 3)
|
||||||
|
name = parts[2];
|
||||||
|
|
||||||
|
_creatorData += ';' + name;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public string Description {
|
public string Description {
|
||||||
get {
|
get {
|
||||||
return _description;
|
return _description;
|
||||||
|
|
|
@ -265,9 +265,10 @@ namespace OpenSim
|
||||||
LoadOar);
|
LoadOar);
|
||||||
|
|
||||||
m_console.Commands.AddCommand("region", false, "save oar",
|
m_console.Commands.AddCommand("region", false, "save oar",
|
||||||
"save oar [-v|--version=N] [<OAR path>]",
|
"save oar [-v|--version=N] [-p|--profile=url] [<OAR path>]",
|
||||||
"Save a region's data to an OAR archive.",
|
"Save a region's data to an OAR archive.",
|
||||||
"-v|--version=N generates scene objects as per older versions of the serialization (e.g. -v=0)" + Environment.NewLine
|
"-v|--version=N generates scene objects as per older versions of the serialization (e.g. -v=0)" + Environment.NewLine
|
||||||
|
+ "-p|--profile=url adds the url of the profile service to the saved user information" + Environment.NewLine
|
||||||
+ "The OAR path must be a filesystem path."
|
+ "The OAR path must be a filesystem path."
|
||||||
+ " If this is not given then the oar is saved to region.oar in the current directory.",
|
+ " If this is not given then the oar is saved to region.oar in the current directory.",
|
||||||
SaveOar);
|
SaveOar);
|
||||||
|
|
|
@ -115,10 +115,16 @@ namespace OpenSim.Region.CoreModules.Avatar.Combat.CombatModule
|
||||||
// Try to find the avatar wielding the killing object
|
// Try to find the avatar wielding the killing object
|
||||||
killingAvatar = deadAvatar.Scene.GetScenePresence(part.OwnerID);
|
killingAvatar = deadAvatar.Scene.GetScenePresence(part.OwnerID);
|
||||||
if (killingAvatar == null)
|
if (killingAvatar == null)
|
||||||
deadAvatarMessage = String.Format("You impaled yourself on {0} owned by {1}!", part.Name, deadAvatar.Scene.GetUserName(part.OwnerID));
|
{
|
||||||
|
IUserManagement userManager = deadAvatar.Scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
string userName = "Unkown User";
|
||||||
|
if (userManager != null)
|
||||||
|
userName = userManager.GetUserName(part.OwnerID);
|
||||||
|
deadAvatarMessage = String.Format("You impaled yourself on {0} owned by {1}!", part.Name, userName);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// killingAvatarMessage = String.Format("You fragged {0}!", deadAvatar.Name);
|
// killingAvatarMessage = String.Format("You fragged {0}!", deadAvatar.Name);
|
||||||
deadAvatarMessage = String.Format("You got killed by {0}!", killingAvatar.Name);
|
deadAvatarMessage = String.Format("You got killed by {0}!", killingAvatar.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,310 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) Contributors, http://opensimulator.org/
|
||||||
|
* See CONTRIBUTORS.TXT for a full list of copyright holders.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
* * Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* * Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* * Neither the name of the OpenSimulator Project nor the
|
||||||
|
* names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
|
||||||
|
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
* (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.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
using OpenSim.Framework;
|
||||||
|
|
||||||
|
using OpenSim.Region.Framework;
|
||||||
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
using OpenSim.Services.Interfaces;
|
||||||
|
|
||||||
|
using OpenMetaverse;
|
||||||
|
using log4net;
|
||||||
|
using Nini.Config;
|
||||||
|
|
||||||
|
namespace OpenSim.Region.CoreModules.Framework.UserManagement
|
||||||
|
{
|
||||||
|
struct UserData
|
||||||
|
{
|
||||||
|
public UUID Id;
|
||||||
|
public string FirstName;
|
||||||
|
public string LastName;
|
||||||
|
public string ProfileURL;
|
||||||
|
}
|
||||||
|
|
||||||
|
public class UserManagementModule : ISharedRegionModule, IUserManagement
|
||||||
|
{
|
||||||
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
private List<Scene> m_Scenes = new List<Scene>();
|
||||||
|
|
||||||
|
// The cache
|
||||||
|
Dictionary<UUID, UserData> m_UserCache = new Dictionary<UUID, UserData>();
|
||||||
|
|
||||||
|
#region ISharedRegionModule
|
||||||
|
|
||||||
|
public void Initialise(IConfigSource config)
|
||||||
|
{
|
||||||
|
//m_Enabled = config.Configs["Modules"].GetBoolean("LibraryModule", m_Enabled);
|
||||||
|
//if (m_Enabled)
|
||||||
|
//{
|
||||||
|
// IConfig libConfig = config.Configs["LibraryService"];
|
||||||
|
// if (libConfig != null)
|
||||||
|
// {
|
||||||
|
// string dllName = libConfig.GetString("LocalServiceModule", string.Empty);
|
||||||
|
// m_log.Debug("[LIBRARY MODULE]: Library service dll is " + dllName);
|
||||||
|
// if (dllName != string.Empty)
|
||||||
|
// {
|
||||||
|
// Object[] args = new Object[] { config };
|
||||||
|
// m_Library = ServerUtils.LoadPlugin<ILibraryService>(dllName, args);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool IsSharedModule
|
||||||
|
{
|
||||||
|
get { return true; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public string Name
|
||||||
|
{
|
||||||
|
get { return "UserManagement Module"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public Type ReplaceableInterface
|
||||||
|
{
|
||||||
|
get { return null; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddRegion(Scene scene)
|
||||||
|
{
|
||||||
|
m_Scenes.Add(scene);
|
||||||
|
|
||||||
|
scene.RegisterModuleInterface<IUserManagement>(this);
|
||||||
|
scene.EventManager.OnNewClient += new EventManager.OnNewClientDelegate(EventManager_OnNewClient);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RemoveRegion(Scene scene)
|
||||||
|
{
|
||||||
|
scene.UnregisterModuleInterface<IUserManagement>(this);
|
||||||
|
m_Scenes.Remove(scene);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RegionLoaded(Scene scene)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
public void PostInitialise()
|
||||||
|
{
|
||||||
|
foreach (Scene s in m_Scenes)
|
||||||
|
{
|
||||||
|
// let's sniff all the user names referenced by objects in the scene
|
||||||
|
m_log.DebugFormat("[USER MANAGEMENT MODULE]: Caching creators' data from {0} ({1} objects)...", s.RegionInfo.RegionName, s.GetEntities().Length);
|
||||||
|
s.ForEachSOG(delegate(SceneObjectGroup sog) { CacheCreators(sog); });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Close()
|
||||||
|
{
|
||||||
|
m_Scenes.Clear();
|
||||||
|
m_UserCache.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion ISharedRegionModule
|
||||||
|
|
||||||
|
|
||||||
|
#region Event Handlers
|
||||||
|
|
||||||
|
void EventManager_OnNewClient(IClientAPI client)
|
||||||
|
{
|
||||||
|
client.OnNameFromUUIDRequest += new UUIDNameRequest(HandleUUIDNameRequest);
|
||||||
|
}
|
||||||
|
|
||||||
|
void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
|
||||||
|
{
|
||||||
|
if (m_Scenes[0].LibraryService != null && (m_Scenes[0].LibraryService.LibraryRootFolder.Owner == uuid))
|
||||||
|
{
|
||||||
|
remote_client.SendNameReply(uuid, "Mr", "OpenSim");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string[] names = GetUserNames(uuid);
|
||||||
|
if (names.Length == 2)
|
||||||
|
{
|
||||||
|
remote_client.SendNameReply(uuid, names[0], names[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion Event Handlers
|
||||||
|
|
||||||
|
private void CacheCreators(SceneObjectGroup sog)
|
||||||
|
{
|
||||||
|
//m_log.DebugFormat("[USER MANAGEMENT MODULE]: processing {0} {1}; {2}", sog.RootPart.Name, sog.RootPart.CreatorData, sog.RootPart.CreatorIdentification);
|
||||||
|
AddUser(sog.RootPart.CreatorID, sog.RootPart.CreatorData);
|
||||||
|
|
||||||
|
foreach (SceneObjectPart sop in sog.Parts)
|
||||||
|
{
|
||||||
|
AddUser(sop.CreatorID, sop.CreatorData);
|
||||||
|
foreach (TaskInventoryItem item in sop.TaskInventory.Values)
|
||||||
|
AddUser(item.CreatorID, item.CreatorData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private string[] GetUserNames(UUID uuid)
|
||||||
|
{
|
||||||
|
string[] returnstring = new string[2];
|
||||||
|
|
||||||
|
if (m_UserCache.ContainsKey(uuid))
|
||||||
|
{
|
||||||
|
returnstring[0] = m_UserCache[uuid].FirstName;
|
||||||
|
returnstring[1] = m_UserCache[uuid].LastName;
|
||||||
|
return returnstring;
|
||||||
|
}
|
||||||
|
|
||||||
|
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, uuid);
|
||||||
|
|
||||||
|
if (account != null)
|
||||||
|
{
|
||||||
|
returnstring[0] = account.FirstName;
|
||||||
|
returnstring[1] = account.LastName;
|
||||||
|
|
||||||
|
UserData user = new UserData();
|
||||||
|
user.FirstName = account.FirstName;
|
||||||
|
user.LastName = account.LastName;
|
||||||
|
|
||||||
|
lock (m_UserCache)
|
||||||
|
m_UserCache[uuid] = user;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
returnstring[0] = "Unknown";
|
||||||
|
returnstring[1] = "User";
|
||||||
|
}
|
||||||
|
|
||||||
|
return returnstring;
|
||||||
|
}
|
||||||
|
|
||||||
|
#region IUserManagement
|
||||||
|
|
||||||
|
public string GetUserName(UUID uuid)
|
||||||
|
{
|
||||||
|
string[] names = GetUserNames(uuid);
|
||||||
|
if (names.Length == 2)
|
||||||
|
{
|
||||||
|
string firstname = names[0];
|
||||||
|
string lastname = names[1];
|
||||||
|
|
||||||
|
return firstname + " " + lastname;
|
||||||
|
|
||||||
|
}
|
||||||
|
return "(hippos)";
|
||||||
|
}
|
||||||
|
|
||||||
|
public void AddUser(UUID id, string creatorData)
|
||||||
|
{
|
||||||
|
if (m_UserCache.ContainsKey(id))
|
||||||
|
return;
|
||||||
|
|
||||||
|
UserData user = new UserData();
|
||||||
|
user.Id = id;
|
||||||
|
|
||||||
|
UserAccount account = m_Scenes[0].UserAccountService.GetUserAccount(m_Scenes[0].RegionInfo.ScopeID, id);
|
||||||
|
|
||||||
|
if (account != null)
|
||||||
|
{
|
||||||
|
user.FirstName = account.FirstName;
|
||||||
|
user.LastName = account.LastName;
|
||||||
|
// user.ProfileURL = we should initialize this to the default
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (creatorData != null && creatorData != string.Empty)
|
||||||
|
{
|
||||||
|
//creatorData = <endpoint>;<name>
|
||||||
|
|
||||||
|
string[] parts = creatorData.Split(';');
|
||||||
|
if (parts.Length >= 1)
|
||||||
|
{
|
||||||
|
user.ProfileURL = parts[0];
|
||||||
|
try
|
||||||
|
{
|
||||||
|
Uri uri = new Uri(parts[0]);
|
||||||
|
user.LastName = "@" + uri.Authority;
|
||||||
|
}
|
||||||
|
catch
|
||||||
|
{
|
||||||
|
m_log.DebugFormat("[SCENE]: Unable to parse Uri {0}", parts[0]);
|
||||||
|
user.LastName = "@unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (parts.Length >= 2)
|
||||||
|
user.FirstName = parts[1].Replace(' ', '.');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
user.FirstName = "Unknown";
|
||||||
|
user.LastName = "User";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
lock (m_UserCache)
|
||||||
|
m_UserCache[id] = user;
|
||||||
|
|
||||||
|
m_log.DebugFormat("[USER MANAGEMENT MODULE]: Added user {0} {1} {2} {3}", user.Id, user.FirstName, user.LastName, user.ProfileURL);
|
||||||
|
}
|
||||||
|
|
||||||
|
//public void AddUser(UUID uuid, string userData)
|
||||||
|
//{
|
||||||
|
// if (m_UserCache.ContainsKey(uuid))
|
||||||
|
// return;
|
||||||
|
|
||||||
|
// UserData user = new UserData();
|
||||||
|
// user.Id = uuid;
|
||||||
|
|
||||||
|
// // userData = <profile url>;<name>
|
||||||
|
// string[] parts = userData.Split(';');
|
||||||
|
// if (parts.Length >= 1)
|
||||||
|
// user.ProfileURL = parts[0].Trim();
|
||||||
|
// if (parts.Length >= 2)
|
||||||
|
// {
|
||||||
|
// string[] name = parts[1].Trim().Split(' ');
|
||||||
|
// if (name.Length >= 1)
|
||||||
|
// user.FirstName = name[0];
|
||||||
|
// if (name.Length >= 2)
|
||||||
|
// user.LastName = name[1];
|
||||||
|
// else
|
||||||
|
// user.LastName = "?";
|
||||||
|
// }
|
||||||
|
|
||||||
|
// lock (m_UserCache)
|
||||||
|
// m_UserCache.Add(uuid, user);
|
||||||
|
|
||||||
|
// m_log.DebugFormat("[USER MANAGEMENT MODULE]: Added user {0} {1} {2} {3}", user.Id, user.FirstName, user.LastName, user.ProfileURL);
|
||||||
|
|
||||||
|
//}
|
||||||
|
|
||||||
|
#endregion IUserManagement
|
||||||
|
}
|
||||||
|
}
|
|
@ -8,6 +8,7 @@
|
||||||
</Dependencies>
|
</Dependencies>
|
||||||
|
|
||||||
<Extension path = "/OpenSim/RegionModules">
|
<Extension path = "/OpenSim/RegionModules">
|
||||||
|
<RegionModule id="UserManagementModule" type="OpenSim.Region.CoreModules.Framework.UserManagement.UserManagementModule" />
|
||||||
<RegionModule id="EntityTransferModule" type="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule" />
|
<RegionModule id="EntityTransferModule" type="OpenSim.Region.CoreModules.Framework.EntityTransfer.EntityTransferModule" />
|
||||||
<RegionModule id="HGEntityTransferModule" type="OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule" />
|
<RegionModule id="HGEntityTransferModule" type="OpenSim.Region.CoreModules.Framework.EntityTransfer.HGEntityTransferModule" />
|
||||||
<RegionModule id="InventoryAccessModule" type="OpenSim.Region.CoreModules.Framework.InventoryAccess.BasicInventoryAccessModule" />
|
<RegionModule id="InventoryAccessModule" type="OpenSim.Region.CoreModules.Framework.InventoryAccess.BasicInventoryAccessModule" />
|
||||||
|
|
|
@ -49,6 +49,21 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
|
|
||||||
private IInventoryService m_InventoryService;
|
private IInventoryService m_InventoryService;
|
||||||
|
|
||||||
|
private Scene m_Scene;
|
||||||
|
|
||||||
|
private IUserManagement m_UserManager;
|
||||||
|
private IUserManagement UserManager
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_UserManager == null)
|
||||||
|
{
|
||||||
|
m_UserManager = m_Scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
}
|
||||||
|
return m_UserManager;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private bool m_Enabled = false;
|
private bool m_Enabled = false;
|
||||||
|
|
||||||
public Type ReplaceableInterface
|
public Type ReplaceableInterface
|
||||||
|
@ -115,6 +130,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
return;
|
return;
|
||||||
|
|
||||||
scene.RegisterModuleInterface<IInventoryService>(this);
|
scene.RegisterModuleInterface<IInventoryService>(this);
|
||||||
|
|
||||||
|
if (m_Scene == null)
|
||||||
|
m_Scene = scene;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveRegion(Scene scene)
|
public void RemoveRegion(Scene scene)
|
||||||
|
@ -163,7 +181,12 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
|
|
||||||
public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
|
public InventoryCollection GetFolderContent(UUID userID, UUID folderID)
|
||||||
{
|
{
|
||||||
return m_InventoryService.GetFolderContent(userID, folderID);
|
InventoryCollection invCol = m_InventoryService.GetFolderContent(userID, folderID);
|
||||||
|
if (UserManager != null)
|
||||||
|
foreach (InventoryItemBase item in invCol.Items)
|
||||||
|
UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
|
||||||
|
|
||||||
|
return invCol;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID)
|
public List<InventoryItemBase> GetFolderItems(UUID userID, UUID folderID)
|
||||||
|
|
|
@ -47,9 +47,23 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
|
|
||||||
private bool m_Enabled = false;
|
private bool m_Enabled = false;
|
||||||
private bool m_Initialized = false;
|
private bool m_Initialized = false;
|
||||||
// private Scene m_Scene;
|
private Scene m_Scene;
|
||||||
private InventoryServicesConnector m_RemoteConnector;
|
private InventoryServicesConnector m_RemoteConnector;
|
||||||
|
|
||||||
|
private IUserManagement m_UserManager;
|
||||||
|
private IUserManagement UserManager
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_UserManager == null)
|
||||||
|
{
|
||||||
|
m_UserManager = m_Scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
}
|
||||||
|
return m_UserManager;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public Type ReplaceableInterface
|
public Type ReplaceableInterface
|
||||||
{
|
{
|
||||||
get { return null; }
|
get { return null; }
|
||||||
|
@ -116,6 +130,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
|
|
||||||
scene.RegisterModuleInterface<IInventoryService>(this);
|
scene.RegisterModuleInterface<IInventoryService>(this);
|
||||||
m_cache.AddRegion(scene);
|
m_cache.AddRegion(scene);
|
||||||
|
|
||||||
|
if (m_Scene == null)
|
||||||
|
m_Scene = scene;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RemoveRegion(Scene scene)
|
public void RemoveRegion(Scene scene)
|
||||||
|
@ -186,7 +203,10 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||||
UUID sessionID = GetSessionID(userID);
|
UUID sessionID = GetSessionID(userID);
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return m_RemoteConnector.GetFolderContent(userID.ToString(), folderID, sessionID);
|
InventoryCollection invCol = m_RemoteConnector.GetFolderContent(userID.ToString(), folderID, sessionID);
|
||||||
|
foreach (InventoryItemBase item in invCol.Items)
|
||||||
|
UserManager.AddUser(item.CreatorIdAsUuid, item.CreatorData);
|
||||||
|
return invCol;
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
|
@ -78,6 +78,19 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private IDictionary<UUID, bool> m_validUserUuids = new Dictionary<UUID, bool>();
|
private IDictionary<UUID, bool> m_validUserUuids = new Dictionary<UUID, bool>();
|
||||||
|
|
||||||
|
private IUserManagement m_UserMan;
|
||||||
|
private IUserManagement UserManager
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_UserMan == null)
|
||||||
|
{
|
||||||
|
m_UserMan = m_scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
}
|
||||||
|
return m_UserMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ArchiveReadRequest(Scene scene, string loadPath, bool merge, bool skipAssets, Guid requestId)
|
public ArchiveReadRequest(Scene scene, string loadPath, bool merge, bool skipAssets, Guid requestId)
|
||||||
{
|
{
|
||||||
m_scene = scene;
|
m_scene = scene;
|
||||||
|
@ -251,8 +264,13 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
|
|
||||||
foreach (SceneObjectPart part in sceneObject.Parts)
|
foreach (SceneObjectPart part in sceneObject.Parts)
|
||||||
{
|
{
|
||||||
if (!ResolveUserUuid(part.CreatorID))
|
if (part.CreatorData == null || part.CreatorData == string.Empty)
|
||||||
part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
{
|
||||||
|
if (!ResolveUserUuid(part.CreatorID))
|
||||||
|
part.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
||||||
|
}
|
||||||
|
if (UserManager != null)
|
||||||
|
UserManager.AddUser(part.CreatorID, part.CreatorData);
|
||||||
|
|
||||||
if (!ResolveUserUuid(part.OwnerID))
|
if (!ResolveUserUuid(part.OwnerID))
|
||||||
part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
part.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
||||||
|
@ -293,10 +311,13 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
{
|
{
|
||||||
kvp.Value.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
kvp.Value.OwnerID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
||||||
}
|
}
|
||||||
if (!ResolveUserUuid(kvp.Value.CreatorID))
|
if (kvp.Value.CreatorData == null || kvp.Value.CreatorData == string.Empty)
|
||||||
{
|
{
|
||||||
kvp.Value.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
if (!ResolveUserUuid(kvp.Value.CreatorID))
|
||||||
|
kvp.Value.CreatorID = m_scene.RegionInfo.EstateSettings.EstateOwner;
|
||||||
}
|
}
|
||||||
|
if (UserManager != null)
|
||||||
|
UserManager.AddUser(kvp.Value.CreatorID, kvp.Value.CreatorData);
|
||||||
}
|
}
|
||||||
part.TaskInventory.LockItemsForRead(false);
|
part.TaskInventory.LockItemsForRead(false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -126,6 +126,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
|
|
||||||
OptionSet ops = new OptionSet();
|
OptionSet ops = new OptionSet();
|
||||||
ops.Add("v|version=", delegate(string v) { options["version"] = v; });
|
ops.Add("v|version=", delegate(string v) { options["version"] = v; });
|
||||||
|
ops.Add("p|profile=", delegate(string v) { options["profile"] = v; });
|
||||||
|
|
||||||
List<string> mainParams = ops.Parse(cmdparams);
|
List<string> mainParams = ops.Parse(cmdparams);
|
||||||
|
|
||||||
|
|
|
@ -785,8 +785,14 @@ namespace OpenSim.Region.CoreModules.World.Estate
|
||||||
for (int i = 0; i < uuidarr.Length; i++)
|
for (int i = 0; i < uuidarr.Length; i++)
|
||||||
{
|
{
|
||||||
// string lookupname = m_scene.CommsManager.UUIDNameRequestString(uuidarr[i]);
|
// string lookupname = m_scene.CommsManager.UUIDNameRequestString(uuidarr[i]);
|
||||||
m_scene.GetUserName(uuidarr[i]);
|
|
||||||
|
IUserManagement userManager = m_scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
string userName = "Unkown User";
|
||||||
|
if (userManager != null)
|
||||||
|
userName = userManager.GetUserName(uuidarr[i]);
|
||||||
|
|
||||||
// we drop it. It gets cached though... so we're ready for the next request.
|
// we drop it. It gets cached though... so we're ready for the next request.
|
||||||
|
// diva commnent 11/21/2010: uh?!? wft?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
|
@ -189,6 +189,7 @@ namespace OpenSim.Region.CoreModules.World.Objects.BuySell
|
||||||
|
|
||||||
InventoryItemBase item = new InventoryItemBase();
|
InventoryItemBase item = new InventoryItemBase();
|
||||||
item.CreatorId = part.CreatorID.ToString();
|
item.CreatorId = part.CreatorID.ToString();
|
||||||
|
item.CreatorData = part.CreatorData;
|
||||||
|
|
||||||
item.ID = UUID.Random();
|
item.ID = UUID.Random();
|
||||||
item.Owner = remoteClient.AgentId;
|
item.Owner = remoteClient.AgentId;
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
using OpenMetaverse;
|
||||||
|
|
||||||
|
namespace OpenSim.Region.Framework.Interfaces
|
||||||
|
{
|
||||||
|
public interface IUserManagement
|
||||||
|
{
|
||||||
|
string GetUserName(UUID uuid);
|
||||||
|
void AddUser(UUID uuid, string userData);
|
||||||
|
}
|
||||||
|
}
|
|
@ -408,6 +408,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
InventoryItemBase itemCopy = new InventoryItemBase();
|
InventoryItemBase itemCopy = new InventoryItemBase();
|
||||||
itemCopy.Owner = recipient;
|
itemCopy.Owner = recipient;
|
||||||
itemCopy.CreatorId = item.CreatorId;
|
itemCopy.CreatorId = item.CreatorId;
|
||||||
|
itemCopy.CreatorData = item.CreatorData;
|
||||||
itemCopy.ID = UUID.Random();
|
itemCopy.ID = UUID.Random();
|
||||||
itemCopy.AssetID = item.AssetID;
|
itemCopy.AssetID = item.AssetID;
|
||||||
itemCopy.Description = item.Description;
|
itemCopy.Description = item.Description;
|
||||||
|
@ -683,13 +684,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
if (remoteClient.AgentId == oldAgentID)
|
if (remoteClient.AgentId == oldAgentID)
|
||||||
{
|
{
|
||||||
CreateNewInventoryItem(
|
CreateNewInventoryItem(
|
||||||
remoteClient, item.CreatorId, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
||||||
item.BasePermissions, item.CurrentPermissions, item.EveryOnePermissions, item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch());
|
item.BasePermissions, item.CurrentPermissions, item.EveryOnePermissions, item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CreateNewInventoryItem(
|
CreateNewInventoryItem(
|
||||||
remoteClient, item.CreatorId, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
remoteClient, item.CreatorId, item.CreatorData, newFolderID, newName, item.Flags, callbackID, asset, (sbyte)item.InvType,
|
||||||
item.NextPermissions, item.NextPermissions, item.EveryOnePermissions & item.NextPermissions, item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch());
|
item.NextPermissions, item.NextPermissions, item.EveryOnePermissions & item.NextPermissions, item.NextPermissions, item.GroupPermissions, Util.UnixTimeSinceEpoch());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -757,11 +758,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <param name="asset"></param>
|
/// <param name="asset"></param>
|
||||||
/// <param name="invType"></param>
|
/// <param name="invType"></param>
|
||||||
/// <param name="nextOwnerMask"></param>
|
/// <param name="nextOwnerMask"></param>
|
||||||
private void CreateNewInventoryItem(IClientAPI remoteClient, string creatorID, UUID folderID, string name, uint flags, uint callbackID,
|
private void CreateNewInventoryItem(IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, string name, uint flags, uint callbackID,
|
||||||
AssetBase asset, sbyte invType, uint nextOwnerMask, int creationDate)
|
AssetBase asset, sbyte invType, uint nextOwnerMask, int creationDate)
|
||||||
{
|
{
|
||||||
CreateNewInventoryItem(
|
CreateNewInventoryItem(
|
||||||
remoteClient, creatorID, folderID, name, flags, callbackID, asset, invType,
|
remoteClient, creatorID, creatorData, folderID, name, flags, callbackID, asset, invType,
|
||||||
(uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate);
|
(uint)PermissionMask.All, (uint)PermissionMask.All, 0, nextOwnerMask, 0, creationDate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -776,12 +777,13 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
/// <param name="nextOwnerMask"></param>
|
/// <param name="nextOwnerMask"></param>
|
||||||
/// <param name="creationDate"></param>
|
/// <param name="creationDate"></param>
|
||||||
private void CreateNewInventoryItem(
|
private void CreateNewInventoryItem(
|
||||||
IClientAPI remoteClient, string creatorID, UUID folderID, string name, uint flags, uint callbackID, AssetBase asset, sbyte invType,
|
IClientAPI remoteClient, string creatorID, string creatorData, UUID folderID, string name, uint flags, uint callbackID, AssetBase asset, sbyte invType,
|
||||||
uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, uint groupMask, int creationDate)
|
uint baseMask, uint currentMask, uint everyoneMask, uint nextOwnerMask, uint groupMask, int creationDate)
|
||||||
{
|
{
|
||||||
InventoryItemBase item = new InventoryItemBase();
|
InventoryItemBase item = new InventoryItemBase();
|
||||||
item.Owner = remoteClient.AgentId;
|
item.Owner = remoteClient.AgentId;
|
||||||
item.CreatorId = creatorID;
|
item.CreatorId = creatorID;
|
||||||
|
item.CreatorData = creatorData;
|
||||||
item.ID = UUID.Random();
|
item.ID = UUID.Random();
|
||||||
item.AssetID = asset.FullID;
|
item.AssetID = asset.FullID;
|
||||||
item.Description = asset.Description;
|
item.Description = asset.Description;
|
||||||
|
@ -861,7 +863,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
AssetBase asset = CreateAsset(name, description, assetType, data, remoteClient.AgentId);
|
AssetBase asset = CreateAsset(name, description, assetType, data, remoteClient.AgentId);
|
||||||
AssetService.Store(asset);
|
AssetService.Store(asset);
|
||||||
|
|
||||||
CreateNewInventoryItem(remoteClient, remoteClient.AgentId.ToString(), folderID, asset.Name, 0, callbackID, asset, invType, nextOwnerMask, creationDate);
|
CreateNewInventoryItem(remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, asset.Name, 0, callbackID, asset, invType, nextOwnerMask, creationDate);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -903,7 +905,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
asset.Description = description;
|
asset.Description = description;
|
||||||
|
|
||||||
CreateNewInventoryItem(
|
CreateNewInventoryItem(
|
||||||
remoteClient, remoteClient.AgentId.ToString(), folderID, name, 0, callbackID, asset, invType,
|
remoteClient, remoteClient.AgentId.ToString(), string.Empty, folderID, name, 0, callbackID, asset, invType,
|
||||||
(uint)PermissionMask.All, (uint)PermissionMask.All, (uint)PermissionMask.All,
|
(uint)PermissionMask.All, (uint)PermissionMask.All, (uint)PermissionMask.All,
|
||||||
(uint)PermissionMask.All, (uint)PermissionMask.All, Util.UnixTimeSinceEpoch());
|
(uint)PermissionMask.All, (uint)PermissionMask.All, Util.UnixTimeSinceEpoch());
|
||||||
}
|
}
|
||||||
|
@ -1031,6 +1033,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
agentItem.ID = UUID.Random();
|
agentItem.ID = UUID.Random();
|
||||||
agentItem.CreatorId = taskItem.CreatorID.ToString();
|
agentItem.CreatorId = taskItem.CreatorID.ToString();
|
||||||
|
agentItem.CreatorData = taskItem.CreatorData;
|
||||||
agentItem.Owner = destAgent;
|
agentItem.Owner = destAgent;
|
||||||
agentItem.AssetID = taskItem.AssetID;
|
agentItem.AssetID = taskItem.AssetID;
|
||||||
agentItem.Description = taskItem.Description;
|
agentItem.Description = taskItem.Description;
|
||||||
|
@ -1232,6 +1235,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
destTaskItem.ItemID = UUID.Random();
|
destTaskItem.ItemID = UUID.Random();
|
||||||
destTaskItem.CreatorID = srcTaskItem.CreatorID;
|
destTaskItem.CreatorID = srcTaskItem.CreatorID;
|
||||||
|
destTaskItem.CreatorData = srcTaskItem.CreatorData;
|
||||||
destTaskItem.AssetID = srcTaskItem.AssetID;
|
destTaskItem.AssetID = srcTaskItem.AssetID;
|
||||||
destTaskItem.GroupID = destPart.GroupID;
|
destTaskItem.GroupID = destPart.GroupID;
|
||||||
destTaskItem.OwnerID = destPart.OwnerID;
|
destTaskItem.OwnerID = destPart.OwnerID;
|
||||||
|
@ -1637,6 +1641,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
destTaskItem.ItemID = UUID.Random();
|
destTaskItem.ItemID = UUID.Random();
|
||||||
destTaskItem.CreatorID = srcTaskItem.CreatorID;
|
destTaskItem.CreatorID = srcTaskItem.CreatorID;
|
||||||
|
destTaskItem.CreatorData = srcTaskItem.CreatorData;
|
||||||
destTaskItem.AssetID = srcTaskItem.AssetID;
|
destTaskItem.AssetID = srcTaskItem.AssetID;
|
||||||
destTaskItem.GroupID = destPart.GroupID;
|
destTaskItem.GroupID = destPart.GroupID;
|
||||||
destTaskItem.OwnerID = destPart.OwnerID;
|
destTaskItem.OwnerID = destPart.OwnerID;
|
||||||
|
@ -1873,6 +1878,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
InventoryItemBase item = new InventoryItemBase();
|
InventoryItemBase item = new InventoryItemBase();
|
||||||
item.CreatorId = grp.RootPart.CreatorID.ToString();
|
item.CreatorId = grp.RootPart.CreatorID.ToString();
|
||||||
|
item.CreatorData = grp.RootPart.CreatorData;
|
||||||
item.Owner = remoteClient.AgentId;
|
item.Owner = remoteClient.AgentId;
|
||||||
item.ID = UUID.Random();
|
item.ID = UUID.Random();
|
||||||
item.AssetID = asset.FullID;
|
item.AssetID = asset.FullID;
|
||||||
|
|
|
@ -462,22 +462,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleUUIDNameRequest(UUID uuid, IClientAPI remote_client)
|
|
||||||
{
|
|
||||||
if (LibraryService != null && (LibraryService.LibraryRootFolder.Owner == uuid))
|
|
||||||
{
|
|
||||||
remote_client.SendNameReply(uuid, "Mr", "OpenSim");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
string[] names = GetUserNames(uuid);
|
|
||||||
if (names.Length == 2)
|
|
||||||
{
|
|
||||||
remote_client.SendNameReply(uuid, names[0], names[1]);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handle a fetch inventory request from the client
|
/// Handle a fetch inventory request from the client
|
||||||
|
|
|
@ -188,6 +188,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
private Timer m_mapGenerationTimer = new Timer();
|
private Timer m_mapGenerationTimer = new Timer();
|
||||||
private bool m_generateMaptiles;
|
private bool m_generateMaptiles;
|
||||||
|
|
||||||
|
private Dictionary<UUID, string[]> m_UserNamesCache = new Dictionary<UUID, string[]>();
|
||||||
|
|
||||||
#endregion Fields
|
#endregion Fields
|
||||||
|
|
||||||
#region Properties
|
#region Properties
|
||||||
|
@ -814,36 +816,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
return m_simulatorVersion;
|
return m_simulatorVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string[] GetUserNames(UUID uuid)
|
|
||||||
{
|
|
||||||
string[] returnstring = new string[0];
|
|
||||||
|
|
||||||
UserAccount account = UserAccountService.GetUserAccount(RegionInfo.ScopeID, uuid);
|
|
||||||
|
|
||||||
if (account != null)
|
|
||||||
{
|
|
||||||
returnstring = new string[2];
|
|
||||||
returnstring[0] = account.FirstName;
|
|
||||||
returnstring[1] = account.LastName;
|
|
||||||
}
|
|
||||||
|
|
||||||
return returnstring;
|
|
||||||
}
|
|
||||||
|
|
||||||
public string GetUserName(UUID uuid)
|
|
||||||
{
|
|
||||||
string[] names = GetUserNames(uuid);
|
|
||||||
if (names.Length == 2)
|
|
||||||
{
|
|
||||||
string firstname = names[0];
|
|
||||||
string lastname = names[1];
|
|
||||||
|
|
||||||
return firstname + " " + lastname;
|
|
||||||
|
|
||||||
}
|
|
||||||
return "(hippos)";
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Another region is up.
|
/// Another region is up.
|
||||||
///
|
///
|
||||||
|
@ -2907,7 +2879,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public virtual void SubscribeToClientGridEvents(IClientAPI client)
|
public virtual void SubscribeToClientGridEvents(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.OnNameFromUUIDRequest += HandleUUIDNameRequest;
|
//client.OnNameFromUUIDRequest += HandleUUIDNameRequest;
|
||||||
client.OnMoneyTransferRequest += ProcessMoneyTransferRequest;
|
client.OnMoneyTransferRequest += ProcessMoneyTransferRequest;
|
||||||
client.OnAvatarPickerRequest += ProcessAvatarPickerRequest;
|
client.OnAvatarPickerRequest += ProcessAvatarPickerRequest;
|
||||||
client.OnSetStartLocationRequest += SetHomeRezPoint;
|
client.OnSetStartLocationRequest += SetHomeRezPoint;
|
||||||
|
@ -3034,7 +3006,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public virtual void UnSubscribeToClientGridEvents(IClientAPI client)
|
public virtual void UnSubscribeToClientGridEvents(IClientAPI client)
|
||||||
{
|
{
|
||||||
client.OnNameFromUUIDRequest -= HandleUUIDNameRequest;
|
//client.OnNameFromUUIDRequest -= HandleUUIDNameRequest;
|
||||||
client.OnMoneyTransferRequest -= ProcessMoneyTransferRequest;
|
client.OnMoneyTransferRequest -= ProcessMoneyTransferRequest;
|
||||||
client.OnAvatarPickerRequest -= ProcessAvatarPickerRequest;
|
client.OnAvatarPickerRequest -= ProcessAvatarPickerRequest;
|
||||||
client.OnSetStartLocationRequest -= SetHomeRezPoint;
|
client.OnSetStartLocationRequest -= SetHomeRezPoint;
|
||||||
|
|
|
@ -445,6 +445,7 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
private DateTime m_expires;
|
private DateTime m_expires;
|
||||||
private DateTime m_rezzed;
|
private DateTime m_rezzed;
|
||||||
private bool m_createSelected = false;
|
private bool m_createSelected = false;
|
||||||
|
private string m_creatorData = string.Empty;
|
||||||
|
|
||||||
public UUID CreatorID
|
public UUID CreatorID
|
||||||
{
|
{
|
||||||
|
@ -458,6 +459,61 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string CreatorData // = <profile url>;<name>
|
||||||
|
{
|
||||||
|
get { return m_creatorData; }
|
||||||
|
set { m_creatorData = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Used by the DB layer to retrieve / store the entire user identification.
|
||||||
|
/// The identification can either be a simple UUID or a string of the form
|
||||||
|
/// uuid[;profile_url[;name]]
|
||||||
|
/// </summary>
|
||||||
|
public string CreatorIdentification
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
if (m_creatorData != null && m_creatorData != string.Empty)
|
||||||
|
return _creatorID.ToString() + ';' + m_creatorData;
|
||||||
|
else
|
||||||
|
return _creatorID.ToString();
|
||||||
|
}
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if ((value == null) || (value != null && value == string.Empty))
|
||||||
|
{
|
||||||
|
m_creatorData = string.Empty;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!value.Contains(";")) // plain UUID
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.Zero;
|
||||||
|
UUID.TryParse(value, out uuid);
|
||||||
|
_creatorID = uuid;
|
||||||
|
}
|
||||||
|
else // <uuid>[;<endpoint>[;name]]
|
||||||
|
{
|
||||||
|
string name = "Unknown User";
|
||||||
|
string[] parts = value.Split(';');
|
||||||
|
if (parts.Length >= 1)
|
||||||
|
{
|
||||||
|
UUID uuid = UUID.Zero;
|
||||||
|
UUID.TryParse(parts[0], out uuid);
|
||||||
|
_creatorID = uuid;
|
||||||
|
}
|
||||||
|
if (parts.Length >= 2)
|
||||||
|
m_creatorData = parts[1];
|
||||||
|
if (parts.Length >= 3)
|
||||||
|
name = parts[2];
|
||||||
|
|
||||||
|
m_creatorData += ';' + name;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// A relic from when we we thought that prims contained folder objects. In
|
/// A relic from when we we thought that prims contained folder objects. In
|
||||||
/// reality, prim == folder
|
/// reality, prim == folder
|
||||||
|
|
|
@ -34,6 +34,7 @@ using System.Xml;
|
||||||
using log4net;
|
using log4net;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenSim.Framework;
|
using OpenSim.Framework;
|
||||||
|
using OpenSim.Region.Framework.Interfaces;
|
||||||
using OpenSim.Region.Framework.Scenes;
|
using OpenSim.Region.Framework.Scenes;
|
||||||
|
|
||||||
namespace OpenSim.Region.Framework.Scenes.Serialization
|
namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
|
@ -46,6 +47,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
public class SceneObjectSerializer
|
public class SceneObjectSerializer
|
||||||
{
|
{
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
private static IUserManagement m_UserManagement;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Deserialize a scene object from the original xml format
|
/// Deserialize a scene object from the original xml format
|
||||||
|
@ -270,6 +273,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
#region SOPXmlProcessors initialization
|
#region SOPXmlProcessors initialization
|
||||||
m_SOPXmlProcessors.Add("AllowedDrop", ProcessAllowedDrop);
|
m_SOPXmlProcessors.Add("AllowedDrop", ProcessAllowedDrop);
|
||||||
m_SOPXmlProcessors.Add("CreatorID", ProcessCreatorID);
|
m_SOPXmlProcessors.Add("CreatorID", ProcessCreatorID);
|
||||||
|
m_SOPXmlProcessors.Add("CreatorData", ProcessCreatorData);
|
||||||
m_SOPXmlProcessors.Add("FolderID", ProcessFolderID);
|
m_SOPXmlProcessors.Add("FolderID", ProcessFolderID);
|
||||||
m_SOPXmlProcessors.Add("InventorySerial", ProcessInventorySerial);
|
m_SOPXmlProcessors.Add("InventorySerial", ProcessInventorySerial);
|
||||||
m_SOPXmlProcessors.Add("TaskInventory", ProcessTaskInventory);
|
m_SOPXmlProcessors.Add("TaskInventory", ProcessTaskInventory);
|
||||||
|
@ -327,6 +331,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
m_TaskInventoryXmlProcessors.Add("BasePermissions", ProcessTIBasePermissions);
|
m_TaskInventoryXmlProcessors.Add("BasePermissions", ProcessTIBasePermissions);
|
||||||
m_TaskInventoryXmlProcessors.Add("CreationDate", ProcessTICreationDate);
|
m_TaskInventoryXmlProcessors.Add("CreationDate", ProcessTICreationDate);
|
||||||
m_TaskInventoryXmlProcessors.Add("CreatorID", ProcessTICreatorID);
|
m_TaskInventoryXmlProcessors.Add("CreatorID", ProcessTICreatorID);
|
||||||
|
m_TaskInventoryXmlProcessors.Add("CreatorData", ProcessTICreatorData);
|
||||||
m_TaskInventoryXmlProcessors.Add("Description", ProcessTIDescription);
|
m_TaskInventoryXmlProcessors.Add("Description", ProcessTIDescription);
|
||||||
m_TaskInventoryXmlProcessors.Add("EveryonePermissions", ProcessTIEveryonePermissions);
|
m_TaskInventoryXmlProcessors.Add("EveryonePermissions", ProcessTIEveryonePermissions);
|
||||||
m_TaskInventoryXmlProcessors.Add("Flags", ProcessTIFlags);
|
m_TaskInventoryXmlProcessors.Add("Flags", ProcessTIFlags);
|
||||||
|
@ -412,6 +417,11 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
obj.CreatorID = ReadUUID(reader, "CreatorID");
|
obj.CreatorID = ReadUUID(reader, "CreatorID");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void ProcessCreatorData(SceneObjectPart obj, XmlTextReader reader)
|
||||||
|
{
|
||||||
|
obj.CreatorData = reader.ReadElementContentAsString("CreatorData", String.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
private static void ProcessFolderID(SceneObjectPart obj, XmlTextReader reader)
|
private static void ProcessFolderID(SceneObjectPart obj, XmlTextReader reader)
|
||||||
{
|
{
|
||||||
obj.FolderID = ReadUUID(reader, "FolderID");
|
obj.FolderID = ReadUUID(reader, "FolderID");
|
||||||
|
@ -698,6 +708,11 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
item.CreatorID = ReadUUID(reader, "CreatorID");
|
item.CreatorID = ReadUUID(reader, "CreatorID");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void ProcessTICreatorData(TaskInventoryItem item, XmlTextReader reader)
|
||||||
|
{
|
||||||
|
item.CreatorData = reader.ReadElementContentAsString("CreatorData", String.Empty);
|
||||||
|
}
|
||||||
|
|
||||||
private static void ProcessTIDescription(TaskInventoryItem item, XmlTextReader reader)
|
private static void ProcessTIDescription(TaskInventoryItem item, XmlTextReader reader)
|
||||||
{
|
{
|
||||||
item.Description = reader.ReadElementContentAsString("Description", String.Empty);
|
item.Description = reader.ReadElementContentAsString("Description", String.Empty);
|
||||||
|
@ -1077,11 +1092,23 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
writer.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
|
writer.WriteAttributeString("xmlns:xsd", "http://www.w3.org/2001/XMLSchema");
|
||||||
|
|
||||||
writer.WriteElementString("AllowedDrop", sop.AllowedDrop.ToString().ToLower());
|
writer.WriteElementString("AllowedDrop", sop.AllowedDrop.ToString().ToLower());
|
||||||
|
|
||||||
WriteUUID(writer, "CreatorID", sop.CreatorID, options);
|
WriteUUID(writer, "CreatorID", sop.CreatorID, options);
|
||||||
|
|
||||||
|
if (sop.CreatorData != null && sop.CreatorData != string.Empty)
|
||||||
|
writer.WriteElementString("CreatorData", sop.CreatorData);
|
||||||
|
else if (options.ContainsKey("profile"))
|
||||||
|
{
|
||||||
|
if (m_UserManagement == null)
|
||||||
|
m_UserManagement = sop.ParentGroup.Scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
string name = m_UserManagement.GetUserName(sop.CreatorID);
|
||||||
|
writer.WriteElementString("CreatorData", (string)options["profile"] + "/" + sop.CreatorID + ";" + name);
|
||||||
|
}
|
||||||
|
|
||||||
WriteUUID(writer, "FolderID", sop.FolderID, options);
|
WriteUUID(writer, "FolderID", sop.FolderID, options);
|
||||||
writer.WriteElementString("InventorySerial", sop.InventorySerial.ToString());
|
writer.WriteElementString("InventorySerial", sop.InventorySerial.ToString());
|
||||||
|
|
||||||
WriteTaskInventory(writer, sop.TaskInventory, options);
|
WriteTaskInventory(writer, sop.TaskInventory, options, sop.ParentGroup.Scene);
|
||||||
|
|
||||||
WriteUUID(writer, "UUID", sop.UUID, options);
|
WriteUUID(writer, "UUID", sop.UUID, options);
|
||||||
writer.WriteElementString("LocalId", sop.LocalId.ToString());
|
writer.WriteElementString("LocalId", sop.LocalId.ToString());
|
||||||
|
@ -1205,7 +1232,7 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
writer.WriteElementString(name, flagsStr);
|
writer.WriteElementString(name, flagsStr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void WriteTaskInventory(XmlTextWriter writer, TaskInventoryDictionary tinv, Dictionary<string, object> options)
|
static void WriteTaskInventory(XmlTextWriter writer, TaskInventoryDictionary tinv, Dictionary<string, object> options, Scene scene)
|
||||||
{
|
{
|
||||||
if (tinv.Count > 0) // otherwise skip this
|
if (tinv.Count > 0) // otherwise skip this
|
||||||
{
|
{
|
||||||
|
@ -1218,7 +1245,20 @@ namespace OpenSim.Region.Framework.Scenes.Serialization
|
||||||
WriteUUID(writer, "AssetID", item.AssetID, options);
|
WriteUUID(writer, "AssetID", item.AssetID, options);
|
||||||
writer.WriteElementString("BasePermissions", item.BasePermissions.ToString());
|
writer.WriteElementString("BasePermissions", item.BasePermissions.ToString());
|
||||||
writer.WriteElementString("CreationDate", item.CreationDate.ToString());
|
writer.WriteElementString("CreationDate", item.CreationDate.ToString());
|
||||||
|
|
||||||
|
|
||||||
WriteUUID(writer, "CreatorID", item.CreatorID, options);
|
WriteUUID(writer, "CreatorID", item.CreatorID, options);
|
||||||
|
|
||||||
|
if (item.CreatorData != null && item.CreatorData != string.Empty)
|
||||||
|
writer.WriteElementString("CreatorData", item.CreatorData);
|
||||||
|
else if (options.ContainsKey("profile"))
|
||||||
|
{
|
||||||
|
if (m_UserManagement == null)
|
||||||
|
m_UserManagement = scene.RequestModuleInterface<IUserManagement>();
|
||||||
|
string name = m_UserManagement.GetUserName(item.CreatorID);
|
||||||
|
writer.WriteElementString("CreatorData", (string)options["profile"] + "/" + item.CreatorID + ";" + name);
|
||||||
|
}
|
||||||
|
|
||||||
writer.WriteElementString("Description", item.Description);
|
writer.WriteElementString("Description", item.Description);
|
||||||
writer.WriteElementString("EveryonePermissions", item.EveryonePermissions.ToString());
|
writer.WriteElementString("EveryonePermissions", item.EveryonePermissions.ToString());
|
||||||
writer.WriteElementString("Flags", item.Flags.ToString());
|
writer.WriteElementString("Flags", item.Flags.ToString());
|
||||||
|
|
|
@ -602,6 +602,7 @@ namespace OpenSim.Server.Handlers.Asset
|
||||||
ret["BasePermissions"] = item.BasePermissions.ToString();
|
ret["BasePermissions"] = item.BasePermissions.ToString();
|
||||||
ret["CreationDate"] = item.CreationDate.ToString();
|
ret["CreationDate"] = item.CreationDate.ToString();
|
||||||
ret["CreatorId"] = item.CreatorId.ToString();
|
ret["CreatorId"] = item.CreatorId.ToString();
|
||||||
|
ret["CreatorData"] = item.CreatorData.ToString();
|
||||||
ret["CurrentPermissions"] = item.CurrentPermissions.ToString();
|
ret["CurrentPermissions"] = item.CurrentPermissions.ToString();
|
||||||
ret["Description"] = item.Description.ToString();
|
ret["Description"] = item.Description.ToString();
|
||||||
ret["EveryOnePermissions"] = item.EveryOnePermissions.ToString();
|
ret["EveryOnePermissions"] = item.EveryOnePermissions.ToString();
|
||||||
|
@ -647,6 +648,7 @@ namespace OpenSim.Server.Handlers.Asset
|
||||||
item.InvType = int.Parse(data["InvType"].ToString());
|
item.InvType = int.Parse(data["InvType"].ToString());
|
||||||
item.Folder = new UUID(data["Folder"].ToString());
|
item.Folder = new UUID(data["Folder"].ToString());
|
||||||
item.CreatorId = data["CreatorId"].ToString();
|
item.CreatorId = data["CreatorId"].ToString();
|
||||||
|
item.CreatorData = data["CreatorData"].ToString();
|
||||||
item.Description = data["Description"].ToString();
|
item.Description = data["Description"].ToString();
|
||||||
item.NextPermissions = uint.Parse(data["NextPermissions"].ToString());
|
item.NextPermissions = uint.Parse(data["NextPermissions"].ToString());
|
||||||
item.CurrentPermissions = uint.Parse(data["CurrentPermissions"].ToString());
|
item.CurrentPermissions = uint.Parse(data["CurrentPermissions"].ToString());
|
||||||
|
|
|
@ -312,6 +312,7 @@ namespace OpenSim.Services.Connectors
|
||||||
{ "InvType", item.InvType.ToString() },
|
{ "InvType", item.InvType.ToString() },
|
||||||
{ "Folder", item.Folder.ToString() },
|
{ "Folder", item.Folder.ToString() },
|
||||||
{ "CreatorId", item.CreatorId.ToString() },
|
{ "CreatorId", item.CreatorId.ToString() },
|
||||||
|
{ "CreatorData", item.CreatorData.ToString() },
|
||||||
{ "Description", item.Description.ToString() },
|
{ "Description", item.Description.ToString() },
|
||||||
{ "NextPermissions", item.NextPermissions.ToString() },
|
{ "NextPermissions", item.NextPermissions.ToString() },
|
||||||
{ "CurrentPermissions", item.CurrentPermissions.ToString() },
|
{ "CurrentPermissions", item.CurrentPermissions.ToString() },
|
||||||
|
@ -344,6 +345,7 @@ namespace OpenSim.Services.Connectors
|
||||||
{ "InvType", item.InvType.ToString() },
|
{ "InvType", item.InvType.ToString() },
|
||||||
{ "Folder", item.Folder.ToString() },
|
{ "Folder", item.Folder.ToString() },
|
||||||
{ "CreatorId", item.CreatorId.ToString() },
|
{ "CreatorId", item.CreatorId.ToString() },
|
||||||
|
{ "CreatorData", item.CreatorData.ToString() },
|
||||||
{ "Description", item.Description.ToString() },
|
{ "Description", item.Description.ToString() },
|
||||||
{ "NextPermissions", item.NextPermissions.ToString() },
|
{ "NextPermissions", item.NextPermissions.ToString() },
|
||||||
{ "CurrentPermissions", item.CurrentPermissions.ToString() },
|
{ "CurrentPermissions", item.CurrentPermissions.ToString() },
|
||||||
|
@ -556,6 +558,7 @@ namespace OpenSim.Services.Connectors
|
||||||
item.InvType = int.Parse(data["InvType"].ToString());
|
item.InvType = int.Parse(data["InvType"].ToString());
|
||||||
item.Folder = new UUID(data["Folder"].ToString());
|
item.Folder = new UUID(data["Folder"].ToString());
|
||||||
item.CreatorId = data["CreatorId"].ToString();
|
item.CreatorId = data["CreatorId"].ToString();
|
||||||
|
item.CreatorData = data["CreatorData"].ToString();
|
||||||
item.Description = data["Description"].ToString();
|
item.Description = data["Description"].ToString();
|
||||||
item.NextPermissions = uint.Parse(data["NextPermissions"].ToString());
|
item.NextPermissions = uint.Parse(data["NextPermissions"].ToString());
|
||||||
item.CurrentPermissions = uint.Parse(data["CurrentPermissions"].ToString());
|
item.CurrentPermissions = uint.Parse(data["CurrentPermissions"].ToString());
|
||||||
|
|
|
@ -612,6 +612,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
||||||
{ "Name", item.Name },
|
{ "Name", item.Name },
|
||||||
{ "Description", item.Description },
|
{ "Description", item.Description },
|
||||||
{ "CreatorID", item.CreatorId },
|
{ "CreatorID", item.CreatorId },
|
||||||
|
{ "CreatorData", item.CreatorData },
|
||||||
{ "ContentType", invContentType },
|
{ "ContentType", invContentType },
|
||||||
{ "ExtraData", OSDParser.SerializeJsonString(extraData) }
|
{ "ExtraData", OSDParser.SerializeJsonString(extraData) }
|
||||||
};
|
};
|
||||||
|
@ -776,6 +777,7 @@ namespace OpenSim.Services.Connectors.SimianGrid
|
||||||
invItem.AssetType = SLUtil.ContentTypeToSLAssetType(item["ContentType"].AsString());
|
invItem.AssetType = SLUtil.ContentTypeToSLAssetType(item["ContentType"].AsString());
|
||||||
invItem.CreationDate = item["CreationDate"].AsInteger();
|
invItem.CreationDate = item["CreationDate"].AsInteger();
|
||||||
invItem.CreatorId = item["CreatorID"].AsString();
|
invItem.CreatorId = item["CreatorID"].AsString();
|
||||||
|
invItem.CreatorData = item["CreatorData"].AsString();
|
||||||
invItem.CreatorIdAsUuid = item["CreatorID"].AsUUID();
|
invItem.CreatorIdAsUuid = item["CreatorID"].AsUUID();
|
||||||
invItem.Description = item["Description"].AsString();
|
invItem.Description = item["Description"].AsString();
|
||||||
invItem.Folder = item["ParentID"].AsUUID();
|
invItem.Folder = item["ParentID"].AsUUID();
|
||||||
|
|
|
@ -524,7 +524,7 @@ namespace OpenSim.Services.InventoryService
|
||||||
newItem.ID = item.inventoryID;
|
newItem.ID = item.inventoryID;
|
||||||
newItem.InvType = item.invType;
|
newItem.InvType = item.invType;
|
||||||
newItem.Folder = item.parentFolderID;
|
newItem.Folder = item.parentFolderID;
|
||||||
newItem.CreatorId = item.creatorID;
|
newItem.CreatorIdentification = item.creatorID;
|
||||||
newItem.Description = item.inventoryDescription;
|
newItem.Description = item.inventoryDescription;
|
||||||
newItem.NextPermissions = (uint)item.inventoryNextPermissions;
|
newItem.NextPermissions = (uint)item.inventoryNextPermissions;
|
||||||
newItem.CurrentPermissions = (uint)item.inventoryCurrentPermissions;
|
newItem.CurrentPermissions = (uint)item.inventoryCurrentPermissions;
|
||||||
|
@ -555,7 +555,7 @@ namespace OpenSim.Services.InventoryService
|
||||||
newItem.inventoryID = item.ID;
|
newItem.inventoryID = item.ID;
|
||||||
newItem.invType = item.InvType;
|
newItem.invType = item.InvType;
|
||||||
newItem.parentFolderID = item.Folder;
|
newItem.parentFolderID = item.Folder;
|
||||||
newItem.creatorID = item.CreatorId;
|
newItem.creatorID = item.CreatorIdentification;
|
||||||
newItem.inventoryDescription = item.Description;
|
newItem.inventoryDescription = item.Description;
|
||||||
newItem.inventoryNextPermissions = (int)item.NextPermissions;
|
newItem.inventoryNextPermissions = (int)item.NextPermissions;
|
||||||
newItem.inventoryCurrentPermissions = (int)item.CurrentPermissions;
|
newItem.inventoryCurrentPermissions = (int)item.CurrentPermissions;
|
||||||
|
|
Loading…
Reference in New Issue