public WebProfile() { Contacts = new ProfileContacts(); Address = new ProfileAddress(); Personal = new ProfilePersonal(); Preferences = new ProfilePreferences(); }
bool IUserPreferencesInterface.TryGetValue(UUI user, out ProfilePreferences prefs) { using (var conn = new MySqlConnection(m_ConnectionString)) { conn.Open(); using (var cmd = new MySqlCommand("SELECT * FROM usersettings where useruuid = @uuid", conn)) { cmd.Parameters.AddParameter("@uuid", user.ID); using (MySqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { prefs = new ProfilePreferences() { User = user, IMviaEmail = reader.GetBool("imviaemail"), Visible = reader.GetBool("visible") }; return(true); } else { prefs = new ProfilePreferences() { User = user, IMviaEmail = false, Visible = false }; return(true); } } } } }
public WebProfile() { Contacts = new ProfileContacts(); Address = new ProfileAddress(); Personal = new ProfilePersonal(); Preferences = new ProfilePreferences(); }
bool IUserPreferencesInterface.TryGetValue(UGUI user, out ProfilePreferences prefs) { using (var conn = new NpgsqlConnection(m_ConnectionString)) { conn.Open(); using (var cmd = new NpgsqlCommand("SELECT * FROM usersettings where \"useruuid\" = @uuid LIMIT 1", conn)) { cmd.Parameters.AddParameter("@uuid", user.ID); using (NpgsqlDataReader reader = cmd.ExecuteReader()) { if (reader.Read()) { prefs = new ProfilePreferences { User = user, IMviaEmail = (bool)reader["imviaemail"], Visible = (bool)reader["visible"] }; return(true); } else { prefs = new ProfilePreferences { User = user, IMviaEmail = false, Visible = false }; return(true); } } } } }
private void HandleUpdateUserInfo(ViewerAgent agent, SceneInterface scene, Message m) { var req = (UpdateUserInfo)m; if (req.AgentID != req.CircuitAgentID || req.SessionID != req.CircuitSessionID) { return; } if (agent.ProfileService == null) { return; } var prefs = new ProfilePreferences { User = agent.Owner, IMviaEmail = req.IMViaEmail, Visible = req.DirectoryVisibility != "hidden" }; try { agent.ProfileService.Preferences[agent.Owner] = prefs; } catch { agent.SendAlertMessage("Error updating preferences", scene.ID); } }
private void HandleUserInfoRequest(ViewerAgent agent, SceneInterface scene, Message m) { var req = (UserInfoRequest)m; if (req.CircuitSessionID != req.SessionID || req.CircuitAgentID != req.AgentID) { return; } ProfilePreferences prefs; try { prefs = agent.ProfileService.Preferences[agent.Owner]; } catch /* yes, we are catching a NullReferenceException here too */ { prefs = new ProfilePreferences { IMviaEmail = false, Visible = false, User = agent.Owner }; } var reply = new UserInfoReply { AgentID = req.AgentID, DirectoryVisibility = (prefs.Visible) ? "default" : "hidden", EMail = string.Empty, IMViaEmail = prefs.IMviaEmail }; agent.SendMessageAlways(reply, scene.ID); }
public bool TryGetValue(UGUI user, out ProfilePreferences profilePrefs) => m_Preferences.TryGetValue(user.ID, out profilePrefs);
public bool TryGetValue(UGUI user, out ProfilePreferences prefs) { prefs = default(ProfilePreferences); return(false); }
public void HandleUserInfoRequest(ViewerAgent agent, AgentCircuit circuit, HttpRequest req) { if (req.CallerIP != circuit.RemoteIP) { req.ErrorResponse(HttpStatusCode.Forbidden, "Forbidden"); return; } if (req.Method == "GET") { ProfilePreferences prefs; Map resmap; try { prefs = agent.ProfileService.Preferences[agent.Owner]; resmap = new Map { { "success", true }, { "im_via_email", prefs.IMviaEmail }, { "is_verified", false }, { "email", string.Empty }, { "directory_visibility", prefs.Visible } }; } catch /* yes, we are catching a NullReferenceException here too */ { resmap = new Map { { "success", false } }; } using (HttpResponse res = req.BeginResponse("application/llsd+xml")) using (Stream s = res.GetOutputStream()) { LlsdXml.Serialize(resmap, s); } } else if (req.Method == "POST") { Map reqmap; try { reqmap = LlsdXml.Deserialize(req.Body) as Map; } catch { req.ErrorResponse(HttpStatusCode.BadRequest, "Bad request"); return; } if (reqmap == null) { req.ErrorResponse(HttpStatusCode.BadRequest, "Bad request"); return; } if (agent.ProfileService == null) { return; } var prefs = new ProfilePreferences { User = agent.Owner, IMviaEmail = reqmap["im_via_email"].AsBoolean, Visible = reqmap["dir_visibility"].ToString() != "hidden" }; Map resmap; try { agent.ProfileService.Preferences[agent.Owner] = prefs; resmap = new Map { { "success", true } }; } catch { agent.SendAlertMessage("Error updating preferences", circuit.Scene?.ID ?? UUID.Zero); resmap = new Map { { "success", false } }; } using (HttpResponse res = req.BeginResponse("application/llsd+xml")) using (Stream s = res.GetOutputStream()) { LlsdXml.Serialize(resmap, s); } } else { req.ErrorResponse(HttpStatusCode.MethodNotAllowed, "Method not allowed"); } }