mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 20:05:33 +08:00
A better purge of trash folder.
This commit is contained in:
@@ -267,7 +267,9 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Transfer
|
||||
item.Folder = trashFolder.ID;
|
||||
|
||||
// Diva comment: can't we just update this item???
|
||||
invService.DeleteItem(item);
|
||||
List<UUID> uuids = new List<UUID>();
|
||||
uuids.Add(item.ID);
|
||||
invService.DeleteItems(item.Owner, uuids);
|
||||
scene.AddInventoryItem(client, item);
|
||||
}
|
||||
else
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <returns>true if the item was successfully deleted</returns>
|
||||
public abstract bool DeleteItem(InventoryItemBase item);
|
||||
public abstract bool DeleteItems(UUID ownerID, List<UUID> itemIDs);
|
||||
|
||||
public abstract InventoryItemBase GetItem(InventoryItemBase item);
|
||||
|
||||
|
||||
@@ -393,18 +393,22 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
}
|
||||
}
|
||||
|
||||
public override bool DeleteItem(InventoryItemBase item)
|
||||
public override bool DeleteItems(UUID ownerID, List<UUID> itemIDs)
|
||||
{
|
||||
if (item == null)
|
||||
return false;
|
||||
m_log.DebugFormat("[HG INVENTORY CONNECTOR]: Delete {0} items for user {1}", itemIDs.Count, ownerID);
|
||||
|
||||
if (IsLocalGridUser(item.Owner))
|
||||
return m_GridService.DeleteItem(item);
|
||||
if (itemIDs == null)
|
||||
return false;
|
||||
if (itemIDs.Count == 0)
|
||||
return true;
|
||||
|
||||
if (IsLocalGridUser(ownerID))
|
||||
return m_GridService.DeleteItems(ownerID, itemIDs);
|
||||
else
|
||||
{
|
||||
UUID sessionID = GetSessionID(item.Owner);
|
||||
string uri = GetUserInventoryURI(item.Owner) + "/" + item.Owner.ToString();
|
||||
return m_HGService.DeleteItem(uri, item, sessionID);
|
||||
UUID sessionID = GetSessionID(ownerID);
|
||||
string uri = GetUserInventoryURI(ownerID) + "/" + ownerID.ToString();
|
||||
return m_HGService.DeleteItems(uri, itemIDs, sessionID);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -294,9 +294,9 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
/// <returns>true if the item was successfully deleted</returns>
|
||||
public override bool DeleteItem(InventoryItemBase item)
|
||||
public override bool DeleteItems(UUID ownerID, List<UUID> itemIDs)
|
||||
{
|
||||
return m_InventoryService.DeleteItem(item);
|
||||
return m_InventoryService.DeleteItems(ownerID, itemIDs);
|
||||
}
|
||||
|
||||
public override InventoryItemBase GetItem(InventoryItemBase item)
|
||||
|
||||
@@ -273,13 +273,15 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Inventory
|
||||
return m_RemoteConnector.UpdateItem(item.Owner.ToString(), item, sessionID);
|
||||
}
|
||||
|
||||
public override bool DeleteItem(InventoryItemBase item)
|
||||
public override bool DeleteItems(UUID ownerID, List<UUID> itemIDs)
|
||||
{
|
||||
if (item == null)
|
||||
if (itemIDs == null)
|
||||
return false;
|
||||
if (itemIDs.Count == 0)
|
||||
return true;
|
||||
|
||||
UUID sessionID = GetSessionID(item.Owner);
|
||||
return m_RemoteConnector.DeleteItem(item.Owner.ToString(), item, sessionID);
|
||||
UUID sessionID = GetSessionID(ownerID);
|
||||
return m_RemoteConnector.DeleteItems(ownerID.ToString(), itemIDs, sessionID);
|
||||
}
|
||||
|
||||
public override InventoryItemBase GetItem(InventoryItemBase item)
|
||||
|
||||
Reference in New Issue
Block a user