From 107b71f1281002fc316777b73ab510f08e01322a Mon Sep 17 00:00:00 2001 From: "elly1989@rocketmail.com" Date: Fri, 10 Aug 2012 17:32:19 +0000 Subject: [PATCH] Resolves Issue 763 Editing bans will now report the duration correctly. Known issues: The ban system looks like something my cat threw up. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4358 316c924e-a436-60f5-8080-3fe189b3f50e --- code/modules/admin/admin.dm | 41 +++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 60525cdfa71..81f261b1eba 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -160,40 +160,45 @@ var/global/BSACooldown = 0 if(href_list["unbane"]) UpdateTime() var/reason - var/mins = 0 + var/banfolder = href_list["unbane"] Banlist.cd = "/base/[banfolder]" var/reason2 = Banlist["reason"] var/temp = Banlist["temp"] - var/minutes = (Banlist["minutes"] - CMinutes) - if(!minutes || minutes < 0) minutes = 0 + + var/minutes = Banlist["minutes"] + var/banned_key = Banlist["key"] Banlist.cd = "/base" + var/duration + switch(alert("Temporary Ban?",,"Yes","No")) if("Yes") temp = 1 - mins = input(usr,"How long (in minutes)? (Default: 1440)","Ban time",minutes ? minutes : 1440) as num - if(!mins) - return - if(mins >= 525600) mins = 525599 - reason = input(usr,"Reason?","reason",reason2) as text - if(!reason) - return + var/mins = 0 + if(minutes > CMinutes) + mins = minutes - CMinutes + mins = input(usr,"How long (in minutes)? (Default: 1440)","Ban time",mins ? mins : 1440) as num|null + if(!mins) return + mins = min(525599,mins) + minutes = CMinutes + mins + duration = GetExp(minutes) + reason = input(usr,"Reason?","reason",reason2) as text|null + if(!reason) return if("No") temp = 0 - reason = input(usr,"Reason?","reason",reason2) as text - if(!reason) - return + duration = "Perma" + reason = input(usr,"Reason?","reason",reason2) as text|null + if(!reason) return - log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetExp(mins)]") - - ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetExp(mins)]") - message_admins("\blue [key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [GetExp(mins)]", 1) + log_admin("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") + ban_unban_log_save("[key_name(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]") + message_admins("\blue [key_name_admin(usr)] edited [banned_key]'s ban. Reason: [reason] Duration: [duration]", 1) Banlist.cd = "/base/[banfolder]" Banlist["reason"] << reason Banlist["temp"] << temp - Banlist["minutes"] << (mins + CMinutes) + Banlist["minutes"] << minutes Banlist["bannedby"] << usr.ckey Banlist.cd = "/base" feedback_inc("ban_edit",1)