moved fields to properties for UserDataProfile, which was

actually a little more work than I expected given the copious
use of out params.
0.6.0-stable
Sean Dague 2008-04-10 13:53:06 +00:00
parent 1178eddffc
commit c176caeb05
24 changed files with 591 additions and 378 deletions

View File

@ -125,10 +125,10 @@ namespace OpenSim.Data.DB4o
IObjectSet result = database.Get(typeof (UserProfileData)); IObjectSet result = database.Get(typeof (UserProfileData));
foreach (UserProfileData row in result) foreach (UserProfileData row in result)
{ {
if (userProfiles.ContainsKey(row.UUID)) if (userProfiles.ContainsKey(row.Id))
userProfiles[row.UUID] = row; userProfiles[row.Id] = row;
else else
userProfiles.Add(row.UUID, row); userProfiles.Add(row.Id, row);
} }
database.Close(); database.Close();
} }
@ -145,13 +145,13 @@ namespace OpenSim.Data.DB4o
/// <returns>true on success, false on fail to persist to db</returns> /// <returns>true on success, false on fail to persist to db</returns>
public bool UpdateRecord(UserProfileData record) public bool UpdateRecord(UserProfileData record)
{ {
if (userProfiles.ContainsKey(record.UUID)) if (userProfiles.ContainsKey(record.Id))
{ {
userProfiles[record.UUID] = record; userProfiles[record.Id] = record;
} }
else else
{ {
userProfiles.Add(record.UUID, record); userProfiles.Add(record.Id, record);
} }
try try

View File

@ -85,7 +85,7 @@ namespace OpenSim.Data.DB4o
{ {
foreach (UserProfileData profile in manager.userProfiles.Values) foreach (UserProfileData profile in manager.userProfiles.Values)
{ {
if (profile.username == fname && profile.surname == lname) if (profile.FirstName == fname && profile.SurName == lname)
return profile; return profile;
} }
return null; return null;
@ -100,7 +100,7 @@ namespace OpenSim.Data.DB4o
{ {
try try
{ {
return GetUserByUUID(uuid).currentAgent; return GetUserByUUID(uuid).CurrentAgent;
} }
catch (Exception) catch (Exception)
{ {
@ -128,7 +128,7 @@ namespace OpenSim.Data.DB4o
{ {
try try
{ {
return GetUserByName(fname, lname).currentAgent; return GetUserByName(fname, lname).CurrentAgent;
} }
catch (Exception) catch (Exception)
{ {
@ -138,7 +138,7 @@ namespace OpenSim.Data.DB4o
public void StoreWebLoginKey(LLUUID AgentID, LLUUID WebLoginKey) public void StoreWebLoginKey(LLUUID AgentID, LLUUID WebLoginKey)
{ {
UserProfileData user = GetUserByUUID(AgentID); UserProfileData user = GetUserByUUID(AgentID);
user.webLoginKey = WebLoginKey; user.WebLoginKey = WebLoginKey;
UpdateUserProfile(user); UpdateUserProfile(user);
} }

View File

@ -300,38 +300,38 @@ namespace OpenSim.Data.MSSQL
if (reader.Read()) if (reader.Read())
{ {
retval.UUID = new LLUUID((string)reader["UUID"]); retval.Id = new LLUUID((string)reader["UUID"]);
retval.username = (string)reader["username"]; retval.FirstName = (string)reader["username"];
retval.surname = (string)reader["lastname"]; retval.SurName = (string)reader["lastname"];
retval.passwordHash = (string)reader["passwordHash"]; retval.PasswordHash = (string)reader["passwordHash"];
retval.passwordSalt = (string)reader["passwordSalt"]; retval.PasswordSalt = (string)reader["passwordSalt"];
retval.homeRegion = Convert.ToUInt64(reader["homeRegion"].ToString()); retval.HomeRegion = Convert.ToUInt64(reader["homeRegion"].ToString());
retval.homeLocation = new LLVector3( retval.HomeLocation = new LLVector3(
Convert.ToSingle(reader["homeLocationX"].ToString()), Convert.ToSingle(reader["homeLocationX"].ToString()),
Convert.ToSingle(reader["homeLocationY"].ToString()), Convert.ToSingle(reader["homeLocationY"].ToString()),
Convert.ToSingle(reader["homeLocationZ"].ToString())); Convert.ToSingle(reader["homeLocationZ"].ToString()));
retval.homeLookAt = new LLVector3( retval.HomeLookAt = new LLVector3(
Convert.ToSingle(reader["homeLookAtX"].ToString()), Convert.ToSingle(reader["homeLookAtX"].ToString()),
Convert.ToSingle(reader["homeLookAtY"].ToString()), Convert.ToSingle(reader["homeLookAtY"].ToString()),
Convert.ToSingle(reader["homeLookAtZ"].ToString())); Convert.ToSingle(reader["homeLookAtZ"].ToString()));
retval.created = Convert.ToInt32(reader["created"].ToString()); retval.Created = Convert.ToInt32(reader["created"].ToString());
retval.lastLogin = Convert.ToInt32(reader["lastLogin"].ToString()); retval.LastLogin = Convert.ToInt32(reader["lastLogin"].ToString());
retval.userInventoryURI = (string)reader["userInventoryURI"]; retval.UserInventoryURI = (string)reader["userInventoryURI"];
retval.userAssetURI = (string)reader["userAssetURI"]; retval.UserAssetURI = (string)reader["userAssetURI"];
retval.profileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString()); retval.ProfileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString());
retval.profileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString()); retval.ProfileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString());
retval.profileAboutText = (string)reader["profileAboutText"]; retval.ProfileAboutText = (string)reader["profileAboutText"];
retval.profileFirstText = (string)reader["profileFirstText"]; retval.ProfileFirstText = (string)reader["profileFirstText"];
retval.profileImage = new LLUUID((string)reader["profileImage"]); retval.ProfileImage = new LLUUID((string)reader["profileImage"]);
retval.profileFirstImage = new LLUUID((string)reader["profileFirstImage"]); retval.ProfileFirstImage = new LLUUID((string)reader["profileFirstImage"]);
retval.webLoginKey = new LLUUID((string)reader["webLoginKey"]); retval.WebLoginKey = new LLUUID((string)reader["webLoginKey"]);
} }
else else
{ {

View File

@ -453,7 +453,7 @@ namespace OpenSim.Data.MSSQL
override public UserAgentData GetAgentByName(string user, string last) override public UserAgentData GetAgentByName(string user, string last)
{ {
UserProfileData profile = GetUserByName(user, last); UserProfileData profile = GetUserByName(user, last);
return GetAgentByUUID(profile.UUID); return GetAgentByUUID(profile.Id);
} }
/// <summary> /// <summary>
@ -491,7 +491,7 @@ namespace OpenSim.Data.MSSQL
override public void StoreWebLoginKey(LLUUID AgentID, LLUUID WebLoginKey) override public void StoreWebLoginKey(LLUUID AgentID, LLUUID WebLoginKey)
{ {
UserProfileData user = GetUserByUUID(AgentID); UserProfileData user = GetUserByUUID(AgentID);
user.webLoginKey = WebLoginKey; user.WebLoginKey = WebLoginKey;
UpdateUserProfile(user); UpdateUserProfile(user);
} }
@ -505,14 +505,14 @@ namespace OpenSim.Data.MSSQL
{ {
lock (database) lock (database)
{ {
InsertUserRow(user.UUID, user.username, user.surname, user.passwordHash, user.passwordSalt, InsertUserRow(user.Id, user.FirstName, user.SurName, user.PasswordHash, user.PasswordSalt,
user.homeRegion, user.homeLocation.X, user.homeLocation.Y, user.HomeRegion, user.HomeLocation.X, user.HomeLocation.Y,
user.homeLocation.Z, user.HomeLocation.Z,
user.homeLookAt.X, user.homeLookAt.Y, user.homeLookAt.Z, user.created, user.HomeLookAt.X, user.HomeLookAt.Y, user.HomeLookAt.Z, user.Created,
user.lastLogin, user.userInventoryURI, user.userAssetURI, user.LastLogin, user.UserInventoryURI, user.UserAssetURI,
user.profileCanDoMask, user.profileWantDoMask, user.ProfileCanDoMask, user.ProfileWantDoMask,
user.profileAboutText, user.profileFirstText, user.profileImage, user.ProfileAboutText, user.ProfileFirstText, user.ProfileImage,
user.profileFirstImage, user.webLoginKey); user.ProfileFirstImage, user.WebLoginKey);
} }
} }
catch (Exception e) catch (Exception e)
@ -651,30 +651,30 @@ namespace OpenSim.Data.MSSQL
"profileFirstImage = @profileFirstImage, " + "profileFirstImage = @profileFirstImage, " +
"webLoginKey = @webLoginKey where " + "webLoginKey = @webLoginKey where " +
"UUID = @keyUUUID;", database.getConnection()); "UUID = @keyUUUID;", database.getConnection());
SqlParameter param1 = new SqlParameter("@uuid", user.UUID.ToString()); SqlParameter param1 = new SqlParameter("@uuid", user.Id.ToString());
SqlParameter param2 = new SqlParameter("@username", user.username); SqlParameter param2 = new SqlParameter("@username", user.FirstName);
SqlParameter param3 = new SqlParameter("@lastname", user.surname); SqlParameter param3 = new SqlParameter("@lastname", user.SurName);
SqlParameter param4 = new SqlParameter("@passwordHash", user.passwordHash); SqlParameter param4 = new SqlParameter("@passwordHash", user.PasswordHash);
SqlParameter param5 = new SqlParameter("@passwordSalt", user.passwordSalt); SqlParameter param5 = new SqlParameter("@passwordSalt", user.PasswordSalt);
SqlParameter param6 = new SqlParameter("@homeRegion", Convert.ToInt64(user.homeRegion)); SqlParameter param6 = new SqlParameter("@homeRegion", Convert.ToInt64(user.HomeRegion));
SqlParameter param7 = new SqlParameter("@homeLocationX", user.homeLocation.X); SqlParameter param7 = new SqlParameter("@homeLocationX", user.HomeLocation.X);
SqlParameter param8 = new SqlParameter("@homeLocationY", user.homeLocation.Y); SqlParameter param8 = new SqlParameter("@homeLocationY", user.HomeLocation.Y);
SqlParameter param9 = new SqlParameter("@homeLocationZ", user.homeLocation.Y); SqlParameter param9 = new SqlParameter("@homeLocationZ", user.HomeLocation.Y);
SqlParameter param10 = new SqlParameter("@homeLookAtX", user.homeLookAt.X); SqlParameter param10 = new SqlParameter("@homeLookAtX", user.HomeLookAt.X);
SqlParameter param11 = new SqlParameter("@homeLookAtY", user.homeLookAt.Y); SqlParameter param11 = new SqlParameter("@homeLookAtY", user.HomeLookAt.Y);
SqlParameter param12 = new SqlParameter("@homeLookAtZ", user.homeLookAt.Z); SqlParameter param12 = new SqlParameter("@homeLookAtZ", user.HomeLookAt.Z);
SqlParameter param13 = new SqlParameter("@created", Convert.ToInt32(user.created)); SqlParameter param13 = new SqlParameter("@created", Convert.ToInt32(user.Created));
SqlParameter param14 = new SqlParameter("@lastLogin", Convert.ToInt32(user.lastLogin)); SqlParameter param14 = new SqlParameter("@lastLogin", Convert.ToInt32(user.LastLogin));
SqlParameter param15 = new SqlParameter("@userInventoryURI", user.userInventoryURI); SqlParameter param15 = new SqlParameter("@userInventoryURI", user.UserInventoryURI);
SqlParameter param16 = new SqlParameter("@userAssetURI", user.userAssetURI); SqlParameter param16 = new SqlParameter("@userAssetURI", user.UserAssetURI);
SqlParameter param17 = new SqlParameter("@profileCanDoMask", Convert.ToInt32(user.profileCanDoMask)); SqlParameter param17 = new SqlParameter("@profileCanDoMask", Convert.ToInt32(user.ProfileCanDoMask));
SqlParameter param18 = new SqlParameter("@profileWantDoMask", Convert.ToInt32(user.profileWantDoMask)); SqlParameter param18 = new SqlParameter("@profileWantDoMask", Convert.ToInt32(user.ProfileWantDoMask));
SqlParameter param19 = new SqlParameter("@profileAboutText", user.profileAboutText); SqlParameter param19 = new SqlParameter("@profileAboutText", user.ProfileAboutText);
SqlParameter param20 = new SqlParameter("@profileFirstText", user.profileFirstText); SqlParameter param20 = new SqlParameter("@profileFirstText", user.ProfileFirstText);
SqlParameter param21 = new SqlParameter("@profileImage", user.profileImage.ToString()); SqlParameter param21 = new SqlParameter("@profileImage", user.ProfileImage.ToString());
SqlParameter param22 = new SqlParameter("@profileFirstImage", user.profileFirstImage.ToString()); SqlParameter param22 = new SqlParameter("@profileFirstImage", user.ProfileFirstImage.ToString());
SqlParameter param23 = new SqlParameter("@keyUUUID", user.UUID.ToString()); SqlParameter param23 = new SqlParameter("@keyUUUID", user.Id.ToString());
SqlParameter param24 = new SqlParameter("@webLoginKey", user.webLoginKey.UUID.ToString()); SqlParameter param24 = new SqlParameter("@webLoginKey", user.WebLoginKey.UUID.ToString());
command.Parameters.Add(param1); command.Parameters.Add(param1);
command.Parameters.Add(param2); command.Parameters.Add(param2);
command.Parameters.Add(param3); command.Parameters.Add(param3);

View File

@ -427,60 +427,71 @@ namespace OpenSim.Data.MySQL
if (reader.Read()) if (reader.Read())
{ {
if (!LLUUID.TryParse((string)reader["UUID"], out retval.UUID)) LLUUID id;
if (!LLUUID.TryParse((string)reader["UUID"], out id))
return null; return null;
retval.username = (string) reader["username"];
retval.surname = (string) reader["lastname"];
retval.passwordHash = (string) reader["passwordHash"]; retval.Id = id;
retval.passwordSalt = (string) reader["passwordSalt"]; retval.FirstName = (string) reader["username"];
retval.SurName = (string) reader["lastname"];
retval.homeRegion = Convert.ToUInt64(reader["homeRegion"].ToString()); retval.PasswordHash = (string) reader["passwordHash"];
retval.homeLocation = new LLVector3( retval.PasswordSalt = (string) reader["passwordSalt"];
retval.HomeRegion = Convert.ToUInt64(reader["homeRegion"].ToString());
retval.HomeLocation = new LLVector3(
Convert.ToSingle(reader["homeLocationX"].ToString()), Convert.ToSingle(reader["homeLocationX"].ToString()),
Convert.ToSingle(reader["homeLocationY"].ToString()), Convert.ToSingle(reader["homeLocationY"].ToString()),
Convert.ToSingle(reader["homeLocationZ"].ToString())); Convert.ToSingle(reader["homeLocationZ"].ToString()));
retval.homeLookAt = new LLVector3( retval.HomeLookAt = new LLVector3(
Convert.ToSingle(reader["homeLookAtX"].ToString()), Convert.ToSingle(reader["homeLookAtX"].ToString()),
Convert.ToSingle(reader["homeLookAtY"].ToString()), Convert.ToSingle(reader["homeLookAtY"].ToString()),
Convert.ToSingle(reader["homeLookAtZ"].ToString())); Convert.ToSingle(reader["homeLookAtZ"].ToString()));
retval.created = Convert.ToInt32(reader["created"].ToString()); retval.Created = Convert.ToInt32(reader["created"].ToString());
retval.lastLogin = Convert.ToInt32(reader["lastLogin"].ToString()); retval.LastLogin = Convert.ToInt32(reader["lastLogin"].ToString());
retval.userInventoryURI = (string) reader["userInventoryURI"]; retval.UserInventoryURI = (string) reader["userInventoryURI"];
retval.userAssetURI = (string) reader["userAssetURI"]; retval.UserAssetURI = (string) reader["userAssetURI"];
retval.profileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString()); retval.ProfileCanDoMask = Convert.ToUInt32(reader["profileCanDoMask"].ToString());
retval.profileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString()); retval.ProfileWantDoMask = Convert.ToUInt32(reader["profileWantDoMask"].ToString());
if (reader.IsDBNull(reader.GetOrdinal("profileAboutText"))) if (reader.IsDBNull(reader.GetOrdinal("profileAboutText")))
retval.profileAboutText = ""; retval.ProfileAboutText = "";
else else
retval.profileAboutText = (string) reader["profileAboutText"]; retval.ProfileAboutText = (string) reader["profileAboutText"];
if (reader.IsDBNull(reader.GetOrdinal("profileFirstText"))) if (reader.IsDBNull(reader.GetOrdinal("profileFirstText")))
retval.profileFirstText = ""; retval.ProfileFirstText = "";
else else
retval.profileFirstText = (string)reader["profileFirstText"]; retval.ProfileFirstText = (string)reader["profileFirstText"];
if (reader.IsDBNull(reader.GetOrdinal("profileImage"))) if (reader.IsDBNull(reader.GetOrdinal("profileImage")))
retval.profileImage = LLUUID.Zero; retval.ProfileImage = LLUUID.Zero;
else else {
LLUUID.TryParse((string)reader["profileImage"], out retval.profileImage); LLUUID tmp;
LLUUID.TryParse((string)reader["profileImage"], out tmp);
retval.ProfileImage = tmp;
}
if (reader.IsDBNull(reader.GetOrdinal("profileFirstImage"))) if (reader.IsDBNull(reader.GetOrdinal("profileFirstImage")))
retval.profileFirstImage = LLUUID.Zero; retval.ProfileFirstImage = LLUUID.Zero;
else else {
LLUUID.TryParse((string)reader["profileFirstImage"], out retval.profileFirstImage); LLUUID tmp;
LLUUID.TryParse((string)reader["profileFirstImage"], out tmp);
retval.ProfileFirstImage = tmp;
}
if(reader.IsDBNull(reader.GetOrdinal("webLoginKey"))) if(reader.IsDBNull(reader.GetOrdinal("webLoginKey")))
{ {
retval.webLoginKey = LLUUID.Zero; retval.WebLoginKey = LLUUID.Zero;
} }
else else
{ {
LLUUID.TryParse((string)reader["webLoginKey"], out retval.webLoginKey); LLUUID tmp;
LLUUID.TryParse((string)reader["webLoginKey"], out tmp);
retval.WebLoginKey = tmp;
} }
} }
else else

View File

@ -475,7 +475,7 @@ namespace OpenSim.Data.MySQL
override public UserAgentData GetAgentByName(string user, string last) override public UserAgentData GetAgentByName(string user, string last)
{ {
UserProfileData profile = GetUserByName(user, last); UserProfileData profile = GetUserByName(user, last);
return GetAgentByUUID(profile.UUID); return GetAgentByUUID(profile.Id);
} }
override public void StoreWebLoginKey(LLUUID AgentID, LLUUID WebLoginKey) override public void StoreWebLoginKey(LLUUID AgentID, LLUUID WebLoginKey)
@ -547,14 +547,14 @@ namespace OpenSim.Data.MySQL
{ {
lock (database) lock (database)
{ {
database.insertUserRow(user.UUID, user.username, user.surname, user.passwordHash, user.passwordSalt, database.insertUserRow(user.Id, user.FirstName, user.SurName, user.PasswordHash, user.PasswordSalt,
user.homeRegion, user.homeLocation.X, user.homeLocation.Y, user.HomeRegion, user.HomeLocation.X, user.HomeLocation.Y,
user.homeLocation.Z, user.HomeLocation.Z,
user.homeLookAt.X, user.homeLookAt.Y, user.homeLookAt.Z, user.created, user.HomeLookAt.X, user.HomeLookAt.Y, user.HomeLookAt.Z, user.Created,
user.lastLogin, user.userInventoryURI, user.userAssetURI, user.LastLogin, user.UserInventoryURI, user.UserAssetURI,
user.profileCanDoMask, user.profileWantDoMask, user.ProfileCanDoMask, user.ProfileWantDoMask,
user.profileAboutText, user.profileFirstText, user.profileImage, user.ProfileAboutText, user.ProfileFirstText, user.ProfileImage,
user.profileFirstImage, user.webLoginKey); user.ProfileFirstImage, user.WebLoginKey);
} }
} }
catch (Exception e) catch (Exception e)
@ -590,11 +590,11 @@ namespace OpenSim.Data.MySQL
/// <param name="user">The profile data to use to update the DB</param> /// <param name="user">The profile data to use to update the DB</param>
override public bool UpdateUserProfile(UserProfileData user) override public bool UpdateUserProfile(UserProfileData user)
{ {
database.updateUserRow(user.UUID, user.username, user.surname, user.passwordHash, user.passwordSalt, database.updateUserRow(user.Id, user.FirstName, user.SurName, user.PasswordHash, user.PasswordSalt,
user.homeRegion, user.homeLocation.X, user.homeLocation.Y, user.homeLocation.Z, user.homeLookAt.X, user.HomeRegion, user.HomeLocation.X, user.HomeLocation.Y, user.HomeLocation.Z, user.HomeLookAt.X,
user.homeLookAt.Y, user.homeLookAt.Z, user.created, user.lastLogin, user.userInventoryURI, user.HomeLookAt.Y, user.HomeLookAt.Z, user.Created, user.LastLogin, user.UserInventoryURI,
user.userAssetURI, user.profileCanDoMask, user.profileWantDoMask, user.profileAboutText, user.UserAssetURI, user.ProfileCanDoMask, user.ProfileWantDoMask, user.ProfileAboutText,
user.profileFirstText, user.profileImage, user.profileFirstImage, user.webLoginKey); user.ProfileFirstText, user.ProfileImage, user.ProfileFirstImage, user.WebLoginKey);
return true; return true;
} }

View File

@ -114,7 +114,7 @@ namespace OpenSim.Data.SQLite
row = ds.Tables["useragents"].Rows.Find(Util.ToRawUuidString(uuid)); row = ds.Tables["useragents"].Rows.Find(Util.ToRawUuidString(uuid));
if (row != null) if (row != null)
{ {
user.currentAgent = buildUserAgent(row); user.CurrentAgent = buildUserAgent(row);
} }
return user; return user;
} }
@ -135,10 +135,10 @@ namespace OpenSim.Data.SQLite
if (rows.Length > 0) if (rows.Length > 0)
{ {
UserProfileData user = buildUserProfile(rows[0]); UserProfileData user = buildUserProfile(rows[0]);
DataRow row = ds.Tables["useragents"].Rows.Find(Util.ToRawUuidString(user.UUID)); DataRow row = ds.Tables["useragents"].Rows.Find(Util.ToRawUuidString(user.Id));
if (row != null) if (row != null)
{ {
user.currentAgent = buildUserAgent(row); user.CurrentAgent = buildUserAgent(row);
} }
return user; return user;
} }
@ -297,7 +297,7 @@ namespace OpenSim.Data.SQLite
{ {
try try
{ {
return GetUserByUUID(uuid).currentAgent; return GetUserByUUID(uuid).CurrentAgent;
} }
catch (Exception) catch (Exception)
{ {
@ -325,7 +325,7 @@ namespace OpenSim.Data.SQLite
{ {
try try
{ {
return GetUserByName(fname, lname).currentAgent; return GetUserByName(fname, lname).CurrentAgent;
} }
catch (Exception) catch (Exception)
{ {
@ -347,7 +347,7 @@ namespace OpenSim.Data.SQLite
else else
{ {
UserProfileData user = GetUserByUUID(AgentID); UserProfileData user = GetUserByUUID(AgentID);
user.webLoginKey = WebLoginKey; user.WebLoginKey = WebLoginKey;
fillUserRow(row, user); fillUserRow(row, user);
da.Update(ds, "users"); da.Update(ds, "users");
@ -365,7 +365,7 @@ namespace OpenSim.Data.SQLite
DataTable users = ds.Tables["users"]; DataTable users = ds.Tables["users"];
lock (ds) lock (ds)
{ {
DataRow row = users.Rows.Find(Util.ToRawUuidString(user.UUID)); DataRow row = users.Rows.Find(Util.ToRawUuidString(user.Id));
if (row == null) if (row == null)
{ {
row = users.NewRow(); row = users.NewRow();
@ -381,19 +381,19 @@ namespace OpenSim.Data.SQLite
// useragents table once the useragent is null // useragents table once the useragent is null
// //
// A database guy should look at this and figure out the best way to clear the useragents table. // A database guy should look at this and figure out the best way to clear the useragents table.
if (user.currentAgent != null) if (user.CurrentAgent != null)
{ {
DataTable ua = ds.Tables["useragents"]; DataTable ua = ds.Tables["useragents"];
row = ua.Rows.Find(Util.ToRawUuidString(user.UUID)); row = ua.Rows.Find(Util.ToRawUuidString(user.Id));
if (row == null) if (row == null)
{ {
row = ua.NewRow(); row = ua.NewRow();
fillUserAgentRow(row, user.currentAgent); fillUserAgentRow(row, user.CurrentAgent);
ua.Rows.Add(row); ua.Rows.Add(row);
} }
else else
{ {
fillUserAgentRow(row, user.currentAgent); fillUserAgentRow(row, user.CurrentAgent);
} }
} }
else else
@ -401,7 +401,7 @@ namespace OpenSim.Data.SQLite
// I just added this to help the standalone login situation. // I just added this to help the standalone login situation.
//It still needs to be looked at by a Database guy //It still needs to be looked at by a Database guy
DataTable ua = ds.Tables["useragents"]; DataTable ua = ds.Tables["useragents"];
row = ua.Rows.Find(Util.ToRawUuidString(user.UUID)); row = ua.Rows.Find(Util.ToRawUuidString(user.Id));
if (row == null) if (row == null)
{ {
@ -591,70 +591,74 @@ namespace OpenSim.Data.SQLite
// interesting has to be done to actually get these values // interesting has to be done to actually get these values
// back out. Not enough time to figure it out yet. // back out. Not enough time to figure it out yet.
UserProfileData user = new UserProfileData(); UserProfileData user = new UserProfileData();
LLUUID.TryParse((String)row["UUID"], out user.UUID); LLUUID tmp;
user.username = (String) row["username"]; LLUUID.TryParse((String)row["UUID"], out tmp);
user.surname = (String) row["surname"]; user.Id = tmp;
user.passwordHash = (String) row["passwordHash"]; user.FirstName = (String) row["username"];
user.passwordSalt = (String) row["passwordSalt"]; user.SurName = (String) row["surname"];
user.PasswordHash = (String) row["passwordHash"];
user.PasswordSalt = (String) row["passwordSalt"];
user.homeRegionX = Convert.ToUInt32(row["homeRegionX"]); user.HomeRegionX = Convert.ToUInt32(row["homeRegionX"]);
user.homeRegionY = Convert.ToUInt32(row["homeRegionY"]); user.HomeRegionY = Convert.ToUInt32(row["homeRegionY"]);
user.homeLocation = new LLVector3( user.HomeLocation = new LLVector3(
Convert.ToSingle(row["homeLocationX"]), Convert.ToSingle(row["homeLocationX"]),
Convert.ToSingle(row["homeLocationY"]), Convert.ToSingle(row["homeLocationY"]),
Convert.ToSingle(row["homeLocationZ"]) Convert.ToSingle(row["homeLocationZ"])
); );
user.homeLookAt = new LLVector3( user.HomeLookAt = new LLVector3(
Convert.ToSingle(row["homeLookAtX"]), Convert.ToSingle(row["homeLookAtX"]),
Convert.ToSingle(row["homeLookAtY"]), Convert.ToSingle(row["homeLookAtY"]),
Convert.ToSingle(row["homeLookAtZ"]) Convert.ToSingle(row["homeLookAtZ"])
); );
user.created = Convert.ToInt32(row["created"]); user.Created = Convert.ToInt32(row["created"]);
user.lastLogin = Convert.ToInt32(row["lastLogin"]); user.LastLogin = Convert.ToInt32(row["lastLogin"]);
user.rootInventoryFolderID = new LLUUID((String) row["rootInventoryFolderID"]); user.RootInventoryFolderID = new LLUUID((String) row["rootInventoryFolderID"]);
user.userInventoryURI = (String) row["userInventoryURI"]; user.UserInventoryURI = (String) row["userInventoryURI"];
user.userAssetURI = (String) row["userAssetURI"]; user.UserAssetURI = (String) row["userAssetURI"];
user.profileCanDoMask = Convert.ToUInt32(row["profileCanDoMask"]); user.ProfileCanDoMask = Convert.ToUInt32(row["profileCanDoMask"]);
user.profileWantDoMask = Convert.ToUInt32(row["profileWantDoMask"]); user.ProfileWantDoMask = Convert.ToUInt32(row["profileWantDoMask"]);
user.profileAboutText = (String) row["profileAboutText"]; user.ProfileAboutText = (String) row["profileAboutText"];
user.profileFirstText = (String) row["profileFirstText"]; user.ProfileFirstText = (String) row["profileFirstText"];
LLUUID.TryParse((String)row["profileImage"], out user.profileImage); LLUUID.TryParse((String)row["profileImage"], out tmp);
LLUUID.TryParse((String)row["profileFirstImage"], out user.profileFirstImage); user.ProfileImage = tmp;
user.webLoginKey = new LLUUID((String) row["webLoginKey"]); LLUUID.TryParse((String)row["profileFirstImage"], out tmp);
user.ProfileFirstImage = tmp;
user.WebLoginKey = new LLUUID((String) row["webLoginKey"]);
return user; return user;
} }
private void fillUserRow(DataRow row, UserProfileData user) private void fillUserRow(DataRow row, UserProfileData user)
{ {
row["UUID"] = Util.ToRawUuidString(user.UUID); row["UUID"] = Util.ToRawUuidString(user.Id);
row["username"] = user.username; row["username"] = user.FirstName;
row["surname"] = user.surname; row["surname"] = user.SurName;
row["passwordHash"] = user.passwordHash; row["passwordHash"] = user.PasswordHash;
row["passwordSalt"] = user.passwordSalt; row["passwordSalt"] = user.PasswordSalt;
row["homeRegionX"] = user.homeRegionX; row["homeRegionX"] = user.HomeRegionX;
row["homeRegionY"] = user.homeRegionY; row["homeRegionY"] = user.HomeRegionY;
row["homeLocationX"] = user.homeLocation.X; row["homeLocationX"] = user.HomeLocation.X;
row["homeLocationY"] = user.homeLocation.Y; row["homeLocationY"] = user.HomeLocation.Y;
row["homeLocationZ"] = user.homeLocation.Z; row["homeLocationZ"] = user.HomeLocation.Z;
row["homeLookAtX"] = user.homeLookAt.X; row["homeLookAtX"] = user.HomeLookAt.X;
row["homeLookAtY"] = user.homeLookAt.Y; row["homeLookAtY"] = user.HomeLookAt.Y;
row["homeLookAtZ"] = user.homeLookAt.Z; row["homeLookAtZ"] = user.HomeLookAt.Z;
row["created"] = user.created; row["created"] = user.Created;
row["lastLogin"] = user.lastLogin; row["lastLogin"] = user.LastLogin;
row["rootInventoryFolderID"] = user.rootInventoryFolderID; row["rootInventoryFolderID"] = user.RootInventoryFolderID;
row["userInventoryURI"] = user.userInventoryURI; row["userInventoryURI"] = user.UserInventoryURI;
row["userAssetURI"] = user.userAssetURI; row["userAssetURI"] = user.UserAssetURI;
row["profileCanDoMask"] = user.profileCanDoMask; row["profileCanDoMask"] = user.ProfileCanDoMask;
row["profileWantDoMask"] = user.profileWantDoMask; row["profileWantDoMask"] = user.ProfileWantDoMask;
row["profileAboutText"] = user.profileAboutText; row["profileAboutText"] = user.ProfileAboutText;
row["profileFirstText"] = user.profileFirstText; row["profileFirstText"] = user.ProfileFirstText;
row["profileImage"] = user.profileImage; row["profileImage"] = user.ProfileImage;
row["profileFirstImage"] = user.profileFirstImage; row["profileFirstImage"] = user.ProfileFirstImage;
row["webLoginKey"] = user.webLoginKey; row["webLoginKey"] = user.WebLoginKey;
// ADO.NET doesn't handle NULL very well // ADO.NET doesn't handle NULL very well
foreach (DataColumn col in ds.Tables["users"].Columns) foreach (DataColumn col in ds.Tables["users"].Columns)

View File

@ -114,7 +114,7 @@ namespace OpenSim.Framework.Communications.Cache
// "[INVENTORY CACHE]: Received folder {0} {1} for user {2}", // "[INVENTORY CACHE]: Received folder {0} {1} for user {2}",
// folderInfo.name, folderInfo.folderID, userID); // folderInfo.name, folderInfo.folderID, userID);
if (userID == UserProfile.UUID) if (userID == UserProfile.Id)
{ {
if (RootFolder == null) if (RootFolder == null)
{ {
@ -169,7 +169,7 @@ namespace OpenSim.Framework.Communications.Cache
/// <param name="folderInfo"></param> /// <param name="folderInfo"></param>
public void ItemReceive(LLUUID userID, InventoryItemBase itemInfo) public void ItemReceive(LLUUID userID, InventoryItemBase itemInfo)
{ {
if ((userID == UserProfile.UUID) && (RootFolder != null)) if ((userID == UserProfile.Id) && (RootFolder != null))
{ {
if (itemInfo.Folder == RootFolder.ID) if (itemInfo.Folder == RootFolder.ID)
{ {
@ -194,7 +194,7 @@ namespace OpenSim.Framework.Communications.Cache
public void AddItem(LLUUID userID, InventoryItemBase itemInfo) public void AddItem(LLUUID userID, InventoryItemBase itemInfo)
{ {
if ((userID == UserProfile.UUID) && (RootFolder != null)) if ((userID == UserProfile.Id) && (RootFolder != null))
{ {
ItemReceive(userID, itemInfo); ItemReceive(userID, itemInfo);
m_parentCommsManager.InventoryService.AddNewInventoryItem(userID, itemInfo); m_parentCommsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
@ -203,7 +203,7 @@ namespace OpenSim.Framework.Communications.Cache
public void UpdateItem(LLUUID userID, InventoryItemBase itemInfo) public void UpdateItem(LLUUID userID, InventoryItemBase itemInfo)
{ {
if ((userID == UserProfile.UUID) && (RootFolder != null)) if ((userID == UserProfile.Id) && (RootFolder != null))
{ {
m_parentCommsManager.InventoryService.AddNewInventoryItem(userID, itemInfo); m_parentCommsManager.InventoryService.AddNewInventoryItem(userID, itemInfo);
} }
@ -212,7 +212,7 @@ namespace OpenSim.Framework.Communications.Cache
public bool DeleteItem(LLUUID userID, InventoryItemBase item) public bool DeleteItem(LLUUID userID, InventoryItemBase item)
{ {
bool result = false; bool result = false;
if ((userID == UserProfile.UUID) && (RootFolder != null)) if ((userID == UserProfile.Id) && (RootFolder != null))
{ {
result = RootFolder.DeleteItem(item.ID); result = RootFolder.DeleteItem(item.ID);
if (result) if (result)

View File

@ -164,9 +164,9 @@ namespace OpenSim.Framework.Communications
} }
else else
{ {
m_inventoryService.CreateNewUserInventory(userProf.UUID); m_inventoryService.CreateNewUserInventory(userProf.Id);
m_log.Info("[USERS]: Created new inventory set for " + firstName + " " + lastName); m_log.Info("[USERS]: Created new inventory set for " + firstName + " " + lastName);
return userProf.UUID; return userProf.Id;
} }
} }
@ -249,9 +249,9 @@ namespace OpenSim.Framework.Communications
UserProfileData profileData = m_userService.GetUserProfile(uuid); UserProfileData profileData = m_userService.GetUserProfile(uuid);
if (profileData != null) if (profileData != null)
{ {
LLUUID profileId = profileData.UUID; LLUUID profileId = profileData.Id;
string firstname = profileData.username; string firstname = profileData.FirstName;
string lastname = profileData.surname; string lastname = profileData.SurName;
remote_client.SendNameReply(profileId, firstname, lastname); remote_client.SendNameReply(profileId, firstname, lastname);
} }

View File

@ -184,13 +184,13 @@ namespace OpenSim.Framework.UserManagement
else else
{ {
// If we already have a session... // If we already have a session...
if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline) if (userProfile.CurrentAgent != null && userProfile.CurrentAgent.agentOnline)
{ {
//TODO: The following statements can cause trouble: //TODO: The following statements can cause trouble:
// If agentOnline could not turn from true back to false normally // If agentOnline could not turn from true back to false normally
// because of some problem, for instance, the crashment of server or client, // because of some problem, for instance, the crashment of server or client,
// the user cannot log in any longer. // the user cannot log in any longer.
userProfile.currentAgent.agentOnline = false; userProfile.CurrentAgent.agentOnline = false;
m_userManager.CommitAgent(ref userProfile); m_userManager.CommitAgent(ref userProfile);
// Reject the login // Reject the login
@ -207,7 +207,7 @@ namespace OpenSim.Framework.UserManagement
try try
{ {
LLUUID agentID = userProfile.UUID; LLUUID agentID = userProfile.Id;
// Inventory Library Section // Inventory Library Section
InventoryData inventData = GetInventorySkeleton(agentID); InventoryData inventData = GetInventorySkeleton(agentID);
@ -217,16 +217,16 @@ namespace OpenSim.Framework.UserManagement
InventoryRootHash["folder_id"] = inventData.RootFolderID.ToString(); InventoryRootHash["folder_id"] = inventData.RootFolderID.ToString();
ArrayList InventoryRoot = new ArrayList(); ArrayList InventoryRoot = new ArrayList();
InventoryRoot.Add(InventoryRootHash); InventoryRoot.Add(InventoryRootHash);
userProfile.rootInventoryFolderID = inventData.RootFolderID; userProfile.RootInventoryFolderID = inventData.RootFolderID;
// Circuit Code // Circuit Code
uint circode = (uint) (Util.RandomClass.Next()); uint circode = (uint) (Util.RandomClass.Next());
logResponse.Lastname = userProfile.surname; logResponse.Lastname = userProfile.SurName;
logResponse.Firstname = userProfile.username; logResponse.Firstname = userProfile.FirstName;
logResponse.AgentID = agentID.ToString(); logResponse.AgentID = agentID.ToString();
logResponse.SessionID = userProfile.currentAgent.sessionID.ToString(); logResponse.SessionID = userProfile.CurrentAgent.sessionID.ToString();
logResponse.SecureSessionID = userProfile.currentAgent.secureSessionID.ToString(); logResponse.SecureSessionID = userProfile.CurrentAgent.secureSessionID.ToString();
logResponse.InventoryRoot = InventoryRoot; logResponse.InventoryRoot = InventoryRoot;
logResponse.InventorySkeleton = AgentInventoryArray; logResponse.InventorySkeleton = AgentInventoryArray;
logResponse.InventoryLibrary = GetInventoryLibrary(); logResponse.InventoryLibrary = GetInventoryLibrary();
@ -334,9 +334,9 @@ namespace OpenSim.Framework.UserManagement
else else
{ {
// If we already have a session... // If we already have a session...
if (userProfile.currentAgent != null && userProfile.currentAgent.agentOnline) if (userProfile.CurrentAgent != null && userProfile.CurrentAgent.agentOnline)
{ {
userProfile.currentAgent = null; userProfile.CurrentAgent = null;
m_userManager.CommitAgent(ref userProfile); m_userManager.CommitAgent(ref userProfile);
// Reject the login // Reject the login
@ -349,7 +349,7 @@ namespace OpenSim.Framework.UserManagement
try try
{ {
LLUUID agentID = userProfile.UUID; LLUUID agentID = userProfile.Id;
// Inventory Library Section // Inventory Library Section
InventoryData inventData = GetInventorySkeleton(agentID); InventoryData inventData = GetInventorySkeleton(agentID);
@ -359,16 +359,16 @@ namespace OpenSim.Framework.UserManagement
InventoryRootHash["folder_id"] = inventData.RootFolderID.ToString(); InventoryRootHash["folder_id"] = inventData.RootFolderID.ToString();
ArrayList InventoryRoot = new ArrayList(); ArrayList InventoryRoot = new ArrayList();
InventoryRoot.Add(InventoryRootHash); InventoryRoot.Add(InventoryRootHash);
userProfile.rootInventoryFolderID = inventData.RootFolderID; userProfile.RootInventoryFolderID = inventData.RootFolderID;
// Circuit Code // Circuit Code
uint circode = (uint)(Util.RandomClass.Next()); uint circode = (uint)(Util.RandomClass.Next());
logResponse.Lastname = userProfile.surname; logResponse.Lastname = userProfile.SurName;
logResponse.Firstname = userProfile.username; logResponse.Firstname = userProfile.FirstName;
logResponse.AgentID = agentID.ToString(); logResponse.AgentID = agentID.ToString();
logResponse.SessionID = userProfile.currentAgent.sessionID.ToString(); logResponse.SessionID = userProfile.CurrentAgent.sessionID.ToString();
logResponse.SecureSessionID = userProfile.currentAgent.secureSessionID.ToString(); logResponse.SecureSessionID = userProfile.CurrentAgent.secureSessionID.ToString();
logResponse.InventoryRoot = InventoryRoot; logResponse.InventoryRoot = InventoryRoot;
logResponse.InventorySkeleton = AgentInventoryArray; logResponse.InventorySkeleton = AgentInventoryArray;
logResponse.InventoryLibrary = GetInventoryLibrary(); logResponse.InventoryLibrary = GetInventoryLibrary();
@ -491,7 +491,7 @@ namespace OpenSim.Framework.UserManagement
if (goodweblogin) if (goodweblogin)
{ {
LLUUID webloginkey = LLUUID.Random(); LLUUID webloginkey = LLUUID.Random();
m_userManager.StoreWebLoginKey(user.UUID, webloginkey); m_userManager.StoreWebLoginKey(user.Id, webloginkey);
statuscode = 301; statuscode = 301;
string redirectURL = "about:blank?redirect-http-hack=" + string redirectURL = "about:blank?redirect-http-hack=" +
@ -639,7 +639,7 @@ namespace OpenSim.Framework.UserManagement
public virtual bool AuthenticateUser(UserProfileData profile, string password) public virtual bool AuthenticateUser(UserProfileData profile, string password)
{ {
bool passwordSuccess = false; bool passwordSuccess = false;
m_log.InfoFormat("[LOGIN]: Authenticating {0} {1} ({2})", profile.username, profile.surname, profile.UUID); m_log.InfoFormat("[LOGIN]: Authenticating {0} {1} ({2})", profile.FirstName, profile.SurName, profile.Id);
// Web Login method seems to also occasionally send the hashed password itself // Web Login method seems to also occasionally send the hashed password itself
@ -650,13 +650,13 @@ namespace OpenSim.Framework.UserManagement
password = password.Remove(0, 3); //remove $1$ password = password.Remove(0, 3); //remove $1$
string s = Util.Md5Hash(password + ":" + profile.passwordSalt); string s = Util.Md5Hash(password + ":" + profile.PasswordSalt);
// Testing... // Testing...
//m_log.Info("[LOGIN]: SubHash:" + s + " userprofile:" + profile.passwordHash); //m_log.Info("[LOGIN]: SubHash:" + s + " userprofile:" + profile.passwordHash);
//m_log.Info("[LOGIN]: userprofile:" + profile.passwordHash + " SubCT:" + password); //m_log.Info("[LOGIN]: userprofile:" + profile.passwordHash + " SubCT:" + password);
passwordSuccess = (profile.passwordHash.Equals(s.ToString(), StringComparison.InvariantCultureIgnoreCase) passwordSuccess = (profile.PasswordHash.Equals(s.ToString(), StringComparison.InvariantCultureIgnoreCase)
|| profile.passwordHash.Equals(password, StringComparison.InvariantCultureIgnoreCase)); || profile.PasswordHash.Equals(password, StringComparison.InvariantCultureIgnoreCase));
return passwordSuccess; return passwordSuccess;
} }
@ -664,10 +664,10 @@ namespace OpenSim.Framework.UserManagement
public virtual bool AuthenticateUser(UserProfileData profile, LLUUID webloginkey) public virtual bool AuthenticateUser(UserProfileData profile, LLUUID webloginkey)
{ {
bool passwordSuccess = false; bool passwordSuccess = false;
m_log.InfoFormat("[LOGIN]: Authenticating {0} {1} ({2})", profile.username, profile.surname, profile.UUID); m_log.InfoFormat("[LOGIN]: Authenticating {0} {1} ({2})", profile.FirstName, profile.SurName, profile.Id);
// Match web login key unless it's the default weblogin key LLUUID.Zero // Match web login key unless it's the default weblogin key LLUUID.Zero
passwordSuccess = ((profile.webLoginKey==webloginkey) && profile.webLoginKey != LLUUID.Zero); passwordSuccess = ((profile.WebLoginKey==webloginkey) && profile.WebLoginKey != LLUUID.Zero);
return passwordSuccess; return passwordSuccess;
} }

View File

@ -96,7 +96,7 @@ namespace OpenSim.Framework.UserManagement
if (profile != null) if (profile != null)
{ {
profile.currentAgent = getUserAgent(profile.UUID); profile.CurrentAgent = getUserAgent(profile.Id);
return profile; return profile;
} }
} }
@ -113,7 +113,7 @@ namespace OpenSim.Framework.UserManagement
if (null != profile) if (null != profile)
{ {
profile.currentAgent = getUserAgent(profile.UUID); profile.CurrentAgent = getUserAgent(profile.Id);
return profile; return profile;
} }
} }
@ -298,7 +298,7 @@ namespace OpenSim.Framework.UserManagement
public void clearUserAgent(LLUUID agentID) public void clearUserAgent(LLUUID agentID)
{ {
UserProfileData profile = GetUserProfile(agentID); UserProfileData profile = GetUserProfile(agentID);
profile.currentAgent = null; profile.CurrentAgent = null;
setUserProfile(profile); setUserProfile(profile);
} }
@ -355,28 +355,28 @@ namespace OpenSim.Framework.UserManagement
agent.sessionID = new LLUUID(randDataS, 0); agent.sessionID = new LLUUID(randDataS, 0);
// Profile UUID // Profile UUID
agent.UUID = profile.UUID; agent.UUID = profile.Id;
// Current position (from Home) // Current position (from Home)
agent.currentHandle = profile.homeRegion; agent.currentHandle = profile.HomeRegion;
agent.currentPos = profile.homeLocation; agent.currentPos = profile.HomeLocation;
// If user specified additional start, use that // If user specified additional start, use that
if (requestData.ContainsKey("start")) if (requestData.ContainsKey("start"))
{ {
string startLoc = ((string)requestData["start"]).Trim(); string startLoc = ((string)requestData["start"]).Trim();
if (("last" == startLoc) && (profile.currentAgent != null)) if (("last" == startLoc) && (profile.CurrentAgent != null))
{ {
if ((profile.currentAgent.currentPos.X > 0) if ((profile.CurrentAgent.currentPos.X > 0)
&& (profile.currentAgent.currentPos.Y > 0) && (profile.CurrentAgent.currentPos.Y > 0)
&& (profile.currentAgent.currentPos.Z > 0) && (profile.CurrentAgent.currentPos.Z > 0)
) )
{ {
// TODO: Right now, currentRegion has not been used in GridServer for requesting region. // TODO: Right now, currentRegion has not been used in GridServer for requesting region.
// TODO: It is only using currentHandle. // TODO: It is only using currentHandle.
agent.currentRegion = profile.currentAgent.currentRegion; agent.currentRegion = profile.CurrentAgent.currentRegion;
agent.currentHandle = profile.currentAgent.currentHandle; agent.currentHandle = profile.CurrentAgent.currentHandle;
agent.currentPos = profile.currentAgent.currentPos; agent.currentPos = profile.CurrentAgent.currentPos;
} }
} }
@ -406,7 +406,7 @@ namespace OpenSim.Framework.UserManagement
agent.regionID = LLUUID.Zero; // Fill in later agent.regionID = LLUUID.Zero; // Fill in later
agent.currentRegion = LLUUID.Zero; // Fill in later agent.currentRegion = LLUUID.Zero; // Fill in later
profile.currentAgent = agent; profile.CurrentAgent = agent;
} }
/// <summary> /// <summary>
@ -432,9 +432,9 @@ namespace OpenSim.Framework.UserManagement
if (userProfile != null) if (userProfile != null)
{ {
// This line needs to be in side the above if statement or the UserServer will crash on some logouts. // This line needs to be in side the above if statement or the UserServer will crash on some logouts.
m_log.Info("[LOGOUT]: " + userProfile.username + " " + userProfile.surname + " from " + regionhandle + "(" + posx + "," + posy + "," + posz + ")"); m_log.Info("[LOGOUT]: " + userProfile.FirstName + " " + userProfile.SurName + " from " + regionhandle + "(" + posx + "," + posy + "," + posz + ")");
userAgent = userProfile.currentAgent; userAgent = userProfile.CurrentAgent;
if (userAgent != null) if (userAgent != null)
{ {
userAgent.agentOnline = false; userAgent.agentOnline = false;
@ -447,7 +447,7 @@ namespace OpenSim.Framework.UserManagement
userAgent.currentHandle = regionhandle; userAgent.currentHandle = regionhandle;
userAgent.currentPos = currentPos; userAgent.currentPos = currentPos;
userProfile.currentAgent = userAgent; userProfile.CurrentAgent = userAgent;
CommitAgent(ref userProfile); CommitAgent(ref userProfile);
} }
@ -481,11 +481,11 @@ namespace OpenSim.Framework.UserManagement
agent.sessionID = new LLUUID(randDataS, 0); agent.sessionID = new LLUUID(randDataS, 0);
// Profile UUID // Profile UUID
agent.UUID = profile.UUID; agent.UUID = profile.Id;
// Current position (from Home) // Current position (from Home)
agent.currentHandle = profile.homeRegion; agent.currentHandle = profile.HomeRegion;
agent.currentPos = profile.homeLocation; agent.currentPos = profile.HomeLocation;
// What time did the user login? // What time did the user login?
agent.loginTime = Util.UnixTimeSinceEpoch(); agent.loginTime = Util.UnixTimeSinceEpoch();
@ -495,7 +495,7 @@ namespace OpenSim.Framework.UserManagement
agent.regionID = LLUUID.Zero; // Fill in later agent.regionID = LLUUID.Zero; // Fill in later
agent.currentRegion = LLUUID.Zero; // Fill in later agent.currentRegion = LLUUID.Zero; // Fill in later
profile.currentAgent = agent; profile.CurrentAgent = agent;
} }
/// <summary> /// <summary>
@ -508,7 +508,7 @@ namespace OpenSim.Framework.UserManagement
// TODO: how is this function different from setUserProfile? -> Add AddUserAgent() here and commit both tables "users" and "agents" // TODO: how is this function different from setUserProfile? -> Add AddUserAgent() here and commit both tables "users" and "agents"
// TODO: what is the logic should be? // TODO: what is the logic should be?
bool ret = false; bool ret = false;
ret = AddUserAgent(profile.currentAgent); ret = AddUserAgent(profile.CurrentAgent);
ret = ret & setUserProfile(profile); ret = ret & setUserProfile(profile);
return ret; return ret;
} }
@ -522,16 +522,16 @@ namespace OpenSim.Framework.UserManagement
public LLUUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY) public LLUUID AddUserProfile(string firstName, string lastName, string pass, uint regX, uint regY)
{ {
UserProfileData user = new UserProfileData(); UserProfileData user = new UserProfileData();
user.homeLocation = new LLVector3(128, 128, 100); user.HomeLocation = new LLVector3(128, 128, 100);
user.UUID = LLUUID.Random(); user.Id = LLUUID.Random();
user.username = firstName; user.FirstName = firstName;
user.surname = lastName; user.SurName = lastName;
user.passwordHash = pass; user.PasswordHash = pass;
user.passwordSalt = String.Empty; user.PasswordSalt = String.Empty;
user.created = Util.UnixTimeSinceEpoch(); user.Created = Util.UnixTimeSinceEpoch();
user.homeLookAt = new LLVector3(100, 100, 100); user.HomeLookAt = new LLVector3(100, 100, 100);
user.homeRegionX = regX; user.HomeRegionX = regX;
user.homeRegionY = regY; user.HomeRegionY = regY;
foreach (KeyValuePair<string, IUserData> plugin in _plugins) foreach (KeyValuePair<string, IUserData> plugin in _plugins)
{ {
@ -545,14 +545,14 @@ namespace OpenSim.Framework.UserManagement
} }
} }
return user.UUID; return user.Id;
} }
public bool UpdateUserProfileProperties(UserProfileData UserProfile) public bool UpdateUserProfileProperties(UserProfileData UserProfile)
{ {
if (null == GetUserProfile(UserProfile.UUID)) if (null == GetUserProfile(UserProfile.Id))
{ {
m_log.Info("[USERSTORAGE]: Failed to find User by UUID " + UserProfile.UUID.ToString()); m_log.Info("[USERSTORAGE]: Failed to find User by UUID " + UserProfile.Id.ToString());
return false; return false;
} }
foreach (KeyValuePair<string, IUserData> plugin in _plugins) foreach (KeyValuePair<string, IUserData> plugin in _plugins)
@ -563,7 +563,7 @@ namespace OpenSim.Framework.UserManagement
} }
catch (Exception e) catch (Exception e)
{ {
m_log.Info("[USERSTORAGE]: Unable to update user " + UserProfile.UUID.ToString() m_log.Info("[USERSTORAGE]: Unable to update user " + UserProfile.Id.ToString()
+ " via " + plugin.Key + "(" + e.ToString() + ")"); + " via " + plugin.Key + "(" + e.ToString() + ")");
return false; return false;
} }

View File

@ -38,37 +38,37 @@ namespace OpenSim.Framework
/// <summary> /// <summary>
/// The ID value for this user /// The ID value for this user
/// </summary> /// </summary>
public LLUUID UUID; private LLUUID _id;
/// <summary> /// <summary>
/// The last used Web_login_key /// The last used Web_login_key
/// </summary> /// </summary>
public LLUUID webLoginKey; private LLUUID webLoginKey;
/// <summary> /// <summary>
/// The first component of a users account name /// The first component of a users account name
/// </summary> /// </summary>
public string username; private string username;
/// <summary> /// <summary>
/// The second component of a users account name /// The second component of a users account name
/// </summary> /// </summary>
public string surname; private string surname;
/// <summary> /// <summary>
/// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt) /// A salted hash containing the users password, in the format md5(md5(password) + ":" + salt)
/// </summary> /// </summary>
/// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks> /// <remarks>This is double MD5'd because the client sends an unsalted MD5 to the loginserver</remarks>
public string passwordHash; private string passwordHash;
/// <summary> /// <summary>
/// The salt used for the users hash, should be 32 bytes or longer /// The salt used for the users hash, should be 32 bytes or longer
/// </summary> /// </summary>
public string passwordSalt; private string passwordSalt;
/// <summary> /// <summary>
/// The regionhandle of the users preffered home region. If multiple sims occupy the same spot, the grid may decide which region the user logs into /// The regionhandle of the users preffered home region. If multiple sims occupy the same spot, the grid may decide which region the user logs into
/// </summary> /// </summary>
public ulong homeRegion public ulong HomeRegion
{ {
get { return Helpers.UIntsToLong((homeRegionX * (uint)Constants.RegionSize), (homeRegionY * (uint)Constants.RegionSize)); } get { return Helpers.UIntsToLong((homeRegionX * (uint)Constants.RegionSize), (homeRegionY * (uint)Constants.RegionSize)); }
set set
@ -78,74 +78,272 @@ namespace OpenSim.Framework
} }
} }
public uint homeRegionX; public LLUUID Id {
public uint homeRegionY; get {
return _id;
}
set {
_id = value;
}
}
public LLUUID WebLoginKey {
get {
return webLoginKey;
}
set {
webLoginKey = value;
}
}
public string FirstName {
get {
return username;
}
set {
username = value;
}
}
public string SurName {
get {
return surname;
}
set {
surname = value;
}
}
public string PasswordHash {
get {
return passwordHash;
}
set {
passwordHash = value;
}
}
public string PasswordSalt {
get {
return passwordSalt;
}
set {
passwordSalt = value;
}
}
public uint HomeRegionX {
get {
return homeRegionX;
}
set {
homeRegionX = value;
}
}
public uint HomeRegionY {
get {
return homeRegionY;
}
set {
homeRegionY = value;
}
}
public LLVector3 HomeLocation {
get {
return homeLocation;
}
set {
homeLocation = value;
}
}
public LLVector3 HomeLookAt {
get {
return homeLookAt;
}
set {
homeLookAt = value;
}
}
public int Created {
get {
return created;
}
set {
created = value;
}
}
public int LastLogin {
get {
return lastLogin;
}
set {
lastLogin = value;
}
}
public LLUUID RootInventoryFolderID {
get {
return rootInventoryFolderID;
}
set {
rootInventoryFolderID = value;
}
}
public string UserInventoryURI {
get {
return userInventoryURI;
}
set {
userInventoryURI = value;
}
}
public string UserAssetURI {
get {
return userAssetURI;
}
set {
userAssetURI = value;
}
}
public uint ProfileCanDoMask {
get {
return profileCanDoMask;
}
set {
profileCanDoMask = value;
}
}
public uint ProfileWantDoMask {
get {
return profileWantDoMask;
}
set {
profileWantDoMask = value;
}
}
public string ProfileAboutText {
get {
return profileAboutText;
}
set {
profileAboutText = value;
}
}
public string ProfileFirstText {
get {
return profileFirstText;
}
set {
profileFirstText = value;
}
}
public LLUUID ProfileImage {
get {
return profileImage;
}
set {
profileImage = value;
}
}
public LLUUID ProfileFirstImage {
get {
return profileFirstImage;
}
set {
profileFirstImage = value;
}
}
public UserAgentData CurrentAgent {
get {
return currentAgent;
}
set {
currentAgent = value;
}
}
private uint homeRegionX;
private uint homeRegionY;
/// <summary> /// <summary>
/// The coordinates inside the region of the home location /// The coordinates inside the region of the home location
/// </summary> /// </summary>
public LLVector3 homeLocation; private LLVector3 homeLocation;
/// <summary> /// <summary>
/// Where the user will be looking when they rez. /// Where the user will be looking when they rez.
/// </summary> /// </summary>
public LLVector3 homeLookAt; private LLVector3 homeLookAt;
/// <summary> /// <summary>
/// A UNIX Timestamp (seconds since epoch) for the users creation /// A UNIX Timestamp (seconds since epoch) for the users creation
/// </summary> /// </summary>
public int created; private int created;
/// <summary> /// <summary>
/// A UNIX Timestamp for the users last login date / time /// A UNIX Timestamp for the users last login date / time
/// </summary> /// </summary>
public int lastLogin; private int lastLogin;
public LLUUID rootInventoryFolderID; private LLUUID rootInventoryFolderID;
/// <summary> /// <summary>
/// A URI to the users inventory server, used for foreigners and large grids /// A URI to the users inventory server, used for foreigners and large grids
/// </summary> /// </summary>
public string userInventoryURI = String.Empty; private string userInventoryURI = String.Empty;
/// <summary> /// <summary>
/// A URI to the users asset server, used for foreigners and large grids. /// A URI to the users asset server, used for foreigners and large grids.
/// </summary> /// </summary>
public string userAssetURI = String.Empty; private string userAssetURI = String.Empty;
/// <summary> /// <summary>
/// A uint mask containing the "I can do" fields of the users profile /// A uint mask containing the "I can do" fields of the users profile
/// </summary> /// </summary>
public uint profileCanDoMask; private uint profileCanDoMask;
/// <summary> /// <summary>
/// A uint mask containing the "I want to do" part of the users profile /// A uint mask containing the "I want to do" part of the users profile
/// </summary> /// </summary>
public uint profileWantDoMask; // Profile window "I want to" mask private uint profileWantDoMask; // Profile window "I want to" mask
/// <summary> /// <summary>
/// The about text listed in a users profile. /// The about text listed in a users profile.
/// </summary> /// </summary>
public string profileAboutText = String.Empty; private string profileAboutText = String.Empty;
/// <summary> /// <summary>
/// The first life about text listed in a users profile /// The first life about text listed in a users profile
/// </summary> /// </summary>
public string profileFirstText = String.Empty; private string profileFirstText = String.Empty;
/// <summary> /// <summary>
/// The profile image for an avatar stored on the asset server /// The profile image for an avatar stored on the asset server
/// </summary> /// </summary>
public LLUUID profileImage; private LLUUID profileImage;
/// <summary> /// <summary>
/// The profile image for the users first life tab /// The profile image for the users first life tab
/// </summary> /// </summary>
public LLUUID profileFirstImage; private LLUUID profileFirstImage;
/// <summary> /// <summary>
/// The users last registered agent (filled in on the user server) /// The users last registered agent (filled in on the user server)
/// </summary> /// </summary>
public UserAgentData currentAgent; private UserAgentData currentAgent;
} }
} }

View File

@ -85,14 +85,14 @@ namespace OpenSim.Grid.UserServer
{ {
SimInfo = SimInfo =
RegionProfileData.RequestSimProfileData( RegionProfileData.RequestSimProfileData(
theUser.currentAgent.currentHandle, m_config.GridServerURL, theUser.CurrentAgent.currentHandle, m_config.GridServerURL,
m_config.GridSendKey, m_config.GridRecvKey); m_config.GridSendKey, m_config.GridRecvKey);
} }
else if (startLocationRequest == "home") else if (startLocationRequest == "home")
{ {
SimInfo = SimInfo =
RegionProfileData.RequestSimProfileData( RegionProfileData.RequestSimProfileData(
theUser.homeRegion, m_config.GridServerURL, theUser.HomeRegion, m_config.GridServerURL,
m_config.GridSendKey, m_config.GridRecvKey); m_config.GridSendKey, m_config.GridRecvKey);
} }
else else
@ -104,7 +104,7 @@ namespace OpenSim.Grid.UserServer
// TODO: Parse out startlocationrequest string in the format; 'uri:RegionName&X&Y&Z' // TODO: Parse out startlocationrequest string in the format; 'uri:RegionName&X&Y&Z'
SimInfo = SimInfo =
RegionProfileData.RequestSimProfileData( RegionProfileData.RequestSimProfileData(
theUser.currentAgent.currentHandle, m_config.GridServerURL, theUser.CurrentAgent.currentHandle, m_config.GridServerURL,
m_config.GridSendKey, m_config.GridRecvKey); m_config.GridSendKey, m_config.GridRecvKey);
} }
else else
@ -120,7 +120,7 @@ namespace OpenSim.Grid.UserServer
m_log.Info("[LOGIN]: Didn't find region with a close name match sending to home location"); m_log.Info("[LOGIN]: Didn't find region with a close name match sending to home location");
SimInfo = SimInfo =
RegionProfileData.RequestSimProfileData( RegionProfileData.RequestSimProfileData(
theUser.homeRegion, m_config.GridServerURL, theUser.HomeRegion, m_config.GridServerURL,
m_config.GridSendKey, m_config.GridRecvKey); m_config.GridSendKey, m_config.GridRecvKey);
} else { } else {
start_x = Convert.ToInt32(startLocationRequestParsed[1]); start_x = Convert.ToInt32(startLocationRequestParsed[1]);
@ -135,10 +135,10 @@ namespace OpenSim.Grid.UserServer
//CFK: m_log.Info("[LOGIN]: Home Location"); //CFK: m_log.Info("[LOGIN]: Home Location");
response.Home = "{'region_handle':[r" + (SimInfo.regionLocX * Constants.RegionSize).ToString() + ",r" + response.Home = "{'region_handle':[r" + (SimInfo.regionLocX * Constants.RegionSize).ToString() + ",r" +
(SimInfo.regionLocY * Constants.RegionSize).ToString() + "], " + (SimInfo.regionLocY * Constants.RegionSize).ToString() + "], " +
"'position':[r" + theUser.homeLocation.X.ToString() + ",r" + "'position':[r" + theUser.HomeLocation.X.ToString() + ",r" +
theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " + theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "], " +
"'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" + "'look_at':[r" + theUser.HomeLocation.X.ToString() + ",r" +
theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "]}"; theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "]}";
// Destination // Destination
//CFK: The "Notifying" message always seems to appear, so subsume the data from this message into //CFK: The "Notifying" message always seems to appear, so subsume the data from this message into
@ -164,25 +164,25 @@ namespace OpenSim.Grid.UserServer
//CFK: m_log.Info("[LOGIN]: " + SimInfo.regionName + " (" + SimInfo.serverURI + ") " + //CFK: m_log.Info("[LOGIN]: " + SimInfo.regionName + " (" + SimInfo.serverURI + ") " +
//CFK: SimInfo.regionLocX + "," + SimInfo.regionLocY); //CFK: SimInfo.regionLocX + "," + SimInfo.regionLocY);
theUser.currentAgent.currentRegion = SimInfo.UUID; theUser.CurrentAgent.currentRegion = SimInfo.UUID;
theUser.currentAgent.currentHandle = SimInfo.regionHandle; theUser.CurrentAgent.currentHandle = SimInfo.regionHandle;
if (start_x >= 0 && start_y >= 0 && start_z >= 0) { if (start_x >= 0 && start_y >= 0 && start_z >= 0) {
theUser.currentAgent.currentPos.X = start_x; theUser.CurrentAgent.currentPos.X = start_x;
theUser.currentAgent.currentPos.Y = start_y; theUser.CurrentAgent.currentPos.Y = start_y;
theUser.currentAgent.currentPos.Z = start_z; theUser.CurrentAgent.currentPos.Z = start_z;
} }
// Prepare notification // Prepare notification
Hashtable SimParams = new Hashtable(); Hashtable SimParams = new Hashtable();
SimParams["session_id"] = theUser.currentAgent.sessionID.ToString(); SimParams["session_id"] = theUser.CurrentAgent.sessionID.ToString();
SimParams["secure_session_id"] = theUser.currentAgent.secureSessionID.ToString(); SimParams["secure_session_id"] = theUser.CurrentAgent.secureSessionID.ToString();
SimParams["firstname"] = theUser.username; SimParams["firstname"] = theUser.FirstName;
SimParams["lastname"] = theUser.surname; SimParams["lastname"] = theUser.SurName;
SimParams["agent_id"] = theUser.UUID.ToString(); SimParams["agent_id"] = theUser.Id.ToString();
SimParams["circuit_code"] = (Int32) Convert.ToUInt32(response.CircuitCode); SimParams["circuit_code"] = (Int32) Convert.ToUInt32(response.CircuitCode);
SimParams["startpos_x"] = theUser.currentAgent.currentPos.X.ToString(); SimParams["startpos_x"] = theUser.CurrentAgent.currentPos.X.ToString();
SimParams["startpos_y"] = theUser.currentAgent.currentPos.Y.ToString(); SimParams["startpos_y"] = theUser.CurrentAgent.currentPos.Y.ToString();
SimParams["startpos_z"] = theUser.currentAgent.currentPos.Z.ToString(); SimParams["startpos_z"] = theUser.CurrentAgent.currentPos.Z.ToString();
SimParams["regionhandle"] = theUser.currentAgent.currentHandle.ToString(); SimParams["regionhandle"] = theUser.CurrentAgent.currentHandle.ToString();
SimParams["caps_path"] = capsPath; SimParams["caps_path"] = capsPath;
ArrayList SendParams = new ArrayList(); ArrayList SendParams = new ArrayList();
SendParams.Add(SimParams); SendParams.Add(SimParams);
@ -206,9 +206,9 @@ namespace OpenSim.Grid.UserServer
if (handlerUserLoggedInAtLocation != null) if (handlerUserLoggedInAtLocation != null)
{ {
m_log.Info("[LOGIN]: Letting other objects know about login"); m_log.Info("[LOGIN]: Letting other objects know about login");
handlerUserLoggedInAtLocation(theUser.UUID, theUser.currentAgent.sessionID, theUser.currentAgent.currentRegion, handlerUserLoggedInAtLocation(theUser.Id, theUser.CurrentAgent.sessionID, theUser.CurrentAgent.currentRegion,
theUser.currentAgent.currentHandle, theUser.currentAgent.currentPos.X,theUser.currentAgent.currentPos.Y,theUser.currentAgent.currentPos.Z, theUser.CurrentAgent.currentHandle, theUser.CurrentAgent.currentPos.X,theUser.CurrentAgent.currentPos.Y,theUser.CurrentAgent.currentPos.Z,
theUser.username,theUser.surname); theUser.FirstName,theUser.SurName);
} }
} }
catch (Exception) catch (Exception)
@ -237,10 +237,10 @@ namespace OpenSim.Grid.UserServer
m_log.Info("[LOGIN]: Home Location"); m_log.Info("[LOGIN]: Home Location");
response.Home = "{'region_handle':[r" + (SimInfo.regionLocX * Constants.RegionSize).ToString() + ",r" + response.Home = "{'region_handle':[r" + (SimInfo.regionLocX * Constants.RegionSize).ToString() + ",r" +
(SimInfo.regionLocY * Constants.RegionSize).ToString() + "], " + (SimInfo.regionLocY * Constants.RegionSize).ToString() + "], " +
"'position':[r" + theUser.homeLocation.X.ToString() + ",r" + "'position':[r" + theUser.HomeLocation.X.ToString() + ",r" +
theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " + theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "], " +
"'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" + "'look_at':[r" + theUser.HomeLocation.X.ToString() + ",r" +
theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "]}"; theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "]}";
// Destination // Destination
m_log.Info("[LOGIN]: " + m_log.Info("[LOGIN]: " +
@ -259,21 +259,21 @@ namespace OpenSim.Grid.UserServer
m_log.Info("[LOGIN]: Notifying " + SimInfo.regionName + " (" + SimInfo.serverURI + ")"); m_log.Info("[LOGIN]: Notifying " + SimInfo.regionName + " (" + SimInfo.serverURI + ")");
// Update agent with target sim // Update agent with target sim
theUser.currentAgent.currentRegion = SimInfo.UUID; theUser.CurrentAgent.currentRegion = SimInfo.UUID;
theUser.currentAgent.currentHandle = SimInfo.regionHandle; theUser.CurrentAgent.currentHandle = SimInfo.regionHandle;
// Prepare notification // Prepare notification
Hashtable SimParams = new Hashtable(); Hashtable SimParams = new Hashtable();
SimParams["session_id"] = theUser.currentAgent.sessionID.ToString(); SimParams["session_id"] = theUser.CurrentAgent.sessionID.ToString();
SimParams["secure_session_id"] = theUser.currentAgent.secureSessionID.ToString(); SimParams["secure_session_id"] = theUser.CurrentAgent.secureSessionID.ToString();
SimParams["firstname"] = theUser.username; SimParams["firstname"] = theUser.FirstName;
SimParams["lastname"] = theUser.surname; SimParams["lastname"] = theUser.SurName;
SimParams["agent_id"] = theUser.UUID.ToString(); SimParams["agent_id"] = theUser.Id.ToString();
SimParams["circuit_code"] = (Int32) Convert.ToUInt32(response.CircuitCode); SimParams["circuit_code"] = (Int32) Convert.ToUInt32(response.CircuitCode);
SimParams["startpos_x"] = theUser.currentAgent.currentPos.X.ToString(); SimParams["startpos_x"] = theUser.CurrentAgent.currentPos.X.ToString();
SimParams["startpos_y"] = theUser.currentAgent.currentPos.Y.ToString(); SimParams["startpos_y"] = theUser.CurrentAgent.currentPos.Y.ToString();
SimParams["startpos_z"] = theUser.currentAgent.currentPos.Z.ToString(); SimParams["startpos_z"] = theUser.CurrentAgent.currentPos.Z.ToString();
SimParams["regionhandle"] = theUser.currentAgent.currentHandle.ToString(); SimParams["regionhandle"] = theUser.CurrentAgent.currentHandle.ToString();
SimParams["caps_path"] = capsPath; SimParams["caps_path"] = capsPath;
ArrayList SendParams = new ArrayList(); ArrayList SendParams = new ArrayList();
SendParams.Add(SimParams); SendParams.Add(SimParams);
@ -286,9 +286,9 @@ namespace OpenSim.Grid.UserServer
if (handlerUserLoggedInAtLocation != null) if (handlerUserLoggedInAtLocation != null)
{ {
m_log.Info("[LOGIN]: Letting other objects know about login"); m_log.Info("[LOGIN]: Letting other objects know about login");
handlerUserLoggedInAtLocation(theUser.UUID, theUser.currentAgent.sessionID, theUser.currentAgent.currentRegion, handlerUserLoggedInAtLocation(theUser.Id, theUser.CurrentAgent.sessionID, theUser.CurrentAgent.currentRegion,
theUser.currentAgent.currentHandle, theUser.currentAgent.currentPos.X, theUser.currentAgent.currentPos.Y, theUser.currentAgent.currentPos.Z, theUser.CurrentAgent.currentHandle, theUser.CurrentAgent.currentPos.X, theUser.CurrentAgent.currentPos.Y, theUser.CurrentAgent.currentPos.Z,
theUser.username, theUser.surname); theUser.FirstName, theUser.SurName);
} }
} }

View File

@ -125,31 +125,31 @@ namespace OpenSim.Grid.UserServer
Hashtable responseData = new Hashtable(); Hashtable responseData = new Hashtable();
// Account information // Account information
responseData["firstname"] = profile.username; responseData["firstname"] = profile.FirstName;
responseData["lastname"] = profile.surname; responseData["lastname"] = profile.SurName;
responseData["uuid"] = profile.UUID.ToString(); responseData["uuid"] = profile.Id.ToString();
// Server Information // Server Information
responseData["server_inventory"] = profile.userInventoryURI; responseData["server_inventory"] = profile.UserInventoryURI;
responseData["server_asset"] = profile.userAssetURI; responseData["server_asset"] = profile.UserAssetURI;
// Profile Information // Profile Information
responseData["profile_about"] = profile.profileAboutText; responseData["profile_about"] = profile.ProfileAboutText;
responseData["profile_firstlife_about"] = profile.profileFirstText; responseData["profile_firstlife_about"] = profile.ProfileFirstText;
responseData["profile_firstlife_image"] = profile.profileFirstImage.ToString(); responseData["profile_firstlife_image"] = profile.ProfileFirstImage.ToString();
responseData["profile_can_do"] = profile.profileCanDoMask.ToString(); responseData["profile_can_do"] = profile.ProfileCanDoMask.ToString();
responseData["profile_want_do"] = profile.profileWantDoMask.ToString(); responseData["profile_want_do"] = profile.ProfileWantDoMask.ToString();
responseData["profile_image"] = profile.profileImage.ToString(); responseData["profile_image"] = profile.ProfileImage.ToString();
responseData["profile_created"] = profile.created.ToString(); responseData["profile_created"] = profile.Created.ToString();
responseData["profile_lastlogin"] = profile.lastLogin.ToString(); responseData["profile_lastlogin"] = profile.LastLogin.ToString();
// Home region information // Home region information
responseData["home_coordinates_x"] = profile.homeLocation.X.ToString(); responseData["home_coordinates_x"] = profile.HomeLocation.X.ToString();
responseData["home_coordinates_y"] = profile.homeLocation.Y.ToString(); responseData["home_coordinates_y"] = profile.HomeLocation.Y.ToString();
responseData["home_coordinates_z"] = profile.homeLocation.Z.ToString(); responseData["home_coordinates_z"] = profile.HomeLocation.Z.ToString();
responseData["home_region"] = profile.homeRegion.ToString(); responseData["home_region"] = profile.HomeRegion.ToString();
responseData["home_look_x"] = profile.homeLookAt.X.ToString(); responseData["home_look_x"] = profile.HomeLookAt.X.ToString();
responseData["home_look_y"] = profile.homeLookAt.Y.ToString(); responseData["home_look_y"] = profile.HomeLookAt.Y.ToString();
responseData["home_look_z"] = profile.homeLookAt.Z.ToString(); responseData["home_look_z"] = profile.HomeLookAt.Z.ToString();
response.Value = responseData; response.Value = responseData;
return response; return response;
@ -341,11 +341,11 @@ namespace OpenSim.Grid.UserServer
} }
if (requestData.Contains("FLImageID")) if (requestData.Contains("FLImageID"))
{ {
userProfile.profileFirstImage = new LLUUID((string)requestData["FLImageID"]); userProfile.ProfileFirstImage = new LLUUID((string)requestData["FLImageID"]);
} }
if (requestData.Contains("ImageID")) if (requestData.Contains("ImageID"))
{ {
userProfile.profileImage = new LLUUID((string)requestData["ImageID"]); userProfile.ProfileImage = new LLUUID((string)requestData["ImageID"]);
} }
// dont' know how yet // dont' know how yet
if (requestData.Contains("MaturePublish")) if (requestData.Contains("MaturePublish"))
@ -353,11 +353,11 @@ namespace OpenSim.Grid.UserServer
} }
if (requestData.Contains("AboutText")) if (requestData.Contains("AboutText"))
{ {
userProfile.profileAboutText = (string)requestData["AboutText"]; userProfile.ProfileAboutText = (string)requestData["AboutText"];
} }
if (requestData.Contains("FLAboutText")) if (requestData.Contains("FLAboutText"))
{ {
userProfile.profileFirstText = (string)requestData["FLAboutText"]; userProfile.ProfileFirstText = (string)requestData["FLAboutText"];
} }
// not in DB yet. // not in DB yet.
if (requestData.Contains("ProfileURL")) if (requestData.Contains("ProfileURL"))

View File

@ -3100,11 +3100,11 @@ namespace OpenSim.Region.ClientStack
{ {
AvatarPropertiesUpdatePacket.PropertiesDataBlock Properties = Packet.PropertiesData; AvatarPropertiesUpdatePacket.PropertiesDataBlock Properties = Packet.PropertiesData;
UserProfileData UserProfile = new UserProfileData(); UserProfileData UserProfile = new UserProfileData();
UserProfile.UUID = AgentId; UserProfile.Id = AgentId;
UserProfile.profileAboutText = Helpers.FieldToUTF8String(Properties.AboutText); UserProfile.ProfileAboutText = Helpers.FieldToUTF8String(Properties.AboutText);
UserProfile.profileFirstText = Helpers.FieldToUTF8String(Properties.FLAboutText); UserProfile.ProfileFirstText = Helpers.FieldToUTF8String(Properties.FLAboutText);
UserProfile.profileFirstImage = Properties.FLImageID; UserProfile.ProfileFirstImage = Properties.FLImageID;
UserProfile.profileImage = Properties.ImageID; UserProfile.ProfileImage = Properties.ImageID;
handlerUpdateAvatarProperties(this, UserProfile); handlerUpdateAvatarProperties(this, UserProfile);
} }

View File

@ -149,8 +149,8 @@ namespace OpenSim.Region.ClientStack
if (masterAvatar != null) if (masterAvatar != null)
{ {
m_log.Info("[PARCEL]: Found master avatar [" + masterAvatar.UUID.ToString() + "]"); m_log.Info("[PARCEL]: Found master avatar [" + masterAvatar.Id.ToString() + "]");
scene.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.UUID; scene.RegionInfo.MasterAvatarAssignedUUID = masterAvatar.Id;
} }
else else
{ {

View File

@ -87,7 +87,7 @@ namespace OpenSim.Region.Communications.Local
profile = m_userManager.GetUserProfile(firstname, lastname); profile = m_userManager.GetUserProfile(firstname, lastname);
if (profile != null) if (profile != null)
{ {
m_Parent.InventoryService.CreateNewUserInventory(profile.UUID); m_Parent.InventoryService.CreateNewUserInventory(profile.Id);
} }
return profile; return profile;
@ -107,17 +107,17 @@ namespace OpenSim.Region.Communications.Local
else else
{ {
m_log.Info( m_log.Info(
"[LOGIN]: Authenticating " + profile.username + " " + profile.surname); "[LOGIN]: Authenticating " + profile.FirstName + " " + profile.SurName);
if (!password.StartsWith("$1$")) if (!password.StartsWith("$1$"))
password = "$1$" + Util.Md5Hash(password); password = "$1$" + Util.Md5Hash(password);
password = password.Remove(0, 3); //remove $1$ password = password.Remove(0, 3); //remove $1$
string s = Util.Md5Hash(password + ":" + profile.passwordSalt); string s = Util.Md5Hash(password + ":" + profile.PasswordSalt);
bool loginresult = (profile.passwordHash.Equals(s.ToString(), StringComparison.InvariantCultureIgnoreCase) bool loginresult = (profile.PasswordHash.Equals(s.ToString(), StringComparison.InvariantCultureIgnoreCase)
|| profile.passwordHash.Equals(password, StringComparison.InvariantCultureIgnoreCase)); || profile.PasswordHash.Equals(password, StringComparison.InvariantCultureIgnoreCase));
return loginresult; return loginresult;
} }
} }
@ -127,18 +127,18 @@ namespace OpenSim.Region.Communications.Local
ulong currentRegion = 0; ulong currentRegion = 0;
if (startLocationRequest == "last") if (startLocationRequest == "last")
{ {
currentRegion = theUser.currentAgent.currentHandle; currentRegion = theUser.CurrentAgent.currentHandle;
} }
else if (startLocationRequest == "home") else if (startLocationRequest == "home")
{ {
currentRegion = theUser.homeRegion; currentRegion = theUser.HomeRegion;
} }
else else
{ {
m_log.Info("[LOGIN]: Got Custom Login URL, but can't process it"); m_log.Info("[LOGIN]: Got Custom Login URL, but can't process it");
// LocalBackEndServices can't possibly look up a region by name :( // LocalBackEndServices can't possibly look up a region by name :(
// TODO: Parse string in the following format: 'uri:RegionName&X&Y&Z' // TODO: Parse string in the following format: 'uri:RegionName&X&Y&Z'
currentRegion = theUser.currentAgent.currentHandle; currentRegion = theUser.CurrentAgent.currentHandle;
} }
RegionInfo reg = m_Parent.GridService.RequestNeighbourInfo(currentRegion); RegionInfo reg = m_Parent.GridService.RequestNeighbourInfo(currentRegion);
@ -147,10 +147,10 @@ namespace OpenSim.Region.Communications.Local
{ {
response.Home = "{'region_handle':[r" + (reg.RegionLocX * Constants.RegionSize).ToString() + ",r" + response.Home = "{'region_handle':[r" + (reg.RegionLocX * Constants.RegionSize).ToString() + ",r" +
(reg.RegionLocY * Constants.RegionSize).ToString() + "], " + (reg.RegionLocY * Constants.RegionSize).ToString() + "], " +
"'position':[r" + theUser.homeLocation.X.ToString() + ",r" + "'position':[r" + theUser.HomeLocation.X.ToString() + ",r" +
theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "], " + theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "], " +
"'look_at':[r" + theUser.homeLocation.X.ToString() + ",r" + "'look_at':[r" + theUser.HomeLocation.X.ToString() + ",r" +
theUser.homeLocation.Y.ToString() + ",r" + theUser.homeLocation.Z.ToString() + "]}"; theUser.HomeLocation.Y.ToString() + ",r" + theUser.HomeLocation.Z.ToString() + "]}";
string capsPath = Util.GetRandomCapsPath(); string capsPath = Util.GetRandomCapsPath();
response.SimAddress = reg.ExternalEndPoint.Address.ToString(); response.SimAddress = reg.ExternalEndPoint.Address.ToString();
response.SimPort = (uint) reg.ExternalEndPoint.Port; response.SimPort = (uint) reg.ExternalEndPoint.Port;
@ -164,12 +164,12 @@ namespace OpenSim.Region.Communications.Local
"[CAPS]: Sending new CAPS seed url {0} to client {1}", "[CAPS]: Sending new CAPS seed url {0} to client {1}",
response.SeedCapability, response.AgentID); response.SeedCapability, response.AgentID);
theUser.currentAgent.currentRegion = reg.RegionID; theUser.CurrentAgent.currentRegion = reg.RegionID;
theUser.currentAgent.currentHandle = reg.RegionHandle; theUser.CurrentAgent.currentHandle = reg.RegionHandle;
LoginResponse.BuddyList buddyList = new LoginResponse.BuddyList(); LoginResponse.BuddyList buddyList = new LoginResponse.BuddyList();
response.BuddList = ConvertFriendListItem(m_userManager.GetUserFriendList(theUser.UUID)); response.BuddList = ConvertFriendListItem(m_userManager.GetUserFriendList(theUser.Id));
Login _login = new Login(); Login _login = new Login();
//copy data to login object //copy data to login object

View File

@ -84,7 +84,7 @@ namespace OpenSim.Region.Communications.Local
} }
else else
{ {
m_inventoryService.CreateNewUserInventory(profile.UUID); m_inventoryService.CreateNewUserInventory(profile.Id);
} }
return profile; return profile;

View File

@ -60,24 +60,24 @@ namespace OpenSim.Region.Communications.OGS1
} }
UserProfileData userData = new UserProfileData(); UserProfileData userData = new UserProfileData();
userData.username = (string) data["firstname"]; userData.FirstName = (string) data["firstname"];
userData.surname = (string) data["lastname"]; userData.SurName = (string) data["lastname"];
userData.UUID = new LLUUID((string) data["uuid"]); userData.Id = new LLUUID((string) data["uuid"]);
userData.userInventoryURI = (string) data["server_inventory"]; userData.UserInventoryURI = (string) data["server_inventory"];
userData.userAssetURI = (string) data["server_asset"]; userData.UserAssetURI = (string) data["server_asset"];
userData.profileFirstText = (string) data["profile_firstlife_about"]; userData.ProfileFirstText = (string) data["profile_firstlife_about"];
userData.profileFirstImage = new LLUUID((string) data["profile_firstlife_image"]); userData.ProfileFirstImage = new LLUUID((string) data["profile_firstlife_image"]);
userData.profileCanDoMask = Convert.ToUInt32((string) data["profile_can_do"]); userData.ProfileCanDoMask = Convert.ToUInt32((string) data["profile_can_do"]);
userData.profileWantDoMask = Convert.ToUInt32(data["profile_want_do"]); userData.ProfileWantDoMask = Convert.ToUInt32(data["profile_want_do"]);
userData.profileAboutText = (string)data["profile_about"]; userData.ProfileAboutText = (string)data["profile_about"];
userData.profileImage = new LLUUID((string) data["profile_image"]); userData.ProfileImage = new LLUUID((string) data["profile_image"]);
userData.lastLogin = Convert.ToInt32((string) data["profile_lastlogin"]); userData.LastLogin = Convert.ToInt32((string) data["profile_lastlogin"]);
userData.homeRegion = Convert.ToUInt64((string) data["home_region"]); userData.HomeRegion = Convert.ToUInt64((string) data["home_region"]);
userData.homeLocation = userData.HomeLocation =
new LLVector3((float) Convert.ToDecimal((string) data["home_coordinates_x"]), new LLVector3((float) Convert.ToDecimal((string) data["home_coordinates_x"]),
(float) Convert.ToDecimal((string) data["home_coordinates_y"]), (float) Convert.ToDecimal((string) data["home_coordinates_y"]),
(float) Convert.ToDecimal((string) data["home_coordinates_z"])); (float) Convert.ToDecimal((string) data["home_coordinates_z"]));
userData.homeLookAt = userData.HomeLookAt =
new LLVector3((float) Convert.ToDecimal((string) data["home_look_x"]), new LLVector3((float) Convert.ToDecimal((string) data["home_look_x"]),
(float) Convert.ToDecimal((string) data["home_look_y"]), (float) Convert.ToDecimal((string) data["home_look_y"]),
(float) Convert.ToDecimal((string) data["home_look_z"])); (float) Convert.ToDecimal((string) data["home_look_z"]));
@ -306,13 +306,13 @@ namespace OpenSim.Region.Communications.OGS1
{ {
m_log.Debug("[OGS1 USER SERVICES]: Asking UserServer to update profile."); m_log.Debug("[OGS1 USER SERVICES]: Asking UserServer to update profile.");
Hashtable param = new Hashtable(); Hashtable param = new Hashtable();
param["avatar_uuid"] = UserProfile.UUID.ToString(); param["avatar_uuid"] = UserProfile.Id.ToString();
//param["AllowPublish"] = UserProfile.ToString(); //param["AllowPublish"] = UserProfile.ToString();
param["FLImageID"] = UserProfile.profileFirstImage.ToString(); param["FLImageID"] = UserProfile.ProfileFirstImage.ToString();
param["ImageID"] = UserProfile.profileImage.ToString(); param["ImageID"] = UserProfile.ProfileImage.ToString();
//param["MaturePublish"] = MaturePublish.ToString(); //param["MaturePublish"] = MaturePublish.ToString();
param["AboutText"] = UserProfile.profileAboutText; param["AboutText"] = UserProfile.ProfileAboutText;
param["FLAboutText"] = UserProfile.profileFirstText; param["FLAboutText"] = UserProfile.ProfileFirstText;
//param["ProfileURL"] = UserProfile.ProfileURL.ToString(); //param["ProfileURL"] = UserProfile.ProfileURL.ToString();
IList parameters = new ArrayList(); IList parameters = new ArrayList();
parameters.Add(param); parameters.Add(param);

View File

@ -223,7 +223,7 @@ namespace OpenSim.Region.DataSnapshot
{ {
XmlNode username = nodeFactory.CreateNode(XmlNodeType.Element, "name", ""); XmlNode username = nodeFactory.CreateNode(XmlNodeType.Element, "name", "");
UserProfileData userProfile = m_scene.CommsManager.UserService.GetUserProfile(userOwnerUUID); UserProfileData userProfile = m_scene.CommsManager.UserService.GetUserProfile(userOwnerUUID);
username.InnerText = userProfile.username + " " + userProfile.surname; username.InnerText = userProfile.FirstName + " " + userProfile.SurName;
userblock.AppendChild(username); userblock.AppendChild(username);
} }
catch (Exception) catch (Exception)

View File

@ -90,10 +90,10 @@ namespace OpenSim.Region.Environment.Modules
UserProfileData profile = m_scene.CommsManager.UserService.GetUserProfile(avatarID); UserProfileData profile = m_scene.CommsManager.UserService.GetUserProfile(avatarID);
if (null != profile) if (null != profile)
{ {
remoteClient.SendAvatarProperties(profile.UUID, profile.profileAboutText, remoteClient.SendAvatarProperties(profile.Id, profile.ProfileAboutText,
Util.ToDateTime(profile.created).ToString(), Util.ToDateTime(profile.Created).ToString(),
System.String.Empty, profile.profileFirstText, profile.profileCanDoMask, System.String.Empty, profile.ProfileFirstText, profile.ProfileCanDoMask,
profile.profileFirstImage, profile.profileImage, System.String.Empty, partner); profile.ProfileFirstImage, profile.ProfileImage, System.String.Empty, partner);
} }
else else
{ {
@ -103,15 +103,15 @@ namespace OpenSim.Region.Environment.Modules
public void UpdateAvatarProperties(IClientAPI remoteClient, UserProfileData newProfile) public void UpdateAvatarProperties(IClientAPI remoteClient, UserProfileData newProfile)
{ {
UserProfileData Profile = m_scene.CommsManager.UserService.GetUserProfile(newProfile.UUID); UserProfileData Profile = m_scene.CommsManager.UserService.GetUserProfile(newProfile.Id);
// if it's the profile of the user requesting the update, then we change only a few things. // if it's the profile of the user requesting the update, then we change only a few things.
if (remoteClient.AgentId.CompareTo(Profile.UUID) == 0) if (remoteClient.AgentId.CompareTo(Profile.Id) == 0)
{ {
Profile.profileImage = newProfile.profileImage; Profile.ProfileImage = newProfile.ProfileImage;
Profile.profileFirstImage = newProfile.profileFirstImage; Profile.ProfileFirstImage = newProfile.ProfileFirstImage;
Profile.profileAboutText = newProfile.profileAboutText; Profile.ProfileAboutText = newProfile.ProfileAboutText;
Profile.profileFirstText = newProfile.profileFirstText; Profile.ProfileFirstText = newProfile.ProfileFirstText;
} }
else else
{ {
@ -119,7 +119,7 @@ namespace OpenSim.Region.Environment.Modules
} }
if (m_scene.CommsManager.UserService.UpdateUserProfileProperties(Profile)) if (m_scene.CommsManager.UserService.UpdateUserProfileProperties(Profile))
{ {
RequestAvatarProperty(remoteClient, newProfile.UUID); RequestAvatarProperty(remoteClient, newProfile.Id);
} }
} }
} }

View File

@ -180,7 +180,7 @@ namespace OpenSim.Region.Environment.Modules
if (null == userInfo) throw new Exception("cannot get user details"); if (null == userInfo) throw new Exception("cannot get user details");
LLSDVoiceAccountResponse voiceAccountResponse = LLSDVoiceAccountResponse voiceAccountResponse =
new LLSDVoiceAccountResponse(voiceUser, "$1$" + userInfo.UserProfile.passwordHash); new LLSDVoiceAccountResponse(voiceUser, "$1$" + userInfo.UserProfile.PasswordHash);
string r = LLSDHelpers.SerialiseLLSDReply(voiceAccountResponse); string r = LLSDHelpers.SerialiseLLSDReply(voiceAccountResponse);
m_log.DebugFormat("[CAPS][PROVISIONVOICE]: {0}", r); m_log.DebugFormat("[CAPS][PROVISIONVOICE]: {0}", r);
return r; return r;

View File

@ -407,7 +407,7 @@ namespace OpenSim.Region.ScriptEngine.Common
UserProfileData profile = World.CommsManager.UserService.GetUserProfile(objecUUID); UserProfileData profile = World.CommsManager.UserService.GetUserProfile(objecUUID);
if (profile != null) if (profile != null)
{ {
string avatarname = profile.username + " " + profile.surname; string avatarname = profile.FirstName + " " + profile.SurName;
return avatarname; return avatarname;
} }
// try an scene object // try an scene object

View File

@ -272,7 +272,7 @@ namespace OpenSim.Region.ScriptEngine.Common.ScriptEngineBase.AsyncCommandPlugin
UserProfileData profile = m_CmdManager.m_ScriptEngine.World.CommsManager.UserService.GetUserProfile(ent.UUID); UserProfileData profile = m_CmdManager.m_ScriptEngine.World.CommsManager.UserService.GetUserProfile(ent.UUID);
if (profile != null) if (profile != null)
{ {
avatarname = profile.username + " " + profile.surname; avatarname = profile.FirstName + " " + profile.SurName;
} }
// try an scene object // try an scene object
SceneObjectPart SOP = m_CmdManager.m_ScriptEngine.World.GetSceneObjectPart(ent.UUID); SceneObjectPart SOP = m_CmdManager.m_ScriptEngine.World.GetSceneObjectPart(ent.UUID);