diff options
Diffstat (limited to 'OpenSim/Data')
-rw-r--r-- | OpenSim/Data/IProfilesData.cs | 2 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/MySQLUserProfilesData.cs | 39 | ||||
-rw-r--r-- | OpenSim/Data/MySQL/Resources/UserProfiles.migrations | 10 | ||||
-rw-r--r-- | OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs | 29 | ||||
-rw-r--r-- | OpenSim/Data/PGSQL/Resources/UserProfiles.migrations | 9 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/Resources/UserProfiles.migrations | 12 | ||||
-rw-r--r-- | OpenSim/Data/SQLite/SQLiteUserProfilesData.cs | 83 |
7 files changed, 36 insertions, 148 deletions
diff --git a/OpenSim/Data/IProfilesData.cs b/OpenSim/Data/IProfilesData.cs index 7fb075d..0de7f68 100644 --- a/OpenSim/Data/IProfilesData.cs +++ b/OpenSim/Data/IProfilesData.cs | |||
@@ -48,8 +48,6 @@ namespace OpenSim.Data | |||
48 | bool UpdateAvatarProperties(ref UserProfileProperties props, ref string result); | 48 | bool UpdateAvatarProperties(ref UserProfileProperties props, ref string result); |
49 | bool UpdateAvatarInterests(UserProfileProperties up, ref string result); | 49 | bool UpdateAvatarInterests(UserProfileProperties up, ref string result); |
50 | bool GetClassifiedInfo(ref UserClassifiedAdd ad, ref string result); | 50 | bool GetClassifiedInfo(ref UserClassifiedAdd ad, ref string result); |
51 | bool UpdateUserPreferences(ref UserPreferences pref, ref string result); | ||
52 | bool GetUserPreferences(ref UserPreferences pref, ref string result); | ||
53 | bool GetUserAppData(ref UserAppData props, ref string result); | 51 | bool GetUserAppData(ref UserAppData props, ref string result); |
54 | bool SetUserAppData(UserAppData props, ref string result); | 52 | bool SetUserAppData(UserAppData props, ref string result); |
55 | OSDArray GetUserImageAssets(UUID avatarId); | 53 | OSDArray GetUserImageAssets(UUID avatarId); |
diff --git a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs index 63492c2..dc88f94 100644 --- a/OpenSim/Data/MySQL/MySQLUserProfilesData.cs +++ b/OpenSim/Data/MySQL/MySQLUserProfilesData.cs | |||
@@ -895,7 +895,7 @@ namespace OpenSim.Data.MySQL | |||
895 | } | 895 | } |
896 | 896 | ||
897 | #region User Preferences | 897 | #region User Preferences |
898 | public bool GetUserPreferences(ref UserPreferences pref, ref string result) | 898 | public OSDArray GetUserPreferences(UUID avatarId) |
899 | { | 899 | { |
900 | string query = string.Empty; | 900 | string query = string.Empty; |
901 | 901 | ||
@@ -912,16 +912,19 @@ namespace OpenSim.Data.MySQL | |||
912 | dbcon.Open(); | 912 | dbcon.Open(); |
913 | using (MySqlCommand cmd = new MySqlCommand(query, dbcon)) | 913 | using (MySqlCommand cmd = new MySqlCommand(query, dbcon)) |
914 | { | 914 | { |
915 | cmd.Parameters.AddWithValue("?Id", pref.UserId.ToString()); | 915 | cmd.Parameters.AddWithValue("?Id", avatarId.ToString()); |
916 | 916 | ||
917 | using (MySqlDataReader reader = cmd.ExecuteReader()) | 917 | using (MySqlDataReader reader = cmd.ExecuteReader()) |
918 | { | 918 | { |
919 | if(reader.HasRows) | 919 | if(reader.HasRows) |
920 | { | 920 | { |
921 | reader.Read(); | 921 | reader.Read(); |
922 | bool.TryParse((string)reader["imviaemail"], out pref.IMViaEmail); | 922 | OSDMap record = new OSDMap(); |
923 | bool.TryParse((string)reader["visible"], out pref.Visible); | 923 | |
924 | pref.EMail = (string)reader["email"]; | 924 | record.Add("imviaemail",OSD.FromString((string)reader["imviaemail"])); |
925 | record.Add("visible",OSD.FromString((string)reader["visible"])); | ||
926 | record.Add("email",OSD.FromString((string)reader["email"])); | ||
927 | data.Add(record); | ||
925 | } | 928 | } |
926 | else | 929 | else |
927 | { | 930 | { |
@@ -944,19 +947,17 @@ namespace OpenSim.Data.MySQL | |||
944 | { | 947 | { |
945 | m_log.DebugFormat("[PROFILES_DATA]" + | 948 | m_log.DebugFormat("[PROFILES_DATA]" + |
946 | ": Get preferences exception {0}", e.Message); | 949 | ": Get preferences exception {0}", e.Message); |
947 | result = e.Message; | ||
948 | return false; | ||
949 | } | 950 | } |
950 | return true; | 951 | return data; |
951 | } | 952 | } |
952 | 953 | ||
953 | public bool UpdateUserPreferences(ref UserPreferences pref, ref string result) | 954 | public bool UpdateUserPreferences(bool emailIm, bool visible, UUID avatarId ) |
954 | { | 955 | { |
955 | string query = string.Empty; | 956 | string query = string.Empty; |
956 | 957 | ||
957 | query += "UPDATE usersettings SET "; | 958 | query += "UPDATE userpsettings SET "; |
958 | query += "imviaemail=?ImViaEmail, "; | 959 | query += "imviaemail=?ImViaEmail, "; |
959 | query += "visible=?Visible "; | 960 | query += "visible=?Visible,"; |
960 | query += "WHERE useruuid=?uuid"; | 961 | query += "WHERE useruuid=?uuid"; |
961 | 962 | ||
962 | try | 963 | try |
@@ -966,11 +967,14 @@ namespace OpenSim.Data.MySQL | |||
966 | dbcon.Open(); | 967 | dbcon.Open(); |
967 | using (MySqlCommand cmd = new MySqlCommand(query, dbcon)) | 968 | using (MySqlCommand cmd = new MySqlCommand(query, dbcon)) |
968 | { | 969 | { |
969 | cmd.Parameters.AddWithValue("?ImViaEmail", pref.IMViaEmail); | 970 | cmd.Parameters.AddWithValue("?ImViaEmail", emailIm.ToString().ToLower ()); |
970 | cmd.Parameters.AddWithValue("?Visible", pref.Visible); | 971 | cmd.Parameters.AddWithValue("?WantText", visible.ToString().ToLower ()); |
971 | cmd.Parameters.AddWithValue("?uuid", pref.UserId.ToString()); | 972 | cmd.Parameters.AddWithValue("?uuid", avatarId.ToString()); |
972 | 973 | ||
973 | cmd.ExecuteNonQuery(); | 974 | lock(Lock) |
975 | { | ||
976 | cmd.ExecuteNonQuery(); | ||
977 | } | ||
974 | } | 978 | } |
975 | } | 979 | } |
976 | } | 980 | } |
@@ -978,7 +982,6 @@ namespace OpenSim.Data.MySQL | |||
978 | { | 982 | { |
979 | m_log.DebugFormat("[PROFILES_DATA]" + | 983 | m_log.DebugFormat("[PROFILES_DATA]" + |
980 | ": AgentInterestsUpdate exception {0}", e.Message); | 984 | ": AgentInterestsUpdate exception {0}", e.Message); |
981 | result = e.Message; | ||
982 | return false; | 985 | return false; |
983 | } | 986 | } |
984 | return true; | 987 | return true; |
diff --git a/OpenSim/Data/MySQL/Resources/UserProfiles.migrations b/OpenSim/Data/MySQL/Resources/UserProfiles.migrations index bd325da..c29f1ab 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` ( | |||
81 | 81 | ||
82 | commit; | 82 | commit; |
83 | 83 | ||
84 | :VERSION 3 # ------------------------------- | ||
85 | begin; | ||
86 | CREATE TABLE IF NOT EXISTS `usersettings` ( | ||
87 | `useruuid` varchar(36) NOT NULL, | ||
88 | `imviaemail` enum('true','false') NOT NULL, | ||
89 | `visible` enum('true','false') NOT NULL, | ||
90 | `email` varchar(254) NOT NULL, | ||
91 | PRIMARY KEY (`useruuid`) | ||
92 | ) ENGINE=MyISAM DEFAULT CHARSET=latin1; | ||
93 | commit; \ No newline at end of file | ||
diff --git a/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs b/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs index 46f57d8..f4e41b4 100644 --- a/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs +++ b/OpenSim/Data/PGSQL/PGSQLUserProfilesData.cs | |||
@@ -874,7 +874,7 @@ namespace OpenSim.Data.PGSQL | |||
874 | } | 874 | } |
875 | 875 | ||
876 | #region User Preferences | 876 | #region User Preferences |
877 | public bool GetUserPreferences(ref UserPreferences pref, ref string result) | 877 | public OSDArray GetUserPreferences(UUID avatarId) |
878 | { | 878 | { |
879 | string query = string.Empty; | 879 | string query = string.Empty; |
880 | 880 | ||
@@ -891,16 +891,19 @@ namespace OpenSim.Data.PGSQL | |||
891 | dbcon.Open(); | 891 | dbcon.Open(); |
892 | using (NpgsqlCommand cmd = new NpgsqlCommand(query, dbcon)) | 892 | using (NpgsqlCommand cmd = new NpgsqlCommand(query, dbcon)) |
893 | { | 893 | { |
894 | cmd.Parameters.AddWithValue("Id", pref.UserId.ToString()); | 894 | cmd.Parameters.AddWithValue("Id", avatarId.ToString()); |
895 | 895 | ||
896 | using (NpgsqlDataReader reader = cmd.ExecuteReader()) | 896 | using (NpgsqlDataReader reader = cmd.ExecuteReader()) |
897 | { | 897 | { |
898 | if(reader.HasRows) | 898 | if(reader.HasRows) |
899 | { | 899 | { |
900 | reader.Read(); | 900 | reader.Read(); |
901 | bool.TryParse((string)reader["imviaemail"], out pref.IMViaEmail); | 901 | OSDMap record = new OSDMap(); |
902 | bool.TryParse((string)reader["visible"], out pref.Visible); | 902 | |
903 | pref.EMail = (string)reader["email"]; | 903 | record.Add("imviaemail",OSD.FromString((string)reader["imviaemail"])); |
904 | record.Add("visible",OSD.FromString((string)reader["visible"])); | ||
905 | record.Add("email",OSD.FromString((string)reader["email"])); | ||
906 | data.Add(record); | ||
904 | } | 907 | } |
905 | else | 908 | else |
906 | { | 909 | { |
@@ -923,16 +926,15 @@ namespace OpenSim.Data.PGSQL | |||
923 | { | 926 | { |
924 | m_log.DebugFormat("[PROFILES_DATA]" + | 927 | m_log.DebugFormat("[PROFILES_DATA]" + |
925 | ": Get preferences exception {0}", e.Message); | 928 | ": Get preferences exception {0}", e.Message); |
926 | result = e.Message; | ||
927 | } | 929 | } |
928 | return true; | 930 | return data; |
929 | } | 931 | } |
930 | 932 | ||
931 | public bool UpdateUserPreferences(ref UserPreferences pref, ref string result) | 933 | public bool UpdateUserPreferences(bool emailIm, bool visible, UUID avatarId ) |
932 | { | 934 | { |
933 | string query = string.Empty; | 935 | string query = string.Empty; |
934 | 936 | ||
935 | query += "UPDATE usersettings SET "; | 937 | query += "UPDATE userpsettings SET "; |
936 | query += "imviaemail=:ImViaEmail, "; | 938 | query += "imviaemail=:ImViaEmail, "; |
937 | query += "visible=:Visible,"; | 939 | query += "visible=:Visible,"; |
938 | query += "WHERE useruuid=:uuid"; | 940 | query += "WHERE useruuid=:uuid"; |
@@ -944,9 +946,9 @@ namespace OpenSim.Data.PGSQL | |||
944 | dbcon.Open(); | 946 | dbcon.Open(); |
945 | using (NpgsqlCommand cmd = new NpgsqlCommand(query, dbcon)) | 947 | using (NpgsqlCommand cmd = new NpgsqlCommand(query, dbcon)) |
946 | { | 948 | { |
947 | cmd.Parameters.AddWithValue("ImViaEmail", pref.IMViaEmail.ToString().ToLower ()); | 949 | cmd.Parameters.AddWithValue("ImViaEmail", emailIm.ToString().ToLower ()); |
948 | cmd.Parameters.AddWithValue("Visible", pref.Visible.ToString().ToLower ()); | 950 | cmd.Parameters.AddWithValue("WantText", visible.ToString().ToLower ()); |
949 | cmd.Parameters.AddWithValue("uuid", pref.UserId.ToString()); | 951 | cmd.Parameters.AddWithValue("uuid", avatarId.ToString()); |
950 | 952 | ||
951 | lock(Lock) | 953 | lock(Lock) |
952 | { | 954 | { |
@@ -959,7 +961,6 @@ namespace OpenSim.Data.PGSQL | |||
959 | { | 961 | { |
960 | m_log.DebugFormat("[PROFILES_DATA]" + | 962 | m_log.DebugFormat("[PROFILES_DATA]" + |
961 | ": AgentInterestsUpdate exception {0}", e.Message); | 963 | ": AgentInterestsUpdate exception {0}", e.Message); |
962 | result = e.Message; | ||
963 | return false; | 964 | return false; |
964 | } | 965 | } |
965 | return true; | 966 | return true; |
diff --git a/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations b/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations index 4fcaa8e..f23c870 100644 --- a/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations +++ b/OpenSim/Data/PGSQL/Resources/UserProfiles.migrations | |||
@@ -81,12 +81,3 @@ CREATE TABLE userdata ( | |||
81 | 81 | ||
82 | commit; | 82 | commit; |
83 | 83 | ||
84 | :VERSION 3 # ------------------------------- | ||
85 | begin; | ||
86 | CREATE TABLE usersettings ( | ||
87 | "useruuid" char(36) NOT NULL, | ||
88 | "imviaemail" bytea NOT NULL, | ||
89 | "visible" bytea NOT NULL, | ||
90 | PRIMARY KEY ("useruuid") | ||
91 | ); | ||
92 | commit; \ No newline at end of file | ||
diff --git a/OpenSim/Data/SQLite/Resources/UserProfiles.migrations b/OpenSim/Data/SQLite/Resources/UserProfiles.migrations index 86434e8..16581f6 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 ( | |||
88 | 88 | ||
89 | commit; | 89 | commit; |
90 | 90 | ||
91 | |||
92 | :VERSION 3 # ------------------------------- | ||
93 | |||
94 | begin; | ||
95 | CREATE TABLE IF NOT EXISTS usersettings ( | ||
96 | useruuid char(36) NOT NULL, | ||
97 | imviaemail binary(1) NOT NULL, | ||
98 | visible binary(1) NOT NULL, | ||
99 | email varchar(254) NOT NULL, | ||
100 | PRIMARY KEY (useruuid) | ||
101 | ) | ||
102 | commit; \ No newline at end of file | ||
diff --git a/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs b/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs index 916a226..8c1bcd4 100644 --- a/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs +++ b/OpenSim/Data/SQLite/SQLiteUserProfilesData.cs | |||
@@ -747,89 +747,6 @@ namespace OpenSim.Data.SQLite | |||
747 | } | 747 | } |
748 | return true; | 748 | return true; |
749 | } | 749 | } |
750 | |||
751 | public bool UpdateUserPreferences(ref UserPreferences pref, ref string result) | ||
752 | { | ||
753 | string query = string.Empty; | ||
754 | |||
755 | query += "UPDATE usersettings SET "; | ||
756 | query += "imviaemail=:ImViaEmail, "; | ||
757 | query += "visible=:Visible "; | ||
758 | query += "WHERE useruuid=:uuid"; | ||
759 | |||
760 | try | ||
761 | { | ||
762 | using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand()) | ||
763 | { | ||
764 | cmd.CommandText = query; | ||
765 | cmd.Parameters.AddWithValue(":ImViaEmail", pref.IMViaEmail); | ||
766 | cmd.Parameters.AddWithValue(":Visible", pref.Visible); | ||
767 | cmd.Parameters.AddWithValue(":uuid", pref.UserId.ToString()); | ||
768 | |||
769 | cmd.ExecuteNonQuery(); | ||
770 | } | ||
771 | } | ||
772 | catch (Exception e) | ||
773 | { | ||
774 | m_log.DebugFormat("[PROFILES_DATA]" + | ||
775 | ": AgentInterestsUpdate exception {0}", e.Message); | ||
776 | result = e.Message; | ||
777 | return false; | ||
778 | } | ||
779 | return true; | ||
780 | } | ||
781 | |||
782 | public bool GetUserPreferences(ref UserPreferences pref, ref string result) | ||
783 | { | ||
784 | IDataReader reader = null; | ||
785 | string query = string.Empty; | ||
786 | |||
787 | query += "SELECT imviaemail,visible,email FROM "; | ||
788 | query += "usersettings WHERE "; | ||
789 | query += "useruuid = :Id"; | ||
790 | |||
791 | OSDArray data = new OSDArray(); | ||
792 | |||
793 | try | ||
794 | { | ||
795 | using (SqliteCommand cmd = (SqliteCommand)m_connection.CreateCommand()) | ||
796 | { | ||
797 | cmd.CommandText = query; | ||
798 | cmd.Parameters.AddWithValue("?Id", pref.UserId.ToString()); | ||
799 | |||
800 | using (reader = cmd.ExecuteReader(CommandBehavior.SingleRow)) | ||
801 | { | ||
802 | if(reader.Read()) | ||
803 | { | ||
804 | bool.TryParse((string)reader["imviaemail"], out pref.IMViaEmail); | ||
805 | bool.TryParse((string)reader["visible"], out pref.Visible); | ||
806 | pref.EMail = (string)reader["email"]; | ||
807 | } | ||
808 | else | ||
809 | { | ||
810 | query = "INSERT INTO usersettings VALUES "; | ||
811 | query += "(:Id,'false','false', '')"; | ||
812 | |||
813 | using (SqliteCommand put = (SqliteCommand)m_connection.CreateCommand()) | ||
814 | { | ||
815 | put.Parameters.AddWithValue(":Id", pref.UserId.ToString()); | ||
816 | put.ExecuteNonQuery(); | ||
817 | |||
818 | } | ||
819 | } | ||
820 | } | ||
821 | } | ||
822 | } | ||
823 | catch (Exception e) | ||
824 | { | ||
825 | m_log.DebugFormat("[PROFILES_DATA]" + | ||
826 | ": Get preferences exception {0}", e.Message); | ||
827 | result = e.Message; | ||
828 | return false; | ||
829 | } | ||
830 | return true; | ||
831 | } | ||
832 | |||
833 | public bool GetUserAppData(ref UserAppData props, ref string result) | 750 | public bool GetUserAppData(ref UserAppData props, ref string result) |
834 | { | 751 | { |
835 | IDataReader reader = null; | 752 | IDataReader reader = null; |