public bool AddInventoryItem(InventoryItemBase item)
{
if (UUID.Zero == item.Folder)
{
InventoryFolderBase f = InventoryService.GetFolderForType(item.Owner, (AssetType)item.AssetType);
if (f != null)
{
// m_log.DebugFormat(
// "[LOCAL INVENTORY SERVICES CONNECTOR]: Found folder {0} type {1} for item {2}",
// f.Name, (AssetType)f.Type, item.Name);
item.Folder = f.ID;
}
else
{
f = InventoryService.GetRootFolder(item.Owner);
if (f != null)
{
item.Folder = f.ID;
}
else
{
m_log.WarnFormat(
"[AGENT INVENTORY]: Could not find root folder for {0} when trying to add item {1} with no parent folder specified",
item.Owner, item.Name);
return false;
}
}
}
if (InventoryService.AddItem(item))
{
int userlevel = 0;
if (Permissions.IsGod(item.Owner))
{
userlevel = 1;
}
EventManager.TriggerOnNewInventoryItemUploadComplete(item.Owner, item.AssetID, item.Name, userlevel);
return true;
}
else
{
m_log.WarnFormat(
"[AGENT INVENTORY]: Agent {0} could not add item {1} {2}",
item.Owner, item.Name, item.ID);
return false;
}
}