diff --git a/OpenSim/Data/IProfilesData.cs b/OpenSim/Data/IProfilesData.cs index 7fb075d3d5..0de7f68af9 100644 --- a/OpenSim/Data/IProfilesData.cs +++ b/OpenSim/Data/IProfilesData.cs @@ -48,8 +48,6 @@ namespace OpenSim.Data bool UpdateAvatarProperties(ref UserProfileProperties props, ref string result); bool UpdateAvatarInterests(UserProfileProperties up, ref string result); bool GetClassifiedInfo(ref UserClassifiedAdd ad, ref string result); - bool UpdateUserPreferences(ref UserPreferences pref, ref string result); - bool GetUserPreferences(ref UserPreferences pref, ref string result); bool GetUserAppData(ref UserAppData props, ref string result); bool SetUserAppData(UserAppData props, ref string result); OSDArray GetUserImageAssets(UUID avatarId); diff --git a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs index 63492c2f10..dc88f9460a 100644 --- a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs +++ b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs @@ -895,7 +895,7 @@ namespace OpenSim.Data.MySQL } #region User Preferences - public bool GetUserPreferences(ref UserPreferences pref, ref string result) + public OSDArray GetUserPreferences(UUID avatarId) { string query = string.Empty; @@ -912,16 +912,19 @@ namespace OpenSim.Data.MySQL dbcon.Open(); using (MySqlCommand cmd = new MySqlCommand(query, dbcon)) { - cmd.Parameters.AddWithValue("?Id", pref.UserId.ToString()); + cmd.Parameters.AddWithValue("?Id", avatarId.ToString()); using (MySqlDataReader reader = cmd.ExecuteReader()) { if(reader.HasRows) { reader.Read(); - bool.TryParse((string)reader["imviaemail"], out pref.IMViaEmail); - bool.TryParse((string)reader["visible"], out pref.Visible); - pref.EMail = (string)reader["email"]; + OSDMap record = new OSDMap(); + + record.Add("imviaemail",OSD.FromString((string)reader["imviaemail"])); + record.Add("visible",OSD.FromString((string)reader["visible"])); + record.Add("email",OSD.FromString((string)reader["email"])); + data.Add(record); } else { @@ -944,19 +947,17 @@ namespace OpenSim.Data.MySQL { m_log.DebugFormat("[PROFILES_DATA]" + ": Get preferences exception {0}", e.Message); - result = e.Message; - return false; } - return true; + return data; } - public bool UpdateUserPreferences(ref UserPreferences pref, ref string result) + public bool UpdateUserPreferences(bool emailIm, bool visible, UUID avatarId ) { string query = string.Empty; - - query += "UPDATE usersettings SET "; + + query += "UPDATE userpsettings SET "; query += "imviaemail=?ImViaEmail, "; - query += "visible=?Visible "; + query += "visible=?Visible,"; query += "WHERE useruuid=?uuid"; try @@ -966,11 +967,14 @@ namespace OpenSim.Data.MySQL dbcon.Open(); using (MySqlCommand cmd = new MySqlCommand(query, dbcon)) { - cmd.Parameters.AddWithValue("?ImViaEmail", pref.IMViaEmail); - cmd.Parameters.AddWithValue("?Visible", pref.Visible); - cmd.Parameters.AddWithValue("?uuid", pref.UserId.ToString()); - - cmd.ExecuteNonQuery(); + cmd.Parameters.AddWithValue("?ImViaEmail", emailIm.ToString().ToLower ()); + cmd.Parameters.AddWithValue("?WantText", visible.ToString().ToLower ()); + cmd.Parameters.AddWithValue("?uuid", avatarId.ToString()); + + lock(Lock) + { + cmd.ExecuteNonQuery(); + } } } } @@ -978,7 +982,6 @@ namespace OpenSim.Data.MySQL { m_log.DebugFormat("[PROFILES_DATA]" + ": AgentInterestsUpdate exception {0}", e.Message); - result = e.Message; return false; } return true; diff --git a/OpenSim/Data/MySQL/Resources/UserProfiles.migrations b/OpenSim/Data/MySQL/Resources/UserProfiles.migrations index bd325da1f0..c29f1abf3e 100644 --- a/OpenSim/Data/MySQL/Resources/UserProfiles.migrations +++ b/OpenSim/Data/MySQL/Resources/UserProfiles.migrations @@ -81,13 +81,3 @@ CREATE TABLE IF NOT EXISTS `userdata` ( commit; -:VERSION 3 # ------------------------------- -begin; -CREATE TABLE IF NOT EXISTS `usersettings` ( - `useruuid` varchar(36) NOT NULL, - `imviaemail` enum('true','false') NOT NULL, - `visible` enum('true','false') NOT NULL, - `email` varchar(254) NOT NULL, - PRIMARY KEY (`useruuid`) -) ENGINE=MyISAM DEFAULT CHARSET=latin1; -commit; \ No newline at end of file diff --git a/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs b/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs index 46f57d8066..f4e41b47dd 100644 --- a/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs +++ b/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs @@ -874,7 +874,7 @@ namespace OpenSim.Data.PGSQL } #region User Preferences - public bool GetUserPreferences(ref UserPreferences pref, ref string result) + public OSDArray GetUserPreferences(UUID avatarId) { string query = string.Empty; @@ -891,16 +891,19 @@ namespace OpenSim.Data.PGSQL dbcon.Open(); using (NpgsqlCommand cmd = new NpgsqlCommand(query, dbcon)) { - cmd.Parameters.AddWithValue("Id", pref.UserId.ToString()); + cmd.Parameters.AddWithValue("Id", avatarId.ToString()); using (NpgsqlDataReader reader = cmd.ExecuteReader()) { if(reader.HasRows) { reader.Read(); - bool.TryParse((string)reader["imviaemail"], out pref.IMViaEmail); - bool.TryParse((string)reader["visible"], out pref.Visible); - pref.EMail = (string)reader["email"]; + OSDMap record = new OSDMap(); + + record.Add("imviaemail",OSD.FromString((string)reader["imviaemail"])); + record.Add("visible",OSD.FromString((string)reader["visible"])); + record.Add("email",OSD.FromString((string)reader["email"])); + data.Add(record); } else { @@ -923,16 +926,15 @@ namespace OpenSim.Data.PGSQL { m_log.DebugFormat("[PROFILES_DATA]" + ": Get preferences exception {0}", e.Message); - result = e.Message; } - return true; + return data; } - - public bool UpdateUserPreferences(ref UserPreferences pref, ref string result) + + public bool UpdateUserPreferences(bool emailIm, bool visible, UUID avatarId ) { string query = string.Empty; - query += "UPDATE usersettings SET "; + query += "UPDATE userpsettings SET "; query += "imviaemail=:ImViaEmail, "; query += "visible=:Visible,"; query += "WHERE useruuid=:uuid"; @@ -944,9 +946,9 @@ namespace OpenSim.Data.PGSQL dbcon.Open(); using (NpgsqlCommand cmd = new NpgsqlCommand(query, dbcon)) { - cmd.Parameters.AddWithValue("ImViaEmail", pref.IMViaEmail.ToString().ToLower ()); - cmd.Parameters.AddWithValue("Visible", pref.Visible.ToString().ToLower ()); - cmd.Parameters.AddWithValue("uuid", pref.UserId.ToString()); + cmd.Parameters.AddWithValue("ImViaEmail", emailIm.ToString().ToLower ()); + cmd.Parameters.AddWithValue("WantText", visible.ToString().ToLower ()); + cmd.Parameters.AddWithValue("uuid", avatarId.ToString()); lock(Lock) { @@ -959,7 +961,6 @@ namespace OpenSim.Data.PGSQL { m_log.DebugFormat("[PROFILES_DATA]" + ": AgentInterestsUpdate exception {0}", e.Message); - result = e.Message; return false; } return true; diff --git a/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations b/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations index 4fcaa8e0bf..f23c87087c 100644 --- a/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations +++ b/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations @@ -81,12 +81,3 @@ CREATE TABLE userdata ( commit; -:VERSION 3 # ------------------------------- -begin; -CREATE TABLE usersettings ( - "useruuid" char(36) NOT NULL, - "imviaemail" bytea NOT NULL, - "visible" bytea NOT NULL, - PRIMARY KEY ("useruuid") -); -commit; \ No newline at end of file diff --git a/OpenSim/Data/SQLite/Resources/UserProfiles.migrations b/OpenSim/Data/SQLite/Resources/UserProfiles.migrations index 86434e8170..16581f6e49 100644 --- a/OpenSim/Data/SQLite/Resources/UserProfiles.migrations +++ b/OpenSim/Data/SQLite/Resources/UserProfiles.migrations @@ -88,15 +88,3 @@ CREATE TABLE IF NOT EXISTS userdata ( commit; - -:VERSION 3 # ------------------------------- - -begin; -CREATE TABLE IF NOT EXISTS usersettings ( - useruuid char(36) NOT NULL, - imviaemail binary(1) NOT NULL, - visible binary(1) NOT NULL, - email varchar(254) NOT NULL, - PRIMARY KEY (useruuid) -) -commit; \ No newline at end of file diff --git a/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs b/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs index 916a226d6b..8c1bcd48d1 100644 --- a/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs +++ b/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs @@ -747,89 +747,6 @@ namespace OpenSim.Data.SQLite } return true; } - - public bool UpdateUserPreferences(ref UserPreferences pref, ref string result) - { - string query = string.Empty; - - query += "UPDATE usersettings SET "; - query += "imviaemail=:ImViaEmail, "; - query += "visible=:Visible "; - query += "WHERE useruuid=:uuid"; - - try - { - using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand()) - { - cmd.CommandText = query; - cmd.Parameters.AddWithValue(":ImViaEmail", pref.IMViaEmail); - cmd.Parameters.AddWithValue(":Visible", pref.Visible); - cmd.Parameters.AddWithValue(":uuid", pref.UserId.ToString()); - - cmd.ExecuteNonQuery(); - } - } - catch (Exception e) - { - m_log.DebugFormat("[PROFILES_DATA]" + - ": AgentInterestsUpdate exception {0}", e.Message); - result = e.Message; - return false; - } - return true; - } - - public bool GetUserPreferences(ref UserPreferences pref, ref string result) - { - IDataReader reader = null; - string query = string.Empty; - - query += "SELECT imviaemail,visible,email FROM "; - query += "usersettings WHERE "; - query += "useruuid = :Id"; - - OSDArray data = new OSDArray(); - - try - { - using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand()) - { - cmd.CommandText = query; - cmd.Parameters.AddWithValue("?Id", pref.UserId.ToString()); - - using (reader = cmd.ExecuteReader(CommandBehavior.SingleRow)) - { - if(reader.Read()) - { - bool.TryParse((string)reader["imviaemail"], out pref.IMViaEmail); - bool.TryParse((string)reader["visible"], out pref.Visible); - pref.EMail = (string)reader["email"]; - } - else - { - query = "INSERT INTO usersettings VALUES "; - query += "(:Id,'false','false', '')"; - - using (SqliteCommand put = (SqliteCommand)m_connection.CreateCommand()) - { - put.Parameters.AddWithValue(":Id", pref.UserId.ToString()); - put.ExecuteNonQuery(); - - } - } - } - } - } - catch (Exception e) - { - m_log.DebugFormat("[PROFILES_DATA]" + - ": Get preferences exception {0}", e.Message); - result = e.Message; - return false; - } - return true; - } - public bool GetUserAppData(ref UserAppData props, ref string result) { IDataReader reader = null; diff --git a/OpenSim/Framework/UserProfiles.cs b/OpenSim/Framework/UserProfiles.cs index 492f6b9bd1..61335917e1 100644 --- a/OpenSim/Framework/UserProfiles.cs +++ b/OpenSim/Framework/UserProfiles.cs @@ -90,14 +90,6 @@ namespace OpenSim.Framework public UUID TargetId; public string Notes; } - - public class UserPreferences - { - public UUID UserId; - public bool IMViaEmail = false; - public bool Visible = false; - public string EMail = string.Empty; - } public class UserAccountProperties { diff --git a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs index b21082fd74..56ff2bddb1 100644 --- a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs @@ -270,10 +270,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles // Notes client.AddGenericPacketHandler("avatarnotesrequest", NotesRequest); client.OnAvatarNotesUpdate += NotesUpdate; - - // Preferences - client.OnUserInfoRequest += UserPreferencesRequest; - client.OnUpdateUserInfo += UpdateUserPreferences; } #endregion Region Event Handlers @@ -803,69 +799,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.UserProfiles } #endregion Notes - #region User Preferences - /// - /// Updates the user preferences. - /// - /// - /// Im via email. - /// - /// - /// Visible. - /// - /// - /// Remote client. - /// - public void UpdateUserPreferences(bool imViaEmail, bool visible, IClientAPI remoteClient) - { - UserPreferences pref = new UserPreferences(); - - pref.UserId = remoteClient.AgentId; - pref.IMViaEmail = imViaEmail; - pref.Visible = visible; - - string serverURI = string.Empty; - bool foreign = GetUserProfileServerURI(remoteClient.AgentId, out serverURI); - - object Pref = pref; - if(!JsonRpcRequest(ref Pref, "user_preferences_update", serverURI, UUID.Random().ToString())) - { - m_log.InfoFormat("[PROFILES]: UserPreferences update error"); - remoteClient.SendAgentAlertMessage("Error updating preferences", false); - return; - } - } - - /// - /// Users the preferences request. - /// - /// - /// Remote client. - /// - public void UserPreferencesRequest(IClientAPI remoteClient) - { - UserPreferences pref = new UserPreferences(); - - pref.UserId = remoteClient.AgentId; - - string serverURI = string.Empty; - bool foreign = GetUserProfileServerURI(remoteClient.AgentId, out serverURI); - - - object Pref = (object)pref; - if(!JsonRpcRequest(ref Pref, "user_preferences_request", serverURI, UUID.Random().ToString())) - { - m_log.InfoFormat("[PROFILES]: UserPreferences request error"); - remoteClient.SendAgentAlertMessage("Error requesting preferences", false); - return; - } - pref = (UserPreferences) Pref; - - remoteClient.SendUserInfoReply(pref.IMViaEmail, pref.Visible, pref.EMail); - - } - #endregion User Preferences - #region Avatar Properties /// /// Update the avatars interests . diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsIn/UserProfiles/LocalUserProfilesServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsIn/UserProfiles/LocalUserProfilesServiceConnector.cs index 4701ee653f..323535ab07 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsIn/UserProfiles/LocalUserProfilesServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsIn/UserProfiles/LocalUserProfilesServiceConnector.cs @@ -153,8 +153,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Profile Server.AddJsonRPCHandler("avatar_properties_request", handler.AvatarPropertiesRequest); Server.AddJsonRPCHandler("avatar_properties_update", handler.AvatarPropertiesUpdate); Server.AddJsonRPCHandler("avatar_interests_update", handler.AvatarInterestsUpdate); - Server.AddJsonRPCHandler("user_preferences_update", handler.UserPreferenecesUpdate); - Server.AddJsonRPCHandler("user_preferences_request", handler.UserPreferencesRequest); Server.AddJsonRPCHandler("image_assets_request", handler.AvatarImageAssetsRequest); Server.AddJsonRPCHandler("user_data_request", handler.RequestUserAppData); Server.AddJsonRPCHandler("user_data_update", handler.UpdateUserAppData); diff --git a/OpenSim/Server/Handlers/Profiles/UserProfilesConnector.cs b/OpenSim/Server/Handlers/Profiles/UserProfilesConnector.cs index 640388200d..28dbbc2e13 100644 --- a/OpenSim/Server/Handlers/Profiles/UserProfilesConnector.cs +++ b/OpenSim/Server/Handlers/Profiles/UserProfilesConnector.cs @@ -104,8 +104,6 @@ namespace OpenSim.Server.Handlers.Profiles Server.AddJsonRPCHandler("avatar_properties_request", handler.AvatarPropertiesRequest); Server.AddJsonRPCHandler("avatar_properties_update", handler.AvatarPropertiesUpdate); Server.AddJsonRPCHandler("avatar_interests_update", handler.AvatarInterestsUpdate); - Server.AddJsonRPCHandler("user_preferences_update", handler.UserPreferenecesUpdate); - Server.AddJsonRPCHandler("user_preferences_request", handler.UserPreferencesRequest); Server.AddJsonRPCHandler("image_assets_request", handler.AvatarImageAssetsRequest); Server.AddJsonRPCHandler("user_data_request", handler.RequestUserAppData); Server.AddJsonRPCHandler("user_data_update", handler.UpdateUserAppData); diff --git a/OpenSim/Server/Handlers/Profiles/UserProfilesHandlers.cs b/OpenSim/Server/Handlers/Profiles/UserProfilesHandlers.cs index d30cc228b0..f5f0794653 100644 --- a/OpenSim/Server/Handlers/Profiles/UserProfilesHandlers.cs +++ b/OpenSim/Server/Handlers/Profiles/UserProfilesHandlers.cs @@ -381,59 +381,6 @@ namespace OpenSim.Server.Handlers } #endregion Interests - #region User Preferences - public bool UserPreferencesRequest(OSDMap json, ref JsonRpcResponse response) - { - if(!json.ContainsKey("params")) - { - response.Error.Code = ErrorCode.ParseError; - m_log.DebugFormat ("User Preferences Request"); - return false; - } - - string result = string.Empty; - UserPreferences prefs = new UserPreferences(); - object Prefs = (object)prefs; - OSD.DeserializeMembers(ref Prefs, (OSDMap)json["params"]); - if(Service.UserPreferencesRequest(ref prefs, ref result)) - { - response.Result = OSD.SerializeMembers(prefs); - return true; - } - - response.Error.Code = ErrorCode.InternalError; - response.Error.Message = string.Format("{0}", result); - m_log.InfoFormat("[PROFILES]: User preferences request error - {0}", response.Error.Message); - return false; - } - - public bool UserPreferenecesUpdate(OSDMap json, ref JsonRpcResponse response) - { - if(!json.ContainsKey("params")) - { - response.Error.Code = ErrorCode.ParseError; - response.Error.Message = "no parameters supplied"; - m_log.DebugFormat ("User Preferences Update Request"); - return false; - } - - string result = string.Empty; - UserPreferences prefs = new UserPreferences(); - object Prefs = (object)prefs; - OSD.DeserializeMembers(ref Prefs, (OSDMap)json["params"]); - if(Service.UserPreferencesUpdate(ref prefs, ref result)) - { - response.Result = OSD.SerializeMembers(prefs); - return true; - } - - response.Error.Code = ErrorCode.InternalError; - response.Error.Message = string.Format("{0}", result); - m_log.InfoFormat("[PROFILES]: User preferences update error - {0}", response.Error.Message); - return false; - } - #endregion User Preferences - #region Utility public bool AvatarImageAssetsRequest(OSDMap json, ref JsonRpcResponse response) { diff --git a/OpenSim/Services/Interfaces/IUserProfilesService.cs b/OpenSim/Services/Interfaces/IUserProfilesService.cs index 121baa8b1f..319d3075dd 100644 --- a/OpenSim/Services/Interfaces/IUserProfilesService.cs +++ b/OpenSim/Services/Interfaces/IUserProfilesService.cs @@ -57,11 +57,6 @@ namespace OpenSim.Services.Interfaces bool AvatarPropertiesRequest(ref UserProfileProperties prop, ref string result); bool AvatarPropertiesUpdate(ref UserProfileProperties prop, ref string result); #endregion Profile Properties - - #region User Preferences - bool UserPreferencesRequest(ref UserPreferences pref, ref string result); - bool UserPreferencesUpdate(ref UserPreferences pref, ref string result); - #endregion User Preferences #region Interests bool AvatarInterestsUpdate(UserProfileProperties prop, ref string result); diff --git a/OpenSim/Services/UserProfilesService/UserProfilesService.cs b/OpenSim/Services/UserProfilesService/UserProfilesService.cs index 69c7b91957..d00f34d650 100644 --- a/OpenSim/Services/UserProfilesService/UserProfilesService.cs +++ b/OpenSim/Services/UserProfilesService/UserProfilesService.cs @@ -163,18 +163,6 @@ namespace OpenSim.Services.ProfilesService } #endregion Interests - #region User Preferences - public bool UserPreferencesUpdate(ref UserPreferences pref, ref string result) - { - return ProfilesData.UpdateUserPreferences(ref pref, ref result); - } - - public bool UserPreferencesRequest(ref UserPreferences pref, ref string result) - { - return ProfilesData.GetUserPreferences(ref pref, ref result); - } - #endregion User Preferences - #region Utility public OSD AvatarImageAssetsRequest(UUID avatarId) {