Kamilion's patch.

Fix UserManager.
Add some logging and console messages.
This commit is contained in:
Deathmax 2011-07-13 20:54:54 +08:00
parent a691202e03
commit 35be16e6a7
2 changed files with 19 additions and 11 deletions

View file

@ -325,7 +325,7 @@ namespace TShockAPI
private static void ManageUsers(CommandArgs args) private static void ManageUsers(CommandArgs args)
{ {
if (args.Parameters.Count < 3) if (args.Parameters.Count < 2)
{ {
args.Player.SendMessage("Syntax: /user <add/del> <ip/user:pass> [group]"); args.Player.SendMessage("Syntax: /user <add/del> <ip/user:pass> [group]");
args.Player.SendMessage("Note: Passwords are stored with SHA512 hashing. To reset a user's password, remove and re-add them."); args.Player.SendMessage("Note: Passwords are stored with SHA512 hashing. To reset a user's password, remove and re-add them.");
@ -337,8 +337,11 @@ namespace TShockAPI
if (args.Parameters[1].Split(':').Length == 2) if (args.Parameters[1].Split(':').Length == 2)
{ {
if ((returnval = TShock.Users.AddUser("", args.Parameters[1].Split(':')[0], args.Parameters[1].Split(':')[1], args.Parameters[2])) == 1) if ((returnval = TShock.Users.AddUser("", args.Parameters[1].Split(':')[0], args.Parameters[1].Split(':')[1], args.Parameters[2])) == 1)
args.Player.SendMessage("This player can now login!", Color.Green); {
else if(returnval == 2) args.Player.SendMessage("Account " + args.Parameters[1].Split(':')[0] + " has been added to group " + args.Parameters[2] + "!", Color.Green);
Log.ConsoleInfo(args.Player.Name + " added Account " + args.Parameters[1].Split(':')[0] + " to group " + args.Parameters[2]);
}
else if (returnval == 2)
args.Player.SendMessage("Invalid Group", Color.Green); args.Player.SendMessage("Invalid Group", Color.Green);
else else
args.Player.SendMessage("Could not add user", Color.Green); args.Player.SendMessage("Could not add user", Color.Green);
@ -350,6 +353,7 @@ namespace TShockAPI
{ {
args.Player.SendMessage("IP address admin added. If they're logged in, tell them to rejoin.", Color.Green); args.Player.SendMessage("IP address admin added. If they're logged in, tell them to rejoin.", Color.Green);
args.Player.SendMessage("WARNING: This is insecure! It would be better to use a user account instead.", Color.Red); args.Player.SendMessage("WARNING: This is insecure! It would be better to use a user account instead.", Color.Red);
Log.ConsoleInfo(args.Player.Name + " added IP " + args.Parameters[1] + " to group " + args.Parameters[2]);
} }
else if (returnval == 2) else if (returnval == 2)
args.Player.SendMessage("Invalid Group", Color.Green); args.Player.SendMessage("Invalid Group", Color.Green);
@ -358,7 +362,7 @@ namespace TShockAPI
return; return;
} }
args.Player.SendMessage("Invalid syntax. Try /user help.", Color.Red); args.Player.SendMessage("Invalid syntax. Try /user help.", Color.Red);
}else if (args.Parameters[0] == "del" && args.Parameters.Count == 1) }else if (args.Parameters[0] == "del" && args.Parameters.Count == 2)
{ {
if (args.Parameters[1].Contains(".")) if (args.Parameters[1].Contains("."))
{ {
@ -366,20 +370,24 @@ namespace TShockAPI
if (TShock.Users.RemoveUser(args.Parameters[1], true) == 1) if (TShock.Users.RemoveUser(args.Parameters[1], true) == 1)
{ {
args.Player.SendMessage("IP removed successfully.", Color.Green); args.Player.SendMessage("IP removed successfully.", Color.Green);
Log.ConsoleInfo(args.Player.Name + " successfully deleted ip: " + args.Parameters[1]);
} }
else else
{ {
args.Player.SendMessage("IP wasn't removed. Was it invalid?", Color.Red); args.Player.SendMessage("IP wasn't removed. Was it invalid?", Color.Red);
Log.ConsoleInfo(args.Player.Name + " failed deleting invalid ip: " + args.Parameters[1]);
} }
} else } else
{ {
if (TShock.Users.RemoveUser(args.Parameters[1], false) == 1) if (TShock.Users.RemoveUser(args.Parameters[1], false) == 1)
{ {
args.Player.SendMessage("Account removed successfully.", Color.Green); args.Player.SendMessage("Account removed successfully.", Color.Green);
Log.ConsoleInfo(args.Player.Name + " successfully deleted account: " + args.Parameters[1]);
} }
else else
{ {
args.Player.SendMessage("Account wasn't removed. Was it invalid?", Color.Red); args.Player.SendMessage("Account wasn't removed. Was it invalid?", Color.Red);
Log.ConsoleInfo(args.Player.Name + " failed deleting invalid account: " + args.Parameters[1]);
} }
} }
} }

View file

@ -83,7 +83,7 @@ namespace TShockAPI.DB
catch (Exception ex) catch (Exception ex)
{ {
//Return code 0 (Add failed) //Return code 0 (Add failed)
Log.Error(ex.ToString()); Log.ConsoleError("AddUser SQL returned an error: " + ex.ToString());
return 0; return 0;
} }
} }
@ -96,11 +96,11 @@ namespace TShockAPI.DB
{ {
if (ip) if (ip)
{ {
com.CommandText = "DELETE FROM Users WHERE IP=`@ip`"; com.CommandText = "DELETE FROM Users WHERE IP=@ip";
com.AddParameter("@ip", inputUser.ToLower()); com.AddParameter("@ip", inputUser.ToLower());
} else } else
{ {
com.CommandText = "DELETE FROM Users WHERE Username=`@name`"; com.CommandText = "DELETE FROM Users WHERE Username=@name";
com.AddParameter("@name", inputUser.ToLower()); com.AddParameter("@name", inputUser.ToLower());
} }
@ -124,7 +124,7 @@ namespace TShockAPI.DB
catch (Exception ex) catch (Exception ex)
{ {
//Return code 0 (Remove failed) //Return code 0 (Remove failed)
Log.Error(ex.ToString()); Log.ConsoleError("RemoveUser SQL returned an error: " + ex.ToString());
return 0; return 0;
} }
} }
@ -158,7 +158,7 @@ namespace TShockAPI.DB
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Error(ex.ToString()); Log.ConsoleError("FetchHashedPasswordAndGroup SQL returned an error: " + ex.ToString());
} }
return returndata; return returndata;
} }
@ -189,7 +189,7 @@ namespace TShockAPI.DB
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Error(ex.ToString()); Log.ConsoleError("GetGroupForIP SQL returned an error: " + ex.ToString());
} }
return Tools.GetGroup("default"); return Tools.GetGroup("default");
} }
@ -226,7 +226,7 @@ namespace TShockAPI.DB
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Error(ex.ToString()); Log.ConsoleError("GetUserID SQL returned an error: " + ex.ToString());
} }
return "0"; return "0";
} }