Plumb in the partner and the account title fields for profile info.
parent
c1fa7592c7
commit
04488d9d38
|
@ -590,7 +590,21 @@ namespace OpenSim.Data.MySQL
|
|||
|
||||
retval.UserFlags = Convert.ToInt32(reader["userFlags"].ToString());
|
||||
retval.GodLevel = Convert.ToInt32(reader["godLevel"].ToString());
|
||||
if (reader.IsDBNull(reader.GetOrdinal("customType")))
|
||||
retval.CustomType = "";
|
||||
else
|
||||
retval.CustomType = reader["customType"].ToString();
|
||||
|
||||
if (reader.IsDBNull(reader.GetOrdinal("partner")))
|
||||
{
|
||||
retval.Partner = LLUUID.Zero;
|
||||
}
|
||||
else
|
||||
{
|
||||
LLUUID tmp;
|
||||
LLUUID.TryParse((string)reader["partner"], out tmp);
|
||||
retval.Partner = tmp;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -731,14 +745,14 @@ namespace OpenSim.Data.MySQL
|
|||
"`homeLocationX`, `homeLocationY`, `homeLocationZ`, `homeLookAtX`, `homeLookAtY`, `homeLookAtZ`, `created`, ";
|
||||
sql +=
|
||||
"`lastLogin`, `userInventoryURI`, `userAssetURI`, `profileCanDoMask`, `profileWantDoMask`, `profileAboutText`, ";
|
||||
sql += "`profileFirstText`, `profileImage`, `profileFirstImage`, `webLoginKey`, `userFlags`, `godLevel`) VALUES ";
|
||||
sql += "`profileFirstText`, `profileImage`, `profileFirstImage`, `webLoginKey`, `userFlags`, `godLevel`, `customType`, `partner`) VALUES ";
|
||||
|
||||
sql += "(?UUID, ?username, ?lastname, ?passwordHash, ?passwordSalt, ?homeRegion, ";
|
||||
sql +=
|
||||
"?homeLocationX, ?homeLocationY, ?homeLocationZ, ?homeLookAtX, ?homeLookAtY, ?homeLookAtZ, ?created, ";
|
||||
sql +=
|
||||
"?lastLogin, ?userInventoryURI, ?userAssetURI, ?profileCanDoMask, ?profileWantDoMask, ?profileAboutText, ";
|
||||
sql += "?profileFirstText, ?profileImage, ?profileFirstImage, ?webLoginKey, ?userFlags, ?godLevel)";
|
||||
sql += "?profileFirstText, ?profileImage, ?profileFirstImage, ?webLoginKey, ?userFlags, ?godLevel, ?customType, ?partner)";
|
||||
|
||||
Dictionary<string, string> parameters = new Dictionary<string, string>();
|
||||
parameters["?UUID"] = uuid.ToString();
|
||||
|
@ -766,6 +780,8 @@ namespace OpenSim.Data.MySQL
|
|||
parameters["?webLoginKey"] = string.Empty;
|
||||
parameters["?userFlags"] = "0";
|
||||
parameters["?godLevel"] = "0";
|
||||
parameters["?customType"] = "";
|
||||
parameters["?partner"] = "";
|
||||
|
||||
|
||||
bool returnval = false;
|
||||
|
@ -821,7 +837,7 @@ namespace OpenSim.Data.MySQL
|
|||
float homeLookAtX, float homeLookAtY, float homeLookAtZ, int created, int lastlogin,
|
||||
string inventoryURI, string assetURI, uint canDoMask, uint wantDoMask,
|
||||
string aboutText, string firstText,
|
||||
LLUUID profileImage, LLUUID firstImage, LLUUID webLoginKey, int userFlags, int godLevel)
|
||||
LLUUID profileImage, LLUUID firstImage, LLUUID webLoginKey, int userFlags, int godLevel, string customType, LLUUID partner)
|
||||
{
|
||||
string sql = "UPDATE users SET `username` = ?username , `lastname` = ?lastname ";
|
||||
sql += ", `passwordHash` = ?passwordHash , `passwordSalt` = ?passwordSalt , ";
|
||||
|
@ -834,6 +850,7 @@ namespace OpenSim.Data.MySQL
|
|||
sql += "`profileAboutText` = ?profileAboutText , `profileFirstText` = ?profileFirstText, ";
|
||||
sql += "`profileImage` = ?profileImage , `profileFirstImage` = ?profileFirstImage , ";
|
||||
sql += "`userFlags` = ?userFlags , `godLevel` = ?godLevel , ";
|
||||
sql += "`customType` = ?customType , `partner` = ?partner , ";
|
||||
sql += "`webLoginKey` = ?webLoginKey WHERE UUID = ?UUID";
|
||||
|
||||
Dictionary<string, string> parameters = new Dictionary<string, string>();
|
||||
|
@ -863,6 +880,8 @@ namespace OpenSim.Data.MySQL
|
|||
parameters["?webLoginKey"] = webLoginKey.ToString();
|
||||
parameters["?userFlags"] = userFlags.ToString();
|
||||
parameters["?godLevel"] = godLevel.ToString();
|
||||
parameters["?customType"] = customType.ToString();
|
||||
parameters["?partner"] = partner.ToString();
|
||||
|
||||
bool returnval = false;
|
||||
try
|
||||
|
|
|
@ -685,7 +685,7 @@ namespace OpenSim.Data.MySQL
|
|||
user.HomeRegion, user.HomeRegionID, 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.UserAssetURI, user.CanDoMask, user.WantDoMask, user.AboutText,
|
||||
user.FirstLifeAboutText, user.Image, user.FirstLifeImage, user.WebLoginKey, user.UserFlags, user.GodLevel);
|
||||
user.FirstLifeAboutText, user.Image, user.FirstLifeImage, user.WebLoginKey, user.UserFlags, user.GodLevel, user.CustomType, user.Partner);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
BEGIN;
|
||||
|
||||
ALTER TABLE users add customType varchar(32) not null default '';
|
||||
ALTER TABLE users add partner char(36) not null default '00000000-0000-0000-0000-000000000000';
|
||||
|
||||
COMMIT;
|
|
@ -0,0 +1,6 @@
|
|||
BEGIN;
|
||||
|
||||
ALTER TABLE users add customType varchar(32) not null default '';
|
||||
ALTER TABLE users add partner char(36) not null default '00000000-0000-0000-0000-000000000000';
|
||||
|
||||
COMMIT;
|
|
@ -683,6 +683,8 @@ namespace OpenSim.Data.SQLite
|
|||
SQLiteUtil.createCol(users, "webLoginKey", typeof(String));
|
||||
SQLiteUtil.createCol(users, "userFlags", typeof (Int32));
|
||||
SQLiteUtil.createCol(users, "godLevel", typeof (Int32));
|
||||
SQLiteUtil.createCol(users, "customType", typeof (String));
|
||||
SQLiteUtil.createCol(users, "partner", typeof (String));
|
||||
// Add in contraints
|
||||
users.PrimaryKey = new DataColumn[] {users.Columns["UUID"]};
|
||||
return users;
|
||||
|
@ -793,6 +795,8 @@ namespace OpenSim.Data.SQLite
|
|||
user.WebLoginKey = new LLUUID((String) row["webLoginKey"]);
|
||||
user.UserFlags = Convert.ToInt32(row["userFlags"]);
|
||||
user.GodLevel = Convert.ToInt32(row["godLevel"]);
|
||||
user.CustomType = row["customType"].ToString();
|
||||
user.Partner = new LLUUID((String) row["partner"]);
|
||||
|
||||
return user;
|
||||
}
|
||||
|
@ -835,6 +839,8 @@ namespace OpenSim.Data.SQLite
|
|||
row["webLoginKey"] = user.WebLoginKey;
|
||||
row["userFlags"] = user.UserFlags;
|
||||
row["godLevel"] = user.GodLevel;
|
||||
row["customType"] = user.CustomType;
|
||||
row["partner"] = user.Partner.ToString();
|
||||
|
||||
// ADO.NET doesn't handle NULL very well
|
||||
foreach (DataColumn col in ds.Tables["users"].Columns)
|
||||
|
|
|
@ -141,6 +141,8 @@ namespace OpenSim.Framework
|
|||
//
|
||||
private int _userFlags;
|
||||
private int _godLevel;
|
||||
private string _customType;
|
||||
private LLUUID _partner;
|
||||
|
||||
/// <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
|
||||
|
@ -348,5 +350,17 @@ namespace OpenSim.Framework
|
|||
get { return _godLevel; }
|
||||
set { _godLevel = value; }
|
||||
}
|
||||
|
||||
public virtual string CustomType
|
||||
{
|
||||
get { return _customType; }
|
||||
set { _customType = value; }
|
||||
}
|
||||
|
||||
public virtual LLUUID Partner
|
||||
{
|
||||
get { return _partner; }
|
||||
set { _partner = value; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -159,6 +159,8 @@ namespace OpenSim.Grid.UserServer
|
|||
|
||||
responseData["user_flags"] = profile.UserFlags.ToString();
|
||||
responseData["god_level"] = profile.GodLevel.ToString();
|
||||
responseData["custom_type"] = profile.CustomType.ToString();
|
||||
responseData["partner"] = profile.Partner.ToString();
|
||||
response.Value = responseData;
|
||||
|
||||
return response;
|
||||
|
@ -663,6 +665,33 @@ namespace OpenSim.Grid.UserServer
|
|||
m_log.Error("[PROFILE]:Failed to set god level");
|
||||
}
|
||||
}
|
||||
if (requestData.Contains("custom_type"))
|
||||
{
|
||||
try
|
||||
{
|
||||
userProfile.CustomType = (string)requestData["custom_type"];
|
||||
}
|
||||
catch (InvalidCastException)
|
||||
{
|
||||
m_log.Error("[PROFILE]:Failed to set custom type");
|
||||
}
|
||||
}
|
||||
if (requestData.Contains("partner"))
|
||||
{
|
||||
try
|
||||
{
|
||||
userProfile.Partner = new LLUUID((string)requestData["partner"]);
|
||||
}
|
||||
catch (InvalidCastException)
|
||||
{
|
||||
m_log.Error("[PROFILE]:Failed to set partner");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
userProfile.Partner = LLUUID.Zero;
|
||||
}
|
||||
|
||||
// call plugin!
|
||||
bool ret = UpdateUserProfileProperties(userProfile);
|
||||
responseData["returnString"] = ret.ToString();
|
||||
|
|
|
@ -92,6 +92,18 @@ namespace OpenSim.Region.Communications.OGS1
|
|||
if (data.Contains("god_level"))
|
||||
userData.GodLevel = Convert.ToInt32((string) data["god_level"]);
|
||||
|
||||
if (data.Contains("custom_type"))
|
||||
userData.CustomType = (string) data["custom_type"];
|
||||
else
|
||||
userData.CustomType = "";
|
||||
if(userData.CustomType == null)
|
||||
userData.CustomType = "";
|
||||
|
||||
if (data.Contains("partner"))
|
||||
userData.Partner = new LLUUID((string) data["partner"]);
|
||||
else
|
||||
userData.Partner = LLUUID.Zero;
|
||||
|
||||
return userData;
|
||||
}
|
||||
|
||||
|
@ -471,6 +483,8 @@ namespace OpenSim.Region.Communications.OGS1
|
|||
param["home_look_z"] = UserProfile.HomeLookAtZ.ToString();
|
||||
param["user_flags"] = UserProfile.UserFlags.ToString();
|
||||
param["god_level"] = UserProfile.GodLevel.ToString();
|
||||
param["custom_type"] = UserProfile.CustomType.ToString();
|
||||
param["partner"] = UserProfile.Partner.ToString();
|
||||
|
||||
IList parameters = new ArrayList();
|
||||
parameters.Add(param);
|
||||
|
|
|
@ -93,17 +93,24 @@ namespace OpenSim.Region.Environment.Modules.Avatar.Profiles
|
|||
public void RequestAvatarProperty(IClientAPI remoteClient, LLUUID avatarID)
|
||||
{
|
||||
// FIXME: finish adding fields such as url, masking, etc.
|
||||
LLUUID partner = new LLUUID("11111111-1111-0000-0000-000100bba000");
|
||||
UserProfileData profile = m_scene.CommsManager.UserService.GetUserProfile(avatarID);
|
||||
if (null != profile)
|
||||
{
|
||||
Byte[] charterMember = new Byte[1];
|
||||
Byte[] charterMember;
|
||||
if(profile.CustomType == "")
|
||||
{
|
||||
charterMember = new Byte[1];
|
||||
charterMember[0] = (Byte)((profile.UserFlags & 0xf00) >> 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
charterMember = Helpers.StringToField(profile.CustomType);
|
||||
}
|
||||
|
||||
remoteClient.SendAvatarProperties(profile.ID, profile.AboutText,
|
||||
Util.ToDateTime(profile.Created).ToString(),
|
||||
charterMember, profile.FirstLifeAboutText, (uint)(profile.UserFlags & 0xff),
|
||||
profile.FirstLifeImage, profile.Image, String.Empty, partner);
|
||||
profile.FirstLifeImage, profile.Image, String.Empty, profile.Partner);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue