diff --git a/code/modules/admin/DB_ban/functions.dm b/code/modules/admin/DB_ban/functions.dm
index c450ec3d1cc..17d4f72721b 100644
--- a/code/modules/admin/DB_ban/functions.dm
+++ b/code/modules/admin/DB_ban/functions.dm
@@ -329,7 +329,7 @@
holder.DB_ban_panel()
-/datum/admins/proc/DB_ban_panel(playerckey = null, adminckey = null)
+/datum/admins/proc/DB_ban_panel(playerckey = null, adminckey = null, page = 0)
if(!usr.client)
return
@@ -390,7 +390,30 @@
output += "Please note that all jobban bans or unbans are in-effect the following round."
if(adminckey || playerckey)
-
+ playerckey = sanitizeSQL(ckey(playerckey))
+ adminckey = sanitizeSQL(ckey(adminckey))
+ var/playersearch = ""
+ var/adminsearch = ""
+ if(playerckey)
+ playersearch = "AND ckey = '[playerckey]' "
+ if(adminckey)
+ adminsearch = "AND a_ckey = '[adminckey]' "
+ var/bancount = 0
+ var/bansperpage = 15
+ var/pagecount = 0
+ page = text2num(page)
+ var/DBQuery/query_count_bans = dbcon.NewQuery("SELECT COUNT(id) FROM [format_table_name("ban")] WHERE 1 [playersearch] [adminsearch]")
+ if(!query_count_bans.warn_execute())
+ return
+ if(query_count_bans.NextRow())
+ bancount = text2num(query_count_bans.item[1])
+ if(bancount > bansperpage)
+ output += "
Page: "
+ while(bancount > 0)
+ output+= "|[pagecount == page ? "\[[pagecount]\]" : "\[[pagecount]\]"]"
+ bancount -= bansperpage
+ pagecount++
+ output += "|"
var/blcolor = "#ffeeee" //banned light
var/bdcolor = "#ffdddd" //banned dark
var/ulcolor = "#eeffee" //unbanned light
@@ -404,17 +427,8 @@
output += "