aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework
diff options
context:
space:
mode:
authorTeravus Ovares2008-03-18 03:09:38 +0000
committerTeravus Ovares2008-03-18 03:09:38 +0000
commit4e30f862af218de783552ffc2ca68ae8a11509c5 (patch)
tree7d8d07d08a16f6407646f6c66516e9df99b7ba84 /OpenSim/Framework
parentLast position will be stored in the DB on logout, and the avatar can continue... (diff)
downloadopensim-SC_OLD-4e30f862af218de783552ffc2ca68ae8a11509c5.zip
opensim-SC_OLD-4e30f862af218de783552ffc2ca68ae8a11509c5.tar.gz
opensim-SC_OLD-4e30f862af218de783552ffc2ca68ae8a11509c5.tar.bz2
opensim-SC_OLD-4e30f862af218de783552ffc2ca68ae8a11509c5.tar.xz
Building on Joha's update...
* Server now listens to the client's start location request for 'home' or 'last' and sends the user to the home location or the last location.
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r--OpenSim/Framework/Communications/LoginService.cs22
1 files changed, 19 insertions, 3 deletions
diff --git a/OpenSim/Framework/Communications/LoginService.cs b/OpenSim/Framework/Communications/LoginService.cs
index fc02ff6..5547c24 100644
--- a/OpenSim/Framework/Communications/LoginService.cs
+++ b/OpenSim/Framework/Communications/LoginService.cs
@@ -93,6 +93,14 @@ namespace OpenSim.Framework.UserManagement
93 (requestData.Contains("passwd") || requestData.Contains("web_login_key"))); 93 (requestData.Contains("passwd") || requestData.Contains("web_login_key")));
94 bool GoodLogin = false; 94 bool GoodLogin = false;
95 95
96 string startLocationRequest = "last";
97
98 if (requestData.Contains("start"))
99 {
100 startLocationRequest = (string)requestData["start"];
101 m_log.Info("[LOGIN]: Client Requested Start: " + (string)requestData["start"]);
102 }
103
96 UserProfileData userProfile; 104 UserProfileData userProfile;
97 LoginResponse logResponse = new LoginResponse(); 105 LoginResponse logResponse = new LoginResponse();
98 106
@@ -213,7 +221,7 @@ namespace OpenSim.Framework.UserManagement
213 221
214 try 222 try
215 { 223 {
216 CustomiseResponse(logResponse, userProfile); 224 CustomiseResponse(logResponse, userProfile, startLocationRequest);
217 } 225 }
218 catch (Exception e) 226 catch (Exception e)
219 { 227 {
@@ -252,6 +260,8 @@ namespace OpenSim.Framework.UserManagement
252 { 260 {
253 bool GoodLogin = false; 261 bool GoodLogin = false;
254 262
263 string startLocationRequest = "last";
264
255 UserProfileData userProfile = null; 265 UserProfileData userProfile = null;
256 LoginResponse logResponse = new LoginResponse(); 266 LoginResponse logResponse = new LoginResponse();
257 267
@@ -265,6 +275,12 @@ namespace OpenSim.Framework.UserManagement
265 string lastname = map["last"].AsString(); 275 string lastname = map["last"].AsString();
266 string passwd = map["passwd"].AsString(); 276 string passwd = map["passwd"].AsString();
267 277
278 if (map.ContainsKey("start"))
279 {
280 m_log.Info("[LOGIN]: StartLocation Requested: " + map["start"].AsString());
281 startLocationRequest = map["start"].AsString();
282 }
283
268 userProfile = GetTheUser(firstname, lastname); 284 userProfile = GetTheUser(firstname, lastname);
269 if (userProfile == null) 285 if (userProfile == null)
270 { 286 {
@@ -342,7 +358,7 @@ namespace OpenSim.Framework.UserManagement
342 358
343 try 359 try
344 { 360 {
345 CustomiseResponse(logResponse, userProfile); 361 CustomiseResponse(logResponse, userProfile, startLocationRequest);
346 } 362 }
347 catch (Exception ex) 363 catch (Exception ex)
348 { 364 {
@@ -376,7 +392,7 @@ namespace OpenSim.Framework.UserManagement
376 /// </summary> 392 /// </summary>
377 /// <param name="response">The existing response</param> 393 /// <param name="response">The existing response</param>
378 /// <param name="theUser">The user profile</param> 394 /// <param name="theUser">The user profile</param>
379 public virtual void CustomiseResponse(LoginResponse response, UserProfileData theUser) 395 public virtual void CustomiseResponse(LoginResponse response, UserProfileData theUser, string startLocationRequest)
380 { 396 {
381 } 397 }
382 398