From b018e9e150476c2a90ee4f8288fb28acddd30b0b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 30 Jun 2014 16:11:42 +0400 Subject: [PATCH] Fixed #5374 Also added cancellation buttons here and there. Prevented an exploit, resulting in ability to issue same passes with different ID, even if it doesn't have those accesses. --- code/WorkInProgress/Chinsky/guestpass.dm | 23 +++++++++++++---------- icons/obj/computer.dmi | Bin 73903 -> 73908 bytes 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/code/WorkInProgress/Chinsky/guestpass.dm b/code/WorkInProgress/Chinsky/guestpass.dm index f9d58f4fea..5c16e83879 100644 --- a/code/WorkInProgress/Chinsky/guestpass.dm +++ b/code/WorkInProgress/Chinsky/guestpass.dm @@ -49,7 +49,7 @@ var/list/accesses = list() var/giv_name = "NOT SPECIFIED" var/reason = "NOT SPECIFIED" - var/duration = 0 + var/duration = 5 var/list/internal_log = list() var/mode = 0 // 0 - making pass, 1 - viewing logs @@ -117,18 +117,20 @@ if (href_list["choice"]) switch(href_list["choice"]) if ("giv_name") - var/nam = input("Person pass is issued to", "Name", name) + var/nam = strip_html_simple(input("Person pass is issued to", "Name", giv_name) as text|null) if (nam) - giv_name = strip_html_simple(nam) + giv_name = nam if ("reason") - var/reas = input("Reason why pass is issued", "Reason", reason) - reason = strip_html_simple(reas) + var/reas = strip_html_simple(input("Reason why pass is issued", "Reason", reason) as text|null) + if(reas) + reason = reas if ("duration") - var/dur = input("Duration (in minutes) during which pass is valid.", "Duration") as num - if (dur > 0 && dur < 30) - duration = dur - else - usr << "Invalid duration." + var/dur = input("Duration (in minutes) during which pass is valid (up to 30 minutes).", "Duration") as num|null + if (dur) + if (dur > 0 && dur < 30) + duration = dur + else + usr << "Invalid duration." if ("access") var/A = text2num(href_list["access"]) if (A in accesses) @@ -147,6 +149,7 @@ else giver.loc = src.loc giver = null + accesses.Cut() else var/obj/item/I = usr.get_active_hand() if (istype(I, /obj/item/weapon/card/id)) diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index 44903c2e2ec55f33a1d00d58897f2a6e4e8445e7..39a7f6e3b0f47d725662831c3a1b15da3db0c255 100644 GIT binary patch delta 1139 zcmV-(1dRKy!34Cy1dt?uPgMnFU?-L=jrrmRLJT{8^X73l91iKP#XsNwef(KG z{CJ%IqSzYt#eK2*YcZegOr5sHeQ~{<&$eWmZQ6fmlS)+F7hjZrxq3FgDSnyHY7^Vy zzNqH2=cpX*-;aP-2<`X(&f5iVa)*5&$S z>hl_s@-L`Tsfvz=gaVPsW66+|f61dXI|qUCx->fnISgHYqPS_uQ#ATx`|PPTq-tOR zD2%idR4pdf&-rIa3&@SM%S)`i+IY?uzg4*^S3@hdLT7U`pDOJGV<9NZQ_Ja4+`YdW zGw0({dzB9h`Nnu*;~By7Rc4RN_X2xdehhmYFpO5K01TtmDj;rKtpecI2$?Z}R`Hqm`qmgb4Nq zP%X-;9KHxtfW$sLFO&mCm5gr$*RJmLEdk9deRv zwent)@yAv9z@Aro00PNi>rG3#i$=OF5Wv8s_s~Fp;10-5P3c2mAQ(NgAmnB;=X(^} zE+v~U{|6kPX%7VA!dA)a;S`9VH2bSwn{s!C4j2bp1*BObOM#;>v#U|`$Ckhu;eZ61 z$xY`2?q_3`U+|BPGB z^~rPo+x6tP=RS?>M(VLUEajmSY;9FYEadT>xF9Adpp)SqicQqUu{Vi@#2;M{%_8lL zuVo(5Yt~X6nrvyg0k-dQS@!-WC@#=!xsmt$Nwa5;0&|sIzOZzOKQ#y7xM?(Ux2JNb|M${_~-D`0+UZAM3Xr4S87O@Pl{+w|E2r FHymOyK6n5C delta 1134 zcmV-!1d;o+!33|t1dt?uOL|mTbVOxyV{&P5bZKvH004NLty$4-;yMt0hOdZrU(+i> zq2;c`%T-rbec1hl$aRKb)%N&0&a(XdeFz1IWa5FXq9Q0~&K!@&k2q5IGT5g^-UUxa#p*s0&(zszTq@=dnQ ziur8kg@Nw<0QdmLh2uDUIiFRa#WCAv&-wF+?P{^&JKD8c^U-L>vFnSbB0oK`dFwQa zDmk8IJ`%Jyw!8%c*(u>8Io^F}tp&XxSeL!vj2Ra98ZPfNEbf(B+$*&pq>c`YSSWw@ zGNu2F(ZHwB6rZDiruZ{8UW$rfc)Bn==I7_ymXY#aiVBE?e~e@7j zQBLs1X|~9V#h4{$pdVPq>ONzM1WuH`i}@|OmJDGUeE7y7)!@T7V%ZLG>4LJ(*H=@Y z))0h!=PISD=x|6}ASd#?WC+5(r%@7(VS&=RBpSnV=-L2(zO2E5SMs)f_S%}Is%ODa z=;1)9T8ylp>8DT2kn7=)mRMO)T1*zdRldqseJj*NXY({4EA2gFA}Gsi%kfZb&hLiI z>9|x@q{9NXR+iX!2C#IM>2T>@pu?rd(BT-vXryqAVKh=Wj@w2G$8f8N%;-VV?i8a9 zHPAH2ozjqh-ij~KwCf9&BcYOL9FfzTcn`VGWX^wvo;dO=iN-OsE30fRg#j;!2u1@a z7I~5PUkECO#2B6yiVnO8%GLyOx}J{kq!pf_X>|?{;K_ox8WhAU%R9}|LvVQDoFp45 ztfgf9aaBICr`4W-jAYPN*??@lqHYTaFk{jqG$U|-CuCVcxCzV%MuaAWJdNgjM6qu} z(CPAj!Z9>;Kt^0p3wk|V134&(_91FhHWPG=aiA8AGz*}?p(kc`HHiMul5s{jAsNkN z*;*2o^nskvn;nI#zKt>Py+i7gnFGd^tfxLl~5uu~46uXp0;M=GfQ!vqH z4q#k5#za*TjeAhGZPIsn6P=d_xfi~MQlfDsb)|j>7bDeT&u<>zf$&ZmS)6FpVk>+@ z#v;KteIk(pq_V!B`oU%TWR3}5_!BK7sLn!>txtLc@tF{v??Hx_=5|gnTLb2 z70p9>O#T}Y8*7Tk~YPLfUwxKRDi|D$2@N>!dPbVLQ>6G|f zKr%BzW8F|PFVH<|lxTxT;&)c=wL(Oc9!dn}-tmD?U4X0xC25L-dwCbzFuJ~@t&|kh z1v@)EMsu%bb#|YLI#;1mYHa8O&DZSv&zJ1w$Lsumw80#E9`7}kgM9?IeFOnF9HVJD AhX4Qo