diff --git a/TShockAPI/Commands.cs b/TShockAPI/Commands.cs index 7e9017cd..a34c10fe 100755 --- a/TShockAPI/Commands.cs +++ b/TShockAPI/Commands.cs @@ -26,6 +26,7 @@ using System.Net; using System.Threading; using Microsoft.Xna.Framework; using Terraria; +using TShockAPI.DB; namespace TShockAPI { @@ -956,16 +957,16 @@ namespace TShockAPI if (args.Parameters.Count > 1) int.TryParse(args.Parameters[1], out page); var sb = new StringBuilder(); - if (WarpManager.Warps.Count > (15 * (page - 1))) + if (TShock.Warps.Warps.Count > (15 * (page - 1))) { for (int j = (15 * (page - 1)); j < (15 * page); j++) { - if (WarpManager.Warps[j].WorldWarpName == Main.worldName) + if (TShock.Warps.Warps[j].WorldWarpName == Main.worldName) { if (sb.Length != 0) sb.Append(", "); - sb.Append("/").Append(WarpManager.Warps[j].WarpName); - if (j == WarpManager.Warps.Count - 1) + sb.Append("/").Append(TShock.Warps.Warps[j].WarpName); + if (j == TShock.Warps.Warps.Count - 1) { args.Player.SendMessage(sb.ToString(), Color.Yellow); break; @@ -978,7 +979,7 @@ namespace TShockAPI } } } - if (WarpManager.Warps.Count > (15 * page)) + if (TShock.Warps.Warps.Count > (15 * page)) { args.Player.SendMessage(string.Format("Type /warp list {0} for more warps.", (page + 1)), Color.Yellow); } diff --git a/TShockAPI/BanManager.cs b/TShockAPI/DB/BanManager.cs similarity index 96% rename from TShockAPI/BanManager.cs rename to TShockAPI/DB/BanManager.cs index 7971dc49..37bfa238 100644 --- a/TShockAPI/BanManager.cs +++ b/TShockAPI/DB/BanManager.cs @@ -1,167 +1,167 @@ -/* -TShock, a server mod for Terraria -Copyright (C) 2011 The TShock Team - -This program is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program. If not, see . -*/ - -using System; -using System.Collections.Generic; -using System.Data; -using System.IO; -using System.Text; -using Community.CsharpSqlite.SQLiteClient; -using TShockAPI.DB; - -namespace TShockAPI -{ - public class BanManager - { - private IDbConnection database; - - public BanManager(IDbConnection db) - { - database = db; - - using (var com = database.CreateCommand()) - { - com.CommandText = - "CREATE TABLE IF NOT EXISTS \"Bans\" (\"IP\" VARCHAR(15) NOT NULL UNIQUE , \"Name\" VARCHAR(32) NOT NULL , \"Reason\" VARCHAR(255) NOT NULL );"; - com.ExecuteNonQuery(); - } - } - - public Ban GetBanByIp(string ip) - { - try - { - using (var com = database.CreateCommand()) - { - com.CommandText = "SELECT * FROM Bans WHERE IP=@ip"; - com.AddParameter("@ip", ip); - using (var reader = com.ExecuteReader()) - { - if (reader.Read()) - return new Ban((string)reader["IP"], (string)reader["Name"], (string)reader["Reason"]); - } - } - } - catch (SqliteExecutionException ex) - { - } - return null; - } - - public Ban GetBanByName(string name, bool casesensitive = true) - { - try - { - using (var com = database.CreateCommand()) - { - var namecol = casesensitive ? "Name" : "UPPER(Name)"; - if (!casesensitive) - name = name.ToUpper(); - com.CommandText = "SELECT * FROM Bans WHERE " + namecol + "=@name"; - com.AddParameter("@name", name); - using (var reader = com.ExecuteReader()) - { - if (reader.Read()) - return new Ban((string)reader["IP"], (string)reader["Name"], (string)reader["Reason"]); - } - } - } - catch (SqliteExecutionException ex) - { - } - return null; - } - - public bool AddBan(string ip, string name = "", string reason = "") - { - try - { - using (var com = database.CreateCommand()) - { - com.CommandText = "INSERT INTO Bans (IP, Name, Reason) VALUES (@ip, @name, @reason)"; - com.AddParameter("@ip", ip); - com.AddParameter("@name", name); - com.AddParameter("@reason", reason); - com.ExecuteNonQuery(); - } - return true; - } - catch (SqliteExecutionException ex) - { - } - return false; - } - - public bool RemoveBan(string ip) - { - try - { - using (var com = database.CreateCommand()) - { - com.CommandText = "DELETE FROM Bans WHERE IP=@ip"; - com.AddParameter("@ip", ip); - com.ExecuteNonQuery(); - return true; - } - } - catch (SqliteExecutionException ex) - { - } - return false; - } - public bool ClearBans() - { - try - { - using (var com = database.CreateCommand()) - { - com.CommandText = "DELETE FROM Bans"; - com.ExecuteNonQuery(); - return true; - } - } - catch (SqliteExecutionException ex) - { - } - return false; - } - } - - public class Ban - { - public string IP { get; set; } - - public string Name { get; set; } - - public string Reason { get; set; } - - public Ban(string ip, string name, string reason) - { - IP = ip; - Name = name; - Reason = reason; - } - - public Ban() - { - IP = string.Empty; - Name = string.Empty; - Reason = string.Empty; - } - } +/* +TShock, a server mod for Terraria +Copyright (C) 2011 The TShock Team + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +using System; +using System.Collections.Generic; +using System.Data; +using System.IO; +using System.Text; +using Community.CsharpSqlite.SQLiteClient; +using TShockAPI.DB; + +namespace TShockAPI.DB +{ + public class BanManager + { + private IDbConnection database; + + public BanManager(IDbConnection db) + { + database = db; + + using (var com = database.CreateCommand()) + { + com.CommandText = + "CREATE TABLE IF NOT EXISTS \"Bans\" (\"IP\" VARCHAR(15) NOT NULL UNIQUE , \"Name\" VARCHAR(32) NOT NULL , \"Reason\" VARCHAR(255) NOT NULL );"; + com.ExecuteNonQuery(); + } + } + + public Ban GetBanByIp(string ip) + { + try + { + using (var com = database.CreateCommand()) + { + com.CommandText = "SELECT * FROM Bans WHERE IP=@ip"; + com.AddParameter("@ip", ip); + using (var reader = com.ExecuteReader()) + { + if (reader.Read()) + return new Ban((string)reader["IP"], (string)reader["Name"], (string)reader["Reason"]); + } + } + } + catch (SqliteExecutionException ex) + { + } + return null; + } + + public Ban GetBanByName(string name, bool casesensitive = true) + { + try + { + using (var com = database.CreateCommand()) + { + var namecol = casesensitive ? "Name" : "UPPER(Name)"; + if (!casesensitive) + name = name.ToUpper(); + com.CommandText = "SELECT * FROM Bans WHERE " + namecol + "=@name"; + com.AddParameter("@name", name); + using (var reader = com.ExecuteReader()) + { + if (reader.Read()) + return new Ban((string)reader["IP"], (string)reader["Name"], (string)reader["Reason"]); + } + } + } + catch (SqliteExecutionException ex) + { + } + return null; + } + + public bool AddBan(string ip, string name = "", string reason = "") + { + try + { + using (var com = database.CreateCommand()) + { + com.CommandText = "INSERT INTO Bans (IP, Name, Reason) VALUES (@ip, @name, @reason)"; + com.AddParameter("@ip", ip); + com.AddParameter("@name", name); + com.AddParameter("@reason", reason); + com.ExecuteNonQuery(); + } + return true; + } + catch (SqliteExecutionException ex) + { + } + return false; + } + + public bool RemoveBan(string ip) + { + try + { + using (var com = database.CreateCommand()) + { + com.CommandText = "DELETE FROM Bans WHERE IP=@ip"; + com.AddParameter("@ip", ip); + com.ExecuteNonQuery(); + return true; + } + } + catch (SqliteExecutionException ex) + { + } + return false; + } + public bool ClearBans() + { + try + { + using (var com = database.CreateCommand()) + { + com.CommandText = "DELETE FROM Bans"; + com.ExecuteNonQuery(); + return true; + } + } + catch (SqliteExecutionException ex) + { + } + return false; + } + } + + public class Ban + { + public string IP { get; set; } + + public string Name { get; set; } + + public string Reason { get; set; } + + public Ban(string ip, string name, string reason) + { + IP = ip; + Name = name; + Reason = reason; + } + + public Ban() + { + IP = string.Empty; + Name = string.Empty; + Reason = string.Empty; + } + } } \ No newline at end of file diff --git a/TShockAPI/DB/UserManager.cs b/TShockAPI/DB/UserManager.cs new file mode 100644 index 00000000..c440282f --- /dev/null +++ b/TShockAPI/DB/UserManager.cs @@ -0,0 +1,29 @@ +/* +TShock, a server mod for Terraria +Copyright (C) 2011 The TShock Team + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace TShockAPI.DB +{ + public class UserManager + { + } +} diff --git a/TShockAPI/WarpsManager.cs b/TShockAPI/DB/WarpsManager.cs similarity index 99% rename from TShockAPI/WarpsManager.cs rename to TShockAPI/DB/WarpsManager.cs index 2305ace4..5658efdb 100644 --- a/TShockAPI/WarpsManager.cs +++ b/TShockAPI/DB/WarpsManager.cs @@ -28,13 +28,13 @@ using System.Xml; using Terraria; using TShockAPI.DB; -namespace TShockAPI +namespace TShockAPI.DB { public class WarpManager { private IDbConnection database; - public static List Warps = new List(); + public List Warps = new List(); public WarpManager(IDbConnection db) { diff --git a/TShockAPI/TShock.cs b/TShockAPI/TShock.cs index 13788936..3f9b3c6c 100755 --- a/TShockAPI/TShock.cs +++ b/TShockAPI/TShock.cs @@ -30,6 +30,7 @@ using Terraria; using TerrariaAPI; using TerrariaAPI.Hooks; using System.Text; +using TShockAPI.DB; namespace TShockAPI { diff --git a/TShockAPI/TShockAPI.csproj b/TShockAPI/TShockAPI.csproj index 3428ab62..beca9b7b 100644 --- a/TShockAPI/TShockAPI.csproj +++ b/TShockAPI/TShockAPI.csproj @@ -76,8 +76,9 @@ - + + @@ -99,7 +100,7 @@ - + @@ -150,7 +151,7 @@ - +