Merge pull request #4078 from Citadel-Station-13/upstream-merge-32801

[MIRROR] Adds ip and cid to banning panel ban search
This commit is contained in:
deathride58
2017-11-23 01:04:20 +00:00
committed by GitHub
2 changed files with 19 additions and 13 deletions

View File

@@ -337,7 +337,7 @@
holder.DB_ban_panel()
/datum/admins/proc/DB_ban_panel(playerckey = null, adminckey = null, page = 0)
/datum/admins/proc/DB_ban_panel(playerckey, adminckey, ip, cid, page = 0)
if(!usr.client)
return
@@ -394,25 +394,29 @@
output += "<input type='hidden' name='src' value='[REF(src)]'>"
output += HrefTokenFormField()
output += "<b>Ckey:</b> <input type='text' name='dbsearchckey' value='[playerckey]'>"
output += "<b>Admin ckey:</b> <input type='text' name='dbsearchadmin' value='[adminckey]'>"
output += "<b>Admin ckey:</b> <input type='text' name='dbsearchadmin' value='[adminckey]'><br>"
output += "<b>IP:</b> <input type='text' name='dbsearchip' value='[ip]'>"
output += "<b>CID:</b> <input type='text' name='dbsearchcid' value='[cid]'>"
output += "<input type='submit' value='search'>"
output += "</form>"
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(adminckey || playerckey || ip || cid)
var/list/searchlist = list()
if(playerckey)
playersearch = "AND ckey = '[playerckey]' "
searchlist += "ckey = '[sanitizeSQL(ckey(playerckey))]'"
if(adminckey)
adminsearch = "AND a_ckey = '[adminckey]' "
searchlist += "a_ckey = '[sanitizeSQL(ckey(adminckey))]'"
if(ip)
searchlist += "ip = INET_ATON('[sanitizeSQL(ip)]')"
if(cid)
searchlist += "computerid = '[sanitizeSQL(cid)]'"
var/search = searchlist.Join(" AND ")
var/bancount = 0
var/bansperpage = 15
var/pagecount = 0
page = text2num(page)
var/datum/DBQuery/query_count_bans = SSdbcore.NewQuery("SELECT COUNT(id) FROM [format_table_name("ban")] WHERE 1 [playersearch] [adminsearch]")
var/datum/DBQuery/query_count_bans = SSdbcore.NewQuery("SELECT COUNT(id) FROM [format_table_name("ban")] WHERE [search]")
if(!query_count_bans.warn_execute())
return
if(query_count_bans.NextRow())
@@ -438,7 +442,7 @@
output += "<th width='15%'><b>OPTIONS</b></th>"
output += "</tr>"
var/limit = " LIMIT [bansperpage * page], [bansperpage]"
var/datum/DBQuery/query_search_bans = SSdbcore.NewQuery("SELECT id, bantime, bantype, reason, job, duration, expiration_time, ckey, a_ckey, unbanned, unbanned_ckey, unbanned_datetime, edits, round_id FROM [format_table_name("ban")] WHERE 1 [playersearch] [adminsearch] ORDER BY bantime DESC[limit]")
var/datum/DBQuery/query_search_bans = SSdbcore.NewQuery("SELECT id, bantime, bantype, reason, job, duration, expiration_time, ckey, a_ckey, unbanned, unbanned_ckey, unbanned_datetime, edits, round_id FROM [format_table_name("ban")] WHERE [search] ORDER BY bantime DESC[limit]")
if(!query_search_bans.warn_execute())
return

View File

@@ -181,12 +181,14 @@
log_admin("[key_name(usr)] has triggered an event. ([E.name])")
return
else if(href_list["dbsearchckey"] || href_list["dbsearchadmin"])
else if(href_list["dbsearchckey"] || href_list["dbsearchadmin"] || href_list["dbsearchip"] || href_list["dbsearchcid"])
var/adminckey = href_list["dbsearchadmin"]
var/playerckey = href_list["dbsearchckey"]
var/ip = href_list["dbsearchip"]
var/cid = href_list["dbsearchcid"]
var/page = href_list["dbsearchpage"]
DB_ban_panel(playerckey, adminckey, page)
DB_ban_panel(playerckey, adminckey, ip, cid, page)
return
else if(href_list["dbbanedit"])