Merge branch 'master' into careminster
commit
9a86a713d3
|
@ -94,6 +94,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
private static readonly string m_notecardUpdatePath = "0004/";
|
private static readonly string m_notecardUpdatePath = "0004/";
|
||||||
private static readonly string m_notecardTaskUpdatePath = "0005/";
|
private static readonly string m_notecardTaskUpdatePath = "0005/";
|
||||||
// private static readonly string m_fetchInventoryPath = "0006/";
|
// private static readonly string m_fetchInventoryPath = "0006/";
|
||||||
|
private static readonly string m_copyFromNotecardPath = "0007/";
|
||||||
// private static readonly string m_remoteParcelRequestPath = "0009/";// This is in the LandManagementModule.
|
// private static readonly string m_remoteParcelRequestPath = "0009/";// This is in the LandManagementModule.
|
||||||
|
|
||||||
|
|
||||||
|
@ -180,6 +181,7 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
m_HostCapsObj.RegisterHandler("UpdateNotecardAgentInventory", req);
|
m_HostCapsObj.RegisterHandler("UpdateNotecardAgentInventory", req);
|
||||||
m_HostCapsObj.RegisterHandler("UpdateScriptAgentInventory", req);
|
m_HostCapsObj.RegisterHandler("UpdateScriptAgentInventory", req);
|
||||||
m_HostCapsObj.RegisterHandler("UpdateScriptAgent", req);
|
m_HostCapsObj.RegisterHandler("UpdateScriptAgent", req);
|
||||||
|
m_HostCapsObj.RegisterHandler("CopyInventoryFromNotecard", new RestStreamHandler("POST", capsBase + m_copyFromNotecardPath, CopyInventoryFromNotecard));
|
||||||
|
|
||||||
// As of RC 1.22.9 of the Linden client this is
|
// As of RC 1.22.9 of the Linden client this is
|
||||||
// supported
|
// supported
|
||||||
|
@ -723,6 +725,75 @@ namespace OpenSim.Region.ClientStack.Linden
|
||||||
|
|
||||||
return LLSDHelpers.SerialiseLLSDReply(uploadResponse);
|
return LLSDHelpers.SerialiseLLSDReply(uploadResponse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Called by the CopyInventoryFromNotecard caps handler.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="path"></param>
|
||||||
|
/// <param name="param"></param>
|
||||||
|
public string CopyInventoryFromNotecard(string request, string path, string param,
|
||||||
|
IOSHttpRequest httpRequest, IOSHttpResponse httpResponse)
|
||||||
|
{
|
||||||
|
Hashtable response = new Hashtable();
|
||||||
|
response["int_response_code"] = 404;
|
||||||
|
response["content_type"] = "text/plain";
|
||||||
|
response["keepalive"] = false;
|
||||||
|
response["str_response_string"] = "";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
OSDMap content = (OSDMap)OSDParser.DeserializeLLSDXml(request);
|
||||||
|
UUID objectID = content["object-id"].AsUUID();
|
||||||
|
UUID notecardID = content["notecard-id"].AsUUID();
|
||||||
|
UUID folderID = content["folder-id"].AsUUID();
|
||||||
|
UUID itemID = content["item-id"].AsUUID();
|
||||||
|
|
||||||
|
// m_log.InfoFormat("[CAPS]: CopyInventoryFromNotecard, FolderID:{0}, ItemID:{1}, NotecardID:{2}, ObjectID:{3}", folderID, itemID, notecardID, objectID);
|
||||||
|
|
||||||
|
if (objectID != UUID.Zero)
|
||||||
|
{
|
||||||
|
SceneObjectPart part = m_Scene.GetSceneObjectPart(objectID);
|
||||||
|
if (part != null)
|
||||||
|
{
|
||||||
|
TaskInventoryItem taskItem = part.Inventory.GetInventoryItem(notecardID);
|
||||||
|
if (!m_Scene.Permissions.CanCopyObjectInventory(notecardID, objectID, m_HostCapsObj.AgentID))
|
||||||
|
{
|
||||||
|
return LLSDHelpers.SerialiseLLSDReply(response);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
InventoryItemBase item = null;
|
||||||
|
InventoryItemBase copyItem = null;
|
||||||
|
IClientAPI client = null;
|
||||||
|
|
||||||
|
m_Scene.TryGetClient(m_HostCapsObj.AgentID, out client);
|
||||||
|
item = m_Scene.InventoryService.GetItem(new InventoryItemBase(itemID));
|
||||||
|
if (item != null)
|
||||||
|
{
|
||||||
|
copyItem = m_Scene.GiveInventoryItem(m_HostCapsObj.AgentID, item.Owner, itemID, folderID);
|
||||||
|
if (copyItem != null && client != null)
|
||||||
|
{
|
||||||
|
m_log.InfoFormat("[CAPS]: CopyInventoryFromNotecard, ItemID:{0}, FolderID:{1}", copyItem.ID, copyItem.Folder);
|
||||||
|
client.SendBulkUpdateInventory(copyItem);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat("[CAPS]: CopyInventoryFromNotecard - Failed to retrieve item {0} from notecard {1}", itemID, notecardID);
|
||||||
|
if (client != null)
|
||||||
|
client.SendAlertMessage("Failed to retrieve item");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat("[CAPS]: CopyInventoryFromNotecard : {0}", e.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
response["int_response_code"] = 200;
|
||||||
|
return LLSDHelpers.SerialiseLLSDReply(response);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class AssetUploader
|
public class AssetUploader
|
||||||
|
|
|
@ -209,8 +209,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer
|
||||||
|
|
||||||
foreach (SceneObjectGroup grp in sp.GetAttachments())
|
foreach (SceneObjectGroup grp in sp.GetAttachments())
|
||||||
{
|
{
|
||||||
if (grp.IsDeleted)
|
sp.Scene.EventManager.TriggerOnScriptChangedEvent(grp.LocalId, (uint)Changed.TELEPORT);
|
||||||
sp.Scene.EventManager.TriggerOnScriptChangedEvent(grp.LocalId, (uint)Changed.TELEPORT);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // Another region possibly in another simulator
|
else // Another region possibly in another simulator
|
||||||
|
|
|
@ -464,7 +464,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
mapitem.x = (uint)(xstart + x);
|
mapitem.x = (uint)(xstart + x);
|
||||||
mapitem.y = (uint)(ystart + y);
|
mapitem.y = (uint)(ystart + y);
|
||||||
// mapitem.z = (uint)m_scene.GetGroundHeight(x,y);
|
// mapitem.z = (uint)m_scene.GetGroundHeight(x,y);
|
||||||
mapitem.id = UUID.Zero;
|
mapitem.id = parcel.GlobalID;
|
||||||
mapitem.name = parcel.Name;
|
mapitem.name = parcel.Name;
|
||||||
mapitem.Extra = parcel.Area;
|
mapitem.Extra = parcel.Area;
|
||||||
mapitem.Extra2 = parcel.SalePrice;
|
mapitem.Extra2 = parcel.SalePrice;
|
||||||
|
@ -1291,7 +1291,7 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
responsemapdata["X"] = OSD.FromInteger((int)(xstart + x));
|
responsemapdata["X"] = OSD.FromInteger((int)(xstart + x));
|
||||||
responsemapdata["Y"] = OSD.FromInteger((int)(ystart + y));
|
responsemapdata["Y"] = OSD.FromInteger((int)(ystart + y));
|
||||||
// responsemapdata["Z"] = OSD.FromInteger((int)m_scene.GetGroundHeight(x,y));
|
// responsemapdata["Z"] = OSD.FromInteger((int)m_scene.GetGroundHeight(x,y));
|
||||||
responsemapdata["ID"] = OSD.FromUUID(UUID.Zero);
|
responsemapdata["ID"] = OSD.FromUUID(parcel.GlobalID);
|
||||||
responsemapdata["Name"] = OSD.FromString(parcel.Name);
|
responsemapdata["Name"] = OSD.FromString(parcel.Name);
|
||||||
responsemapdata["Extra"] = OSD.FromInteger(parcel.Area);
|
responsemapdata["Extra"] = OSD.FromInteger(parcel.Area);
|
||||||
responsemapdata["Extra2"] = OSD.FromInteger(parcel.SalePrice);
|
responsemapdata["Extra2"] = OSD.FromInteger(parcel.SalePrice);
|
||||||
|
|
|
@ -5882,7 +5882,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
foreach (GridRegion sri in neighbors)
|
foreach (GridRegion sri in neighbors)
|
||||||
{
|
{
|
||||||
if (sri.RegionLocX == neighborX && sri.RegionLocY == neighborY)
|
if (sri.RegionCoordX == neighborX && sri.RegionCoordY == neighborY)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -524,7 +524,7 @@
|
||||||
Cap_AttachmentResources = ""
|
Cap_AttachmentResources = ""
|
||||||
Cap_AvatarPickerSearch = ""
|
Cap_AvatarPickerSearch = ""
|
||||||
Cap_ChatSessionRequest = ""
|
Cap_ChatSessionRequest = ""
|
||||||
Cap_CopyInventoryFromNotecard = ""
|
Cap_CopyInventoryFromNotecard = "localhost"
|
||||||
Cap_DispatchRegionInfo = ""
|
Cap_DispatchRegionInfo = ""
|
||||||
Cap_EstateChangeInfo = ""
|
Cap_EstateChangeInfo = ""
|
||||||
Cap_EventQueueGet = "localhost"
|
Cap_EventQueueGet = "localhost"
|
||||||
|
|
Loading…
Reference in New Issue