diff options
Diffstat (limited to 'OpenGridServices/OpenGrid.Framework.Data.MySQL')
-rw-r--r-- | OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs | 84 | ||||
-rw-r--r-- | OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs | 14 |
2 files changed, 98 insertions, 0 deletions
diff --git a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs index 76d3faf..b42ec09 100644 --- a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs +++ b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLManager.cs | |||
@@ -514,6 +514,90 @@ namespace OpenGrid.Framework.Data.MySQL | |||
514 | } | 514 | } |
515 | 515 | ||
516 | /// <summary> | 516 | /// <summary> |
517 | /// Creates a new user and inserts it into the database | ||
518 | /// </summary> | ||
519 | /// <param name="uuid">User ID</param> | ||
520 | /// <param name="username">First part of the login</param> | ||
521 | /// <param name="lastname">Second part of the login</param> | ||
522 | /// <param name="passwordHash">A salted hash of the users password</param> | ||
523 | /// <param name="passwordSalt">The salt used for the password hash</param> | ||
524 | /// <param name="homeRegion">A regionHandle of the users home region</param> | ||
525 | /// <param name="homeLocX">Home region position vector</param> | ||
526 | /// <param name="homeLocY">Home region position vector</param> | ||
527 | /// <param name="homeLocZ">Home region position vector</param> | ||
528 | /// <param name="homeLookAtX">Home region 'look at' vector</param> | ||
529 | /// <param name="homeLookAtY">Home region 'look at' vector</param> | ||
530 | /// <param name="homeLookAtZ">Home region 'look at' vector</param> | ||
531 | /// <param name="created">Account created (unix timestamp)</param> | ||
532 | /// <param name="lastlogin">Last login (unix timestamp)</param> | ||
533 | /// <param name="inventoryURI">Users inventory URI</param> | ||
534 | /// <param name="assetURI">Users asset URI</param> | ||
535 | /// <param name="canDoMask">I can do mask</param> | ||
536 | /// <param name="wantDoMask">I want to do mask</param> | ||
537 | /// <param name="aboutText">Profile text</param> | ||
538 | /// <param name="firstText">Firstlife text</param> | ||
539 | /// <param name="profileImage">UUID for profile image</param> | ||
540 | /// <param name="firstImage">UUID for firstlife image</param> | ||
541 | /// <returns>Success?</returns> | ||
542 | public bool insertUserRow(libsecondlife.LLUUID uuid, string username, string lastname, string passwordHash, string passwordSalt, UInt64 homeRegion, float homeLocX, float homeLocY, float homeLocZ, | ||
543 | float homeLookAtX, float homeLookAtY, float homeLookAtZ, int created, int lastlogin, string inventoryURI, string assetURI, uint canDoMask, uint wantDoMask, string aboutText, string firstText, | ||
544 | libsecondlife.LLUUID profileImage, libsecondlife.LLUUID firstImage) | ||
545 | { | ||
546 | string sql = "INSERT INTO users (`UUID`, `username`, `lastname`, `passwordHash`, `passworldSalt`, `homeRegion`, "; | ||
547 | sql += "`homeLocationX`, `homeLocationY`, `homeLocationZ`, `homeLookAtX`, `homeLookAtY`, `homeLookAtZ`, `created`, "; | ||
548 | sql += "`lastLogin`, `userInventoryURI`, `userAssetURI`, `profileCanDoMask`, `profileWantDoMask`, `profileAboutText`, "; | ||
549 | sql += "`profileFirstText`, `profileImage`, profileFirstImage`) VALUES "; | ||
550 | |||
551 | sql += "(?UUID, ?username, ?lastname, ?passwordHash, ?passworldSalt, ?homeRegion, "; | ||
552 | sql += "?homeLocationX, ?homeLocationY, ?homeLocationZ, ?homeLookAtX`, ?homeLookAtY, ?homeLookAtZ, ?created, "; | ||
553 | sql += "?lastLogin`, ?userInventoryURI, ?userAssetURI, ?profileCanDoMask, ?profileWantDoMask, ?profileAboutText, "; | ||
554 | sql += "?profileFirstText, ?profileImage, ?profileFirstImage)"; | ||
555 | |||
556 | Dictionary<string, string> parameters = new Dictionary<string, string>(); | ||
557 | parameters["?UUID"] = uuid.ToStringHyphenated(); | ||
558 | parameters["?username"] = username.ToString(); | ||
559 | parameters["?lastname"] = lastname.ToString(); | ||
560 | parameters["?passwordHash"] = passwordHash.ToString(); | ||
561 | parameters["?passworldSalt"] = passwordSalt.ToString(); | ||
562 | parameters["?homeRegion"] = homeRegion.ToString(); | ||
563 | parameters["?homeLocationX"] = homeLocX.ToString(); | ||
564 | parameters["?homeLocationY"] = homeLocY.ToString(); | ||
565 | parameters["?homeLocationZ"] = homeLocZ.ToString(); | ||
566 | parameters["?homeLookAtX"] = homeLookAtX.ToString(); | ||
567 | parameters["?homeLookAtY"] = homeLookAtY.ToString(); | ||
568 | parameters["?homeLookAtZ"] = homeLookAtZ.ToString(); | ||
569 | parameters["?created"] = created.ToString(); | ||
570 | parameters["?lastLogin"] = lastlogin.ToString(); | ||
571 | parameters["?userInventoryURI"] = inventoryURI.ToString(); | ||
572 | parameters["?userAssetURI"] = assetURI.ToString(); | ||
573 | parameters["?profileCanDoMask"] = canDoMask.ToString(); | ||
574 | parameters["?profileWantDoMask"] = wantDoMask.ToString(); | ||
575 | parameters["?profileAboutText"] = aboutText.ToString(); | ||
576 | parameters["?profileFirstText"] = firstText.ToString(); | ||
577 | parameters["?profileImage"] = profileImage.ToStringHyphenated(); | ||
578 | parameters["?profileFirstImage"] = firstImage.ToStringHyphenated(); | ||
579 | |||
580 | bool returnval = false; | ||
581 | |||
582 | try | ||
583 | { | ||
584 | IDbCommand result = Query(sql, parameters); | ||
585 | |||
586 | if (result.ExecuteNonQuery() == 1) | ||
587 | returnval = true; | ||
588 | |||
589 | result.Dispose(); | ||
590 | } | ||
591 | catch (Exception e) | ||
592 | { | ||
593 | Console.WriteLine(e.ToString()); | ||
594 | return false; | ||
595 | } | ||
596 | |||
597 | return returnval; | ||
598 | } | ||
599 | |||
600 | /// <summary> | ||
517 | /// Inserts a new region into the database | 601 | /// Inserts a new region into the database |
518 | /// </summary> | 602 | /// </summary> |
519 | /// <param name="profile">The region to insert</param> | 603 | /// <param name="profile">The region to insert</param> |
diff --git a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs index 032a0e6..e988c94 100644 --- a/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs +++ b/OpenGridServices/OpenGrid.Framework.Data.MySQL/MySQLUserData.cs | |||
@@ -200,6 +200,20 @@ namespace OpenGrid.Framework.Data.MySQL | |||
200 | /// <param name="user">The user profile to create</param> | 200 | /// <param name="user">The user profile to create</param> |
201 | public void addNewUserProfile(UserProfileData user) | 201 | public void addNewUserProfile(UserProfileData user) |
202 | { | 202 | { |
203 | try | ||
204 | { | ||
205 | lock (database) | ||
206 | { | ||
207 | database.insertUserRow(user.UUID, user.username, user.surname, user.passwordHash, user.passwordSalt, user.homeRegion, user.homeLocation.X, user.homeLocation.Y, user.homeLocation.Z, | ||
208 | user.homeLookAt.X, user.homeLookAt.Y, user.homeLookAt.Z, user.created, user.lastLogin, user.userInventoryURI, user.userAssetURI, user.profileCanDoMask, user.profileWantDoMask, | ||
209 | user.profileAboutText, user.profileFirstText, user.profileImage, user.profileFirstImage); | ||
210 | } | ||
211 | } | ||
212 | catch (Exception e) | ||
213 | { | ||
214 | database.Reconnect(); | ||
215 | Console.WriteLine(e.ToString()); | ||
216 | } | ||
203 | } | 217 | } |
204 | 218 | ||
205 | /// <summary> | 219 | /// <summary> |