mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 16:22:50 +08:00
Applied patch 485, inventory patch from tleiades (thanks again).
This commit is contained in:
@@ -29,5 +29,5 @@ using System.Runtime.InteropServices;
|
||||
//
|
||||
// You can specify all the values or you can default the Revision and Build Numbers
|
||||
// by using the '*' as shown below:
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyVersion("0.4.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Reflection;
|
||||
|
||||
using OpenSim.Framework.Console;
|
||||
using OpenSim.Framework.Types;
|
||||
@@ -166,7 +167,12 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
/// <returns>A string containing the plugin version</returns>
|
||||
public string getVersion()
|
||||
{
|
||||
return "0.1";
|
||||
System.Reflection.Module module = this.GetType().Module;
|
||||
string dllName = module.Assembly.ManifestModule.Name;
|
||||
Version dllVersion = module.Assembly.GetName().Version;
|
||||
|
||||
|
||||
return string.Format("{0}.{1}.{2}.{3}", dllVersion.Major, dllVersion.Minor, dllVersion.Build, dllVersion.Revision);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -337,11 +343,11 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="item"></param>
|
||||
public void deleteInventoryItem(InventoryItemBase item)
|
||||
public void deleteInventoryItem(LLUUID itemID)
|
||||
{
|
||||
DataTable inventoryItemTable = ds.Tables["inventoryitems"];
|
||||
|
||||
DataRow inventoryRow = inventoryItemTable.Rows.Find(item.inventoryID);
|
||||
DataRow inventoryRow = inventoryItemTable.Rows.Find(itemID);
|
||||
if (inventoryRow != null)
|
||||
{
|
||||
inventoryRow.Delete();
|
||||
@@ -350,6 +356,20 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
this.invItemsDa.Update(ds, "inventoryitems");
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Delete all items in the specified folder
|
||||
/// </summary>
|
||||
/// <param name="folderId">id of the folder, whose item content should be deleted</param>
|
||||
//!TODO, this is horribly inefficient, but I don't want to ruin the overall structure of this implementatio
|
||||
private void deleteItemsInFolder(LLUUID folderId)
|
||||
{
|
||||
List<InventoryItemBase> items = getInventoryInFolder(folderId);
|
||||
|
||||
foreach(InventoryItemBase i in items)
|
||||
deleteInventoryItem(i.inventoryID);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds a new folder specified by folder
|
||||
/// </summary>
|
||||
@@ -389,6 +409,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
inventoryRow = inventoryFolderTable.Rows.Find(f.folderID);
|
||||
if (inventoryRow != null)
|
||||
{
|
||||
deleteItemsInFolder(f.folderID);
|
||||
inventoryRow.Delete();
|
||||
}
|
||||
}
|
||||
@@ -397,6 +418,7 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
inventoryRow = inventoryFolderTable.Rows.Find(folderID);
|
||||
if (inventoryRow != null)
|
||||
{
|
||||
deleteItemsInFolder(folderID);
|
||||
inventoryRow.Delete();
|
||||
}
|
||||
|
||||
@@ -554,3 +576,4 @@ namespace OpenSim.Framework.Data.SQLite
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user