Code:
public T_AuthCheck(Handle:owner, Handle:hndl, const String:error[], any:data) {
new client;
decl ban_length;
decl String:steam_id[32];
decl String:steam_id_admin[32];
decl String:ban_reason[100];
decl String:banned_by[32];
decl ban_remaining;
decl String:query[255];
decl String:timestamp[64];
if ((client = GetClientOfUserId(data)) == 0) {
return;
}
GetClientAuthId(client, AuthId_Engine, steam_id, 32);
new buffer_len = strlen(steam_id) * 2 + 1
new String:v_steam_id[buffer_len]
SQL_EscapeString(hDatabase, steam_id, v_steam_id, buffer_len)
if (hndl == INVALID_HANDLE)
{
LogError("[MYBans] Query failed! %s", error);
KickClient(client, "Error: Reattempt connection");
}
while (SQL_FetchRow(hndl)) {
ban_length = SQL_FetchInt(hndl,0);
SQL_FetchString(hndl,1,banned_by,sizeof(banned_by));
SQL_FetchString(hndl,2,ban_reason,sizeof(ban_reason));
SQL_FetchString(hndl,3,steam_id_admin,sizeof(steam_id_admin));
SQL_FetchString(hndl,4,timestamp,sizeof(timestamp));
ban_remaining = SQL_FetchInt(hndl,5);
if (ban_length == 0) {
KickClient(client,"Ai Primit ban\nDurata Ban: Permanent\nMotiv: %s\nNume Admin: %s\nSteamID Admin: %s\nSteamID-ul tau: %s\nData si ora: %s\nStefanX1 on Steam", ban_reason, banned_by, steam_id_admin, steam_id, timestamp);
return;
}
if (ban_remaining <= ban_length) {
KickClient(client,"Ai Primit ban\nDurata Ban: %d minute\nMotiv: %s\nNume Admin: %s\nSteamID Admin: %s\nSteamID-ul tau: %s\nData si ora: %s\nStefanX1 on Steam", ban_length, ban_reason, banned_by, steam_id_admin, steam_id, timestamp);
} else {
Format(query, sizeof(query), "DELETE FROM my_bans WHERE steam_id='%s'", v_steam_id);
SQL_TQuery(hDatabase, T_MYUnBan, query);
LogMessage("[MYBans] User %s has been unbanned by elapse of time.", v_steam_id);
}
}
}
public OnClientPostAdminCheck(client) {
if(IsFakeClient(client)) {
return;
}
decl String:steam_id[32];
decl String:query[255];
GetClientAuthId(client, AuthId_Engine, steam_id, 32);
new buffer_len = strlen(steam_id) * 2 + 1
new String:v_steam_id[buffer_len]
SQL_EscapeString(hDatabase, steam_id, v_steam_id, buffer_len)
Format(query, sizeof(query), "SELECT ban_length, banned_by, ban_reason, steam_id_admin, timestamp, (now()-timestamp)/60 FROM my_bans WHERE steam_id = '%s'", v_steam_id); // fixing this
SQL_TQuery(hDatabase, T_AuthCheck, query, GetClientUserId(client));
}