mirror of
https://github.com/opensim/opensim.git
synced 2026-08-04 16:22:50 +08:00
Temporary fix for the region crossing crash, Although we need to start to change and improve how we handle caps.
This commit is contained in:
@@ -369,124 +369,6 @@ namespace OpenSim.Framework.UserManagement
|
||||
}
|
||||
}
|
||||
|
||||
// Rest and XML-RPC methods. (could move them to a sub class in the user server?)
|
||||
|
||||
/// <summary>
|
||||
/// Deletes an active agent session
|
||||
/// </summary>
|
||||
/// <param name="request">The request</param>
|
||||
/// <param name="path">The path (eg /bork/narf/test)</param>
|
||||
/// <param name="param">Parameters sent</param>
|
||||
/// <returns>Success "OK" else error</returns>
|
||||
public string RestDeleteUserSessionMethod(string request, string path, string param)
|
||||
{
|
||||
// TODO! Important!
|
||||
|
||||
return "OK";
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns an error message that the user could not be found in the database
|
||||
/// </summary>
|
||||
/// <returns>XML string consisting of a error element containing individual error(s)</returns>
|
||||
public XmlRpcResponse CreateUnknownUserErrorResponse()
|
||||
{
|
||||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
responseData["error_type"] = "unknown_user";
|
||||
responseData["error_desc"] = "The user requested is not in the database";
|
||||
|
||||
response.Value = responseData;
|
||||
return response;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Converts a user profile to an XML element which can be returned
|
||||
/// </summary>
|
||||
/// <param name="profile">The user profile</param>
|
||||
/// <returns>A string containing an XML Document of the user profile</returns>
|
||||
public XmlRpcResponse ProfileToXmlRPCResponse(UserProfileData profile)
|
||||
{
|
||||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable responseData = new Hashtable();
|
||||
|
||||
// Account information
|
||||
responseData["firstname"] = profile.username;
|
||||
responseData["lastname"] = profile.surname;
|
||||
responseData["uuid"] = profile.UUID.ToStringHyphenated();
|
||||
// Server Information
|
||||
responseData["server_inventory"] = profile.userInventoryURI;
|
||||
responseData["server_asset"] = profile.userAssetURI;
|
||||
// Profile Information
|
||||
responseData["profile_about"] = profile.profileAboutText;
|
||||
responseData["profile_firstlife_about"] = profile.profileFirstText;
|
||||
responseData["profile_firstlife_image"] = profile.profileFirstImage.ToStringHyphenated();
|
||||
responseData["profile_can_do"] = profile.profileCanDoMask.ToString();
|
||||
responseData["profile_want_do"] = profile.profileWantDoMask.ToString();
|
||||
responseData["profile_image"] = profile.profileImage.ToStringHyphenated();
|
||||
responseData["profile_created"] = profile.created.ToString();
|
||||
responseData["profile_lastlogin"] = profile.lastLogin.ToString();
|
||||
// Home region information
|
||||
responseData["home_coordinates_x"] = profile.homeLocation.X.ToString();
|
||||
responseData["home_coordinates_y"] = profile.homeLocation.Y.ToString();
|
||||
responseData["home_coordinates_z"] = profile.homeLocation.Z.ToString();
|
||||
|
||||
responseData["home_region"] = profile.homeRegion.ToString();
|
||||
|
||||
responseData["home_look_x"] = profile.homeLookAt.X.ToString();
|
||||
responseData["home_look_y"] = profile.homeLookAt.Y.ToString();
|
||||
responseData["home_look_z"] = profile.homeLookAt.Z.ToString();
|
||||
response.Value = responseData;
|
||||
|
||||
return response;
|
||||
}
|
||||
|
||||
#region XMLRPC User Methods
|
||||
//should most likely move out of here and into the grid's userserver sub class
|
||||
public XmlRpcResponse XmlRPCGetUserMethodName(XmlRpcRequest request)
|
||||
{
|
||||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable requestData = (Hashtable)request.Params[0];
|
||||
UserProfileData userProfile;
|
||||
if (requestData.Contains("avatar_name"))
|
||||
{
|
||||
userProfile = getUserProfile((string)requestData["avatar_name"]);
|
||||
if (userProfile == null)
|
||||
{
|
||||
return CreateUnknownUserErrorResponse();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return CreateUnknownUserErrorResponse();
|
||||
}
|
||||
|
||||
return ProfileToXmlRPCResponse(userProfile);
|
||||
}
|
||||
|
||||
public XmlRpcResponse XmlRPCGetUserMethodUUID(XmlRpcRequest request)
|
||||
{
|
||||
XmlRpcResponse response = new XmlRpcResponse();
|
||||
Hashtable requestData = (Hashtable)request.Params[0];
|
||||
UserProfileData userProfile;
|
||||
System.Console.WriteLine("METHOD BY UUID CALLED");
|
||||
if (requestData.Contains("avatar_uuid"))
|
||||
{
|
||||
userProfile = getUserProfile((LLUUID)(string)requestData["avatar_uuid"]);
|
||||
if (userProfile == null)
|
||||
{
|
||||
return CreateUnknownUserErrorResponse();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return CreateUnknownUserErrorResponse();
|
||||
}
|
||||
|
||||
|
||||
return ProfileToXmlRPCResponse(userProfile);
|
||||
}
|
||||
#endregion
|
||||
|
||||
// Rest and XML-RPC methods. (have moved them to a sub class in the user server)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user