Added /clearbans
fixed sql query in find by name.
This commit is contained in:
parent
f1c86a6216
commit
2a1b81c86a
3 changed files with 62 additions and 4 deletions
|
|
@ -80,7 +80,7 @@ namespace TShockAPI
|
||||||
var namecol = casesensitive ? "Name" : "UPPER(Name)";
|
var namecol = casesensitive ? "Name" : "UPPER(Name)";
|
||||||
if (!casesensitive)
|
if (!casesensitive)
|
||||||
name = name.ToUpper();
|
name = name.ToUpper();
|
||||||
com.CommandText = "SELECT *, COUNT(*) FROM Bans WHERE " + namecol + "=@name LIMIT 5";
|
com.CommandText = "SELECT * FROM Bans WHERE " + namecol + "=@name";
|
||||||
AddParameter(com, "@name", name);
|
AddParameter(com, "@name", name);
|
||||||
using (var reader = com.ExecuteReader())
|
using (var reader = com.ExecuteReader())
|
||||||
{
|
{
|
||||||
|
|
@ -132,6 +132,22 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
return false;
|
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 class Ban
|
||||||
|
|
|
||||||
|
|
@ -112,6 +112,7 @@ namespace TShockAPI
|
||||||
ChatCommands.Add(new Command("ban", BanIP, "banip"));
|
ChatCommands.Add(new Command("ban", BanIP, "banip"));
|
||||||
ChatCommands.Add(new Command("unban", UnBan, "unban"));
|
ChatCommands.Add(new Command("unban", UnBan, "unban"));
|
||||||
ChatCommands.Add(new Command("unban", UnBanIP, "unbanip"));
|
ChatCommands.Add(new Command("unban", UnBanIP, "unbanip"));
|
||||||
|
ChatCommands.Add(new Command("maintenance", ClearBans, "clearbans"));
|
||||||
ChatCommands.Add(new Command("whitelist", Whitelist, "whitelist"));
|
ChatCommands.Add(new Command("whitelist", Whitelist, "whitelist"));
|
||||||
ChatCommands.Add(new Command("maintenance", Off, "off"));
|
ChatCommands.Add(new Command("maintenance", Off, "off"));
|
||||||
ChatCommands.Add(new Command("maintenance", OffNoSave, "off-nosave"));
|
ChatCommands.Add(new Command("maintenance", OffNoSave, "off-nosave"));
|
||||||
|
|
@ -467,6 +468,47 @@ namespace TShockAPI
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int ClearBansCode = -1;
|
||||||
|
private static void ClearBans(CommandArgs args)
|
||||||
|
{
|
||||||
|
if (args.Parameters.Count < 1 && ClearBansCode == -1)
|
||||||
|
{
|
||||||
|
ClearBansCode = new Random().Next(0, short.MaxValue);
|
||||||
|
args.Player.SendMessage("ClearBans Code: " + ClearBansCode, Color.Red);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (args.Parameters.Count < 1)
|
||||||
|
{
|
||||||
|
args.Player.SendMessage("Invalid syntax! Proper syntax: /clearbans <code>");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
int num;
|
||||||
|
if (!int.TryParse(args.Parameters[0], out num))
|
||||||
|
{
|
||||||
|
args.Player.SendMessage("Invalid syntax! Expecting number");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (num == ClearBansCode)
|
||||||
|
{
|
||||||
|
ClearBansCode = -1;
|
||||||
|
if (TShock.Bans.ClearBans())
|
||||||
|
{
|
||||||
|
Log.ConsoleInfo("Bans cleared");
|
||||||
|
args.Player.SendMessage("Bans cleared");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
args.Player.SendMessage("Failed to clear bans");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
args.Player.SendMessage("Incorrect clear code");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void UnBanIP(CommandArgs args)
|
private static void UnBanIP(CommandArgs args)
|
||||||
{
|
{
|
||||||
if (args.Parameters.Count < 1)
|
if (args.Parameters.Count < 1)
|
||||||
|
|
|
||||||
|
|
@ -29,7 +29,7 @@ namespace TShockAPI
|
||||||
{
|
{
|
||||||
internal class Tools
|
internal class Tools
|
||||||
{
|
{
|
||||||
private static Random random = new Random();
|
public static Random Random = new Random();
|
||||||
private static List<Group> groups = new List<Group>();
|
private static List<Group> groups = new List<Group>();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -191,8 +191,8 @@ namespace TShockAPI
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
tileX = startTileX + random.Next(tileXRange * -1, tileXRange);
|
tileX = startTileX + Random.Next(tileXRange * -1, tileXRange);
|
||||||
tileY = startTileY + random.Next(tileYRange * -1, tileYRange);
|
tileY = startTileY + Random.Next(tileYRange * -1, tileYRange);
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
while (TileValid(tileX, tileY) && !TileClear(tileX, tileY));
|
while (TileValid(tileX, tileY) && !TileClear(tileX, tileY));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue