mirror of
https://github.com/opensim/opensim.git
synced 2026-07-31 05:45:37 +08:00
Grid Inventory feature upgrade: renaming folders should now be correct, subfolders work, moving folders works.
Tested only in MYSQL, but may work in MSSQL and sqlite. Probably not working in standalone mode.
This commit is contained in:
@@ -141,6 +141,24 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
invFoldersDa.Update(ds, "inventoryfolders");
|
||||
}
|
||||
|
||||
private void moveFolder(InventoryFolderBase folder)
|
||||
{
|
||||
DataTable inventoryFolderTable = ds.Tables["inventoryfolders"];
|
||||
|
||||
DataRow inventoryRow = inventoryFolderTable.Rows.Find(folder.folderID);
|
||||
if (inventoryRow == null)
|
||||
{
|
||||
inventoryRow = inventoryFolderTable.NewRow();
|
||||
fillFolderRow(inventoryRow, folder);
|
||||
inventoryFolderTable.Rows.Add(inventoryRow);
|
||||
}
|
||||
else
|
||||
{
|
||||
moveFolderRow(inventoryRow, folder);
|
||||
}
|
||||
|
||||
invFoldersDa.Update(ds, "inventoryfolders");
|
||||
}
|
||||
private void addItem(InventoryItemBase item)
|
||||
{
|
||||
DataTable inventoryItemTable = ds.Tables["inventoryitems"];
|
||||
@@ -403,6 +421,15 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
addFolder(folder);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Moves a folder based on its ID with folder
|
||||
/// </summary>
|
||||
/// <param name="folder">The inventory folder</param>
|
||||
public void moveInventoryFolder(InventoryFolderBase folder)
|
||||
{
|
||||
moveFolder(folder);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Delete a folder
|
||||
/// </summary>
|
||||
@@ -534,6 +561,11 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
row["version"] = folder.version;
|
||||
}
|
||||
|
||||
private void moveFolderRow(DataRow row, InventoryFolderBase folder)
|
||||
{
|
||||
row["UUID"] = folder.folderID;
|
||||
row["parentID"] = folder.parentID;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user