From 96f87d7e696f1f18fa0d148b9c0fe5089fa5c704 Mon Sep 17 00:00:00 2001 From: Sarabveer Singh Date: Thu, 1 Jan 2015 17:30:19 -0500 Subject: [PATCH] Tagged as 1.5.0F (26/12/14): Version 1.5.0F ----------------------- 01. * Integrated SourceComms 02. * Added TF2 Modern Theme as Default (Made by IceMan) 03. * Integrated SourceBans Checker 04. * Re-made SourceBans FAQ 05. * Added MvM and HL2 Map Pics 06. + Re-arranged/Renamed Tabs 07. + Added More Robust LFI Patch 08. ! Fixed Plugin Pointing to wrong FAQ link 09. ? Optimized and updated IpToCountry.csv --- CHANGELOG.md | 19 +- .../addons/sourcemod/plugins/sbchecker.smx | Bin 9063 -> 9060 bytes .../addons/sourcemod/plugins/sourcebans.smx | Bin 36424 -> 36417 bytes .../addons/sourcemod/plugins/sourcecomms.smx | Bin 39460 -> 39433 bytes .../addons/sourcemod/scripting/sourcebans.sp | 2 +- .../addons/sourcemod/scripting/sourcecomms.sp | 2 +- web_upload/images/type_c.png | Bin 0 -> 677 bytes web_upload/images/type_v.png | Bin 0 -> 635 bytes web_upload/includes/IpToCountry.csv | 520 +++++++++---- web_upload/init.php | 6 +- web_upload/install/includes/data.sql | 4 +- web_upload/install/includes/struc.sql | 4 +- web_upload/install/init.php | 2 +- web_upload/pages/admin.blockit.php | 149 ++++ web_upload/pages/admin.comms.php | 93 +++ web_upload/pages/admin.comms.search.php | 55 ++ web_upload/pages/admin.edit.comms.php | 169 ++++ web_upload/pages/page.commslist.php | 727 ++++++++++++++++++ web_upload/themes/sb_default/theme.conf.php | 2 +- .../themes/sourcebans_dark/theme.conf.php | 2 +- web_upload/updater/data/475.php | 46 +- web_upload/updater/store.php | 5 +- 22 files changed, 1623 insertions(+), 184 deletions(-) create mode 100644 web_upload/images/type_c.png create mode 100644 web_upload/images/type_v.png create mode 100644 web_upload/pages/admin.blockit.php create mode 100644 web_upload/pages/admin.comms.php create mode 100644 web_upload/pages/admin.comms.search.php create mode 100644 web_upload/pages/admin.edit.comms.php create mode 100644 web_upload/pages/page.commslist.php diff --git a/CHANGELOG.md b/CHANGELOG.md index e45c4e1eb..b77a220bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -SourceBans Change Log +SourceBans (FORK) Change Log ============ ``` @@ -10,6 +10,19 @@ Legend: ? = Other stuff ``` +(26/12/14): Version 1.5.0F +----------------------- +01. * Integrated SourceComms +02. * Added TF2 Modern Theme as Default (Made by IceMan) +03. * Integrated SourceBans Checker +04. * Re-made SourceBans FAQ +05. * Added MvM and HL2 Map Pics +06. * Added Synergy to the Game List +07. + Re-arranged/Renamed Tabs +08. + Added More Robust LFI Patch +09. ! Fixed Plugin Pointing to wrong FAQ link +10. ? Optimized and updated IpToCountry.csv + (02/12/14): Version 1.4.13F ----------------------- 01. ! Fixed LFI EXPLOIT //Thanks jsifuentes @@ -18,8 +31,8 @@ Legend: (15/11/14): Version 1.4.12F ----------------------- 01. * Added Steam3 Support for Player Menu -02. ! Fixed Steam Family Sharing Ban Evasion. -03. * Added IP Ban checking from SourceSlueth +02. * Added IP Ban checking from SourceSlueth +03. ! Fixed Steam Family Sharing Ban Evasion. 04. ? Added SteamWorks Extension 05. ? Optimized and updated IpToCountry.csv diff --git a/game_upload/addons/sourcemod/plugins/sbchecker.smx b/game_upload/addons/sourcemod/plugins/sbchecker.smx index 0007b5b38093acd07fb869ea45c2e81aefc001f4..5b81bfc4eb3c4f2938606f6859d4dc6363154e83 100644 GIT binary patch delta 8604 zcmV;NA!FX>M&w2aMn+Im0s#SJu?Ru|e}v!|CprDb3X-fyisLj&q?K+Z9lpE0+}=r6 zYKox_PErQ~1PBlU1p^6~V!+T)L@~h>0|pE=;Fbgo3yu{p`HcFVnP8ETH`!{>|4kZI4F(>LJ|6p%%g*gae!xQ1AsGfBb$Q z{KG!@BR=>kAN&a){AnNjGd}opKKKhh`07A;e2ovj&IiBE2jAg?@AtvyeDM2x@CSYH z5BuN``QVTE;HP}>Cw%ayeelot;GgrsYZX57^1;{m;Ol(w+kEidKKOng{Fo2E;Dg`q zgMZKm|A-I%un&I92Y=cJf7S>8e=8sSc^`ZzSROy$2VdiZU+070;)8GT!FT)M`+e|Z zKKOzUexDEipb!2LAN&(O_!B<(vt{rHIFA2rgV0c7?}I1@2(QKQL59m5(Nm~HA^ekx~1iE`?NqZRRe-6!(_5{!! zy9n*;07g0fJ6MOe1N<+5H2|Lnc&-w75AZm^7XUsC@I`=WfVgfaDoK_LE6dBX4(kRw z8OORxp)>y!9asqAWhkGhi#r0eI1U{`4}=AblleJPf36qnd;;<>XT8R{&T${+aM>91pqu%Gc?Y>%HS+-Fvk7fi znDVPM;;j4NQ-E6lNYqn2)#lj89{p99ua%8p*fd4EE(3e+Uo73Adj0P3$?i z&rz0zS_a2;K2*LB0nWpE&v3oBDRP!|#F;h)p^5v^Q03;|%KTR8IuyFwc;^G+$+qXzMhUy-*cQk6CwUTz~!(l)Qy7?f9fO7r9ut$KYEe1x|(@` z{dsndEBB`&)7PGgGV`TwuCk|!`j=7Xbm`hsYQLr3KEQnpmdHcSgFuPRmv&h4;6#M< zXiAX*##3yUQU0grdi#fMw3PI-bpGkw?jzhT)_H(+Hl*lXdLHRB(v`CvYW_^N1L>sx z7Up^NcWRzHf8VE=cP-KK`-akSCQI$jg_-Tm-sipJEwwk8uZ~CBo42vODGkyN;d+l1 z37$Uh+M%j4GN@Jf-(S+7OUmd9;xFa7it^d@ysHb<%-@sqUH+b(?{DwcbNK_j=2R$S zmwl1>isTKb9t82@0?jN>w^io&GvW;|^ zHbS##e?zU~!CBOSxT9t0f@SE=&4R9UoO2c1c6f!WW6wc(lu@FJXih@9$U0q0)4?>y zW}w-{G)HHkNixl2WoVw^eF5elg!lyBHI&SWD%M}5xtD1|W#*L}`wE^{@*MQUB3Ewz zll{jUw&6M6Z{EXvJHUNa`x3ZFUmjdCb6={;f2`kXeJfe#H*&&`)C{XE9>`u zK5xZ&E?-#ep3@HUx`Q_La_&<-+XiV9RJ!Oa>0&-~Xe;hr;+47VBldeAK%}W-nk?gj z4COd*@3W6-q~1!JNp81G>4RR<2YrdVcdb+8da?a$a2EU5Qr@HesafjYQ|wiA>nQ8i ze`@8P;_y;$UsPQ=$~JvJm(#hN47KzlO^kRBZ7dGN(c_%&BtxUBPpzd-?P^uymGlW!Wt0md`M!o?1SAPVHlT z+{<%n-*R_O?PZ$1$~aI@PA_-$G~4Bh`#i#xVXOD!)rmg`pU`k z9o%;;gSvzIj`l&?a;)c}s_E-&Oj&1f9J}P*!$Nlt;CCiZDEqHa$sNlv9z%ll_%ek@ z>V9=wjk~`{aGwrW(Ks(x_N&P!e~R4C z)RfmNtnVBoZooOb(%rZ0<@(kr`hi|*a9#&-qhpf3sT%dr>S^QC%rmH4Q# zR$!SrzI*k%Hk5BE@B=$$7jBma9?J+BP(Z9%HgEWtMyBn zZ(tiy?rsfv-J;KYH#1doe%rw1vFsY%d+wC;TIe~u3`>8Z38 z;tq=IuIIj?Y;dxxXS4fR{?9UhR+pTI5g%91Te7^&lWWEnXscMVj{Eg{8_?F>O|sck ze@#8|WYgx2o3Gipxna}Q5P$jB&6~D1T&?jMAZ^3KGM@sPt-OhFm?83RyOMvSS!gqj zLNRal7690Y>oM;trt&7^e>JT!nQXQ)86%tQNZAE5Yvz$AV~v~B&|1^Tt@%{JY_hDh z6Q3-YGTuC9p*#cq11IZP-w-DTx7Mp`SW!xrft(@2Wp$T$v%<6<}*r{Pdse+-4=VkjJ^p)kE1 z2B)22aGHj}?QnlF?sVTxbN7{UHq`^th32uxc858FOza*)n)a+4r#?}f#z}Fvf0S;v z(pH}1)HjMl`voiS(ouSI3#Os{9y14eWG35EW*X`!X0feavp`*-I7?W>sS6b6E{Hfa zPjQy8h;#Ew9GiwTe`u}K2E?5A?`HNMN{&k z)3j}4)O2_wDOEhw=_bX$+j~3j(AO5UE=$iCh2b&ipFW&UnK&Am*JtEM&4QjO+68^c z)Qxm%+*He!sRW{ z#+os`vzX0J*6F=Q-WVD;&HTEZt*t#j-v2%@;9XWBHIg!I-AHCqP>D67=kh5luMc6B zBY7*MQxhUxf6Q4~J(o5n&AdKrWwRh>FwVVA8#dLytiGWQzp)ewxvd*FPE1VHLkGsJ zv|*1Kb^%yn*AH76?E)D0ZD5e+L)Zu5U>NOgCSzsmb7OhK##w0(4bxBt#?8E)vT*OH zwjp?t8AyXgwTG}@rD=WJ6-C?3r;>ZKAhqlD4LVw1e;A{V=vsS*Axgg5Lj!perbANL zdW`6{%Lf?yNNQ9EvyPSMdDF0gF&Q&k)U8|rdMxU(m0H`3RN73UzA)b~stB*8sZL)D zbiJ(|t<8OU^Nw4(`qmAllI!)ho*kW#H6R+kb$e@1tG;esVKQgx*Xa#qTWWr~9zR_FlbfN1xtxOGgLp z2ST^IgSsQ2-)iKuAp5O)H!02KYr8JjK_T?De@PI6Ii9kLw%*%>TwDvvhpdEEI9adR z<>dTF%C$A0xAI%{7NcMcfu@O>4Wdg<);oD%eA7wJ0HbG)oBG-=s2J96BcrF1^U3gg9VvT6igGCB38Oi z6qrb*(?Tq^X#z*>V!B`pS(NBohh^>7M?eRJ)M#!BVl?4UrER6nda~6@-&&e<6XmZ@ zjKM6GqQ~x$Dq(&0);P}3k}*kwBJ`fff9gwUP(w><68jG58YrTv!#{{;!8SBaLcD_* zFaEVcrIMxx{tHFIbHe}bKW*DB+1*)dB6~fYDb#q^#zyK$Nqp^X8`fqvtQBigw+Y*- zEG|@DJj`Z&dO$n{Ij_|Tig>cD_C_~DiPjH~;AX3>v9Ga1zv`;1^wypp&_9d~e*-^J zKSol(G^nTzCV5)V8F`rJLbiAwN-)!ZwKC6{NGvtApgf zbYGC}$sPiD7}mi@0e%mCIMEFRfA9C;z;qde%@A&Y@Ja}~Aea#Df^av4`ysp)!iOLn zh42LkUxV;N2)~AK0YV%O|H~n)fv^ce0zyXx`NpOpOrUQlgttO?H-yI_d>q2(A$$YE z(-3|E;ROgW=;NgjRzcVZ;d%%i5C($8#}5SQocEz1-8mc%inHM0k)Sx&e6z8$T zv7qpaNqjjdzAq$B1qII%-wTSnw#3sxab`^XA}G#=iGL4@vt9x(kU%7f%8c?YoDK!{FAiI9Ct0hQ+-{VrN*~XCwy0 z;ygc?3X6M!!98JdE*`uG;6{KCg@tYn{&iT~?|R5@0*P zuLHaZ@ZSgcN=W~@e^U5wB%TA<3Gn$!ao?N>g7WMDI4>gRRAME-n*pwi2>-^!CV;&F zZ-|Kd!UXzs-U6@};7$-(e?<6l>B)$g-+DSC?ih6RxBWAKdjZ}Ka6iC)fDZt?1K?Y+ z-E6biqc_5eYvogS!!8|Aw7mnHF81Sqk!FW;1Qo6dxIS>ye_b$|Gnn0J^l2VK}1Exrq;q9njal zJd7%B(5ARqe{7kcGdqnuR503zdm0=~@68*BHFJFku?cG`%p5Y6v zdtBr#u;FUw;x`w~{G^+;V?@bpGvO4~V@l(`h%wMSD!!EC@PezC$JxOx2vWY;!v>e-94P*e|>ZuqNpIkLh+>oR+(a zP?Uz=m&%y#5V#sQ4JxSF1=u>}CN&sepT!hAsWiwaC9q~54puVNOuHhj-DW;#Z^ZFJ zmUQDV%GoJBhL<(PR2l|W7}MHd|J1q%7j~_;vw47+){U!hULbn$vcpJ% z3W=o1f59>$1>+anaPBpZB$ESm+|$g5Xxvr~^!D|%cil+wov;tz(WB@xMCF+=GnvYc zSlWO#gf|&Rc2a9AW=Z$CfksNTCr!Fm>Q19>Ykb)w=N(@7QKB8|Yu!^Yv!Vf(9E`!p z;N};y%wZ9s+0$$Yk>6D`?Lr&S2*eO71&&w{e~Jjmw9`srMTIeeMgDhKquXIGt6^?l z6Z51kZH#I=V0drq1TSp>S)=L`cAd$PSnQV2@n#KjBIUMpYNkx!!7AttK9 ze+Y_TQ;QSb>_!_~`Wo|jV-huiy8tnv53Z_^8FZ3h_(Vc6YnXH_A0`yzh{+yfq9c_B z5s4eM2@U6aI}MY}QWNgwZA}=HW{^P2Buhsonu$cN>}7r&Ef{1lfP9!0*-@7@!7GR9^S|F*{ z7$tShYdhf}CgUwBBW;b6@@7H99pl~!BTJDj2OTY-3U+tEfO#h1b$1?x&iCJ>%$_^) zu3~1$%!>?I8gfoVm^2y)9~yzbSx^))e2TX1(bk|&B(7%oa)z53ZesXSnQq|7f3*y^ z;0wx)B@X|g5d2xBz5o!P&H2?DeVT&Js(6y~3OrjPeUn39g+%TAZQ~~Xq9ADQ^wg=1 z&^L^LmiFQcGO|xr{(zSNKTcO*?1TIjw=TZ79oGY=U?rCAUPbpC8(&`qu#bY zAp7t!FaFa(a$cDVDjIcC*8FW*>WsJ44}+`#KM#^`(m9nyFUsN}I@9@&}%CdKO@k#y~ygQ`K`pJ-I4(_89 zwf0)IGY@~t3g7M}el$d`B<~5aG%@FILUhOTDHZu-h#W<}5>h6@Q?lBhc>DRw5bN7- zL-d*a_iAUV!d&W-u%|Q2=!~x|53^WtR;-c4>%*QV8YF(Jx037Wfm#xRp!>2= znjn7{-~jzB0xo|aN67&E1g~SC#Ghoqt2g|~27sSJT?F`PYzyGuqWud{-Dd!P2FC#K z@7UmfmY;Ls&ns-HpesXs%KrEKME&z9qY84*$Yg`~ZK9;|KT?9DkU8PU0-UpQ0O0n0_7uH!ef`3>UXz_$>ETxYU1D zk{cR6x5VpUe8xMD{Q-D4t{I?1e}UuTr@$v8q%Wr;q%Zh{3-#rEg!Cj7B|TXhCH=tX zxu_T2QPKx|hJ*4y9VNNp6Idai7|EwDM$1w|j24&eF}iIEvU8zbvm9Vf## zpRcGJ;-usF90F(i_BhS-{y0sq!8m_iHy7gM-i1#*U&_x7&<*E_xVZAuPR8k~8=q=! z<0k>vvD-ho=M7fT96DGfuJ*K3RpLrdtE(1Qcv?d>xy$UTrfu<5wYahqPXRlTuXD&X zbjuvN_I_**x$YgFBd*}I6LV;8;&Zv%QI2!O6`NKA8=yP+Nt}V@=aO6p=hA;utM>xL zPx4a$NBQX)%K0q7-Du?Ik-QH9wD@Tk%Ka2T{M>M19&O2Y%_lub0>mc;2LYmw$>I5= z7v}-~Im&qfUG;YZd=1hspr`rxl;|FQDug!W6u`g2{w$y;h0iS@ceNVWF})ENMt~1u zJpkW?^9JCXaozxY2=xr$Tls&f%-d1VE~S&fHh}Nsr!ntF{Q~$Nd3!grqU3zK>*`M)u;=GO`ormyw;&my?}9_v@eGya)Jm zc8C5ojuSR-zhO7ye?>dBf{sMT0iMVD0RB!RzwzhMp48Au30-kN2*7)5 z=-l)Kz&OBjHFSR31CxJwKEUGu7Xds0a0$St04_s1fGYyz2D%E5JuvB41H5__eg5eO zctwC*H){bN1h@{{0k|IEuK;eqdH`<3(+2GBHUX?zO`nds0bT>J58xJDs{n4reypaS zzc~%?IxMHtXC`z#Y{pMbI<0a20B-`A2G|KO2XF_#_X4~b#{~|s7vNc)j&r#CyA9y{ z%ad>%7k||e`ndt%NQ72*#J(azj}rpgIR)Dop`Q!@?NzWhMaXFq`o!2Epl^-H9SAyO zhQu>qnKvx*<~vU7CzRT(2%TBH*gX-V4>{NnpkEV_+ZGy^TH^H)$pid&h#wje`+&m( z75nB0^`t^zjxhEe+>?-l#Wo*x+N1}_YKcQ!yMGt^c!VCahs3ijy_$INv50h%#7F2M zty{_aL`2?O(3r6%{A7ylKT$GfnTIWXEGYQ`3;v&sZGoZyiqT6?rG-xp^0y zybni2-Z3Tb_Yt|teMD&3nUj`|>C~$OviGiwKKjxjriA z-a(P~tA%b}yU2_1V;a|$UCIu?Q-&ncl(sQAt&#o$m>_~b~|}zMBa8- zXOD8;gd-)=TAlN7WUq@#tv$cM#oiZ{T8mPcV(eR@Qfnm^wf5ntS8LT0kAFs`)~eX| zN9h>{a0M{w8tUcaqMim#wt>|60|nT|M?Gz5P9D~F)X^Fh`&mckQ-C?LlCV#*%z>|f zePSiGd^{@e0;)yJSO@;h2)2B}Y5AD2E&Er|QvxjaO_A5lj|k}7`B~2UPE#f ztI2g9^UgYR06G5>Z5QNq=pfX?pG9Ra@ZkbFUSKbN>GXnZHsZ&)1n$7een~8rcs`OJ zA|Wo1d0SR%yD}!Rh|w8)RgBgYcV)pU>SOe& zq6j1=v@6gg#7{ z^&ZF>g@T#SYQphRBadlY%NTnGWPC(?ni?2M8>2Q842b4`3)umnBPT{or0juAdb&Hp z2!46?_#}wZNpr*~rVI29F=^Vv`IH!(Mh%S_b|-WQJB3kW5BAC9%`l8XekB#%r;=)2 zqxglEYxHZT`#DV#{q*-Blt;BBS%feCj;b}EoP?oyqvEF z_Zod)B@4!lbSmlbAQ65XOevVllry?^)*mT?3&CI)nbQ> z0V|uH^tiy3H0^rCprdt}!DWC*ahAy;DNLFH(AsfxVC3TNGj?WJ0~5A;Tr*33X)sHe zwlsQwIt*Lsa^5xM6w4h0fCf{#+yK~we>TIEx6NMkcR?esHE-?5`EB<*FG>1atcfhT zq}lx>?TnS&Al~C`m`G)l)`Z<}B$FT>H@ly0V0N@Wl^sqOlV(49?$kr#PuPHvBCQwp zpR}nlGo6!dI1gFs?VLvM031c3HA^l{ym$?Ni&@SI^pEzeYAN>c(X!T%Rgf#5WBc-> zj@Am(OcEA$1O^6DhUJ0gtT2;II%H(2RZg?zo>o|xD{4{LQEz436#@nsZ>KjY4UHQH zCx&yteKsI@V`h`WVgmuMazny3erQtT#}*=6>BX=*jf>E4(amX{&)B1KYI=v6QnSc^ z*@#>v#YE!S0oBn2wQ_}lyNXr;W}FZRPPB2{B}nXUb5ceH9ua~HLmT>25ue&Yj44>3 z?l!44p5kCBVZ&pjU60M#c)$Ihx}gdih-G0B%)#6+rB#Gl#D2(D{7?UAr&ZoW5*JBa i9^XGdmsZy+aCE@K@zH^nCj8@l8NjXwgZ~X%GiJ1$3Ia<2 delta 8608 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 literal 36424 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

>}%4CV*Poar!k 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 GL?Qm>#NsLd diff --git a/game_upload/addons/sourcemod/plugins/sourcecomms.smx b/game_upload/addons/sourcemod/plugins/sourcecomms.smx index d9a5dbeb59ddb59f420f0d69447f1d03d89c8290..a9464bda2bf9735a27d2b34c4f93f004b6fb0a50 100644 GIT binary patch delta 38288 zcmYJa2UJtf6E^&_ASx;%0-_WJY0{M5QHn@MLXj>iO-d+ILI_txQMw3-l+b(codl&5 zLg*br4>cj71PFnT|NEZr`_7p=JLlZ9cka&anP>Jsd$X%AhE`v^`SPU!=;DP7*OLDG zuk>Qf&8&+a{4tdgK=42=Pql!~w1LVsiRX@>Y}boHAyUt^LR5r>S$_q!>xntps|3H4 z9vgY5+f;9uFq<33Bxr8wp&ps!eXfvpOp^G_@USG~;(9yN>erw{AZ=HSJR?t@YhcXx zRz8C&$wKfc2{;9u?EfwTU+!^ru}hi{L+}fbnEC;bX%HpSOO4Tov_wU>d#2Z zx%`NvI6WX&N#Wm1;ms1q@HA5R4k>(&6h2-GFDZrJm%>}P%$&=T6uw0YPnE)7lEMf7 zA9s1eGii6RA2>b>OZQL|%fA^hj|8gu-OajUG?i>yXWpJDxRba5Rcq!73Lm=JHm4=# zAV$vms~7;>u<^~Xb{Ik%lC8xx4Eb|wbS*cI|GFA zqdT`Da?=AyU^qC`Q|# z%H)Xd!UWdkM}aJHCGIVH_`L)5&07F}qhgJ)6?{GXo5P#WKm9aa4|OePUA zrSzd*Ah(f=s0AR0PQ}#!h%LDFm$@(!9wV0BrF%85-Qn*aT8A0#NP^-_jY~OduP;2Y z0zzEX>d_)?2M;Z0>?SUJo!%7Ndiamsht=ouLR8ZY=&gnR?5mV|e%j;HOTBjY6wbKk z|C>+yPu|l{cI-dIl{c6DF6_8SfgLoeAT1NguEP3>rwTphO5}-pLX`)nM8kAWg5;!J zU`8agAQGAr357>em>-bqBPsYEJW1Sz5je|^q?obz6$JhiQVt?wVl(M`4NhK(q}33! z8kaB?2Nr54)jQmcAHOvv&Y}M)ntIeNsaIW1c37>5Y|15BeC;tk9{yF3VhU1!BcPm< zmK{p6l#3r$5A+6kA89V&!rbG|-rM;nLDiFnzbgN20ttHMQae3Z=1BB0h!slz54K^8yCQ<>-A-6yuG3@b0Z^Pfgj zZ0t7pw7*eC!>l#D?ZH8*Smv(QeQ2n~s3|r3&XW zH48S0e7WbjKa{03tE1NyPJ**{g(|@bVzUcp)wfigMnx87D3|*U7wpFvIPT(2{C@Nc zhkvs2U~!S$()qj8ESS>vioLI_`@gWP+TAaLdp_1)-@F+iDdvdCMc5R zbpTOp?6XSx6)4Eo2CnRSh*al_V|Uclu|TgTvC;s%YpU-`7&V z;d?=yiMGFJjKhR}de}i`uR;O71}nQhisVPC)RC3*FYRS;{+a3e{@KWACn?Y{0`?ex zXl$OzIhD|*G1hbex_j7MxSU{alY8~_=E)OQviEg7<8?guMe>E#3oP{%%!YRvtu5zm z*okL=GViJ*Pc+L9IgNlc?ww}Pi2n7mv75+zhr+ESo=zLOxC)k>A~>*wy+gl}6&T}2 zE1*yF?~F;wBuSW*-fJAMeBp1}9o=YY(`D71b^jNPgM+5&_G6p5F%XwoB2v&c%ykZ-I$|#a|fLTq}f$%e|Y>seF)f5$S z%|;&@T)ymk%{Trui3@?`v|9CLYJ zPjf=sc$ywT-{$sXgU285`l2NLIZimMaNwQ$ zaAX^Zj~Da<>2Mhkx7;D8(@hzj_U^3jRouyoTQ?iusQ#_93pmk~pE@D38$JsS`=MMF z(@E2h{HDB0nwk@rx=$+!=I;TBPKK2v^c zJ=aibw13e}f^2c!GVx*|$z|EUMK?CBL0LfwwI+=L{$h%eF~}!^`h7!oE5uFE=DdUT zl3aZ|ce8BHub8iT zLU;lmS(#1$=^M-oVfmAVYI;Ejk^Yo52u=-7Gn7tppBnn9Zc!+# zdrSIPrts^d0%Q|dt4z4(8B;7d=U4`ay|XF3ZJa2&b0vP~<58;cC@SI4TMkOWQnZ?! z>ERuUdhyuRFBdVp?*d%iGHbICgrCE znh#Ch`7kwK@G8im`>R9cHT_bjRBgDph|$=~0uGMUGD;6scu$v<>!;K;dei?Z0E8aS zMq@YT9%VMMx=EToj;`QyIyfYw$ESpyQHgS{nujgz`^xWavFnsh@pf2zY?Q%sA2o=bRT^c zB#q`^GX>LKo$p>cazu^zc@%dno4nUY4A&)=u@I@Ijo~&ub#h8{B>1`(6`49LhqsVn6cx&X%468XPFL>MMaT~hp^ZHS7_5=Jzd)-@RGOfniRg& zc*D-(@y4G>MeHwiY}G#2t248eQ4 zsa`^*Oy52#a&MI_7RG3 zh*|_}XYJ-~|FX-`hvVxdI2vOzs?QvDZjni#5Yy?-0e1gs84sL|N#bQu)kL;>(Bzpr zuDw_7fPGIFuZohnS?#BNtc_-03}_QuYW|cvpB1MaQ}|&LWE5WvmgK@(7_M6|6a5+T z94-R%6d=*(6 z-r@N7_kO2^2XO4|83&||?5HF3d%=s>zR7yU?^_nkrdmyo>CsWMUoCVQRz!n?0MD1N zOIeQ9p-`29wtfSv743PkGL|HA-|7#^(uMFbXrY_;gep`g=0aCH#L7G1o-Eo4+cG3; zm8WQ2_hczLtM?5l-)XKXASduj(utA(vUz(&yb9Q=V20a+2}}1*y3X|*=A&MdP9ny- zbmYvX5?H#WT^MTvkH+E<6e}rdpv{ariOM0t3`#ioP{j;op-;(PTspR z%o7-xtwY#o%)xNq>zgU%&gNgwNV_0M@sG-UyBZQ(wduR&$uPSmmIwvFm{O-G*{OsQ z0(A+0cv2Fd{i}ecRq{YgvT}+av|jfFByX}Q=6$xY_n}b7G`=A3tIkbJwB5#l zdU#77__Izt)a3iu<|j>ZutYhD3yE_1-6Jn(6U{3-Wv%MO_J44xZtWae&C3eylpEIy zyz6iJJzQ^k2r~bex?JA`ctoz1jjuWPuFTh2)+um(Xo;i$F3O9d6-SQj>v+TSObWsc zrG}*kJ>6?$#*s;NIbTNcA9lZJ|3t@kJ9LZ!N|Tn5=oXh;PwvSSUs3v9r9u0l_=0^Y zG4HTo9dwc>@e%pID>1)wG40=xP-{sG1>^;sNP z1@Hyl#~k$LdB1?b(B0dnd<2^m!Q;zXS>XHnS%l20;t9dtFYaXdy_+;&x;%1pdk{g0 zg1#=oirv`x7_k9mlp0avInL)C2R5$CZlGZ)?T! zrY*n~KCZ)<$E&bS5Jr-7VqRf<=KK?hrT9@^(<(!QC_t5@597vFERtEr6^;qwwc(27 z_3d|WgZqOQk)OS9)_DP{rWP2g-Q*s2wV|0SJP-ngkxnct#FR~k-ahM6-)>j8&`hdp zoXRsBv_;TqmCEFj#aD)LM3iRn|t z7L}n=ptnL9_oi28d_wNVVT3z$Y^&nQv{D;nQUUQX7!Bp= z{fb;J+j_s2jJ`<&p-zssZocph-aTy7;!G>;(>mmNz+=Hx~JX z4wlR2fr^umwt2Oh1(NNl3fvNjrj1xptEO={yyG`%o}qd=ad?2n55+kfQ8)+MXz@Vp zDkL;CmxEE)<3Unxwr1>zz;$d&-}g(o610}2pnn`y*OJ!__@d-Tu8ldA*7j?J&M;=I z@lx6+r=$gBQkn6U9FY%O7#Z`M9N5>4HrF9v<$V)3)?;X6QF-OvZ8liOqFp z-{!iau4SZIT)01{Q=?r6o>^k0rWxQ@rvm)w<1+&>pzhDmjmBlsZ`*=e$Wt&4VHG%+s8dsA51-mwl4Sj!D55*+q zm^io1OqJP5OMQsx3=;t>TMKoeruPHl5pjXasnWxFM-I87blUcM&77iu>da7L!Ah2u zYyrt5`&k2Z3?osCol5NAHl1D-(G}pdPzeh-sc#Bwo>l{O={U%){?2W;x|Q)kX-hh% z0mH+|zcrY+j;dHl?Ds65pI_PT(tp^p^uKV}H*R)e9?eXmjP#*NzfgJe_un5KmTA6L zT9DXus*<0Z9$i9BMgyjQNajAeVaJ?$Rj1N?yS`NdX#a$hobs0OY@0J*n;!+()P9oH$=m-9ofY<4vXJ3hF0`qz1g(4}v^RLbcq-z7BudO2kxLIPI+HdtL8 ziYzKk?hb@<$(&q|;tCfR_e6WRe1R@q;p*QF*WfT=Ow!|x!lt7yKtqN0J;LRGL<$OkZlQt>IJZbK~@J%td;#;SNXwA zw#$uelO{`zs&;C)BCR||m{DFOS0_Z@ivv``cO|~&nwKS#?)1;DODae>I@<=k8|R;_ zr+~bJ(MbR-Gsd+a3^JMXoV=?7vMEvCdrq9qo=70EZ0|e)366 z$fCW-PsE;hobvr!-*j9!?DBD+gU`hH3)l3%vwGe?iOs04OQq|9Y7ZrL;TevX;bGRq zxOog@khb@!uTy88!FBcNzKvIS-!2BiULX!pe9_4I36wnyxNi8b*`G*^#PpqU^PX~Q{XG+p&Xo=< z1ON%D$LTdj-8O-Z42z^Yz6hnHzVB7J5*k*dpnZmp1Z(=)DCZlydauT96o~%$y}i#X zT8iVSksCH8^9D{&Xj1PyNa~~56+1Se9(VQ36s@g_&0M#$%-h>g<&`c8Et0R<1Fe#{$X&d5!$>&%ltzCCRH>oeg^Erf>r zfL(KP&xzD`fABys7wniL-90=41_`PM<@>}CZ{BVYeUJS0d%26WxZE@{A~Bh4)q(gr zS7|s*P*$AInW44Z5})~gzU@6i%X`n}n>LJ>KJf6jdr+T`?J66CrA_I5z2%(-*aPIi zvRtGv_tF73{0c)}|J|;W)ZW3@o0X=7Yq7qw+sf@n?rwS3EGzQNLsnzoD&U=s291IZ zLjC4(-;PA+NH#gFgqB#!lkBsP!bj-OMhhb_rVXm~dzJ|Dt5lN{z3a%&Vx_+WDPL{k zf3uZM-z5|;jtiZPJgZN!kc0dMUY*VI9tm~LPz=Aul4B!tuJR3U>oJrXe0BD@O7{Ji z=Ki`-je8}}W*BQ_L_kCbr0v?b=8ea4#Ril=08&g2I=V^CY~D_5Uz!>v*2HEQ>}JHZ zCq-A0A1|G<`P1kA;}&AersQ-fjT}1>#oNZ@;tfzv%p_}Aa_+|H4=d~KUcczXLI&( z5FW7pZwO?Z2i2_e7wR)^M^6t-e9>RdBRP3RdrGxv*eItrg93)oA7iX(TqeDhF3lw~ z!3Np#Xl*UtKG5|5J~CO=?`$`6@UNsptbfjiUT3>h4pm2tze&;0qwxCL%#%Ij;)A!w zp>u8{ocL$kvb;dNehYZ~s2a!Kqre&1q=@;hTOTD@{~OuXeW`XVG9dLcd+mIkzsai* z(LXE0oeT%fG-WHS#5v#krG3x&C*N-Nd15woh{+|_kZt?`)cBNB(XH9EV%hP%|zV2EeCMzp)Y&I(V?7vd2>D=5}8^+<5rvYteCe+gg-guAyf=u*?Yqz$fEW_ z+q94JI2GtA$@_AKue%0p;1r_Uqvh3Q+D-vbQYb}q&dJ}jL?20ChZ(W|fc(8*4@15T z{MdNfz3b&)sBfD z)N(%F*Jen%NqX7ivShC2oAq;c+Ciq^hDaiTe9cVV1F8n-fE%_o%zkp| zNYtg&S$iD_K;jox!;UUD5wnyvQfT~rJz-l=Ur!qd0)r@ftXzYL-e2EuAzp*yr~sEu zd=RW0&~ z_}AIMMV|>fCAv$kH{^fYD`{UU*cF%-gfUVzjt>bze10%~iT##Dl>=cWMy|rGEUZsu z^obFNonpc6+L~L|+)q6V-jtZn!2VQqV=kZ;^WKws*iG}k33YeDT>YN7D@|_2(v@Vd zo8Q^yZspIq!oWplsj};q7GJS z21|*4cz$5;c@2d&T7ngMGz>Sz7OY0y@RAhiA_m`DC_YU1XgReTw_hIz%rFwLigqK; zwawBH%PEF(j)dO2UW}66+1To2UW6-k1{9_cP!>ogKgzD4_t9^4Xw5-HzgW;~JCoUZ z2C6qlAEu@^3#zm@r1pj!mon;azMp>a4BLLdNPE~6_GHf6oCLkN1s@VbBOr%`tnJdMq{3>e&e#~`c0*h z+fsxp(7>C@+fgm#*R_~>6{2` zO4D>h5+9_DOO7<@_IZ9nYDN`$4UhhT>^s8QE5k>d)q>G7i-tIEIcr3~ zEG)xfyCNDUiR#1DH;N8VIJ z@L~Gh@w(@jT9{y-{#*(R?g{h}2&;9E|H${DaX8va}WCD^$g! z#7$xXxgbYn>}HiMH%@0I@eiOKc?()*Tg$?p^UVm6!}gWZF&`J&WYkro`CG z4;2APmYH==3pI`^tL0~)`FJt6Jy~L{8BLds;8=XO75i{1M2~aW{^lBV$iIW?RHKz< zEV?>DR!CDwbNuZE$>cD!j-p?yd{^}c$9V^;boFeQtL)OE;`5_G9|MSTlg)@Y1Y9^O zztq8_gr+Zw-y!b(bSe!gNl;8vU|CnA-~pVC^3c6}%*cR4~F+<7p)YadHDr@()(Zyss9eejqiw51EG zT#VhWF>8nOp72CpJyR{W_*QEAc<+$baKNaZzh>^;3NI$8(5c02u%k;2X(!^98{P7= zIH3qO@zaUp;KfRc27&JQk47)hB&mh1CeXmUG_>|0x(zQuIStVF;u>)B*(=XUZ5Z$- zI|I>Vb;1A>l_p9P?W-@PGBW!m>H3|ckF0AD?&mfATsj2@;hhx8g&r|9QjYlS5iR{= z%;fQ9B_I0*9%xdvY>xz7;Vqj@k2vRkrd}cRq1U%2ISxgS)-^s#9dI#wG-ogCZ}jxA zvEz&J9gWCOiUMOSu*~gF!M#tCC0TN+_3=MWfv6w5<*o8I{h@%7=%wrW9+Up-8aEG3 zCKj9}7UYv6!0Lr3SA<9pfI+|2kkwBk&Dh8PuBaa#v&f3_rv&KB7a#V>enE@g$6e(T z-KY#-%+0Ln`!e<`ng>Xu3P`{Oa>RZSOnRGw?37jHh!f#**lt3mCoZ6FqR#l_+510c zA{&M|G%epPho-Xzrn7e9w;d>d`s+AY0_e=+i7$LV?U~%`y1b!S8!D!hPpLv!3=`^k zkZMPq67gp*6ggW&NP{jh(F_SkYhFRfwu{L7bJxz?zUepVt^hn93j8NOqPRtQkYoh( zmU8q>Jx@Z3MIfI7`1lqS=)zRhC|?L{ZCpFEvyr z98b}c7XG)OAC%Q@Bt?^3`5MtAALkio&PMpQC?4{&)h08$MeIXIc=7%9Y(k*} zNSoe_OuefYl~#Z!D1K0&OUQ^*4;sk3st4*v$A^J^qM3RZpZvwTYMp`e@|HtA*A72; zo|2Rb5{`modwl;Ed7W%n|EAT&?SJ5~qqv=9KZ{lZ?3!aAZJ18j&y9s)Yd2}b0%5QF zkHQt{xx1rh>YAr9M`n2gmVBL@4$1|aGf4vt4*U>f%rg9fURTZKw6+Q2mq63<>)ZYE ziR626u&^dwrusf#l7eV|h-RZEr#$e8DjzZ`+rbcCCABL-g$v0>%aW3wu{ANS|KL!1 z+c*w{wtNdz!=V}M;7EdgK!1Zs@OW@ga=^wsjWnNjlAmbBaYSNlp6qyueGGCvbGG;NC;pA>PW15{goF~G zr4GSeQ$U%uD&-1oeyJLBIP0}cm%gQYh2!jLnt{sMPa{1&wW3>q|5B6fejJysE&!N% zZImW+Ph~9rqrBm4TNs5y7YOg!5LW0(n`f{?a+5sS4*uk8kmibA!l_ZKq+f1@GjX<~ zV#c_KyE>aepR7ZAafi;GiZ+EDt^LJp&*r>x`!D@Ud$QEeIcR5jT_5p%n4C06-`jA8 z7>{sftJFa$=Os7|TBiM`k;fb4ju2A)bP2x3iZv@$ov<+p+Bh;#i_I2e0KXKPn?@-u z0NeRvUOc{RIb*5}*HG_OFp!M}9h*37V8ZsUtN&?N{Oxr#d3l|e9MekyEDvBxN0!mO z4uXvn$%xhmL9VIEeK<{#qrQGNi=6|x-G-sR(jj%8uBfOwis8<|$$Yz?{PkwOx8Kih zG?$!x@oM1(j1iZS>8ONLQACCJsc4B(L|#6%kR< z;c}Od;zL|r6`qJv_wHBGpJKiII#hGLSXKSyWktu@H1!`(9q?DLB<|_Rjb|TFh!NTk zGz#B${RWOvtn$na_vCM})y#ECh`G&lWk)^mJsXs9a}nC-nE_(w8seRzcdK#y(9z<~ zt6zg#vfgZHw|m_;l>!pS6~oSJMNQk$##xeGi<{|bRq5HC(odb=O`MAS3?u2`|9)qu zYj$+(H2}4oURrZLGCN~86%(L0o(>XItrE}ctOE{RujYgv+eEp*?&>-EkCInpfRVr( z&jUktksABQZvZ0G=CfAo@6TH8dGwk`9DckP;jX%oTazztqszg$MGaF@%4b;$_O}bT zeN;$2OrLufU_ed^G%3eRhBvvMcF190#DG~f(7vO{$7FaDaxowkVUp3NfY@XmrIb&N z|H2FveYzay72~sDr|h(n_q$+EI<0{|cZbtsCjr0e1r(B~jy*+U!^dby1=dAvOIX`G zQsaX@!z=6XGG z+w7l^p4m@#0%O-$ z26-^Wnw0AKOGKk%*VMc;hX)Wd8`bWrdeHZc%p20CTNSnPT_)}{WnQ%B8&2m>3T6&w zgD1%J8C&S=xcqOdWT?h;BzO|+Q&$82r|@&SMee~OZL+gXiFpl8zQZCZM{{U} zWT+xZ2)|!HL-y!xdV9yq1`CKCl)XsX_y0Lcb^1z97l7^KYw(Pn6t6q5v$_WPj(A_w zgfVk0NZe+5NsmE4ew+zAMsS>V(bAq1SAHAAygjQKKlWLmgnG-V2a;IG$cRcXR*;r3 zREY0PVtjc&2S4if@00Xb0qf|i+AEM&qtsRCiC)@37mMUBoIsR!1+*NDGRpSk`^kqf zKyJFm>F*HlWiw_pce79-g0J%)c1flmhLI65 z_4q^RdcawMX{kCu??BA^CYPK`jOJj`|P0 zAe~9cX^d7?)G%_KivEL#v*};8?uNk_J9xS-FqN&7=`Ej#ELP0K#$O*-ctn`vTVw$E zZH&H?<2$@gRzri6lV=TXPAj@PG>X=$7_Ilb~`+ zz)Q)^xP2>^B&WW-QmWM70kyt*iKOQ!jSF4n8k{g2g+l+h80hb`hpe8sz>fhy<;#@L{^`4 z^&Cx94RovKQ9?%QSm1LjAPkT^c+YFOtDlf(_RVy^F;;nOzp+(60+%pC{(B`Rft#)b zTNT^rys|z*xL!zJ-ST)vcsz7ple@*}C~vQN_+TBbVUDxRbznm7Ft63tO>_a#iz3*u zcwBbnT~=?2j>Pxg*w1HqonA^V$|FuzxKbL$b3m@UH|{zjFVPvl11Me{zc}p|zALBS zP#I#7{?#ITolss0c};h`s609>AMxqRTe94Mboy82aCbgi{rYTuMU4-ub{S4++#zP~ zK;MDej-xWr9>%M=D&TQ2&6~1f-jC^kZQQD-i}P-zDi6 zLnOPAY4T}saTKQa^^)ZdcW=rKcq~Hq>+9h+N`Kpmz}`5e}NEsKg;70(aR?N+nAGOe}JiU5b<{b3KdXO#lQo zE0M2Y^m?IacD@b&0)L12J+OFu^ih;-=E_L^?(Bm?>p?Qz5<54k*tyA(z9dtmr~G58 z@0ki__td6dS+wAw$ApqFD*s_Z=0gpooCJR-ZMzcCWISOR1C|UpN*aNd+R3Shx#c1l z6k_T<`vEChE*JW+*+=^ha;nDWVk_b|?rNXjw($s9L>wZS3&1Dy|t^1&*Ju84xRC$GTP2!lN@-G zh*8$Nhw8`DiTEmytXSg!*hu)VN9IVBaP;Qg_vx2nHq8OgD${wr+AK z$in!nEpJ&{pi$lOY9$AVSpYocoGg*I8%FuG3`;RtchQQ`JCfb}bP#$%tH#NNV;Pl| z+b_Wf+3*met9zZ1%|Q1jUZ*{=!E@wJjnWla%RjS$!d}f`)8~-B2fiQKv*OEB6gq)t91i8r6^70!+CHGk{_#dHt97@kAr|30w}?gLQj6t53mcTZ?mlvLTO z@VjwuxQ(2iet(7ywsH1XcFM$AJBvEwM#$tw; zV}sv16u-2n^BmQ&cQB(Yyci__-MX}LJpF`t9-jmQY-PrQn(dD|k{e@QopZ{Gof#vz zVD{h+yV;khv!V5FNjT+M*}~5gr31b!XzrrO$}tg8W?k`rtFV81KQq`-zI5mSgriD+ z%cV+2E{#>kG-a3A%~S`9r}_ht+1uG#)6ps9@t?>xNaIwWF*(vb6!|9f5t}9s4-*@ZjP$-km&_seMrcMi9c0JEFMH%lWzgTa15H(3_(0)5o?Jr0#8I)yx| z#H#4?-zM?>T&RLOT(usdETHq{FW7Nb9+iIo8{XqZ2aP|B6j=gIyb3F4piQDCi3a7# zGjX63)VxaWAjj;)2=94j#8xHQs|P4Q+gMf5&lqN>RBQlkHqryEdXQjZ3G zqNv#Q8!qNaBygjLIyxl}Z>``nTLj!=6sDUe99mhk1K!NXk!j)_c!mS?vbia&;&ArX zx{iyu4~%+}O2ffA)!Utfdfh-fb`O7$S`Ec-b();3V7HLjvV6 zAlRvfNWJYbsW_SrgrsMHfXV0&WF@p@?mneavqy%$v9*BouvapK zX+3hfl)FhUT^*m4PsDDlZdZ8qLT$f_+k0pP^`eGB0h*getBUsvfg1%$@8V)>xdxHI;|bMKxX1Jx zUc(8r@mGzk=k+-5o{E@pr1aDz(6Wjwzi_qQP^k2^*&T|dB?ZiH3e)SYPNFW6VoCF# zQeSi2UE!;ng(dLQb1}=%H?^)m4j(N~hy~MtwvS#0{sIH)pvZutw4{`-rG)OfOUyFo z)HAxYztFbkdYaGL(GBLn!G9Jkh6rY1gdNefPDsSY=mi$ln;;@+^LYBZOlJ3``U6zAswA7eZwI3%%#6dN^1*)?e;U8;M2>X1Tg%9IQ5uy-}Fq zz-K>o9fSi5j~!e)4s_uq#GNoliC>3vO!O#1yl{rz(d@vT?FeW86y3po`=gf9BH;yu z+?|^R3-=e{CEN0Q*rKVW5~9^HVdH>3run=w)82?)mJO(e~cR`b2C z;30LAnn$rnGyKmRWaPhMr*WjL?nyE(7TDY)Vg<8e9PLvu5SH>({ldi*I(l%V1x)4F2$HlwD>& z?aJ`XWMk}ojJRKX;MbbUI5zgmf z#vbnDE%glh=NSFPgi9y#>UitPtEi4zL*e(=O1HUuEGV<=?_5>(n=B$(W=0umcL5E{ zg%X-9cIUQj%el@hcGta@r!#0jzdO~DdPA6hrCZrr-0ueJmF|CJMw+~wuB*HAB47P) zK8IR2ZWKN!HCvG@ImU2pTTA91P^NZYJ`?`)d6C6*GCHao>3+SolY1flkx6wD^G7#l zSMbsyBR2E-f&N&vYAhpFM-qZ+4+X4EPAlFT4Y~MO2$8U;RpSgCsr2>c&R`1LCr$sC zti8{>T#Fn+Wq(C8tLyp4OkHd&JUwpD zp0d8tzFGBb3=?#EVLE}1dg;=U$Hd=&HGfbBpfg-uRZdHnKCJ)!)Z<$&{L8E_&z{PS zMY__V>ZS6gvXCgLwk2fjUj7Zyv$Fn%jrC_cJ!wIbk^9gjhaQSR` zllYnlP5XEDuk6h4!^F$qmj_1hg}v3b6%=2;b-De!YtVMc?9C>6;Nam_`aK}!tKud3 zE1Q@_hb}E!L0e~A>9*QdpEi8REG^U^!Z^fMKdi<2f6p)uvr1w$Y8h9LdWn01J?+0DM;1akFIn&Wx z^n6;=|K!QjCQH*$1zc{raJ$f-M}oVY?=9xvF|`|sEu#HD)AxTP`9HJSHiBZ zaLwQ7_dxI~%p=8+y}LuIuK6ZV5(3)9Qh6YVKpB260 z+Lbj~X_aWfpj0VZ{|ViJs#TTfC*M*f==}%K1G}rL(SpILwg34~sH`cQ)jf}X@;$Zs zs{j1EHHdb4m+^Cbi|dM8CTnJOFQN;-rhby&YqcBLox7~)Cc9THpZtirOHdZnl<|?PP)v&z;l5h>L$2ecEZ7p;1E^o4p9)wv>Ce^alJ~+6# zB|A~crt2J}__K|$z~4VwjV_1U>bI`0IGGE(aBjVx@R;a*9H1NC#u1`OXCY@ioMcOG zOZ_68lm8@GP1RZHr7_|ZfvXKW%dY%Ihmyv%KW+fpC$jliQ+BQfDn}Y z_FH2Y6iu%Ctwu`CHPN5Tc_$_S<8VLI3a+~lKUiD)$AtZwZvxGI6?lfLeA`0*5XH1) zYNrapviiDyV-=opkn8T1o>kN$IX1-X7TtC69K8mjp2BErHRLZ5f4hHPqWe1STV4D8 zQpxr|TlIWJ<{urt>i^K;;li$-# zw-GJg2@iHH3d0u+cK=2Fj%r%;6%s+Z4!YKHS)0`A3kC~+-VWIgHYQcpJYuuCX0%PL zu_Bf~OKZf=X0Y>exU~GgIrM)iRC30&%f0ri-1~+4+>SSgyq%z9PFLD}c*YwU`yFkW zkfdqz>A&Z{GiU%3%;4?$a_%Wsz7wsK68ScG#h7DL(03u7=`r@W2dz@Q&)ybG-gz1G ztgiHcU7>8NDRTEKj8A33cX(_&+I5yWR7x?kB>n6hf-kbi43xS%e9qyRs11jGol3qm zEuZCjL2t6w06Jf>Q~SJFvUGky(=Gc<{;rycLHFSoo%vS4)SsUp-27jDfI;}Xpxn}a zy}|;m5QF$+6_4`R4SW8%Zv!*F&LHi4m`1(g2(#V}=i!14W7zlFjFF4eswFX{{X1e0 zH^L-nr?MO`m89pJU2zPn1=C+%ZI2+1R$4a%TD2WF8k?)S8}Cn*IDf2_DxPvbE4*2( z06)2JGFoD8#Cqc?XsY_@%p4n?&{Y@9I{V$R`J|en`(H+#H??tSIwR@Ja&4{|V?H~j zLIc&eX-1i!SA4e2dL^&IA}YqaZ{6 zKXbojnEZYj@!ZiiUvO?{itSB{Ep_ViQ?GZ;^%L}JZr4Xj%-L_uR0X2t@Tfy(MnuN* zw^TWm%R;{Hd#gJY{cw4?EGzbB*O9^BuoXXh85vaQ7MkKAv{Iv`Q{`H>D;~`-&-UDh zz13CyT*;JgZK`@G`}cv#Y|BT$3-%V@)@;BbWaCazMXk1LtyaFxNoi?St_yH`OAYx? zFhM>RrOth&PRiLFdiczw?bV2cs{faCcHtnVe1*r(7q|11pWMbzb7cYB+K=NNTOAgYx?Q+XNJmN z6r`D)Hm^?~RSf+<96fhD+t2%nAa;z}BW)F}J!%t5OG{CElU7x2)glP*pdYG~w)Spo z)}FD6U7OlFt-XWV>zD8EkM|{a_q?9F+&$y&c|XsSiaqVvp43;OKCa(yU7gYWE@$hv zG_CS#_c1@`ZEl^Jwq5F#h$IL>X)D`P1U8ynZg$GGjHB)V4OKY>G0s6>1JlV^65<`H z4cixR(=UY?5`Ofe9+h^Gv)}U*S^N0MjpODQNs7ZFAq@_ae8 zRC+i#RE`970@7t>rjspzv5%&+!z4m^XYi*UL#TebAWfb|!0;i)=-)wIwqt}_uei|^7pE3PtvkN&tNc^+@6jCSlFqBMdf#3Csel)~ougB>aMsBNeH*Vl zHn37?mf42p;@ImyMW64+vK8TJ(%a7j7X_kQeUG@{8l@?5wDqsO)6eb zXGlkFCt5zYj*Y%6!T7LIyM31@VyjYymoA$mtX9+=)>D!20fKxuGGZ`_?CD_P<{ z`ee(2E1`Raia#G{efAY*p7&+XdCkP=q$~bRK|n??2Cm`EEG;YyPn66^9yfb!c}KXt zmqTK(xjZIALj;&8G-G?5Hyku{gsNd$TzUL@LT%Avio^u?0OK^#SK%nM(XakEE5{aF2lj$j+Ey(cK1g{k3>v(MAtGJ{?TJ|8oF9g{8!>>D|$s{WYAiw`y+rYb!+ zy$~fnnv4`c2T9S3IEi+qhS+88)*NA5j!+{e^Wvv(tM(aLgtVCo;uK(pV#on)ce0rO zRs!;tYXqXe-j!0LwY`p{S$tt$Y_xp;NmtFiTcUe+vEtfrOnN(q?cE3Y^vcEi@4d^@ zD8tvOenw)kZ_`MXKkL^UNQ+)J*997C6{K2mOQH+vfbUy1q5;J>zcbxFmoUk*e^KtQ zd!TljD=opz>m4yKE0jT&8VI$xgDo!5pio)6v+*wh8W|62@7`%YnDoH-i9(fvJQ z+fQ<3=?r*zDOAdRrr7z1?Wv@F{;6NWsYD^ADpMw{kmvKPseuf~3YkD3f$=v*m#48m z3}=QGRm~?Y8kw|Y?AOb?7|yA&vI^?MobTjiXqKdN4~*I4ZP} zO;6r`e);)FM_eB&t@G;>PrIULCa(i!?%Zchej8^2L>9j3vwh9qXN%sfGJhYwPA8nY z@1L2-GMNV}^JTMdQoYb6rEg|3%M$HB4t#QV-`y}HFK4RO{gaOHK(e>!v*bx~^)j^& z<;$FOj%44YJ1Zq961maN9IJYYz7^qI3^#9tKZM&!{`ZrzlSfcO|0~y-f#bLC#FtqB z9S1+-Do|<0Rh;qDaRfBjkKeqrIOseriMujr0@exA$yj#6)>yIzLs!YzeVT--gKt>Y zQm3e#ZE_`yCmLRKJ^RCP&`=Ji_w}4nhm)kxEX%PA%o`!SeFNX*spC&ZAf1(tWVoR4 zA;X^rXi!wm%}}|k%A8Lm<2%1AO~DoOnU1wdkB=eAGMt1p?PM&4#}>f* z`WzExJ5&h;4+cIS;UQDnd!XYl@a?)S`A9YiU3mT+*J7n}&WLx59f5(I_s)%RKZM`+ zf|V(b(R8+(S8_;Yyu;fQb3!IYJw|$a24jD6X@|RspW;H$`G2~o2$;TsPX(jxOMP04 zgBxK-;7OB7(Mf^l3$SyNtz2X@&>9Fm5-2UfT`_n|de~C>Gi@ zzEqrKeSS@ObY9ww2_QSV?LxQK$br3aBr{q6T(%WKGeb24spmYBf75wsSZe$Jl6)%~ z3DBMkx~$w7<()Jym2DFZo1>_Qc(W3(EB?=~S&lMGGlDKZ%JE)PPntdl1kO)=PdAah z$OY1Ra^m#1OC^Z+s9fYV-H}~sMi>zvfV<*4@+tM58k&2afGfrng}DX?+>jxkp+1+} zvTZ}a&M7AcTLYPhQ&b5KU_Xj3HNRWo_>Ld$E#bnq#WDG*RHrn$6_MUH^KaB@JgbsK z)#%B#plY1~lK0Em6hOM!&Xg$w2C+VBdOr$}7OE&&k z$;cXxk$hOuXC_Ofsu4=){@mI1b}Ic#XD)a+GT#RDu%f_^lD@y_9Y{(~^>9%IG*5F4 zkf*{Fg0IO5=1Yq$eF3G znrO{vk265UpbI{{R?Rg_DLFw}^~02)3YEL`MG0vGr^k^I|3SeDq!`@5OyH@R0I6M= z%)!hw-;orPW%=`rgEc@C5N|zu&%BK}%rUs>F3bahUx0j-Q=y=cuHP8JaDu}?yU+^` zJpbs(uC9H6&e#(i6a;`{R&;m(Gcq<3D`*X^2NRMB$$RtNH`UGi;|XLuWV3W9CaUkG zf_%VO&=CYnf}lQO!NEunBqtI$3jA}N4DNxd1#y;aWL)H1ASLk0UHlW(Jfoly%$f#C zGs#0)_7hv2C{6|ZLy_|3_hBXSL|fe1IBpEHrb|)*UZ66gI+4LW0x-&$UeE$v4I_aY z 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 GUJfha!*Z(t delta 38333 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 diff --git a/game_upload/addons/sourcemod/scripting/sourcebans.sp b/game_upload/addons/sourcemod/scripting/sourcebans.sp index 57f86f13c..866d36957 100644 --- a/game_upload/addons/sourcemod/scripting/sourcebans.sp +++ b/game_upload/addons/sourcemod/scripting/sourcebans.sp @@ -6,7 +6,7 @@ #undef REQUIRE_PLUGIN #include -#define SB_VERSION "1.5.0F-dev" +#define SB_VERSION "1.5.0F" //GLOBAL DEFINES #define YELLOW 0x01 diff --git a/game_upload/addons/sourcemod/scripting/sourcecomms.sp b/game_upload/addons/sourcemod/scripting/sourcecomms.sp index cd248f157..af89e134f 100644 --- a/game_upload/addons/sourcemod/scripting/sourcecomms.sp +++ b/game_upload/addons/sourcemod/scripting/sourcecomms.sp @@ -12,7 +12,7 @@ Intergrated into SourceBans 1.5.0F */ #include #define UNBLOCK_FLAG ADMFLAG_CUSTOM2 -#define DATABASE "sourcecomms" +#define DATABASE "sourcebans" // #define DEBUG // #define LOG_QUERIES diff --git a/web_upload/images/type_c.png b/web_upload/images/type_c.png new file mode 100644 index 0000000000000000000000000000000000000000..7a733b87adf59e3169dc032613b76a52f9890f87 GIT binary patch literal 677 zcmV;W0$TlvP)f~pdm5vIPn_46kw2UB%0yjYreQb($QTvub%V;N*P>U8pNQ(?2 zszr+|DcY1|O^THyn&ZrykN4jH-WD?sQW)LMxfjkk_i{M~U}$t|tj{eSPZ728A63L% zo{f?ZKb+rt&g>d}Gq%4uIJ>KFD+6tfgpOAyDq2Ma1w_HqkZ-vXA7|&8%*Dpt?G%m= zWd_*S+d+c^p@3DzY7PIG9TO+h>0yBH?>`-O;}W!`8&fP-ERn1eDu0Qsf~X=2P02Vh zi4v}eP!I>}M+mTxox#>fYl27=#b8z0w0#gON^9IfM5r2sLN2JDd+pfpKOcDJ={Kw> zF?9(m<@E+aB*Ms@mxw4<1X0C`)=;okNObpMRcXQ_Ec&=n7?3Xq{KyAbRVGd!_~!+C zZcSlD=!~TZ%RX*c^eGfe{8%X>qU^r?mdFaC)s1VLt7z-kpAf=w5jU(9srY#oe))Bx z$U335)!AB96;(k+uq{GVF5&u-t^_MfElF|6{wkm%s4A$`5>!KxdY@@cL8(AFw1K;r z?3!rLemJ?KCqsWvf>0eyEr+EbWOlj0Le6J+TRV+j3|Ar=!V;_5&n%^TpBaG7SMT3T zFU}nCN~>u_K&m0`?C2n|CBtG_Xi0i}pLzkRgz@J5YWL9NrR%3on2o;e+F4A0G+!UxO{i++PXoso z;{vWRCINVk<1`y%QpT8M!-X41JF=6PV=89;$-RRjvLqruMI`?l9nY`^XGaS500000 LNkvXXu0mjf`{gqo literal 0 HcmV?d00001 diff --git a/web_upload/images/type_v.png b/web_upload/images/type_v.png new file mode 100644 index 0000000000000000000000000000000000000000..f7ebfcda39c7b51b85d12f0455ce5e7839ff569f GIT binary patch literal 635 zcmV->0)+jEP)4|LVmA5dFew^mN6 zX0@E3!imZx^TevjKp}ySnAl&V_ij+ z2k$@gY@h26VqUr0b2~mTK4bRmc%Ng-CJHw2_d zS{*{*{Cn>2bq7wKL$k>YT4Nxhy#Xs%Jhuu~=e1?4Yq-64(BM7Z2OVS3@*4oKH(>ro zND$qAx5Z>YP7vUAbO6}|sH|42^&lcdCQi+|646P=oSd!$$Og0fjK>A&bV$TvKv@O< zz0^#j!d75kVskP0DTUrA<&aQPWv-3y28bP8$|1T_IqxzJ-!n zh9YLbGjWtu0u^$oq;~+Y*ugo6rfIder~_oA5=2piDvHP`2FRNm__GUO=<=hel<`GK z;qXQx{2zewVk(?AIh{5ivdcdpO9e=B2~^Aj0NUgt3W^Hr!py7g+^h&>&J5jE<*9U!>CMarW8G zpyW>&93H&*E@0~Uhnlb9ByQcXGg$Z+teAH)?%YPqg%-_JBLw;DPje!Dvz ziQ=oOM^34LF{aHasAccess(ADMIN_OWNER|ADMIN_ADD_BAN)) +{ + echo "No Access"; + die(); +} +require_once(INCLUDES_PATH . '/xajax.inc.php'); +$xajax = new xajax(); +//$xajax->debugOn(); +$xajax->setRequestURI("./admin.blockit.php"); +$xajax->registerFunction("BlockPlayer"); +$xajax->registerFunction("LoadServers2"); +$xajax->processRequests(); +$username = $userbank->GetProperty("user"); + +function LoadServers2($check, $type, $length) { + $objResponse = new xajaxResponse(); + global $userbank, $username; + if(!$userbank->HasAccess(ADMIN_OWNER|ADMIN_ADD_BAN)) + { + $objResponse->redirect("index.php?p=login&m=no_access", 0); + $log = new CSystemLog("w", "Hacking Attempt", $username . " tried to use blockit, but doesn't have access."); + return $objResponse; + } + $id = 0; + $servers = $GLOBALS['db']->Execute("SELECT sid, rcon FROM ".DB_PREFIX."_servers WHERE enabled = 1 ORDER BY modid, sid;"); + while(!$servers->EOF) { + //search for player + if(!empty($servers->fields["rcon"])) { + $text = 'Searching...'; + $objResponse->addScript("xajax_BlockPlayer('".$check."', '".$servers->fields["sid"]."', '".$id."', '".$type."', '".$length."');"); + } + else { //no rcon = servercount + 1 ;) + $text = 'No rcon password.'; + $objResponse->addScript('set_counter(1);'); + } + $objResponse->addAssign("srv_".$id, "innerHTML", $text); + $id++; + $servers->MoveNext(); + } + return $objResponse; +} + +function BlockPlayer($check, $sid, $num, $type, $length) { + $objResponse = new xajaxResponse(); + global $userbank, $username; + $sid = (int)$sid; + $length = (int)$length; + + if(!$userbank->HasAccess(ADMIN_OWNER|ADMIN_ADD_BAN)) + { + $objResponse->redirect("index.php?p=login&m=no_access", 0); + $log = new CSystemLog("w", "Hacking Attempt", $username . " tried to process a playerblock, but doesnt have access."); + return $objResponse; + } + + //get the server data + $sdata = $GLOBALS['db']->GetRow("SELECT ip, port, rcon FROM ".DB_PREFIX."_servers WHERE sid = '".$sid."';"); + + //test if server is online + if($test = @fsockopen($sdata['ip'], $sdata['port'], $errno, $errstr, 2)) { + @fclose($test); + require_once(INCLUDES_PATH . "/CServerRcon.php"); + + $r = new CServerRcon($sdata['ip'], $sdata['port'], $sdata['rcon']); + + if(!$r->Auth()) + { + $GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_servers SET rcon = '' WHERE sid = '".$sid."' LIMIT 1;"); + $objResponse->addAssign("srv_$num", "innerHTML", "Wrong RCON Password, please change!"); + $objResponse->addScript('set_counter(1);'); + return $objResponse; + } + $ret = $r->rconCommand("status"); + + // show hostname instead of the ip, but leave the ip in the title + require_once("../includes/system-functions.php"); + $hostsearch = preg_match_all('/hostname:[ ]*(.+)/',$ret,$hostname,PREG_PATTERN_ORDER); + $hostname = trunc(htmlspecialchars($hostname[1][0]),25,false); + if(!empty($hostname)) + $objResponse->addAssign("srvip_$num", "innerHTML", "".$hostname.""); + + $gothim = false; + $search = preg_match_all(STATUS_PARSE,$ret,$matches,PREG_PATTERN_ORDER); + //search for the steamid on the server + foreach($matches[3] AS $match) { + if(substr($match, 8) == substr($check, 8)) { + // gotcha!!! kick him! + $gothim = true; + $GLOBALS['db']->Execute("UPDATE `".DB_PREFIX."_comms` SET sid = '".$sid."' WHERE authid = '".$check."' AND RemovedBy IS NULL;"); + $requri = substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], "pages/admin.blockit.php")); + $kick = $r->sendCommand("sc_fw_block ".$type." ".$length." ".$match); + $objResponse->addAssign("srv_$num", "innerHTML", "Player Found & blocked!!!"); + $objResponse->addScript("set_counter('-1');"); + return $objResponse; + } + } + + if(!$gothim) { + $objResponse->addAssign("srv_$num", "innerHTML", "Player not found."); + $objResponse->addScript('set_counter(1);'); + return $objResponse; + } + } else { + $objResponse->addAssign("srv_$num", "innerHTML", "Can't connect to server."); + $objResponse->addScript('set_counter(1);'); + return $objResponse; + } +} +$servers = $GLOBALS['db']->Execute("SELECT ip, port, rcon FROM ".DB_PREFIX."_servers WHERE enabled = 1 ORDER BY modid, sid;"); +$theme->assign('total', $servers->RecordCount()); +$serverlinks = array(); +$num = 0; +while(!$servers->EOF) { + $info = array(); + $info['num'] = $num; + $info['ip'] = $servers->fields["ip"]; + $info['port'] = $servers->fields["port"]; + array_push($serverlinks, $info); + $num++; + $servers->MoveNext(); +} +$theme->assign('servers', $serverlinks); +$theme->assign('xajax_functions', $xajax->printJavascript("../scripts", "xajax.js")); +$theme->assign('check', $_GET["check"]);// steamid or ip address +$theme->assign('type', $_GET['type']); +$theme->assign('length', $_GET['length']); + +$theme->left_delimiter = "-{"; +$theme->right_delimiter = "}-"; +$theme->display('page_blockit.tpl'); +$theme->left_delimiter = "{"; +$theme->right_delimiter = "}"; +?> \ No newline at end of file diff --git a/web_upload/pages/admin.comms.php b/web_upload/pages/admin.comms.php new file mode 100644 index 000000000..2dfd8cf47 --- /dev/null +++ b/web_upload/pages/admin.comms.php @@ -0,0 +1,93 @@ +GetAid()); + + +if(isset($_GET["rebanid"])) +{ + echo ''; +}elseif(isset($_GET["blockfromban"])) +{ + echo ''; +}elseif((isset($_GET['action']) && $_GET['action'] == "pasteBan") && isset($_GET['pName']) && isset($_GET['sid'])) { + echo ""; +} + +echo '

'; + // Add Ban + echo ' diff --git a/web_upload/pages/admin.comms.search.php b/web_upload/pages/admin.comms.search.php new file mode 100644 index 000000000..03fb16648 --- /dev/null +++ b/web_upload/pages/admin.comms.search.php @@ -0,0 +1,55 @@ +GetAll("SELECT * FROM `" . DB_PREFIX . "_admins` ORDER BY user ASC"); +$server_list = $GLOBALS['db']->Execute("SELECT sid, ip, port FROM `" . DB_PREFIX . "_servers` WHERE enabled = 1"); +$servers = array(); +$serverscript = ""; +$page = isset($_GET['page'])?$_GET['page']:1; + +$theme->assign('hideplayerips', (isset($GLOBALS['config']['banlist.hideplayerips']) && $GLOBALS['config']['banlist.hideplayerips'] == "1" && !$userbank->is_admin())); +$theme->assign('is_admin', $userbank->is_admin()); +$theme->assign('admin_list', $admin_list); +$theme->assign('server_list', $servers); +$theme->assign('server_script', $serverscript); + +$theme->display('box_admin_comms_search.tpl'); +?> + diff --git a/web_upload/pages/admin.edit.comms.php b/web_upload/pages/admin.edit.comms.php new file mode 100644 index 000000000..3ff1b6403 --- /dev/null +++ b/web_upload/pages/admin.edit.comms.php @@ -0,0 +1,169 @@ +ShowBox("Error", "Possible hacking attempt (URL Key mismatch)!", "red", "index.php?p=admin&c=comms");'; + PageDie(); +} +if(!isset($_GET['id']) || !is_numeric($_GET['id'])) +{ + echo ''; + PageDie(); +} + +$res = $GLOBALS['db']->GetRow(" + SELECT bid, ba.type, ba.authid, ba.name, created, ends, length, reason, ba.aid, ba.sid, ad.user, ad.gid + FROM ".DB_PREFIX."_comms AS ba + LEFT JOIN ".DB_PREFIX."_admins AS ad ON ba.aid = ad.aid + WHERE bid = {$_GET['id']}"); + +if (!$userbank->HasAccess(ADMIN_OWNER|ADMIN_EDIT_ALL_BANS)&&(!$userbank->HasAccess(ADMIN_EDIT_OWN_BANS) && $res[8]!=$userbank->GetAid())&&(!$userbank->HasAccess(ADMIN_EDIT_GROUP_BANS) && $res->fields['gid']!=$userbank->GetProperty('gid'))) +{ + echo ''; + PageDie(); +} + +isset($_GET["page"])?$pagelink = "&page=".$_GET["page"]:$pagelink = ""; + +$errorScript = ""; + +if(isset($_POST['name'])) +{ + $_POST['steam'] = trim($_POST['steam']); + $_POST['type'] = (int)$_POST['type']; + + // Form Validation + $error = 0; + // If they didn't type a steamid + if(empty($_POST['steam'])) + { + $error++; + $errorScript .= "$('steam.msg').innerHTML = 'You must type a Steam ID or Community ID';"; + $errorScript .= "$('steam.msg').setStyle('display', 'block');"; + } + else if((!is_numeric($_POST['steam']) + && !validate_steam($_POST['steam'])) + || (is_numeric($_POST['steam']) + && (strlen($_POST['steam']) < 15 + || !validate_steam($_POST['steam'] = FriendIDToSteamID($_POST['steam']))))) + { + $error++; + $errorScript .= "$('steam.msg').innerHTML = 'Please enter a valid Steam ID or Community ID';"; + $errorScript .= "$('steam.msg').setStyle('display', 'block');"; + } + + // Didn't type a custom reason + if($_POST['listReason'] == "other" && empty($_POST['txtReason'])) + { + $error++; + $errorScript .= "$('reason.msg').innerHTML = 'You must type a reason';"; + $errorScript .= "$('reason.msg').setStyle('display', 'block');"; + } + + // prune any old bans + PruneComms(); + + if($error == 0) + { + // Check if the new steamid is already banned + $chk = $GLOBALS['db']->GetRow("SELECT count(bid) AS count FROM ".DB_PREFIX."_comms WHERE authid = ? AND RemovedBy IS NULL AND type = ? AND bid != ? AND (length = 0 OR ends > UNIX_TIMESTAMP())", array($_POST['steam'], (int)$_POST['type'], (int)$_GET['id'])); + if((int)$chk[0] > 0) + { + $error++; + $errorScript .= "$('steam.msg').innerHTML = 'This SteamID is already blocked';"; + $errorScript .= "$('steam.msg').setStyle('display', 'block');"; + } + else + { + // Check if player is immune + $admchk = $userbank->GetAllAdmins(); + foreach($admchk as $admin) + { + if($admin['authid'] == $_POST['steam'] && $userbank->GetProperty('srv_immunity') < $admin['srv_immunity']) + { + $error++; + $errorScript .= "$('steam.msg').innerHTML = 'Admin ".$admin['user']." is immune';"; + $errorScript .= "$('steam.msg').setStyle('display', 'block');"; + break; + } + } + } + } + + $_POST['name'] = RemoveCode($_POST['name']); + $reason = RemoveCode(trim($_POST['listReason'] == "other"?$_POST['txtReason']:$_POST['listReason'])); + + if(!$_POST['banlength']) + $_POST['banlength'] = 0; + else + $_POST['banlength'] = (int)$_POST['banlength']*60; + + // Show the new values in the form + $res['name'] = $_POST['name']; + $res['authid'] = $_POST['steam']; + + $res['length'] = $_POST['banlength']; + $res['type'] = $_POST['type']; + $res['reason'] = $reason; + + // Only process if there are still no errors + if($error == 0) + { + $lengthrev = $GLOBALS['db']->Execute("SELECT length, authid, type FROM ".DB_PREFIX."_comms WHERE bid = '".(int)$_GET['id']."'"); + + + $edit = $GLOBALS['db']->Execute("UPDATE ".DB_PREFIX."_comms SET + `name` = ?, `type` = ?, `reason` = ?, `authid` = ?, + `length` = ?, + `ends` = `created` + ? + WHERE bid = ?", array($_POST['name'], $_POST['type'], $reason, $_POST['steam'], $_POST['banlength'], $_POST['banlength'], (int)$_GET['id'])); + + + if($_POST['banlength'] != $lengthrev->fields['length']) + $log = new CSystemLog("m", "Block edited", "Block for (" . $lengthrev->fields['authid'] . ") has been updated, before: length ".$lengthrev->fields['length'].", type ".$lengthrev->fields['type']."; now: length ".$_POST['banlength']." type ".$_POST->fields['type']); + echo ''; + } +} + +if(!$res) +{ + echo ''; +} + +$theme->assign('ban_name', $res['name']); +$theme->assign('ban_reason', $res['reason']); +$theme->assign('ban_authid', trim($res['authid'])); +$theme->assign('customreason', ((isset($GLOBALS['config']['bans.customreasons'])&&$GLOBALS['config']['bans.customreasons']!="")?unserialize($GLOBALS['config']['bans.customreasons']):false)); + +$theme->left_delimiter = "-{"; +$theme->right_delimiter = "}-"; +$theme->display('page_admin_edit_comms.tpl'); +$theme->left_delimiter = "{"; +$theme->right_delimiter = "}"; +?> + \ No newline at end of file diff --git a/web_upload/pages/page.commslist.php b/web_upload/pages/page.commslist.php new file mode 100644 index 000000000..6bfc1fbe9 --- /dev/null +++ b/web_upload/pages/page.commslist.php @@ -0,0 +1,727 @@ + 0) +{ + $page = intval($_GET['page']); + $pagelink = "&page=".$page; +} + +if (isset($_GET['a']) && $_GET['a'] == "ungag" && isset($_GET['id'])) +{ + if ($_GET['key'] != $_SESSION['banlist_postkey']) + die("Possible hacking attempt (URL Key mismatch)"); + //we have a multiple unban asking + $bid = intval($_GET['id']); + $res = $GLOBALS['db']->Execute("SELECT a.aid, a.gid FROM `".DB_PREFIX."_comms` c INNER JOIN ".DB_PREFIX."_admins a ON a.aid = c.aid WHERE bid = '".$bid."' AND c.type = 2;"); + if (!$userbank->HasAccess(ADMIN_OWNER|ADMIN_UNBAN) && + !($userbank->HasAccess(ADMIN_UNBAN_OWN_BANS) && $res->fields['aid'] == $userbank->GetAid()) && + !($userbank->HasAccess(ADMIN_UNBAN_GROUP_BANS) && $res->fields['gid'] == $userbank->GetProperty('gid'))) + { + die("You don't have access to this"); + } + + $row = $GLOBALS['db']->GetRow("SELECT b.authid, b.name, b.created, b.sid, UNIX_TIMESTAMP() as now + FROM ".DB_PREFIX."_comms b + LEFT JOIN ".DB_PREFIX."_servers s ON s.sid = b.sid + WHERE b.bid = ? AND b.RemoveType IS NULL AND b.type = 2 AND (b.length = '0' OR b.ends > UNIX_TIMESTAMP())",array($bid)); + if(empty($row) || !$row) + { + echo ""; + PageDie(); + } + + $unbanReason = htmlspecialchars(trim($_GET['ureason'])); + $ins = $GLOBALS['db']->Execute("UPDATE `".DB_PREFIX."_comms` SET + `RemovedBy` = ?, + `RemoveType` = 'U', + `RemovedOn` = UNIX_TIMESTAMP(), + `ureason` = ? + WHERE `bid` = ?;", + array( $userbank->GetAid(), $unbanReason, $bid)); + + $blocked = $GLOBALS['db']->GetAll("SELECT sid FROM `".DB_PREFIX."_servers` WHERE `enabled`=1"); + foreach($blocked as $tempban) + { + SendRconSilent(("sc_fw_ungag " . $row['authid']), $tempban['sid']); + } + + if($res){ + echo ""; + $log = new CSystemLog("m", "Player UnGagged", "'".StripQuotes($row['name'])."' (" . $row['authid'] . ") has been ungagged"); + }else{ + echo ""; + } +} +else if(isset($_GET['a']) && $_GET['a'] == "unmute" && isset($_GET['id'])) +{ + if ($_GET['key'] != $_SESSION['banlist_postkey']) + die("Possible hacking attempt (URL Key mismatch)"); + //we have a multiple unban asking + $bid = intval($_GET['id']); + $res = $GLOBALS['db']->Execute("SELECT a.aid, a.gid FROM `".DB_PREFIX."_comms` c INNER JOIN ".DB_PREFIX."_admins a ON a.aid = c.aid WHERE bid = '".$bid."' AND c.type = 1;"); + if (!$userbank->HasAccess(ADMIN_OWNER|ADMIN_UNBAN) && + !($userbank->HasAccess(ADMIN_UNBAN_OWN_BANS) && $res->fields['aid'] == $userbank->GetAid()) && + !($userbank->HasAccess(ADMIN_UNBAN_GROUP_BANS) && $res->fields['gid'] == $userbank->GetProperty('gid'))) + { + die("You don't have access to this"); + } + + $row = $GLOBALS['db']->GetRow("SELECT b.authid, b.name, b.created, b.sid, UNIX_TIMESTAMP() as now + FROM ".DB_PREFIX."_comms b + LEFT JOIN ".DB_PREFIX."_servers s ON s.sid = b.sid + WHERE b.bid = ? AND b.RemoveType IS NULL AND b.type = 1 AND (b.length = '0' OR b.ends > UNIX_TIMESTAMP())",array($bid)); + if(empty($row) || !$row) + { + echo ""; + PageDie(); + } + + $unbanReason = htmlspecialchars(trim($_GET['ureason'])); + $ins = $GLOBALS['db']->Execute("UPDATE `".DB_PREFIX."_comms` SET + `RemovedBy` = ?, + `RemoveType` = 'U', + `RemovedOn` = UNIX_TIMESTAMP(), + `ureason` = ? + WHERE `bid` = ?;", + array( $userbank->GetAid(), $unbanReason, $bid)); + + $blocked = $GLOBALS['db']->GetAll("SELECT sid FROM `".DB_PREFIX."_servers` WHERE `enabled`=1"); + foreach($blocked as $tempban) + { + SendRconSilent(("sc_fw_unmute " . $row['authid']), $tempban['sid']); + } + + if($res){ + echo ""; + $log = new CSystemLog("m", "Player UnMuted", "'".StripQuotes($row['name'])."' (" . $row['authid'] . ") has been unmuted"); + }else{ + echo ""; + } +} +else if(isset($_GET['a']) && $_GET['a'] == "delete") +{ + if ($_GET['key'] != $_SESSION['banlist_postkey']) + die("Possible hacking attempt (URL Key mismatch)"); + + if (!$userbank->HasAccess(ADMIN_OWNER|ADMIN_DELETE_BAN)) + { + echo ""; + PageDie(); + } + + $bid = intval($_GET['id']); + + $steam = $GLOBALS['db']->GetRow("SELECT name, authid, ends, length, RemoveType, type, UNIX_TIMESTAMP() AS now + FROM ".DB_PREFIX."_comms WHERE bid=?",array($bid)); + $end = (int)$steam['ends']; + $length = (int)$steam['length']; + $now = (int)$steam['now']; + + $cmd = ""; + + switch($steam['type']) + { + case 1: + $cmd = "sc_fw_unmute"; + break; + case 2: + $cmd = "sc_fw_ungag"; + break; + default: + break; + } + + $res = $GLOBALS['db']->Execute("DELETE FROM `".DB_PREFIX."_comms` WHERE `bid` = ?", array( $bid )); + + if(empty($steam['RemoveType']) && ($length == 0 || $end > $now)) + { + $blocked = $GLOBALS['db']->GetAll("SELECT sid FROM `".DB_PREFIX."_servers` WHERE `enabled`=1"); + foreach($blocked as $tempban) + { + SendRconSilent(($cmd . " " . $steam['authid']), $tempban['sid']); + } + } + + if($res) + { + echo ""; + $log = new CSystemLog("m", "Block Deleted", "Block '".StripQuotes($steam['name'])."' (" . $steam['authid'] . ") has been deleted."); + }else{ + echo ""; + } +} + +// LIMIT для SQL запроса - по номеру страницы и числу банов на страницу +$BansStart = intval(($page-1) * $BansPerPage); +$BansEnd = intval($BansStart+$BansPerPage); + +// hide inactive bans feature +if(isset($_GET["hideinactive"]) && $_GET["hideinactive"] == "true") {// hide + $_SESSION["hideinactive"] = true; + //ShowBox('Hide inactive bans', 'Inactive bans will be hidden from the banlist.', 'green', 'index.php?p=banlist', true); +} elseif(isset($_GET["hideinactive"]) && $_GET["hideinactive"] == "false") { // show + unset($_SESSION["hideinactive"]); + //ShowBox('Show inactive bans', 'Inactive bans will be shown in the banlist.', 'green', 'index.php?p=banlist', true); +} +if(isset($_SESSION["hideinactive"])) { + $hidetext = "Show"; + $hideinactive = " AND RemoveType IS NULL"; + $hideinactiven = " WHERE RemoveType IS NULL"; +} else { + $hidetext = "Hide"; + $hideinactive = ""; + $hideinactiven = ""; +} + + +if (isset($_GET['searchText'])) +{ + $search = '%'.trim($_GET['searchText']).'%'; + + $res = $GLOBALS['db']->Execute( + "SELECT bid ban_id, CO.type, CO.authid, CO.name player_name, created ban_created, ends ban_ends, length ban_length, reason ban_reason, CO.ureason unban_reason, CO.aid, AD.gid AS gid, adminIp, CO.sid ban_server, RemovedOn, RemovedBy, RemoveType row_type, + SE.ip server_ip, AD.user admin_name, MO.icon as mod_icon, + CAST(MID(CO.authid, 9, 1) AS UNSIGNED) + CAST('76561197960265728' AS UNSIGNED) + CAST(MID(CO.authid, 11, 10) * 2 AS UNSIGNED) AS community_id, + (SELECT count(*) FROM ".DB_PREFIX."_comms as BH WHERE (BH.authid = CO.authid AND BH.authid != '' AND BH.authid IS NOT NULL AND BH.type = 1)) as mute_count, + (SELECT count(*) FROM ".DB_PREFIX."_comms as BH WHERE (BH.authid = CO.authid AND BH.authid != '' AND BH.authid IS NOT NULL AND BH.type = 2)) as gag_count, + UNIX_TIMESTAMP() as c_time + FROM ".DB_PREFIX."_comms AS CO FORCE INDEX (created) + LEFT JOIN ".DB_PREFIX."_servers AS SE ON SE.sid = CO.sid + LEFT JOIN ".DB_PREFIX."_mods AS MO on SE.modid = MO.mid + LEFT JOIN ".DB_PREFIX."_admins AS AD ON CO.aid = AD.aid + WHERE CO.authid LIKE ? or CO.name LIKE ? or CO.reason LIKE ?".$hideinactive." + ORDER BY CO.created DESC LIMIT ?,?", + array($search,$search,$search,intval($BansStart),intval($BansPerPage))); + + + $res_count = $GLOBALS['db']->Execute("SELECT count(CO.bid) FROM ".DB_PREFIX."_comms AS CO WHERE CO.authid LIKE ? OR CO.name LIKE ? OR CO.reason LIKE ?" . $hideinactive + ,array($search,$search,$search)); +$searchlink = "&searchText=".$_GET["searchText"]; +} +elseif(!isset($_GET['advSearch'])) +{ + $res = $GLOBALS['db']->Execute( + "SELECT bid ban_id, CO.type, CO.authid, CO.name player_name, created ban_created, ends ban_ends, length ban_length, reason ban_reason, CO.ureason unban_reason, CO.aid, AD.gid AS gid, adminIp, CO.sid ban_server, RemovedOn, RemovedBy, RemoveType row_type, + SE.ip server_ip, AD.user admin_name, MO.icon as mod_icon, + CAST(MID(CO.authid, 9, 1) AS UNSIGNED) + CAST('76561197960265728' AS UNSIGNED) + CAST(MID(CO.authid, 11, 10) * 2 AS UNSIGNED) AS community_id, + (SELECT count(*) FROM ".DB_PREFIX."_comms as BH WHERE (BH.authid = CO.authid AND BH.authid != '' AND BH.authid IS NOT NULL AND BH.type = 1)) as mute_count, + (SELECT count(*) FROM ".DB_PREFIX."_comms as BH WHERE (BH.authid = CO.authid AND BH.authid != '' AND BH.authid IS NOT NULL AND BH.type = 2)) as gag_count, + UNIX_TIMESTAMP() as c_time + FROM ".DB_PREFIX."_comms AS CO FORCE INDEX (created) + LEFT JOIN ".DB_PREFIX."_servers AS SE ON SE.sid = CO.sid + LEFT JOIN ".DB_PREFIX."_mods AS MO on SE.modid = MO.mid + LEFT JOIN ".DB_PREFIX."_admins AS AD ON CO.aid = AD.aid + ".$hideinactiven." + ORDER BY created DESC + LIMIT ?,?", + array(intval($BansStart),intval($BansPerPage))); + + $res_count = $GLOBALS['db']->Execute("SELECT count(bid) FROM ".DB_PREFIX."_comms".$hideinactiven); + $searchlink = ""; +} + +$advcrit = array(); +if(isset($_GET['advSearch'])) +{ + $value = trim($_GET['advSearch']); + $type = $_GET['advType']; + switch($type) + { + case "name": + $where = "WHERE CO.name LIKE ?"; + $advcrit = array("%$value%"); + break; + case "banid": + $where = "WHERE CO.bid = ?"; + $advcrit = array($value); + break; + case "steamid": + $where = "WHERE CO.authid = ?"; + $advcrit = array($value); + break; + case "steam": + $where = "WHERE CO.authid LIKE ?"; + $advcrit = array("%$value%"); + break; + case "reason": + $where = "WHERE CO.reason LIKE ?"; + $advcrit = array("%$value%"); + break; + case "date": + $date = explode(",", $value); + $time = mktime(0,0,0,$date[1],$date[0],$date[2]); + $time2 = mktime(23,59,59,$date[1],$date[0],$date[2]); + $where = "WHERE CO.created > ? AND CO.created < ?"; + $advcrit = array($time, $time2); + break; + case "length": + $len = explode(",", $value); + $length_type = $len[0]; + $length = $len[1]*60; + $where = "WHERE CO.length "; + switch($length_type) { + case "e": + $where .= "="; + break; + case "h": + $where .= ">"; + break; + case "l": + $where .= "<"; + break; + case "eh": + $where .= ">="; + break; + case "el": + $where .= "<="; + break; + } + $where .= " ?"; + $advcrit = array($length); + break; + case "btype": + $where = "WHERE CO.type = ?"; + $advcrit = array($value); + break; + case "admin": + if($GLOBALS['config']['banlist.hideadminname']&&!$userbank->is_admin()) + { + $where = ""; + $advcrit = array(); + } + else { + $where = "WHERE CO.aid=?"; + $advcrit = array($value); + } + break; + case "where_banned": + $where = "WHERE CO.sid=?"; + $advcrit = array($value); + break; + case "bid": + $where = "WHERE CO.bid = ?"; + $advcrit = array($value); + break; + case "comment": + if($userbank->is_admin()) + { + $where = "WHERE CM.type ='C' AND CM.commenttxt LIKE ?"; + $advcrit = array("%$value%"); + } + else + { + $where = ""; + $advcrit = array(); + } + break; + default: + $where = ""; + $_GET['advType'] = ""; + $_GET['advSearch'] = ""; + $advcrit = array(); + break; + } + + $res = $GLOBALS['db']->Execute( + "SELECT CO.bid ban_id, CO.type, CO.authid, CO.name player_name, created ban_created, ends ban_ends, length ban_length, reason ban_reason, CO.ureason unban_reason, CO.aid, AD.gid AS gid, adminIp, CO.sid ban_server, RemovedOn, RemovedBy, RemoveType row_type, + SE.ip server_ip, AD.user admin_name, MO.icon as mod_icon, + CAST(MID(CO.authid, 9, 1) AS UNSIGNED) + CAST('76561197960265728' AS UNSIGNED) + CAST(MID(CO.authid, 11, 10) * 2 AS UNSIGNED) AS community_id, + (SELECT count(*) FROM ".DB_PREFIX."_comms as BH WHERE (BH.authid = CO.authid AND BH.authid != '' AND BH.authid IS NOT NULL AND BH.type = 1)) as mute_count, + (SELECT count(*) FROM ".DB_PREFIX."_comms as BH WHERE (BH.authid = CO.authid AND BH.authid != '' AND BH.authid IS NOT NULL AND BH.type = 2)) as gag_count, + UNIX_TIMESTAMP() as c_time + FROM ".DB_PREFIX."_comms AS CO FORCE INDEX (created) + LEFT JOIN ".DB_PREFIX."_servers AS SE ON SE.sid = CO.sid + LEFT JOIN ".DB_PREFIX."_mods AS MO on SE.modid = MO.mid + LEFT JOIN ".DB_PREFIX."_admins AS AD ON CO.aid = AD.aid + ".($type=="comment"&&$userbank->is_admin()?"LEFT JOIN ".DB_PREFIX."_comments AS CM ON CO.bid = CM.bid":"")." + ".$where.$hideinactive." + ORDER BY CO.created DESC + LIMIT ?,?", array_merge($advcrit, array(intval($BansStart),intval($BansPerPage)))); + + $res_count = $GLOBALS['db']->Execute("SELECT count(CO.bid) FROM ".DB_PREFIX."_comms AS CO + ".($type=="comment"&&$userbank->is_admin()?"LEFT JOIN ".DB_PREFIX."_comments AS CM ON CO.bid = CM.bid":"")." ".$where.$hideinactive, $advcrit); + $searchlink = "&advSearch=".$_GET['advSearch']."&advType=".$_GET['advType']; +} + +$BanCount = $res_count->fields[0]; +if ($BansEnd > $BanCount) $BansEnd = $BanCount; +if (!$res) +{ + echo "No Blocks Found."; + PageDie(); +} + +$view_comments = false; +$bans = array(); +while (!$res->EOF) +{ + $data = array(); + + $data['ban_id'] = $res->fields['ban_id']; + $data['type'] = $res->fields['type']; + $data['c_time'] = $res->fields['c_time']; + + $mute_count = (int)$res->fields['mute_count']; + $gag_count = (int)$res->fields['gag_count']; + $history_count = $mute_count + $gag_count; + + $delimiter = ""; + + // заюзаем иконку страны под отображение TYPE_MUTE or TYPE_GAG + switch((int)$data['type']) + { + case 1: + $data['type_icon'] = 'Mute'; + $mute_count = $mute_count - 1; + break; + case 2: + $data['type_icon'] = 'Chat'; + $gag_count = $gag_count - 1; + break; + default: + $data['type_icon'] = 'Unknown block type'; + break; + } + + $data['ban_date'] = SBDate($dateformat,$res->fields['ban_created']); + $data['player'] = addslashes($res->fields['player_name']); + $data['steamid'] = $res->fields['authid']; + $data['communityid'] = $res->fields['community_id']; + + if(isset($GLOBALS['config']['banlist.hideadminname']) && $GLOBALS['config']['banlist.hideadminname'] == "1" && !$userbank->is_admin()) + $data['admin'] = false; + else + $data['admin'] = stripslashes($res->fields['admin_name']); + $data['reason'] = stripslashes($res->fields['ban_reason']); + + if ($res->fields['ban_length'] > 0) + { + $data['ban_length'] = SecondsToString(intval($res->fields['ban_length'])); + $data['expires'] = SBDate($dateformat,$res->fields['ban_ends']); + } + else if ($res->fields['ban_length'] == 0) + { + $data['ban_length'] = 'Permanent'; + $data['expires'] = 'never'; + } + else + { + $data['ban_length'] = 'Session'; + $data['expires'] = 'n/a'; + } + + // Что за тип разбана - D? Я такой не видел, но оставлю так и быть.. for feature use... + if($res->fields['row_type'] == 'D' || $res->fields['row_type'] == 'U' || $res->fields['row_type'] == 'E' || ($res->fields['ban_length'] && $res->fields['ban_ends'] < $data['c_time'])) + { + $data['unbanned'] = true; + $data['class'] = "listtable_1_unbanned"; + + if($res->fields['row_type'] == "D") + $data['ub_reason'] = "(Deleted)"; + elseif($res->fields['row_type'] == "U") + $data['ub_reason'] = "(Unbanned)"; + else + $data['ub_reason'] = "(Expired)"; + + $data['ureason'] = stripslashes($res->fields['unban_reason']); + + $removedby = $GLOBALS['db']->GetRow("SELECT user FROM `".DB_PREFIX."_admins` WHERE aid = '".$res->fields['RemovedBy']."'"); + $data['removedby'] = ""; + if(isset($removedby[0])) + $data['removedby'] = $removedby[0]; + } + else + { + $data['unbanned'] = false; + $data['class'] = "listtable_1"; + $data['ub_reason'] = ""; + } + + $data['layer_id'] = 'layer_'.$res->fields['ban_id']; + // Запрос текущего статуса игрока для рисования ссылки на мьют или гаг + $alrdybnd = $GLOBALS['db']->Execute("SELECT count(bid) as count FROM `".DB_PREFIX."_comms` WHERE authid = '".$data['steamid']."' AND RemovedBy IS NULL AND type = '".$data['type']."' AND (length = 0 OR ends > UNIX_TIMESTAMP());"); + if($alrdybnd->fields['count']==0) + { + switch($data['type']) + { + case 1: + $data['reban_link'] = CreateLinkR(' ReMute',"index.php?p=admin&c=comms".$pagelink."&rebanid=".$res->fields['ban_id']."&key=".$_SESSION['banlist_postkey']."#^0"); + break; + case 2: + $data['reban_link'] = CreateLinkR(' ReGag',"index.php?p=admin&c=comms".$pagelink."&rebanid=".$res->fields['ban_id']."&key=".$_SESSION['banlist_postkey']."#^0"); + break; + default: + break; + } + } + else + $data['reban_link'] = false; + + + $data['edit_link'] = CreateLinkR(' Edit Details',"index.php?p=admin&c=comms&o=edit".$pagelink."&id=".$res->fields['ban_id']."&key=".$_SESSION['banlist_postkey']); + + switch($data['type']) + { + case 2: + $data['unban_link'] = CreateLinkR(' UnGag',"#","", "_self", false, "UnGag('".$res->fields['ban_id']."', '".$_SESSION['banlist_postkey']."', '".$pagelink."', '".StripQuotes($data['player'])."', 1);return false;"); + break; + case 1: + $data['unban_link'] = CreateLinkR(' UnMute',"#","", "_self", false, "UnMute('".$res->fields['ban_id']."', '".$_SESSION['banlist_postkey']."', '".$pagelink."', '".StripQuotes($data['player'])."', 1);return false;"); + break; + default: + break; + } + + $data['delete_link'] = CreateLinkR(' Delete Block',"#","", "_self", false, "RemoveBlock('".$res->fields['ban_id']."', '".$_SESSION['banlist_postkey']."', '".$pagelink."', '".StripQuotes($data['player'])."', 0);return false;"); + + $data['server_id'] = $res->fields['ban_server']; + + if(empty($res->fields['mod_icon'])) + { + $modicon = "web.png"; + } + else + { + $modicon = $res->fields['mod_icon']; + } + + $data['mod_icon'] = 'MOD ' . $data['type_icon']; + + if($history_count > 1) + $data['prevoff_link'] = $history_count . " " . CreateLinkR("(search)","index.php?p=commslist&searchText=" .$data['steamid']. "&Submit"); + else + $data['prevoff_link'] = "No previous blocks"; + + $mutes = ""; + $gags = ""; + if($mute_count > 0) + { + $mutes = $mute_count . ' Another mutes'; + if ($gag_count > 0) + $mutes = $mutes . " "; + } + if($gag_count > 0) + $gags = $gag_count . ' Another gags'; + + $data['server_id'] = $res->fields['ban_server']; + + //COMMENT STUFF + //----------------------------------- + if($userbank->is_admin()) { + $view_comments = true; + $commentres = $GLOBALS['db']->Execute("SELECT cid, aid, commenttxt, added, edittime, + (SELECT user FROM `".DB_PREFIX."_admins` WHERE aid = C.aid) AS comname, + (SELECT user FROM `".DB_PREFIX."_admins` WHERE aid = C.editaid) AS editname + FROM `".DB_PREFIX."_comments` AS C + WHERE C.type = 'C' AND bid = '".$data['ban_id']."' ORDER BY added desc"); + + if($commentres->RecordCount()>0) { + if ($mute_count > 0 || $gag_count > 0) + $delimiter = " "; + $comment = array(); + $morecom = 0; + while(!$commentres->EOF) { + $cdata = array(); + $cdata['morecom'] = ($morecom==1?true:false); + if($commentres->fields['aid'] == $userbank->GetAid() || $userbank->HasAccess(ADMIN_OWNER)) { + $cdata['editcomlink'] = CreateLinkR('\'\'','index.php?p=commslist&comment='.$data['ban_id'].'&ctype=C&cid='.$commentres->fields['cid'].$pagelink,'Edit Comment'); + if($userbank->HasAccess(ADMIN_OWNER)) { + $cdata['delcomlink'] = " :: Delete Comment\" target=\"_self\" onclick=\"RemoveComment(".$commentres->fields['cid'].",'C',".(isset($_GET["page"])?$_GET["page"]:-1).");\">"; + } + } + else { + $cdata['editcomlink'] = ""; + $cdata['delcomlink'] = ""; + } + + $cdata['comname'] = $commentres->fields['comname']; + $cdata['added'] = SBDate($dateformat, $commentres->fields['added']); + $cdata['commenttxt'] = str_replace("\n", "
", $commentres->fields['commenttxt']); + // Parse links and wrap them in a tag to be easily clickable + $cdata['commenttxt'] = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', '$1', $cdata['commenttxt']); + + if(!empty($commentres->fields['edittime'])) { + $cdata['edittime'] = SBDate($dateformat, $commentres->fields['edittime']); + $cdata['editname'] = $commentres->fields['editname']; + } + else { + $cdata['edittime'] = ""; + $cdata['editname'] = ""; + } + + $morecom = 1; + array_push($comment,$cdata); + $commentres->MoveNext(); + } + } + else + $comment = "None"; + + $data['commentdata'] = $comment; + } + + $data['addcomment'] = CreateLinkR(' Add Comment','index.php?p=commslist&comment='.$data['ban_id'].'&ctype=C'.$pagelink); + //----------------------------------- + $data['counts'] = $delimiter.$mutes.$gags; + + $data['ub_reason'] = (isset($data['ub_reason'])?$data['ub_reason']:""); + $data['banlength'] = $data['ban_length'] . " " . $data['ub_reason']; + $data['view_edit'] = ($userbank->HasAccess(ADMIN_OWNER|ADMIN_EDIT_ALL_BANS) || ($userbank->HasAccess(ADMIN_EDIT_OWN_BANS) && $res->fields['aid']==$userbank->GetAid()) || ($userbank->HasAccess(ADMIN_EDIT_GROUP_BANS) && $res->fields['gid']==$userbank->GetProperty('gid'))); + $data['view_unban'] = ($userbank->HasAccess(ADMIN_OWNER|ADMIN_UNBAN) || ($userbank->HasAccess(ADMIN_UNBAN_OWN_BANS) && $res->fields['aid']==$userbank->GetAid()) || ($userbank->HasAccess(ADMIN_UNBAN_GROUP_BANS) && $res->fields['gid']==$userbank->GetProperty('gid'))); + $data['view_delete'] = ($userbank->HasAccess(ADMIN_OWNER|ADMIN_DELETE_BAN)); + array_push($bans,$data); + $res->MoveNext(); +} + +if(isset($_GET['advSearch'])) + $advSearchString = "&advSearch=" . (isset($_GET['advSearch'])?$_GET['advSearch']:'') . "&advType=" . (isset($_GET['advType'])?$_GET['advType']:''); +else + $advSearchString = ''; + +if ($page > 1) +{ + if(isset($_GET['c']) && $_GET['c'] == "comms") + $prev = CreateLinkR('prev prev',"javascript:void(0);", "", "_self", false, $prev); + else + $prev = CreateLinkR('prev prev',"index.php?p=commslist&page=".($page-1).(isset($_GET['searchText']) > 0?"&searchText=".$_GET['searchText']:'' . $advSearchString)); +} +else +{ + $prev = ""; +} +if ($BansEnd < $BanCount) +{ + if(isset($_GET['c']) && $_GET['c'] == "comms") + { + if(!isset($nxt)) + $nxt = ""; + $next = CreateLinkR('next next',"javascript:void(0);", "", "_self", false, $nxt); + } + else + $next = CreateLinkR('next next',"index.php?p=commslist&page=".($page+1).(isset($_GET['searchText']) ?"&searchText=".$_GET['searchText']:'' . $advSearchString)); +} +else + $next = ""; + +//=================[ Start Layout ]================================== +$ban_nav = 'displaying '.$BansStart.' - '.$BansEnd.' of '.$BanCount.' results'; + +if (strlen($prev) > 0) +{ + $ban_nav .= ' | '.$prev.''; +} +if (strlen($next) > 0) +{ + $ban_nav .= ' | '.$next.''; +} +$pages = ceil($BanCount/$BansPerPage); +if($pages > 1) { + $ban_nav .= ' '; +} + +//COMMENT STUFF +//---------------------------------------- +if(isset($_GET["comment"])) { + $theme->assign('commenttype', (isset($_GET["cid"])?"Edit":"Add")); + if(isset($_GET["cid"])) { + $ceditdata = $GLOBALS['db']->GetRow("SELECT * FROM ".DB_PREFIX."_comments WHERE cid = '".(int)$_GET["cid"]."'"); + $ctext = $ceditdata['commenttxt']; + $cotherdataedit = " AND cid != '".(int)$_GET["cid"]."'"; + } + else + { + $cotherdataedit = ""; + $ctext = ""; + } + $cotherdata = $GLOBALS['db']->Execute("SELECT cid, aid, commenttxt, added, edittime, + (SELECT user FROM `".DB_PREFIX."_admins` WHERE aid = C.aid) AS comname, + (SELECT user FROM `".DB_PREFIX."_admins` WHERE aid = C.editaid) AS editname + FROM `".DB_PREFIX."_comments` AS C + WHERE type = ? AND bid = ?".$cotherdataedit." ORDER BY added desc", array($_GET["ctype"], $_GET["comment"])); + + $ocomments = array(); + while(!$cotherdata->EOF) + { + $coment = array(); + $coment['comname'] = $cotherdata->fields['comname']; + $coment['added'] = SBDate($dateformat, $cotherdata->fields['added']); + $coment['commenttxt'] = str_replace("\n", "
", $cotherdata->fields['commenttxt']); + // Parse links and wrap them in a tag to be easily clickable + $coment['commenttxt'] = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', '$1', $coment['commenttxt']); + if($cotherdata->fields['editname']!="") { + $coment['edittime'] = SBDate($dateformat, $cotherdata->fields['edittime']); + $coment['editname'] = $cotherdata->fields['editname']; + } + else { + $coment['editname'] = ""; + $coment['edittime'] = ""; + } + array_push($ocomments,$coment); + $cotherdata->MoveNext(); + } + + $theme->assign('page', (isset($_GET["page"])?$_GET["page"]:-1)); + $theme->assign('othercomments', $ocomments); + $theme->assign('commenttext', (isset($ctext)?$ctext:"")); + $theme->assign('ctype', $_GET["ctype"]); + $theme->assign('cid', (isset($_GET["cid"])?$_GET["cid"]:"")); +} +$theme->assign('view_comments',$view_comments); +$theme->assign('comment', (isset($_GET["comment"])?$_GET["comment"]:false)); +//---------------------------------------- + +unset($_SESSION['CountryFetchHndl']); + +$theme->assign('searchlink', $searchlink); +$theme->assign('hidetext', $hidetext); +$theme->assign('total_bans', $BanCount); +$theme->assign('active_bans', $BanCount); + +$theme->assign('ban_nav', $ban_nav); +$theme->assign('ban_list', $bans); +$theme->assign('admin_nick', $userbank->GetProperty("user")); + +$theme->assign('admin_postkey', $_SESSION['banlist_postkey']); +$theme->assign('hideadminname', (isset($GLOBALS['config']['banlist.hideadminname']) && $GLOBALS['config']['banlist.hideadminname'] == "1" && !$userbank->is_admin())); +$theme->assign('general_unban', $userbank->HasAccess(ADMIN_OWNER|ADMIN_UNBAN|ADMIN_UNBAN_OWN_BANS|ADMIN_UNBAN_GROUP_BANS)); +$theme->assign('can_delete', $userbank->HasAccess(ADMIN_DELETE_BAN)); +$theme->assign('view_bans', ($userbank->HasAccess(ADMIN_OWNER|ADMIN_EDIT_ALL_BANS|ADMIN_EDIT_OWN_BANS|ADMIN_EDIT_GROUP_BANS|ADMIN_UNBAN|ADMIN_UNBAN_OWN_BANS|ADMIN_UNBAN_GROUP_BANS|ADMIN_DELETE_BAN))); +$theme->display('page_comms.tpl'); +?> diff --git a/web_upload/themes/sb_default/theme.conf.php b/web_upload/themes/sb_default/theme.conf.php index a12d1d95f..05a1c49ad 100644 --- a/web_upload/themes/sb_default/theme.conf.php +++ b/web_upload/themes/sb_default/theme.conf.php @@ -18,7 +18,7 @@ define('theme_author', "SourceBans Development Team, Sarabveer(VEER™)"); // Set the version of the theme here -define('theme_version', "1.5.0F-dev"); +define('theme_version', "1.5.0F"); // Set the link of the theme here define('theme_link', "http://www.sourcebans.net"); diff --git a/web_upload/themes/sourcebans_dark/theme.conf.php b/web_upload/themes/sourcebans_dark/theme.conf.php index 9469e10e6..62fcc96ba 100644 --- a/web_upload/themes/sourcebans_dark/theme.conf.php +++ b/web_upload/themes/sourcebans_dark/theme.conf.php @@ -18,7 +18,7 @@ define('theme_author', "SourceBans Development Team, Sarabveer(VEER™)"); // Set the version of the theme here -define('theme_version', "1.5.0F-dev"); +define('theme_version', "1.5.0F"); // Set the link of the theme here define('theme_link', "http://www.sourcebans.net"); diff --git a/web_upload/updater/data/475.php b/web_upload/updater/data/475.php index ccaeb000a..6d5dfbc10 100644 --- a/web_upload/updater/data/475.php +++ b/web_upload/updater/data/475.php @@ -1,28 +1,28 @@ Execute("CREATE TABLE IF NOT EXISTS `" . DB_PREFIX . "_comms` ( - `bid` int(6) NOT NULL AUTO_INCREMENT, - `authid` varchar(64) NOT NULL, - `name` varchar(128) NOT NULL DEFAULT 'unnamed', - `created` int(11) NOT NULL DEFAULT '0', - `ends` int(11) NOT NULL DEFAULT '0', - `length` int(10) NOT NULL DEFAULT '0', - `reason` text NOT NULL, - `aid` int(6) NOT NULL DEFAULT '0', - `adminIp` varchar(32) NOT NULL DEFAULT '', - `sid` int(6) NOT NULL DEFAULT '0', - `RemovedBy` int(8) DEFAULT NULL, - `RemoveType` varchar(3) DEFAULT NULL, - `RemovedOn` int(11) DEFAULT NULL, - `type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '1 - Mute, 2 - Gag', - `ureason` text, - PRIMARY KEY (`bid`), - KEY `sid` (`sid`), - KEY `type` (`type`), - KEY `RemoveType` (`RemoveType`), - KEY `authid` (`authid`), - KEY `created` (`created`), - KEY `aid` (`aid`), - ) ENGINE=MyISAM DEFAULT CHARSET=utf8;" + `bid` int(6) NOT NULL AUTO_INCREMENT, + `authid` varchar(64) NOT NULL, + `name` varchar(128) NOT NULL DEFAULT 'unnamed', + `created` int(11) NOT NULL DEFAULT '0', + `ends` int(11) NOT NULL DEFAULT '0', + `length` int(10) NOT NULL DEFAULT '0', + `reason` text NOT NULL, + `aid` int(6) NOT NULL DEFAULT '0', + `adminIp` varchar(32) NOT NULL DEFAULT '', + `sid` int(6) NOT NULL DEFAULT '0', + `RemovedBy` int(8) DEFAULT NULL, + `RemoveType` varchar(3) DEFAULT NULL, + `RemovedOn` int(11) DEFAULT NULL, + `type` tinyint(4) NOT NULL DEFAULT '0' COMMENT '1 - Mute, 2 - Gag', + `ureason` text, + PRIMARY KEY (`bid`), + KEY `sid` (`sid`), + KEY `type` (`type`), + KEY `RemoveType` (`RemoveType`), + KEY `authid` (`authid`), + KEY `created` (`created`), + KEY `aid` (`aid`) + ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"); if(!$create) return false; return true; diff --git a/web_upload/updater/store.php b/web_upload/updater/store.php index c448c6959..1b9979b14 100644 --- a/web_upload/updater/store.php +++ b/web_upload/updater/store.php @@ -39,7 +39,8 @@ 353 => "353.php", 354 => "354.php", 355 => "355.php", - 356 => "356.php" - 475 => "475.php" + 356 => "356.php", + 475 => "475.php", + 476 => "476.php" ); ?> \ No newline at end of file