From 30d0d48386b7d578ae94293aee64b58ec8e30daa Mon Sep 17 00:00:00 2001 From: Twitchy Date: Tue, 12 Jul 2011 21:16:59 +1200 Subject: [PATCH] Added reader closing (if it will help) and returns default group rather than "null" --- TShockAPI/DB/BanManager.cs | 4 ++++ TShockAPI/DB/GroupManager.cs | 4 ++++ TShockAPI/DB/ItemManager.cs | 2 ++ TShockAPI/DB/RegionManager.cs | 3 +++ TShockAPI/DB/UserManager.cs | 15 +++++++++++++++ TShockAPI/DB/WarpsManager.cs | 7 ++++++- TShockAPI/TShock.cs | 4 ++-- TShockAPI/Tools.cs | 11 +---------- 8 files changed, 37 insertions(+), 13 deletions(-) diff --git a/TShockAPI/DB/BanManager.cs b/TShockAPI/DB/BanManager.cs index 6a062ebb..1f62256c 100644 --- a/TShockAPI/DB/BanManager.cs +++ b/TShockAPI/DB/BanManager.cs @@ -59,6 +59,8 @@ namespace TShockAPI.DB { if (reader.Read()) return new Ban((string)reader["IP"], (string)reader["Name"], (string)reader["Reason"]); + + reader.Close(); } } } @@ -84,6 +86,8 @@ namespace TShockAPI.DB { if (reader.Read()) return new Ban((string)reader["IP"], (string)reader["Name"], (string)reader["Reason"]); + + reader.Close(); } } } diff --git a/TShockAPI/DB/GroupManager.cs b/TShockAPI/DB/GroupManager.cs index 57bb2d2d..15313a8f 100644 --- a/TShockAPI/DB/GroupManager.cs +++ b/TShockAPI/DB/GroupManager.cs @@ -85,6 +85,8 @@ namespace TShockAPI.DB while (reader.Read()) if (reader.Get("GroupName") == group) return true; + + reader.Close(); } } } @@ -122,6 +124,8 @@ namespace TShockAPI.DB } groups.Add(group); + + reader.Close(); } } diff --git a/TShockAPI/DB/ItemManager.cs b/TShockAPI/DB/ItemManager.cs index b2837670..10c1e20f 100644 --- a/TShockAPI/DB/ItemManager.cs +++ b/TShockAPI/DB/ItemManager.cs @@ -75,6 +75,8 @@ namespace TShockAPI.DB if (reader.Read()) if (reader.Get("ItemName") == name) return true; + + reader.Close(); } } } diff --git a/TShockAPI/DB/RegionManager.cs b/TShockAPI/DB/RegionManager.cs index 19c5b3ec..5f4b39cf 100644 --- a/TShockAPI/DB/RegionManager.cs +++ b/TShockAPI/DB/RegionManager.cs @@ -158,6 +158,7 @@ namespace TShockAPI.DB return true; } } + reader.Close(); } } return false; @@ -208,6 +209,7 @@ namespace TShockAPI.DB { MergedIDs = reader.Get("UserIds"); } + reader.Close(); } if (MergedIDs == string.Empty) @@ -242,6 +244,7 @@ namespace TShockAPI.DB { while (reader.Read()) Regions.Add(new Region(new Rectangle(reader.Get("X1"), reader.Get("Y1"), reader.Get("X2"), reader.Get("Y2")), reader.Get("RegionName"), reader.Get("Protected"), reader.Get("WorldID"))); + reader.Close(); } } } diff --git a/TShockAPI/DB/UserManager.cs b/TShockAPI/DB/UserManager.cs index 03e3dea4..bebc6cc6 100644 --- a/TShockAPI/DB/UserManager.cs +++ b/TShockAPI/DB/UserManager.cs @@ -77,11 +77,15 @@ namespace TShockAPI.DB using (var reader = com.ExecuteReader()) { if (reader.RecordsAffected > 0) + { //Return code 1 (User added) return 1; + } else + { //Return code 0 (Add failed) return 0; + } } } } @@ -112,11 +116,17 @@ namespace TShockAPI.DB using (var reader = com.ExecuteReader()) { if (reader.RecordsAffected > 0) + { //Return code 1 (User removed) + reader.Close(); return 1; + } else + { //Return code 0 (Remove failed) + reader.Close(); return 0; + } } } } @@ -142,6 +152,7 @@ namespace TShockAPI.DB { com.CommandText = "SELECT * FROM Users WHERE Username=@name"; com.AddParameter("@name", username.ToLower()); + using (var reader = com.ExecuteReader()) { if (reader.Read()) @@ -150,6 +161,7 @@ namespace TShockAPI.DB returndata[1] = reader.Get("UserGroup"); return returndata; } + reader.Close(); } } } @@ -172,6 +184,7 @@ namespace TShockAPI.DB { com.CommandText = "SELECT * FROM Users WHERE IP=@ip"; com.AddParameter("@ip", ip); + using (var reader = com.ExecuteReader()) { if (reader.Read()) @@ -179,6 +192,7 @@ namespace TShockAPI.DB string group = reader.Get("UserGroup"); return Tools.GetGroup(group); } + reader.Close(); } } } @@ -215,6 +229,7 @@ namespace TShockAPI.DB string ID = reader.Get("ID"); return ID; } + reader.Close(); } } } diff --git a/TShockAPI/DB/WarpsManager.cs b/TShockAPI/DB/WarpsManager.cs index 68a8999a..a8aa34dd 100644 --- a/TShockAPI/DB/WarpsManager.cs +++ b/TShockAPI/DB/WarpsManager.cs @@ -105,7 +105,10 @@ namespace TShockAPI.DB using (var reader = com.ExecuteReader()) { if (reader.Read()) - return new Warp(new Vector2(reader.Get("X"), reader.Get("Y")), reader.Get("WarpName"), reader.Get("WorldID")); + { + return new Warp(new Vector2(reader.Get("X"), reader.Get("Y")), reader.Get("WarpName"), reader.Get("WorldID")); + } + reader.Close(); } } } @@ -128,6 +131,8 @@ namespace TShockAPI.DB { while (reader.Read()) Warps.Add(new Warp(new Vector2(reader.Get("X"), reader.Get("Y")), reader.Get("WarpName"), reader.Get("WorldID"))); + + reader.Close(); } } } diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index f045980f..0c26b0a1 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -312,6 +312,7 @@ namespace TShockAPI if (!player.Group.HasPermission("usebanneditem")) { var inv = player.TPlayer.inventory; + for (int i = 0; i < inv.Length; i++) { if (inv[i] != null && TShock.Itembans.ItemIsBanned(inv[i].name)) @@ -328,6 +329,7 @@ namespace TShockAPI private void OnJoin(int ply, HandledEventArgs handler) { var player = new TSPlayer(ply); + player.Group = TShock.Users.GetGroupForIP(player.IP); if (Tools.ActivePlayers() + 1 > TShock.Config.MaxSlots && !player.Group.HasPermission("reservedslot")) @@ -345,8 +347,6 @@ namespace TShockAPI return; } - - if (!FileTools.OnWhitelist(player.IP)) { Tools.ForceKick(player, "Not on whitelist."); diff --git a/TShockAPI/Tools.cs b/TShockAPI/Tools.cs index b11a3b2a..44d43c04 100755 --- a/TShockAPI/Tools.cs +++ b/TShockAPI/Tools.cs @@ -478,16 +478,7 @@ namespace TShockAPI return TShock.Groups.groups[i]; } } - //shit, it didnt work, reload and try again - TShock.Groups.LoadPermisions(); - for (int i = 0; i < TShock.Groups.groups.Count; i++) - { - if (TShock.Groups.groups[i].Name.Equals(groupName)) - { - return TShock.Groups.groups[i]; - } - } - return new Group("null"); + return new Group("default"); } ///