public void Disconnect(uint uint_0, string Reason) { for (int i = 0; i < this.Clients.Length; i++) { GameClient @class = this.Clients[i]; if (@class != null && @class.GetHabbo() != null && @class.GetHabbo().Id == uint_0) { @class.Disconnect(Reason); } } }
public void BanUser(GameClient Session, string string_0, double length, string reason, bool banIp) { if (!Session.GetHabbo().IsJuniori) { ModerationBanType enum4_ = ModerationBanType.USERNAME; string text = Session.GetHabbo().Username; string object_ = "user"; double timestamp = Essential.GetUnixTimestamp() + length; if (banIp) { enum4_ = ModerationBanType.IP; if (!ServerConfiguration.IPLastBan) text = Session.GetConnection().String_0; else { using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { text = dbClient.ReadString("SELECT ip_last FROM users WHERE Id = " + Session.GetHabbo().Id + " LIMIT 1;"); } } object_ = "ip"; } this.Bans.Add(new ModerationBan(enum4_, text, reason, timestamp)); using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { dbClient.AddParamWithValue("rawvar", object_); dbClient.AddParamWithValue("var", text); dbClient.AddParamWithValue("reason", reason); dbClient.AddParamWithValue("mod", string_0); dbClient.ExecuteQuery(string.Concat(new object[] { "INSERT INTO bans (bantype,value,reason,expire,added_by,added_date,appeal_state) VALUES (@rawvar,@var,@reason,'", timestamp, "',@mod,'", DateTime.Now.ToLongDateString(), "', '1')" })); dbClient.ExecuteQuery(string.Concat(new object[] { "INSERT INTO banlog (bantype,value,reason,expire,added_by,added_date,appeal_state) VALUES (@rawvar,@var,@reason,'", timestamp, "',@mod,'", DateTime.Now.ToLongDateString(), "', '1')" })); } if (banIp) { DataTable dataTable = null; using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { dbClient.AddParamWithValue("var", text); dataTable = dbClient.ReadDataTable("SELECT Id FROM users WHERE ip_last = @var"); } if (dataTable != null) { IEnumerator enumerator = dataTable.Rows.GetEnumerator(); try { while (enumerator.MoveNext()) { DataRow dataRow = (DataRow)enumerator.Current; using (DatabaseClient @class = Essential.GetDatabase().GetClient()) { @class.ExecuteQuery("UPDATE user_info SET bans = bans + 1 WHERE user_id = '" + (uint)dataRow["Id"] + "' LIMIT 1"); } } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } } } using (DatabaseClient dbClient = Essential.GetDatabase().GetClient()) { dbClient.ExecuteQuery("UPDATE user_info SET bans = bans + 1 WHERE user_id = '" + Session.GetHabbo().Id + "' LIMIT 1"); } Session.NotifyBan(reason); Session.Disconnect("Banned!"); } }