Jeżeli nie potrzebujesz historii banów, to śmiało możesz pozbyć się jednego zapytania do bazy danych. W tym celu nadal w pliku
Kod php:
format(query, 511, "INSERT INTO `%s` (player_id,player_ip,player_nick,admin_id,admin_nick,admin_ip,ban_type,ban_reason,ban_created,ban_length,server_ip,server_name,unban_created,unban_reason,unban_admin_nick) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%d','%s','%s','%s','%i','Bantime expired','amxbans')",tbl_banhist, player_steamid, player_ip, player_nick, admin_steamid, admin_nick, admin_ip, ban_type, ban_reason, ban_created, ban_length, server_ip, server_name, unban_created)
data[0] = id
data[1] = bid
SQL_ThreadQuery(g_SqlX, "insert_to_banhistory", query, data, 2)
Kod php:
format(query, 511,"DELETE FROM `%s` WHERE bid='%d'",tbl_bans, bid)
data[0] = id
SQL_ThreadQuery(g_SqlX, "delete_expired_ban", query, data, 1)
Kod php:
public insert_to_banhistory(failstate, Handle:query, error[], errnum, data[], size)
{
new id = data[0]
new bid = data[1]
if (failstate)
{
new szQuery[256]
MySqlX_ThreadError( szQuery, error, errnum, failstate, 18 )
}
else
{
new query[512]
new data[1]
format(query, 511,"DELETE FROM `%s` WHERE bid='%d'",tbl_bans, bid)
data[0] = id
SQL_ThreadQuery(g_SqlX, "delete_expired_ban", query, data, 1)
if ( get_pcvar_num(amxbans_debug) == 1 )
log_amx("[AMXBANS DEBUG] PRUNE BAN: DELETE FROM `%s` WHERE bid='%d'",tbl_bans, bid)
}
return PLUGIN_HANDLED
}