public static bool Add(ulong steam_id, string reason = "", DateTime period = default(DateTime), string details = "") { bool result; if (!Users.Database.ContainsKey(steam_id)) { result = false; } else { Users.SetFlags(steam_id, UserFlags.banned, true); if (Banned.Database.ContainsKey(steam_id)) { result = true; } else { if (reason == "") { reason = "No reason."; } if (details == "") { details = "No details."; } UserBanned userBanned = new UserBanned(Users.Database[steam_id].LastConnectIP, DateTime.Now, period, reason, details); Banned.Database.Add(steam_id, userBanned); if (Core.DatabaseType.Equals("FILE")) { Banned.SaveAsTextFile(); } if (Core.DatabaseType.Equals("MYSQL")) { MySQL.Update(string.Format(Banned.SQL_INSERT_USER_BANNED, new object[] { steam_id, userBanned.IP, userBanned.Time.ToString("yyyy-MM-dd HH:mm:ss"), userBanned.Period.ToString("yyyy-MM-dd HH:mm:ss"), MySQL.QuoteString(userBanned.Reason), MySQL.QuoteString(userBanned.Details) })); } result = true; } } return(result); }
public static bool Remove(ulong steam_id) { if (Users.Database.ContainsKey(steam_id)) { Users.SetFlags(steam_id, UserFlags.banned, false); Blocklist.Remove(Users.Database[steam_id].LastConnectIP); } if (Banned.Database.ContainsKey(steam_id)) { Banned.Database.Remove(steam_id); } if (Core.DatabaseType.Equals("FILE")) { Banned.SaveAsTextFile(); } if (Core.DatabaseType.Equals("MYSQL")) { MySQL.Update(string.Format(Banned.SQL_DELETE_USER_BANNED, steam_id)); } return(true); }
public static bool Clear() { foreach (ulong current in Users.Database.Keys) { if (Users.HasFlag(current, UserFlags.banned)) { Users.Database[current].SetFlag(UserFlags.banned, false); } if (Banned.Database.ContainsKey(current)) { Banned.Database.Remove(current); Blocklist.Remove(Users.Database[current].LastConnectIP); } } if (Core.DatabaseType.Equals("FILE")) { Banned.SaveAsTextFile(); } if (Core.DatabaseType.Equals("MYSQL")) { MySQL.Update(Banned.SQL_CLEAR_USER_BANLIST); } return(true); }