diff --git a/addons/sourcemod/scripting/KnockbackRestrict.sp b/addons/sourcemod/scripting/KnockbackRestrict.sp index e79b89f..ea68a0a 100644 --- a/addons/sourcemod/scripting/KnockbackRestrict.sp +++ b/addons/sourcemod/scripting/KnockbackRestrict.sp @@ -1033,10 +1033,11 @@ void Kban_AddOfflineBan(OfflinePlayer player, int admin, int length, char[] reas // Edit ID purpose int arrayIndex = g_allKbans.PushArray(info, sizeof(info)); - char escapedTargetName[MAX_NAME_LENGTH * 2 + 1], escapedAdminName[MAX_NAME_LENGTH * 2 + 1], escapedReason[REASON_MAX_LENGTH * 2 + 1]; + char escapedTargetName[MAX_NAME_LENGTH * 2 + 1], escapedAdminName[MAX_NAME_LENGTH * 2 + 1], escapedReason[REASON_MAX_LENGTH * 2 + 1], escapedMap[PLATFORM_MAX_PATH * 2 + 1]; if(!g_hDB.Escape(adminName, escapedAdminName, sizeof(escapedAdminName)) || !g_hDB.Escape(player.name, escapedTargetName, sizeof(escapedTargetName)) - || !g_hDB.Escape(reason, escapedReason, sizeof(escapedReason))) { + || !g_hDB.Escape(reason, escapedReason, sizeof(escapedReason)) + || !g_hDB.Escape(info.map, escapedMap, sizeof(escapedMap))) { return; } @@ -1052,7 +1053,7 @@ void Kban_AddOfflineBan(OfflinePlayer player, int admin, int length, char[] reas ... "'%d', '%d', '%d', '%d', '%d', '%s', '%s', '%d', '%s')", escapedTargetName, info.clientSteamID, info.clientIP, escapedAdminName, info.adminSteamID, escapedReason, - info.map, info.length, info.time_stamp_start, + escapedMap, info.length, info.time_stamp_start, info.time_stamp_end, 0, 0, "null", "null", 0, "null"); @@ -1442,10 +1443,10 @@ void Kban_PublishKunban(int target, int admin, const char[] reason) { ... "`client_name`, `client_steamid`," ... "`admin_name`, `admin_steamid`," ... "`message`, `time_stamp`)" - ... "VALUES ('%s', '%s', '%s', '%s', '%s', '%d')", + ... "VALUES ('%s', '%s', '%s', '%s', 'Removed Kban (Reason: %s)', '%d')", targetNameEscaped, g_sSteamIDs[target], - adminName, adminSteamID, - "Removed Kban", GetTime()); + adminNameEscaped, adminSteamID, + reasonEscaped, GetTime()); g_hDB.Query(OnKbanRemove, query); } @@ -1503,12 +1504,13 @@ void Kban_AddBan(int target, int admin, int length, char[] reason) { // for editing id purpose int arrayIndex = g_allKbans.PushArray(info, sizeof(info)); - char escapedTargetName[MAX_NAME_LENGTH * 2 + 1], escapedAdminName[MAX_NAME_LENGTH * 2 + 1], escapedReason[REASON_MAX_LENGTH * 2 + 1]; + char escapedTargetName[MAX_NAME_LENGTH * 2 + 1], escapedAdminName[MAX_NAME_LENGTH * 2 + 1], escapedReason[REASON_MAX_LENGTH * 2 + 1], escapedMap[PLATFORM_MAX_PATH * 2 + 1]; if(!g_hDB.Escape(info.clientName, escapedTargetName, sizeof(escapedTargetName)) || !g_hDB.Escape(info.adminName, escapedAdminName, sizeof(escapedAdminName)) - || !g_hDB.Escape(info.reason, escapedReason, sizeof(escapedReason))) { - return; + || !g_hDB.Escape(info.reason, escapedReason, sizeof(escapedReason)) + || !g_hDB.Escape(info.map, escapedMap, sizeof(escapedMap))) { + return; } char query[MAX_QUERIE_LENGTH]; @@ -1523,7 +1525,7 @@ void Kban_AddBan(int target, int admin, int length, char[] reason) { ... "'%d', '%d', '%d', '%d', '%d', '%s', '%s', '%d', '%s')", escapedTargetName, info.clientSteamID, info.clientIP, escapedAdminName, info.adminSteamID, escapedReason, - info.map, info.length, info.time_stamp_start, + escapedMap, info.length, info.time_stamp_start, info.time_stamp_end, 0, 0, "null", "null", 0, "null"); @@ -1591,10 +1593,11 @@ void PublishKban(Kban info, int admin, int target = -1, const char[] reason) { } } - char targetNameEscaped[MAX_NAME_LENGTH * 2 + 1], adminNameEscaped[MAX_NAME_LENGTH * 2 + 1], reasonEscaped[REASON_MAX_LENGTH * 2 + 1]; + char targetNameEscaped[MAX_NAME_LENGTH * 2 + 1], adminNameEscaped[MAX_NAME_LENGTH * 2 + 1], reasonEscaped[REASON_MAX_LENGTH * 2 + 1], messageEscaped[REASON_MAX_LENGTH * 2 + 1]; if(!g_hDB.Escape(info.clientName, targetNameEscaped, sizeof(targetNameEscaped)) || !g_hDB.Escape(info.adminName, adminNameEscaped, sizeof(adminNameEscaped)) - || !g_hDB.Escape(reason, reasonEscaped, sizeof(reasonEscaped))) { + || !g_hDB.Escape(reason, reasonEscaped, sizeof(reasonEscaped)) + || !g_hDB.Escape(message, messageEscaped, sizeof(messageEscaped))) { LogError("[Kb-Restrict] Couldn't escape the message."); return; } @@ -1610,7 +1613,7 @@ void PublishKban(Kban info, int admin, int target = -1, const char[] reason) { ... "VALUES ('%s', '%s', '%s', '%s', '%s', '%d')", targetNameEscaped, info.clientSteamID, adminNameEscaped, info.adminSteamID, - message, GetTime()); + messageEscaped, GetTime()); g_hDB.Query(OnKbanPublished, query, arrayIndex); } diff --git a/addons/sourcemod/scripting/helpers/menus.sp b/addons/sourcemod/scripting/helpers/menus.sp index 393640e..175c719 100644 --- a/addons/sourcemod/scripting/helpers/menus.sp +++ b/addons/sourcemod/scripting/helpers/menus.sp @@ -510,16 +510,17 @@ int Menu_KbanInfoMenu(Menu menu, MenuAction action, int param1, int param2) { if(target != -1) { Kban_RemoveBan(target, param1, sReason); } else { - char escapedName[MAX_NAME_LENGTH * 2 + 1]; - if(!g_hDB.Escape(g_sName[param1], escapedName, sizeof(escapedName))) { + char escapedName[MAX_NAME_LENGTH * 2 + 1], escapedReason[128]; + if(!g_hDB.Escape(g_sName[param1], escapedName, sizeof(escapedName)) || !g_hDB.Escape(sReason, escapedReason, sizeof(escapedReason))) { return 0; } char query[MAX_QUERIE_LENGTH]; g_hDB.Format(query, sizeof(query), "UPDATE `KbRestrict_CurrentBans` SET `is_expired`=1, `is_removed`=1," - ... "`admin_name_removed`='%s', `admin_steamid_removed`='%s', `reason_removed`," - ... "`time_stamp_removed`=%d", - escapedName, g_sSteamIDs[param1], sReason, GetTime()); + ... "`admin_name_removed`='%s', `admin_steamid_removed`='%s', `reason_removed`='%s'," + ... "`time_stamp_removed`=%d WHERE `client_steamid`='%s' AND `client_ip`='%s' AND `is_expired`=0 AND `is_removed`=0", + escapedName, g_sSteamIDs[param1], escapedReason, + GetTime(), buffers[0], buffers[1]); g_hDB.Query(OnKbanRemove, query); } @@ -848,4 +849,4 @@ public Action OnClientSayCommand(int client, const char[] command, const char[] } return Plugin_Continue; -} \ No newline at end of file +} diff --git a/addons/sourcemod/scripting/include/KnockbackRestrict.inc b/addons/sourcemod/scripting/include/KnockbackRestrict.inc index 9a72f03..dd8d91d 100644 --- a/addons/sourcemod/scripting/include/KnockbackRestrict.inc +++ b/addons/sourcemod/scripting/include/KnockbackRestrict.inc @@ -13,7 +13,7 @@ #define KR_V_MAJOR "4" #define KR_V_MINOR "0" -#define KR_V_PATCH "7" +#define KR_V_PATCH "8" #define KR_VERSION KR_V_MAJOR..."."...KR_V_MINOR..."."...KR_V_PATCH