diff options
author | Teravus Ovares | 2007-11-13 22:48:19 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-11-13 22:48:19 +0000 |
commit | 9f6b3e2357e76b9b85b447da189b4bf4163edd3c (patch) | |
tree | 7d9c39258e45e6271db953608e6868433f9ac70d /OpenSim/Framework/Data | |
parent | first pass on unlinking of objects. From Jay Clarke (IBM) (diff) | |
download | opensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.zip opensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.gz opensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.bz2 opensim-SC_OLD-9f6b3e2357e76b9b85b447da189b4bf4163edd3c.tar.xz |
* Added AvatarPicker in Standalone mode. Works for finding avatar to ban, manually trying to add a friend (with the add button) or useful to those who are curious which usernames have visited your standalone sim. Important for future development :D.
* Grid mode always returns 0 results until the Grid Communications portion is done.
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Framework/Data.DB4o/DB4oGridData.cs | 10 | ||||
-rw-r--r-- | OpenSim/Framework/Data.DB4o/DB4oUserData.cs | 8 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs | 13 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLGridData.cs | 85 | ||||
-rw-r--r-- | OpenSim/Framework/Data.MySQL/MySQLUserData.cs | 81 | ||||
-rw-r--r-- | OpenSim/Framework/Data.SQLite/SQLiteGridData.cs | 11 | ||||
-rw-r--r-- | OpenSim/Framework/Data.SQLite/SQLiteUserData.cs | 53 | ||||
-rw-r--r-- | OpenSim/Framework/Data/GridData.cs | 12 |
8 files changed, 270 insertions, 3 deletions
diff --git a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs index a96d9bd..a071543 100644 --- a/OpenSim/Framework/Data.DB4o/DB4oGridData.cs +++ b/OpenSim/Framework/Data.DB4o/DB4oGridData.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | */ | 27 | */ |
28 | 28 | ||
29 | using System; | 29 | using System; |
30 | using System.Collections.Generic; | ||
30 | using libsecondlife; | 31 | using libsecondlife; |
31 | 32 | ||
32 | namespace OpenSim.Framework.Data.DB4o | 33 | namespace OpenSim.Framework.Data.DB4o |
@@ -139,7 +140,16 @@ namespace OpenSim.Framework.Data.DB4o | |||
139 | { | 140 | { |
140 | manager = null; | 141 | manager = null; |
141 | } | 142 | } |
143 | /// <summary> | ||
144 | /// // Returns a list of avatar and UUIDs that match the query | ||
145 | /// </summary> | ||
142 | 146 | ||
147 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
148 | { | ||
149 | //Do nothing yet | ||
150 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
151 | return returnlist; | ||
152 | } | ||
143 | /// <summary> | 153 | /// <summary> |
144 | /// Returns the providers name | 154 | /// Returns the providers name |
145 | /// </summary> | 155 | /// </summary> |
diff --git a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs index c7113bf..4c6d4b0 100644 --- a/OpenSim/Framework/Data.DB4o/DB4oUserData.cs +++ b/OpenSim/Framework/Data.DB4o/DB4oUserData.cs | |||
@@ -27,6 +27,7 @@ | |||
27 | */ | 27 | */ |
28 | using System; | 28 | using System; |
29 | using System.IO; | 29 | using System.IO; |
30 | using System.Collections.Generic; | ||
30 | using libsecondlife; | 31 | using libsecondlife; |
31 | 32 | ||
32 | namespace OpenSim.Framework.Data.DB4o | 33 | namespace OpenSim.Framework.Data.DB4o |
@@ -131,7 +132,12 @@ namespace OpenSim.Framework.Data.DB4o | |||
131 | return null; | 132 | return null; |
132 | } | 133 | } |
133 | } | 134 | } |
134 | 135 | public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | |
136 | { | ||
137 | //Do nothing yet | ||
138 | List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); | ||
139 | return returnlist; | ||
140 | } | ||
135 | /// <summary> | 141 | /// <summary> |
136 | /// Creates a new user profile | 142 | /// Creates a new user profile |
137 | /// </summary> | 143 | /// </summary> |
diff --git a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs index 1946790..1516fec 100644 --- a/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs +++ b/OpenSim/Framework/Data.MSSQL/MSSQLGridData.cs | |||
@@ -28,10 +28,12 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Data; | 30 | using System.Data; |
31 | using OpenSim.Framework; | ||
31 | using System.Security.Cryptography; | 32 | using System.Security.Cryptography; |
32 | using System.Text; | 33 | using System.Text; |
33 | using libsecondlife; | 34 | using libsecondlife; |
34 | 35 | ||
36 | |||
35 | namespace OpenSim.Framework.Data.MSSQL | 37 | namespace OpenSim.Framework.Data.MSSQL |
36 | { | 38 | { |
37 | /// <summary> | 39 | /// <summary> |
@@ -130,7 +132,16 @@ namespace OpenSim.Framework.Data.MSSQL | |||
130 | 132 | ||
131 | return row; | 133 | return row; |
132 | } | 134 | } |
135 | /// <summary> | ||
136 | /// // Returns a list of avatar and UUIDs that match the query | ||
137 | /// </summary> | ||
133 | 138 | ||
139 | public List<OpenSim.Framework.Data.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
140 | { | ||
141 | //Do nothing yet | ||
142 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
143 | return returnlist; | ||
144 | } | ||
134 | /// <summary> | 145 | /// <summary> |
135 | /// Adds a new specified region to the database | 146 | /// Adds a new specified region to the database |
136 | /// </summary> | 147 | /// </summary> |
@@ -190,5 +201,7 @@ namespace OpenSim.Framework.Data.MSSQL | |||
190 | { | 201 | { |
191 | return null; | 202 | return null; |
192 | } | 203 | } |
204 | // This is here because MSSQL GridData only seems to know about itself o.O | ||
205 | |||
193 | } | 206 | } |
194 | } \ No newline at end of file | 207 | } \ No newline at end of file |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs index fdfc61c..930b3f4 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLGridData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLGridData.cs | |||
@@ -169,6 +169,91 @@ namespace OpenSim.Framework.Data.MySQL | |||
169 | return null; | 169 | return null; |
170 | } | 170 | } |
171 | } | 171 | } |
172 | /// <summary> | ||
173 | /// // Returns a list of avatar and UUIDs that match the query | ||
174 | /// </summary> | ||
175 | |||
176 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
177 | { | ||
178 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
179 | string[] querysplit; | ||
180 | querysplit = query.Split(' '); | ||
181 | if (querysplit.Length == 2) | ||
182 | { | ||
183 | try | ||
184 | { | ||
185 | lock (database) | ||
186 | { | ||
187 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
188 | param["?first"] = querysplit[0]; | ||
189 | param["?second"] = querysplit[1]; | ||
190 | |||
191 | IDbCommand result = | ||
192 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param); | ||
193 | IDataReader reader = result.ExecuteReader(); | ||
194 | |||
195 | |||
196 | while (reader.Read()) | ||
197 | { | ||
198 | AvatarPickerAvatar user = new AvatarPickerAvatar(); | ||
199 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
200 | user.firstName = (string)reader["username"]; | ||
201 | user.lastName = (string)reader["surname"]; | ||
202 | returnlist.Add(user); | ||
203 | |||
204 | } | ||
205 | reader.Close(); | ||
206 | result.Dispose(); | ||
207 | } | ||
208 | } | ||
209 | catch (Exception e) | ||
210 | { | ||
211 | database.Reconnect(); | ||
212 | MainLog.Instance.Error(e.ToString()); | ||
213 | return returnlist; | ||
214 | } | ||
215 | |||
216 | |||
217 | |||
218 | } | ||
219 | else if (querysplit.Length == 1) | ||
220 | { | ||
221 | |||
222 | try | ||
223 | { | ||
224 | lock (database) | ||
225 | { | ||
226 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
227 | param["?first"] = querysplit[0]; | ||
228 | param["?second"] = querysplit[1]; | ||
229 | |||
230 | IDbCommand result = | ||
231 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param); | ||
232 | IDataReader reader = result.ExecuteReader(); | ||
233 | |||
234 | |||
235 | while (reader.Read()) | ||
236 | { | ||
237 | AvatarPickerAvatar user = new AvatarPickerAvatar(); | ||
238 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
239 | user.firstName = (string)reader["username"]; | ||
240 | user.lastName = (string)reader["surname"]; | ||
241 | returnlist.Add(user); | ||
242 | |||
243 | } | ||
244 | reader.Close(); | ||
245 | result.Dispose(); | ||
246 | } | ||
247 | } | ||
248 | catch (Exception e) | ||
249 | { | ||
250 | database.Reconnect(); | ||
251 | MainLog.Instance.Error(e.ToString()); | ||
252 | return returnlist; | ||
253 | } | ||
254 | } | ||
255 | return returnlist; | ||
256 | } | ||
172 | 257 | ||
173 | /// <summary> | 258 | /// <summary> |
174 | /// Returns a sim profile from it's UUID | 259 | /// Returns a sim profile from it's UUID |
diff --git a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs index 8846650..3ae1fba 100644 --- a/OpenSim/Framework/Data.MySQL/MySQLUserData.cs +++ b/OpenSim/Framework/Data.MySQL/MySQLUserData.cs | |||
@@ -97,7 +97,6 @@ namespace OpenSim.Framework.Data.MySQL | |||
97 | 97 | ||
98 | reader.Close(); | 98 | reader.Close(); |
99 | result.Dispose(); | 99 | result.Dispose(); |
100 | |||
101 | return row; | 100 | return row; |
102 | } | 101 | } |
103 | } | 102 | } |
@@ -108,7 +107,87 @@ namespace OpenSim.Framework.Data.MySQL | |||
108 | return null; | 107 | return null; |
109 | } | 108 | } |
110 | } | 109 | } |
110 | public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
111 | { | ||
112 | List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); | ||
113 | string[] querysplit; | ||
114 | querysplit = query.Split(' '); | ||
115 | if (querysplit.Length == 2) | ||
116 | { | ||
117 | try | ||
118 | { | ||
119 | lock (database) | ||
120 | { | ||
121 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
122 | param["?first"] = querysplit[0]; | ||
123 | param["?second"] = querysplit[1]; | ||
124 | |||
125 | IDbCommand result = | ||
126 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first AND lastname = ?second", param); | ||
127 | IDataReader reader = result.ExecuteReader(); | ||
128 | |||
129 | |||
130 | while (reader.Read()) | ||
131 | { | ||
132 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
133 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
134 | user.firstName = (string)reader["username"]; | ||
135 | user.lastName = (string)reader["surname"]; | ||
136 | returnlist.Add(user); | ||
137 | |||
138 | } | ||
139 | reader.Close(); | ||
140 | result.Dispose(); | ||
141 | } | ||
142 | } | ||
143 | catch (Exception e) | ||
144 | { | ||
145 | database.Reconnect(); | ||
146 | MainLog.Instance.Error(e.ToString()); | ||
147 | return returnlist; | ||
148 | } | ||
111 | 149 | ||
150 | |||
151 | |||
152 | } | ||
153 | else if (querysplit.Length == 1) | ||
154 | { | ||
155 | |||
156 | try | ||
157 | { | ||
158 | lock (database) | ||
159 | { | ||
160 | Dictionary<string, string> param = new Dictionary<string, string>(); | ||
161 | param["?first"] = querysplit[0]; | ||
162 | param["?second"] = querysplit[1]; | ||
163 | |||
164 | IDbCommand result = | ||
165 | database.Query("SELECT UUID,username,surname FROM users WHERE username = ?first OR lastname = ?second", param); | ||
166 | IDataReader reader = result.ExecuteReader(); | ||
167 | |||
168 | |||
169 | while (reader.Read()) | ||
170 | { | ||
171 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
172 | user.AvatarID = new LLUUID((string)reader["UUID"]); | ||
173 | user.firstName = (string)reader["username"]; | ||
174 | user.lastName = (string)reader["surname"]; | ||
175 | returnlist.Add(user); | ||
176 | |||
177 | } | ||
178 | reader.Close(); | ||
179 | result.Dispose(); | ||
180 | } | ||
181 | } | ||
182 | catch (Exception e) | ||
183 | { | ||
184 | database.Reconnect(); | ||
185 | MainLog.Instance.Error(e.ToString()); | ||
186 | return returnlist; | ||
187 | } | ||
188 | } | ||
189 | return returnlist; | ||
190 | } | ||
112 | /// <summary> | 191 | /// <summary> |
113 | /// Searches the database for a specified user profile by UUID | 192 | /// Searches the database for a specified user profile by UUID |
114 | /// </summary> | 193 | /// </summary> |
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs index 8f3e8aa..b8fc639 100644 --- a/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs +++ b/OpenSim/Framework/Data.SQLite/SQLiteGridData.cs | |||
@@ -130,7 +130,16 @@ namespace OpenSim.Framework.Data.SQLite | |||
130 | 130 | ||
131 | return row; | 131 | return row; |
132 | } | 132 | } |
133 | 133 | /// <summary> | |
134 | /// // Returns a list of avatar and UUIDs that match the query | ||
135 | /// </summary> | ||
136 | |||
137 | public List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
138 | { | ||
139 | //Do nothing yet | ||
140 | List<AvatarPickerAvatar> returnlist = new List<AvatarPickerAvatar>(); | ||
141 | return returnlist; | ||
142 | } | ||
134 | /// <summary> | 143 | /// <summary> |
135 | /// Adds a new specified region to the database | 144 | /// Adds a new specified region to the database |
136 | /// </summary> | 145 | /// </summary> |
diff --git a/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs b/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs index d7a6b39..1385ffc 100644 --- a/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs +++ b/OpenSim/Framework/Data.SQLite/SQLiteUserData.cs | |||
@@ -26,16 +26,22 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using System.Data; | 30 | using System.Data; |
30 | using libsecondlife; | 31 | using libsecondlife; |
31 | using Mono.Data.SqliteClient; | 32 | using Mono.Data.SqliteClient; |
33 | using OpenSim.Framework; | ||
32 | using OpenSim.Framework.Console; | 34 | using OpenSim.Framework.Console; |
33 | 35 | ||
36 | |||
34 | namespace OpenSim.Framework.Data.SQLite | 37 | namespace OpenSim.Framework.Data.SQLite |
35 | { | 38 | { |
36 | /// <summary> | 39 | /// <summary> |
37 | /// A User storage interface for the DB4o database system | 40 | /// A User storage interface for the DB4o database system |
38 | /// </summary> | 41 | /// </summary> |
42 | /// | ||
43 | |||
44 | |||
39 | public class SQLiteUserData : SQLiteBase, IUserData | 45 | public class SQLiteUserData : SQLiteBase, IUserData |
40 | { | 46 | { |
41 | /// <summary> | 47 | /// <summary> |
@@ -135,6 +141,53 @@ namespace OpenSim.Framework.Data.SQLite | |||
135 | } | 141 | } |
136 | } | 142 | } |
137 | 143 | ||
144 | public List<OpenSim.Framework.AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query) | ||
145 | { | ||
146 | List<OpenSim.Framework.AvatarPickerAvatar> returnlist = new List<OpenSim.Framework.AvatarPickerAvatar>(); | ||
147 | string[] querysplit; | ||
148 | querysplit = query.Split(' '); | ||
149 | if (querysplit.Length == 2) | ||
150 | { | ||
151 | string select = "username like '" + querysplit[0] + "%' and surname like '" + querysplit[1] + "%'"; | ||
152 | lock(ds) | ||
153 | { | ||
154 | DataRow[] rows = ds.Tables["users"].Select(select); | ||
155 | if (rows.Length > 0) | ||
156 | { | ||
157 | for (int i = 0; i < rows.Length; i++) | ||
158 | { | ||
159 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
160 | DataRow row = rows[i]; | ||
161 | user.AvatarID = new LLUUID((string)row["UUID"]); | ||
162 | user.firstName = (string)row["username"]; | ||
163 | user.lastName = (string)row["surname"]; | ||
164 | returnlist.Add(user); | ||
165 | } | ||
166 | } | ||
167 | } | ||
168 | } | ||
169 | else if (querysplit.Length == 1) | ||
170 | { | ||
171 | |||
172 | string select = "username like '" + querysplit[0] + "%' OR surname like '" + querysplit[0] + "%'"; | ||
173 | lock(ds) | ||
174 | { | ||
175 | DataRow[] rows = ds.Tables["users"].Select(select); | ||
176 | if (rows.Length > 0) | ||
177 | { | ||
178 | for (int i = 0;i<rows.Length;i++) { | ||
179 | OpenSim.Framework.AvatarPickerAvatar user = new OpenSim.Framework.AvatarPickerAvatar(); | ||
180 | DataRow row = rows[i]; | ||
181 | user.AvatarID = new LLUUID((string)row[0]); | ||
182 | user.firstName = (string)row[1]; | ||
183 | user.lastName = (string)row[2]; | ||
184 | returnlist.Add(user); | ||
185 | } | ||
186 | } | ||
187 | } | ||
188 | } | ||
189 | return returnlist; | ||
190 | } | ||
138 | /// <summary> | 191 | /// <summary> |
139 | /// Returns a user by UUID direct | 192 | /// Returns a user by UUID direct |
140 | /// </summary> | 193 | /// </summary> |
diff --git a/OpenSim/Framework/Data/GridData.cs b/OpenSim/Framework/Data/GridData.cs index b3b6ed7..23e7bf6 100644 --- a/OpenSim/Framework/Data/GridData.cs +++ b/OpenSim/Framework/Data/GridData.cs | |||
@@ -26,9 +26,19 @@ | |||
26 | * | 26 | * |
27 | */ | 27 | */ |
28 | using libsecondlife; | 28 | using libsecondlife; |
29 | using System.Collections.Generic; | ||
29 | 30 | ||
30 | namespace OpenSim.Framework.Data | 31 | namespace OpenSim.Framework.Data |
31 | { | 32 | { |
33 | public class AvatarPickerAvatar | ||
34 | { | ||
35 | public LLUUID AvatarID; | ||
36 | public string firstName; | ||
37 | public string lastName; | ||
38 | public AvatarPickerAvatar() | ||
39 | { | ||
40 | } | ||
41 | } | ||
32 | public enum DataResponse | 42 | public enum DataResponse |
33 | { | 43 | { |
34 | RESPONSE_OK, | 44 | RESPONSE_OK, |
@@ -66,6 +76,8 @@ namespace OpenSim.Framework.Data | |||
66 | /// <returns>An array containing all the sim profiles in the specified range</returns> | 76 | /// <returns>An array containing all the sim profiles in the specified range</returns> |
67 | RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); | 77 | RegionProfileData[] GetProfilesInRange(uint Xmin, uint Ymin, uint Xmax, uint Ymax); |
68 | 78 | ||
79 | |||
80 | List<AvatarPickerAvatar> GeneratePickerResults(LLUUID queryID, string query); | ||
69 | /// <summary> | 81 | /// <summary> |
70 | /// Authenticates a sim by use of it's recv key. | 82 | /// Authenticates a sim by use of it's recv key. |
71 | /// WARNING: Insecure | 83 | /// WARNING: Insecure |