private byte[] ResultToBytes(Dictionary <string, object> result) { string xmlString = WebUtils.BuildXmlResponse(result); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
byte[] HandleGetActiveGestures(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); UUID principal = UUID.Zero; UUID.TryParse(request["PRINCIPAL"].ToString(), out principal); List <InventoryItemBase> gestures = m_InventoryService.GetActiveGestures(principal); Dictionary <string, object> items = new Dictionary <string, object>(); if (gestures != null) { int i = 0; foreach (InventoryItemBase item in gestures) { items["item_" + i.ToString()] = EncodeItem(item); i++; } } result["ITEMS"] = items; string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] HandleGetFolderForType(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); UUID principal = UUID.Zero; UUID.TryParse(request["PRINCIPAL"].ToString(), out principal); int type = 0; Int32.TryParse(request["TYPE"].ToString(), out type); int invtype = 0; if (request.ContainsKey("INVTYPE")) { Int32.TryParse(request["INVTYPE"].ToString(), out invtype); } InventoryFolderBase folder = m_InventoryService.GetFolderForType(principal, (InventoryType)invtype, (AssetType)type); if (folder != null) { result["folder"] = EncodeFolder(folder); } string xmlString = WebUtils.BuildXmlResponse(result); //MainConsole.Instance.DebugFormat("[XXX]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] HandleGetFolderItems(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); UUID principal = UUID.Zero; UUID.TryParse(request["PRINCIPAL"].ToString(), out principal); UUID folderID = UUID.Zero; UUID.TryParse(request["FOLDER"].ToString(), out folderID); List <InventoryItemBase> items = m_InventoryService.GetFolderItems(principal, folderID); Dictionary <string, object> sitems = new Dictionary <string, object>(); if (items != null) { int i = 0; foreach (InventoryItemBase item in items) { sitems["item_" + i.ToString()] = EncodeItem(item); i++; } } result["ITEMS"] = sitems; string xmlString = WebUtils.BuildXmlResponse(result); //MainConsole.Instance.DebugFormat("[XXX]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
public void SaveModuleToArchive(TarArchiveWriter writer, IScene scene) { MainConsole.Instance.Debug("[Archive]: Writing estates to archive"); EstateSettings settings = scene.RegionInfo.EstateSettings; if (settings == null) { return; } writer.WriteDir("estate"); string xmlData = WebUtils.BuildXmlResponse(settings.ToKVP()); writer.WriteFile("estate/" + scene.RegionInfo.RegionName, xmlData); MainConsole.Instance.Debug("[Archive]: Finished writing estates to archive"); MainConsole.Instance.Debug("[Archive]: Writing region info to archive"); writer.WriteDir("regioninfo"); RegionInfo regionInfo = scene.RegionInfo; writer.WriteFile("regioninfo/" + scene.RegionInfo.RegionName, OSDParser.SerializeLLSDBinary(regionInfo.PackRegionInfoData(true))); MainConsole.Instance.Debug("[Archive]: Finished writing region info to archive"); }
private byte[] GetAvatar(Dictionary <string, object> request) { UUID user = UUID.Zero; if (!request.ContainsKey("UserID")) { return(FailureResult()); } if (UUID.TryParse(request["UserID"].ToString(), out user)) { AvatarData avatar = m_AvatarService.GetAvatar(user); if (avatar == null) { return(FailureResult()); } Dictionary <string, object> result = new Dictionary <string, object>(); if (avatar == null) { result["result"] = "null"; } else { result["result"] = avatar.ToKVP(); } string xmlString = WebUtils.BuildXmlResponse(result); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); } return(FailureResult()); }
private byte[] GetSafeRegions(Dictionary <string, object> request) { //m_log.DebugFormat("[GRID HANDLER]: GetRegionRange"); UUID scopeID = UUID.Zero; if (request.ContainsKey("SCOPEID")) { UUID.TryParse(request["SCOPEID"].ToString(), out scopeID); } else { m_log.WarnFormat("[GRID HANDLER]: no scopeID in request to get fallback regions"); } int x = 0, y = 0; if (request.ContainsKey("X")) { Int32.TryParse(request["X"].ToString(), out x); } else { m_log.WarnFormat("[GRID HANDLER]: no X in request to get fallback regions"); } if (request.ContainsKey("Y")) { Int32.TryParse(request["Y"].ToString(), out y); } else { m_log.WarnFormat("[GRID HANDLER]: no Y in request to get fallback regions"); } List <GridRegion> rinfos = m_GridService.GetSafeRegions(scopeID, x, y); rinfos = CleanRegions(rinfos); Dictionary <string, object> result = new Dictionary <string, object>(); if ((rinfos == null) || ((rinfos != null) && (rinfos.Count == 0))) { result["result"] = "null"; } else { int i = 0; foreach (GridRegion rinfo in rinfos) { Dictionary <string, object> rinfoDict = rinfo.ToKeyValuePairs(); result["region" + i] = rinfoDict; i++; } } string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
byte[] HandleGetInventorySkeleton(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); if (!request.ContainsKey("PRINCIPAL")) { return(FailureResult()); } List <InventoryFolderBase> folders = m_InventoryService.GetInventorySkeleton(new UUID(request["PRINCIPAL"].ToString())); Dictionary <string, object> sfolders = new Dictionary <string, object>(); if (folders != null) { int i = 0; foreach (InventoryFolderBase f in folders) { sfolders["folder_" + i.ToString()] = EncodeFolder(f); i++; } } result["FOLDERS"] = sfolders; string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] InformNeighborsOfChatMessage(Dictionary <string, object> request) { byte[] result = new byte[0]; if (!CheckThreatLevel(NeighborThreatLevel.Low)) { return(result); } // retrieve the region RegionInfo aRegion = new RegionInfo(); try { aRegion.UnpackRegionInfoData(Util.DictionaryToOSD(request)); } catch (Exception) { return(result); } OSChatMessage message = new OSChatMessage(); message.FromKVP(WebUtils.ParseQueryString(request["MESSAGE"].ToString())); ChatSourceType type = (ChatSourceType)int.Parse(request["TYPE"].ToString()); if (m_AuthenticationService != null) { //Set password on the incoming region if (m_AuthenticationService.CheckExists(aRegion.RegionID)) { if (m_AuthenticationService.Authenticate(aRegion.RegionID, aRegion.Password.ToString(), 100) == "") { m_log.Warn("[RegionPostHandler]: Authentication failed for region " + aRegion.RegionName); return(result); } else { m_log.InfoFormat("[RegionPostHandler]: Authentication succeeded for {0}", aRegion.RegionName); } } else //Set the password then { m_AuthenticationService.SetPasswordHashed(aRegion.RegionID, aRegion.Password.ToString()); } } // Finally! m_NeighborService.SendChatMessageToNeighbors(message, type, aRegion); Dictionary <string, object> resp = new Dictionary <string, object>(); resp["success"] = "true"; string xmlString = WebUtils.BuildXmlResponse(resp); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] Return(Dictionary <string, object> result) { string xmlString = WebUtils.BuildXmlResponse(result); //MainConsole.Instance.DebugFormat("[AuroraDataServerPostHandler]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
byte[] GetAbuseReport(Dictionary <string, object> request) { string xmlString = WebUtils.BuildXmlResponse( m_AbuseReportsService.GetAbuseReport(int.Parse(request["Number"].ToString()), request["Password"].ToString()).ToKeyValuePairs()); //m_log.DebugFormat("[FRIENDS HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
public bool AskForeignServerForBans(string URL, string password) { Dictionary <string, object> sendData = new Dictionary <string, object>(); sendData["Password"] = password; sendData["METHOD"] = "getbans"; string reqString = WebUtils.BuildXmlResponse(sendData); try { string reply = SynchronousRestFormsRequester.MakeRequest("POST", URL + "/crbs", reqString); if (reply != string.Empty) { Dictionary <string, object> replyData = WebUtils.ParseXmlResponse(reply); if (replyData != null) { if (!replyData.ContainsKey("result")) { return(false); } if (replyData["result"].ToString() == "WrongPassword") { MainConsole.Instance.Warn("[CRBS]: Unable to connect successfully to " + URL + ", the foreign password was incorrect."); return(false); } if (replyData["result"].ToString() == "Successful") { UnpackBans(replyData); return(true); } } else { return(false); } } else { return(false); } } catch (Exception e) { MainConsole.Instance.DebugFormat("[CRBS]: Exception when contacting server: {0}", e); } return(false); }
private byte[] GetRegionByPosition(Dictionary <string, object> request) { UUID scopeID = UUID.Zero; if (request.ContainsKey("SCOPEID")) { UUID.TryParse(request["SCOPEID"].ToString(), out scopeID); } else { MainConsole.Instance.WarnFormat("[GRID HANDLER]: no scopeID in request to get region by position"); } int x = 0, y = 0; if (request.ContainsKey("X")) { Int32.TryParse(request["X"].ToString(), out x); } else { MainConsole.Instance.WarnFormat("[GRID HANDLER]: no X in request to get region by position"); } if (request.ContainsKey("Y")) { Int32.TryParse(request["Y"].ToString(), out y); } else { MainConsole.Instance.WarnFormat("[GRID HANDLER]: no Y in request to get region by position"); } GridRegion rinfo = m_GridService.GetRegionByPosition(scopeID, x, y); rinfo = CleanRegion(rinfo); //MainConsole.Instance.DebugFormat("[GRID HANDLER]: neighbours for region {0}: {1}", regionID, rinfos.Count); Dictionary <string, object> result = new Dictionary <string, object>(); if (rinfo == null) { result["result"] = "null"; } else { result["result"] = rinfo.ToKVP(); } string xmlString = WebUtils.BuildXmlResponse(result); //MainConsole.Instance.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] SuccessResult(string result) { Dictionary <string, object> sendData = new Dictionary <string, object>(); sendData["Result"] = "Success"; sendData["Message"] = result; string xmlString = WebUtils.BuildXmlResponse(sendData); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
public void SaveStateTo(ScriptData script) { if (script.Script == null) { return; //If it didn't compile correctly, this happens } if (!script.Script.NeedsStateSaved) { return; //If it doesn't need a state save, don't save one } script.Script.NeedsStateSaved = false; StateSave stateSave = new StateSave(); stateSave.State = script.State; stateSave.ItemID = script.ItemID; stateSave.Running = script.Running; stateSave.MinEventDelay = script.EventDelayTicks; stateSave.Disabled = script.Disabled; stateSave.UserInventoryID = script.UserInventoryItemID; //Allow for the full path to be put down, not just the assembly name itself stateSave.AssemblyName = script.AssemblyName; stateSave.Source = script.Source; if (script.InventoryItem != null) { stateSave.PermsGranter = script.InventoryItem.PermsGranter; stateSave.PermsMask = script.InventoryItem.PermsMask; } else { stateSave.PermsGranter = UUID.Zero; stateSave.PermsMask = 0; } stateSave.TargetOmegaWasSet = script.TargetOmegaWasSet; //Vars Dictionary <string, Object> vars = new Dictionary <string, object> (); if (script.Script != null) { vars = script.Script.GetStoreVars(); } stateSave.Variables = WebUtils.BuildXmlResponse(vars); //Plugins stateSave.Plugins = m_module.GetSerializationData(script.ItemID, script.Part.UUID); CreateOSDMapForState(script, stateSave); }
private byte[] GetMapItems(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); ulong regionHandle = ulong.Parse(request["REGIONHANDLE"].ToString()); GridItemType gridItemType = (GridItemType)int.Parse(request["GRIDITEMTYPE"].ToString()); multipleMapItemReply items = m_GridService.GetMapItems(regionHandle, gridItemType); result["MapItems"] = items.ToKeyValuePairs(); string xmlString = WebUtils.BuildXmlResponse(result); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
byte[] GetAbuseReports(Dictionary <string, object> request) { List <AbuseReport> ars = m_AbuseReportsService.GetAbuseReports(int.Parse(request["start"].ToString()), int.Parse(request["count"].ToString()), request["filter"].ToString()); Dictionary <string, object> returnvalue = new Dictionary <string, object>(); foreach (AbuseReport ar in ars) { returnvalue.Add(ar.Number.ToString(), ar); } string xmlString = WebUtils.BuildXmlResponse(returnvalue); //m_log.DebugFormat("[FRIENDS HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] GetDefaultRegions(Dictionary <string, object> request) { //MainConsole.Instance.DebugFormat("[GRID HANDLER]: GetDefaultRegions"); UUID scopeID = UUID.Zero; if (request.ContainsKey("SCOPEID")) { UUID.TryParse(request["SCOPEID"].ToString(), out scopeID); } else { MainConsole.Instance.WarnFormat("[GRID HANDLER]: no scopeID in request to get region range"); } List <GridRegion> rinfos = m_GridService.GetDefaultRegions(scopeID); rinfos = CleanRegions(rinfos); Dictionary <string, object> result = new Dictionary <string, object>(); if ((rinfos == null) || ((rinfos != null) && (rinfos.Count == 0))) { result["result"] = "null"; } else { int i = 0; #if (!ISWIN) foreach (GridRegion rinfo in rinfos) { Dictionary <string, object> rinfoDict = rinfo.ToKVP(); result["region" + i] = rinfoDict; i++; } #else foreach (Dictionary <string, object> rinfoDict in rinfos.Select(rinfo => rinfo.ToKVP())) { result["region" + i] = rinfoDict; i++; } #endif } string xmlString = WebUtils.BuildXmlResponse(result); //MainConsole.Instance.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] GetNeighbors(Dictionary <string, object> request) { byte[] result = new byte[0]; if (!CheckThreatLevel(NeighborThreatLevel.None)) { return(result); } // retrieve the region RegionInfo aRegion = new RegionInfo(); try { aRegion.UnpackRegionInfoData(Util.DictionaryToOSD(request)); } catch (Exception) { return(result); } // Finally! List <GridRegion> thisRegion = m_NeighborService.GetNeighbors(aRegion); Dictionary <string, object> resp = new Dictionary <string, object>(); if (thisRegion.Count != 0) { resp["success"] = "true"; int i = 0; foreach (GridRegion r in thisRegion) { Dictionary <string, object> region = r.ToKeyValuePairs(); resp["region" + i] = region; i++; } } else { resp["success"] = "false"; } string xmlString = WebUtils.BuildXmlResponse(resp); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] GetFriends(Dictionary <string, object> request) { UUID principalID = UUID.Zero; if (request.ContainsKey("PRINCIPALID")) { UUID.TryParse(request["PRINCIPALID"].ToString(), out principalID); } else { MainConsole.Instance.WarnFormat("[FRIENDS HANDLER]: no principalID in request to get friends"); } FriendInfo[] finfos = m_FriendsService.GetFriends(principalID); //MainConsole.Instance.DebugFormat("[FRIENDS HANDLER]: neighbours for region {0}: {1}", regionID, rinfos.Count); Dictionary <string, object> result = new Dictionary <string, object>(); if ((finfos == null) || ((finfos != null) && (finfos.Length == 0))) { result["result"] = "null"; } else { int i = 0; #if (!ISWIN) foreach (FriendInfo finfo in finfos) { Dictionary <string, object> rinfoDict = finfo.ToKeyValuePairs(); result["friend" + i] = rinfoDict; i++; } #else foreach (Dictionary <string, object> rinfoDict in finfos.Select(finfo => finfo.ToKeyValuePairs())) { result["friend" + i] = rinfoDict; i++; } #endif } string xmlString = WebUtils.BuildXmlResponse(result); //MainConsole.Instance.DebugFormat("[FRIENDS HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] GetRegionByName(Dictionary <string, object> request) { UUID scopeID = UUID.Zero; if (request.ContainsKey("SCOPEID")) { UUID.TryParse(request["SCOPEID"].ToString(), out scopeID); } else { m_log.WarnFormat("[GRID HANDLER]: no scopeID in request to get region by name"); } string regionName = string.Empty; if (request.ContainsKey("NAME")) { regionName = request["NAME"].ToString(); } else { m_log.WarnFormat("[GRID HANDLER]: no name in request to get region by name"); } GridRegion rinfo = m_GridService.GetRegionByName(scopeID, regionName); rinfo = CleanRegion(rinfo); //m_log.DebugFormat("[GRID HANDLER]: neighbours for region {0}: {1}", regionID, rinfos.Count); Dictionary <string, object> result = new Dictionary <string, object>(); if (rinfo == null) { result["result"] = "null"; } else { result["result"] = rinfo.ToKeyValuePairs(); } string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
public byte[] FindTelehub(Dictionary <string, object> request) { UUID regionID = UUID.Zero; UUID.TryParse(request["REGIONID"].ToString(), out regionID); Dictionary <string, object> result = new Dictionary <string, object>(); Telehub telehub = TelehubConnector.FindTelehub(regionID, 0); if (telehub != null) { result = telehub.ToKVP(); } string xmlString = WebUtils.BuildXmlResponse(result); //MainConsole.Instance.DebugFormat("[AuroraDataServerPostHandler]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
byte[] HandleGetAssetPermissions(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); UUID principal = UUID.Zero; UUID.TryParse(request["PRINCIPAL"].ToString(), out principal); UUID assetID = UUID.Zero; UUID.TryParse(request["ASSET"].ToString(), out assetID); int perms = m_InventoryService.GetAssetPermissions(principal, assetID); result["RESULT"] = perms.ToString(); string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
public EstateSettings CreateEstate(EstateSettings es, UUID RegionID) { Dictionary <string, object> sendData = es.ToKeyValuePairs(true); sendData["REGIONID"] = RegionID.ToString(); sendData["METHOD"] = "createestate"; string reqString = WebUtils.BuildXmlResponse(sendData); try { List <string> m_ServerURIs = m_registry.RequestModuleInterface <IConfigurationService>().FindValueOf("RemoteServerURI"); foreach (string m_ServerURI in m_ServerURIs) { string reply = SynchronousRestFormsRequester.MakeRequest("POST", m_ServerURI, reqString); if (reply != string.Empty) { Dictionary <string, object> replyData = WebUtils.ParseXmlResponse(reply); if (replyData != null) { es = new EstateSettings(replyData); es.OnSave += SaveEstateSettings; return(es); } else { m_log.DebugFormat("[AuroraRemoteEstateConnector]: CreateEstate {0} received null response", RegionID); } } } } catch (Exception e) { m_log.DebugFormat("[AuroraRemoteEstateConnector]: Exception when contacting server: {0}", e.ToString()); } return(null); }
byte[] HandleGetRootFolder(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); UUID principal = UUID.Zero; UUID.TryParse(request["PRINCIPAL"].ToString(), out principal); InventoryFolderBase rfolder = m_InventoryService.GetRootFolder(principal); if (rfolder != null) { result["folder"] = EncodeFolder(rfolder); } string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
private byte[] RemoveTelehub(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); int RegionX, RegionY; Util.UlongToInts(m_regionHandle, out RegionX, out RegionY); GridRegion r = m_GridService.GetRegionByPosition(UUID.Zero, RegionX, RegionY); if (r != null) { TelehubConnector.RemoveTelehub(r.RegionID, 0); } result["result"] = "Successful"; string xmlString = WebUtils.BuildXmlResponse(result); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
public void SaveModuleToArchive(TarArchiveWriter writer, IScene scene) { m_log.Info("[Archive]: Writing estates to archive"); writer.WriteDir("estate"); EstateSettings settings = scene.RegionInfo.EstateSettings; string xmlData = WebUtils.BuildXmlResponse(settings.ToKeyValuePairs(true)); writer.WriteFile("estate/" + scene.RegionInfo.RegionName, xmlData); m_log.Info("[Archive]: Finished writing estates to archive"); m_log.Info("[Archive]: Writing region info to archive"); writer.WriteDir("regioninfo"); RegionInfo regionInfo = scene.RegionInfo; writer.WriteFile("regioninfo/" + scene.RegionInfo.RegionName, OSDParser.SerializeLLSDBinary(regionInfo.PackRegionInfoData(true))); m_log.Info("[Archive]: Finished writing region info to archive"); }
protected void HandleSaveAvatarProfile(string[] cmdparams) { if (cmdparams.Length != 6) { MainConsole.Instance.Info("[AvatarProfileArchiver] Not enough parameters!"); return; } UserAccount account = UserAccountService.GetUserAccount(null, cmdparams[3] + " " + cmdparams[4]); if (account == null) { MainConsole.Instance.Info("Account could not be found, stopping now."); return; } IProfileConnector data = DataManager.DataManager.RequestPlugin <IProfileConnector>(); string UPIxmlString = ""; Dictionary <string, object> result = new Dictionary <string, object>(); if (data != null) { IUserProfileInfo profile = data.GetUserProfile(account.PrincipalID); if (profile != null) { result["result"] = profile.ToKVP(); UPIxmlString = WebUtils.BuildXmlResponse(result); } } result["result"] = account.ToKVP(); string UDAxmlString = WebUtils.BuildXmlResponse(result); StreamWriter writer = new StreamWriter(cmdparams[5]); writer.Write("<profile>\n"); writer.Write(UDAxmlString + "\n"); writer.Write(UPIxmlString + "\n"); writer.Write("</profile>\n"); writer.Close(); writer.Dispose(); MainConsole.Instance.Info("[AvatarProfileArchiver] Saved Avatar Profile to " + cmdparams[5]); }
byte[] GetAccounts(Dictionary <string, object> request) { if (!request.ContainsKey("ScopeID") || !request.ContainsKey("query")) { return(FailureResult()); } UUID scopeID = UUID.Zero; if (!UUID.TryParse(request["ScopeID"].ToString(), out scopeID)) { return(FailureResult()); } string query = request["query"].ToString(); List <UserAccount> accounts = m_UserAccountService.GetUserAccounts(scopeID, query); Dictionary <string, object> result = new Dictionary <string, object>(); if ((accounts == null) || ((accounts != null) && (accounts.Count == 0))) { result["result"] = "null"; } else { int i = 0; foreach (UserAccount acc in accounts) { Dictionary <string, object> rinfoDict = acc.ToKeyValuePairs(); result["account" + i] = rinfoDict; i++; } } string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[GRID HANDLER]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }
byte[] HandleGetItem(Dictionary <string, object> request) { Dictionary <string, object> result = new Dictionary <string, object>(); UUID id = UUID.Zero; UUID.TryParse(request["ID"].ToString(), out id); InventoryItemBase item = new InventoryItemBase(id); item = m_InventoryService.GetItem(item); if (item != null) { result["item"] = EncodeItem(item); } string xmlString = WebUtils.BuildXmlResponse(result); //m_log.DebugFormat("[XXX]: resp string: {0}", xmlString); UTF8Encoding encoding = new UTF8Encoding(); return(encoding.GetBytes(xmlString)); }